Jump to content

hledám [HLEDAM]Register,login dialog


LunCZ

Recommended Posts

Prosim udela mi nekdo dialog s registraci a loginem? vubec tomu nerozumim neumim pawn ale prosim v amxx neumim to styma kodama nebo mi to vysvetlete a ja to udelam dekuju

Link to comment
Share on other sites

#include <a_samp>
#include Double-O-Seven/Double-O-Files-2.inc
#define AC Ucet(playerid)
#define ForeachDialogId switch(dialogid)
#define DIALOG_INFO 0
#define DIALOG_REGISTER 10000
#define DIALOG_LOGIN 10001
#define DIALOG_UCET 10002
#define DIALOG_ZMENA_IP 10003
#define DIALOG_ZMENA_HESLA 10004
#define DIALOG_DELETE_ACC 10005
/******************************************************************************/
main()
{
print("\n----------------------------------");
print(" Double-O-Files-2 Maximum Register Script");
print("----------------------------------\n");
}
/******************************************************************************/
public OnFilterScriptExit()
{
   DOF2_Exit();
return 1;
}
/******************************************************************************/
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerSkin(playerid,DOF2_GetInt(AC,"Skin"));
return 1;
}
/******************************************************************************/
stock Ucet(playerid)
{
new str[256],name[21];
GetPlayerName(playerid,name,21);
format(str,256,"Ucty/%s.ini",name);
return str;
}
/******************************************************************************/
public OnPlayerConnect(playerid)
{
if(!DOF2_FileExists(AC))
{
 ShowPlayerDialog(playerid,DIALOG_REGISTER,3,"{FFFFFF}Účet - Registrace","{FFFFFF}Vítej na serveru {0000FF}XY.\nPro hraní je {FF0000}vyžadována {FFFFFF}registrace.\nProsíme {FF0000}zaregistrujte{FFFFFF} se.\n\n","Dále","Odejít");
 }else{
 new IP[16];
 GetPlayerIp(playerid,IP,16);
  if(strmatch(IP,DOF2_GetString(AC,"IP Adresa")))
  {
	  LoadPlayerAccount(playerid);
  }else{
	  ShowPlayerDialog(playerid,DIALOG_LOGIN,3,"{FFFFFF}Účet - Přihlášení","{FFFFFF}Vítej zpět.\nBohužel se tvá nynější IP {FF0000}neshoduje{FFFFFF} s registrační.\nProsím ověř svoji totožnost heslem.\n\n","Dále","Odejít");
  }
 }
return 1;
}
/******************************************************************************/
public OnPlayerDisconnect(playerid, reason)
{
DOF2_SetInt(AC,"Peníze",GetPlayerMoney(playerid),"Player Info");
DOF2_SetInt(AC,"Skin",GetPlayerSkin(playerid),"Player Info");
DOF2_SaveFile();
return 1;
}
/******************************************************************************/
public OnPlayerSpawn(playerid)
{
return 1;
}
/******************************************************************************/
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
ForeachDialogId
{
 case DIALOG_REGISTER:
 {
	 if(response)
	 {
		 if(!strlen(inputtext))return SendClientMessage(playerid,-1,"{FF0000}[Registrace] {FFFFFF}Nezadal jsi {FF0000}žádné{FFFFFF} heslo!!");
		 DOF2_CreateFile(AC,inputtext);
		 new IP[16];
		 GetPlayerIp(playerid,IP,16);
		 DOF2_SetString(AC,"IP Adresa",IP,"Account_Info");
		 DOF2_SaveFile();
	 }
	 else if(!response)
	 {
		 KickEx(playerid,"Odmítl registraci");
	 }
 }
 case DIALOG_LOGIN:
 {
	 if(response)
	 {
		 if(!strlen(inputtext))return SendClientMessage(playerid,-1,"{FF0000}[Přihlášení] {FFFFFF}Nezadal jsi {FF0000}žádné{FFFFFF} heslo!!");
   if(DOF2_CheckLogin(AC,inputtext))
   {
    LoadPlayerAccount(playerid);
   }else{
    ShowPlayerDialog(playerid,DIALOG_LOGIN,3,"{FFFFFF}Účet - Přihlášení","{FFFFFF}Je nám líto ale bohužel jsi zadal {FF0000}nesprávné {FFFFFF}heslo.\nZkus to prosím znovu.\n\n","Dále","Odejít");
   }
	 }
	 else if(!response)
	 {
   KickEx(playerid,"Odmítl přihlášení");
	 }
 }
 case DIALOG_UCET:
 {
	 if(response)
	 {
   if(listitem == 0)//změna ip
   {
    ShowPlayerDialog(playerid,DIALOG_ZMENA_IP,0,"{FFFFFF}Účet - Změna IP","{FFFFFF}Opravdu chceš změnit ip adresu přiřazenou tomuto účtu?\n\n","Ano","Ne");
   }
   if(listitem == 1)//změna hesla
   {
    ShowPlayerDialog(playerid,DIALOG_ZMENA_HESLA,1,"{FFFFFF}Účet - Změna Hesla","{FFFFFF}Zapiš nové heslo do rámečku pod textem.\n\n","Změnit","Odejít");
   }
   if(listitem == 2)//vymazat učet
   {
    ShowPlayerDialog(playerid,DIALOG_DELETE_ACC,0,"{FFFFFF}Účet - Smazání","{FFFFFF}Opravdu chceš smazat tento účet?\n\n","Ano","Ne");
   }
  }
 }
 case DIALOG_ZMENA_IP:
 {
	 if(response)
	 {
		 new IP[16];
		 GetPlayerIp(playerid,IP,16);
		 DOF2_SetString(AC,"IP Adresa",IP,"Account_Info");
		    ShowPlayerDialog(playerid,DIALOG_INFO,0,"{FFFFFF}Účet - Změna IP","{00FF00}Úspěšně {FFFFFF}změněno.","Zavřít","");
	 }
 }
 case DIALOG_ZMENA_HESLA:
 {
  if(response)
	 {
	  DOF2_SetInt(AC,"Heslo",DOF2_bernstein(inputtext),"Account_Info");
		 ShowPlayerDialog(playerid,DIALOG_INFO,0,"{FFFFFF}Účet - Změna Hesla","{00FF00}Úspěšně {FFFFFF}změněno.","Zavřít","");
	 }
 }
 case DIALOG_DELETE_ACC:
 {
	 if(response)
	 {
		 DOF2_RemoveFile(AC);
		 KickEx(playerid,"Smazání účtu");
	 }
 }
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/ucet", cmdtext, true, 10) == 0)
{
 ShowPlayerDialog(playerid,DIALOG_UCET,2,"{FFFFFF}Účet - Nastavení","{FFFFFF}Změna IP\nZměna Hesla\n{FF0000}Vymazat účet","Zvolit","Odejít");
 return 1;
}
return 0;
}
/******************************************************************************/
stock LoadPlayerAccount(playerid)
{
GivePlayerMoney(playerid,DOF2_GetInt(AC,"Peníze"));
new string[300];
format(string,300,"{FFFFFF}Vítej...\nÚčet {00FF00}úspěšně načten{FFFFFF}.\n");
return ShowPlayerDialog(playerid,DIALOG_INFO,0,"Vítej zpět.",string,"Zavřít","");
}
/******************************************************************************/
stock KickEx(playerid,reason[])
{
new string[128],name[21],dologu[128];
GetPlayerName(playerid,name,21);
format(string,128,"[server] {FFFFFF}Byl jsi vyhozen ze serveru z důvodu {FF0000}%s{FFFFFF}.",reason);
format(dologu,128,"[server] {FFFFFF}Hráč {FF0000}%s {FFFFFF}byl vyhozen ze serveru z důvodu {FF0000}%s{FFFFFF}.",name,reason);
printf("[server] Hráč %s byl vyhozen ze serveru z důvodu %s",name,reason);
SendClientMessageToAllEx(0xFF0000FF,dologu,playerid);
SendClientMessage(playerid,0xFF0000FF,string);
Kick(playerid);
}
/******************************************************************************/
stock SendClientMessageToAllEx( color, string[], exeptionid )
{
 if ( !strlen( string ) ) return 0;
 for ( new i = 0, j = GetMaxPlayers(); i < j; i ++ )
 {
   if ( !IsPlayerConnected( i ) || ( i == exeptionid ) ) continue;
   SendClientMessage( i, color, string );
 }
 return 1;
}
/******************************************************************************/
stock strmatch(const String1[], const String2[])
{
   if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
   {
    return true;
   }
   else
   {
    return false;
   }
}
/******************************************************************************/

PS: je od Ewwe potřebné includy: Double-O-Files-2.inc

Link to comment
Share on other sites

  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...