Jump to content

Cum sa faci dialog Login/Register in Ladmin.


vampir_MD

Recommended Posts

Asa am vazut un topic si un prieten tot ma rugat sa-l invat,am decis sa va fac un tutorial.

Sa incepem.

Punem asta la inceput de fs-gm.

#define Dialog_Register 0001 //Eu am pus asa voi puteti sa la schimbati. 
#define Dialog_Login 0002 //Eu am pus asa voi puteti sa la schimbati. 
Acuma dam CTRL + H si cautam asta if(!udb_Exists(PlayerName2(playerid))) Voi aveti asta.
if(!udb_Exists(PlayerName2(playerid))) SendClientMessage(playerid,orange, "{00CEFC}ACCOUNT: {00FF19}Scrie {FC0303}/register {FFFFFF}[{00CEFC}password{FFFFFF}] {00FF19}pentru a creea un cont nou");
	else
	{
	    PlayerInfo[playerid][Registered] = 1;
		format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName));
		new tmp2[256]; tmp2 = dini_Get(file,"ip");
		if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1) )
		{
			LoginPlayer(playerid);
			if(ServerInfo[SetScore] == 1) SetPlayerScore(playerid, dUserINT(PlayerName2(playerid)).("score") );
			if(PlayerInfo[playerid][Level] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Level] );
				SendClientMessage(playerid,green,string);
       		}
			else if(PlayerInfo[playerid][Vip] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Vip Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Vip] );
				SendClientMessage(playerid,green,string);
	  		}
            else SendClientMessage(playerid,green,"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat.");
  	    }
 		else SendClientMessage(playerid, green, "{00CEFC}ACCOUNT: {00FF19}Acest nick este inregistrat {FC0303}, {00FF19}te poti loga folosind {FC0303}/login {FFFFFF}[{00CEFC}password{FFFFFF}]");
	}
    return 1;
}
il schimbati cu asta.
    if(!udb_Exists(PlayerName2(playerid))) ShowPlayerDialog( playerid, Dialog_Register , 1, "ACCOUNT:","Do not have an account please register to that will save money and scor.","Register", "Cancel");
	else
	{
	    PlayerInfo[playerid][Registered] = 1;
		format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName));
		new tmp2[256]; tmp2 = dini_Get(file,"ip");
		if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1) )
		{
			LoginPlayer(playerid);
			if(ServerInfo[SetScore] == 1) SetPlayerScore(playerid, dUserINT(PlayerName2(playerid)).("score") );
			if(PlayerInfo[playerid][Level] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Level] );
				SendClientMessage(playerid,green,string);
       		}
			else if(PlayerInfo[playerid][Vip] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Vip Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Vip] );
				SendClientMessage(playerid,green,string);
	  		}
            else SendClientMessage(playerid,green,"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat.");
  	    }
 		else ShowPlayerDialog(playerid ,Dialog_Login, 1 , "Login", "Welcome back \nThis nickname is registered, Please login. ", "Login", "Cancel" );
    }
Dece sal schimbati. Tu ai asa.  SendClientMessage(playerid,orange, "{00CEFC}ACCOUNT: {00FF19}Scrie {FC0303}/register {FFFFFF}[{00CEFC}password{FFFFFF}] {00FF19}pentru a creea un cont nou"); Da trebue de pus cu Dialog asa. ShowPlayerDialog( playerid, Dialog_Register , 1, "ACCOUNT:","Do not have an account please register to that will save money and scor.","Register", "Cancel"); Si asta la OnPlayerConnect daca nul aveti.
new PlayerName[MAX_PLAYER_NAME]
-------------------------------------------------------------------------------------------------------- Si la OnDialogResponse bagi asta, este pusa de doua ori pentru ca daca dai cancel iti da sa introduci dinou parola. Register
 if(dialogid == Dialog_Register)
    {
       if(response)
       {
		    if (strlen(inputtext) == 0) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Insert password please", "Register", "Cancel" );
		    if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Password length must be greater than three characters", "Register", "Cancel" );

	    if (udb_Create(PlayerName2(playerid),inputtext))
		{
	        new
	            file[256],
				name[MAX_PLAYER_NAME],
				tmp3[100],
    	        strdate[20],
			    year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
     	dini_Set(file,"password",inputtext);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("loggedin",1);
		dUserSetINT(PlayerName2(playerid)).("banned",0);
		dUserSetINT(PlayerName2(playerid)).("level",0);
		dUserSetINT(PlayerName2(playerid)).("vip",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
    	dUserSetINT(PlayerName2(playerid)).("money",0);
    	dUserSetINT(PlayerName2(playerid)).("kills",0);
	   	dUserSetINT(PlayerName2(playerid)).("deaths",0);
	   	dUserSetINT(PlayerName2(playerid)).("hours",0);
	   	dUserSetINT(PlayerName2(playerid)).("minutes",0);
	   	dUserSetINT(PlayerName2(playerid)).("seconds",0);
	   	dUserSetINT(PlayerName2(playerid)).("coins",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
     }
   }
   if(dialogid == Dialog_Register)
   {
       if(!response)
       {
 	    if (strlen(inputtext) == 0) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Insert password please", "Register", "Cancel" );
		    if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Password length must be greater than three characters", "Register", "Cancel" );

	    if (udb_Create(PlayerName2(playerid),inputtext))
		{
	        new
	            file[256],
				name[MAX_PLAYER_NAME],
				tmp3[100],
    	        strdate[20],
			    year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
     	dini_Set(file,"password",inputtext);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("loggedin",1);
		dUserSetINT(PlayerName2(playerid)).("banned",0);
		dUserSetINT(PlayerName2(playerid)).("level",0);
		dUserSetINT(PlayerName2(playerid)).("vip",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
    	dUserSetINT(PlayerName2(playerid)).("money",0);
    	dUserSetINT(PlayerName2(playerid)).("kills",0);
	   	dUserSetINT(PlayerName2(playerid)).("deaths",0);
	   	dUserSetINT(PlayerName2(playerid)).("hours",0);
	   	dUserSetINT(PlayerName2(playerid)).("minutes",0);
	   	dUserSetINT(PlayerName2(playerid)).("seconds",0);
	   	dUserSetINT(PlayerName2(playerid)).("coins",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
     }
   }
SI asta to acolo. Login
 if(dialogid == Dialog_Login)
    {
       if(response)
       {
       if (strlen(inputtext)==0) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Insert password please", "Login", "Cancel" );
       if (udb_CheckLogin(PlayerName2(playerid),inputtext))
       {
		new 	file[256],
				tmp3[100],
			    year,
				month,
				day;getdate(year, month, day);

	   	format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
   		GetPlayerIp(playerid,tmp3,100);
	   	dini_Set(file,"ip",tmp3);
		LoginPlayer(playerid);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
      }
    }
	else {
		PlayerInfo[playerid][FailLogin]++;
		printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
		if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
		{
			new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
			ShowPlayerDialog(playerid, 9999, 0, ".::ACCOUNT::.", string, "Ok", "");
			print(string);
			Kick(playerid);
		}
		return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Login failed! Incorrect Password", "Login", "Cancel" );
   }
   if(dialogid == Dialog_Login)
    {
       if(!response)
       {
      if (PlayerInfo[playerid][LoggedIn] == 1) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "You are already logged in.", "Login", "Cancel" );
	      if (!udb_Exists(PlayerName2(playerid))) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Account doesn't exist, please use 'register' ", "Login", "Cancel" );
	      if (strlen(inputtext)==0) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Insert password please", "Login", "Cancel" );
       if (udb_CheckLogin(PlayerName2(playerid),inputtext))
       {
		new 	file[256],
				tmp3[100],
			    year,
				month,
				day;getdate(year, month, day);

	   	format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
   		GetPlayerIp(playerid,tmp3,100);
	   	dini_Set(file,"ip",tmp3);
		LoginPlayer(playerid);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    }
	else {
		PlayerInfo[playerid][FailLogin]++;
		printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
		if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
		{
			new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
			ShowPlayerDialog(playerid, 9999, 0, ".::ACCOUNT::.", string, "Ok", "");
			print(string);
			Kick(playerid);
		}
		return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Login failed! Incorrect Password", "Login", "Cancel" );
       }
     }
   }

Ceva intrebari nelamuriri nu va aptineti spunetile ca va voi ajuta .

Link to comment
Share on other sites

Nu ma descurc dami tu ladmin direct modificat ...

Ps : la mine nu e asa .

Cum nu ma =P

Daca ai Ladmin ne-editat..sa stii ca el nu are public OnDialog Response

Creeazo tu!

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	//Register
    if(dialogid == Dialog_Register)
    {
       if(response)
       {
		    if (strlen(inputtext) == 0) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Insert password please", "Register", "Cancel" );
		    if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Password length must be greater than three characters", "Register", "Cancel" );

	    if (udb_Create(PlayerName2(playerid),inputtext))
		{
	        new
	            file[256],
				name[MAX_PLAYER_NAME],
				tmp3[100],
    	        strdate[20],
			    year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
     	dini_Set(file,"password",inputtext);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("loggedin",1);
		dUserSetINT(PlayerName2(playerid)).("banned",0);
		dUserSetINT(PlayerName2(playerid)).("level",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
    	dUserSetINT(PlayerName2(playerid)).("money",0);
    	dUserSetINT(PlayerName2(playerid)).("kills",0);
	   	dUserSetINT(PlayerName2(playerid)).("deaths",0);
	   	dUserSetINT(PlayerName2(playerid)).("hours",0);
	   	dUserSetINT(PlayerName2(playerid)).("minutes",0);
	   	dUserSetINT(PlayerName2(playerid)).("seconds",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
     }
   }
   if(dialogid == Dialog_Register)
   {
       if(!response)
       {
 	    if (strlen(inputtext) == 0) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Insert password please", "Register", "Cancel" );
		    if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Password length must be greater than three characters", "Register", "Cancel" );

	    if (udb_Create(PlayerName2(playerid),inputtext))
		{
	        new
	            file[256],
				name[MAX_PLAYER_NAME],
				tmp3[100],
    	        strdate[20],
			    year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
     	dini_Set(file,"password",inputtext);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("loggedin",1);
		dUserSetINT(PlayerName2(playerid)).("banned",0);
		dUserSetINT(PlayerName2(playerid)).("level",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
    	dUserSetINT(PlayerName2(playerid)).("money",0);
    	dUserSetINT(PlayerName2(playerid)).("kills",0);
	   	dUserSetINT(PlayerName2(playerid)).("deaths",0);
	   	dUserSetINT(PlayerName2(playerid)).("hours",0);
	   	dUserSetINT(PlayerName2(playerid)).("minutes",0);
	   	dUserSetINT(PlayerName2(playerid)).("seconds",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
     }
   }
   //Login
   if(dialogid == Dialog_Login)
    {
       if(response)
       {
       if (strlen(inputtext)==0) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Insert password please", "Login", "Cancel" );
       if (udb_CheckLogin(PlayerName2(playerid),inputtext))
       {
		new 	file[256],
				tmp3[100],
			    year,
				month,
				day;getdate(year, month, day);

	   	format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
   		GetPlayerIp(playerid,tmp3,100);
	   	dini_Set(file,"ip",tmp3);
		LoginPlayer(playerid);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
      }
    }
	else {
		PlayerInfo[playerid][FailLogin]++;
		printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
		if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
		{
			new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
			ShowPlayerDialog(playerid, 9999, 0, ".::ACCOUNT::.", string, "Ok", "");
			print(string);
			Kick(playerid);
		}
		return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Login failed! Incorrect Password", "Login", "Cancel" );
   }
   if(dialogid == Dialog_Login)
    {
       if(!response)
       {
      if (PlayerInfo[playerid][LoggedIn] == 1) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "{FFFFFF}ACCOUNT", "{FF0000}You are already logged in.", "Login", "Cancel" );
	      if (!udb_Exists(PlayerName2(playerid))) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "{FFFFFF}ACCOUNT", "{FF0000}Account doesn't exist, please use 'register' ", "Login", "Cancel" );
	      if (strlen(inputtext)==0) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "{FFFFFF}ACCOUNT", "{FF0000}nsert password please", "Login", "Cancel" );
       if (udb_CheckLogin(PlayerName2(playerid),inputtext))
       {
		new 	file[256],
				tmp3[100],
			    year,
				month,
				day;getdate(year, month, day);

	   	format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
   		GetPlayerIp(playerid,tmp3,100);
	   	dini_Set(file,"ip",tmp3);
		LoginPlayer(playerid);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    }
	else {
		PlayerInfo[playerid][FailLogin]++;
		printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
		if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
		{
			new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
			ShowPlayerDialog(playerid, 9999, 0, ".::ACCOUNT::.", string, "Ok", "");
			print(string);
			Kick(playerid);
		}
		return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Login failed! Incorrect Password", "Login", "Cancel" );
       }
     }
   }
   return 1;
}
Uite aici publicu tot cu Response la Login si Register =P Daca ai Ladmin ne-editat nu mai trebuie sa adaugi la onplayerconnect
new PlayerName[MAX_PLAYER_NAME]
pt. ca deja ii pus.
Asa am vazut un topic si un prieten tot ma rugat sa-l invat,am decis sa va fac un tutorial. Sa incepem. Punem asta la inceput de fs-gm.
#define Dialog_Register 0001 //Eu am pus asa voi puteti sa la schimbati. 
#define Dialog_Login 0002 //Eu am pus asa voi puteti sa la schimbati. 
Acuma dam CTRL + H si cautam asta if(!udb_Exists(PlayerName2(playerid))) Voi aveti asta.
if(!udb_Exists(PlayerName2(playerid))) SendClientMessage(playerid,orange, "{00CEFC}ACCOUNT: {00FF19}Scrie {FC0303}/register {FFFFFF}[{00CEFC}password{FFFFFF}] {00FF19}pentru a creea un cont nou");
	else
	{
	    PlayerInfo[playerid][Registered] = 1;
		format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName));
		new tmp2[256]; tmp2 = dini_Get(file,"ip");
		if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1) )
		{
			LoginPlayer(playerid);
			if(ServerInfo[SetScore] == 1) SetPlayerScore(playerid, dUserINT(PlayerName2(playerid)).("score") );
			if(PlayerInfo[playerid][Level] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Level] );
				SendClientMessage(playerid,green,string);
       		}
			else if(PlayerInfo[playerid][Vip] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Vip Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Vip] );
				SendClientMessage(playerid,green,string);
	  		}
            else SendClientMessage(playerid,green,"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat.");
  	    }
 		else SendClientMessage(playerid, green, "{00CEFC}ACCOUNT: {00FF19}Acest nick este inregistrat {FC0303}, {00FF19}te poti loga folosind {FC0303}/login {FFFFFF}[{00CEFC}password{FFFFFF}]");
	}
    return 1;
}
il schimbati cu asta.
    if(!udb_Exists(PlayerName2(playerid))) ShowPlayerDialog( playerid, Dialog_Register , 1, "ACCOUNT:","Do not have an account please register to that will save money and scor.","Register", "Cancel");
	else
	{
	    PlayerInfo[playerid][Registered] = 1;
		format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName));
		new tmp2[256]; tmp2 = dini_Get(file,"ip");
		if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1) )
		{
			LoginPlayer(playerid);
			if(ServerInfo[SetScore] == 1) SetPlayerScore(playerid, dUserINT(PlayerName2(playerid)).("score") );
			if(PlayerInfo[playerid][Level] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Level] );
				SendClientMessage(playerid,green,string);
       		}
			else if(PlayerInfo[playerid][Vip] > 0)
			{
				format(string,sizeof(string),"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat. {FFFFFF}({00CEFC}Vip Level {FC0303}%d{FFFFFF})", PlayerInfo[playerid][Vip] );
				SendClientMessage(playerid,green,string);
	  		}
            else SendClientMessage(playerid,green,"{00CEFC}ACCOUNT: {00FF19}Ai fost logat automat.");
  	    }
 		else ShowPlayerDialog(playerid ,Dialog_Login, 1 , ""L"Login", "Welcome back \nThis nickname is registered, Please login. ", "Login", "Cancel" );
    }
Dece sal schimbati. Tu ai asa.  SendClientMessage(playerid,orange, "{00CEFC}ACCOUNT: {00FF19}Scrie {FC0303}/register {FFFFFF}[{00CEFC}password{FFFFFF}] {00FF19}pentru a creea un cont nou"); Da trebue de pus cu Dialog asa. ShowPlayerDialog( playerid, Dialog_Register , 1, "ACCOUNT:","Do not have an account please register to that will save money and scor.","Register", "Cancel"); Si asta la OnPlayerConnect daca nul aveti.
new PlayerName[MAX_PLAYER_NAME]
-------------------------------------------------------------------------------------------------------- Si la OnDialogResponse bagi asta, este pusa de doua ori pentru ca daca dai cancel iti da sa introduci dinou parola. Register
 if(dialogid == Dialog_Register)
    {
       if(response)
       {
		    if (strlen(inputtext) == 0) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Insert password please", "Register", "Cancel" );
		    if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Password length must be greater than three characters", "Register", "Cancel" );

	    if (udb_Create(PlayerName2(playerid),inputtext))
		{
	        new
	            file[256],
				name[MAX_PLAYER_NAME],
				tmp3[100],
    	        strdate[20],
			    year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
     	dini_Set(file,"password",inputtext);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("loggedin",1);
		dUserSetINT(PlayerName2(playerid)).("banned",0);
		dUserSetINT(PlayerName2(playerid)).("level",0);
		dUserSetINT(PlayerName2(playerid)).("vip",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
    	dUserSetINT(PlayerName2(playerid)).("money",0);
    	dUserSetINT(PlayerName2(playerid)).("kills",0);
	   	dUserSetINT(PlayerName2(playerid)).("deaths",0);
	   	dUserSetINT(PlayerName2(playerid)).("hours",0);
	   	dUserSetINT(PlayerName2(playerid)).("minutes",0);
	   	dUserSetINT(PlayerName2(playerid)).("seconds",0);
	   	dUserSetINT(PlayerName2(playerid)).("coins",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
     }
   }
   if(dialogid == Dialog_Register)
   {
       if(!response)
       {
 	    if (strlen(inputtext) == 0) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Insert password please", "Register", "Cancel" );
		    if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid ,Dialog_Register, 1 , "ACCOUNT", "Password length must be greater than three characters", "Register", "Cancel" );

	    if (udb_Create(PlayerName2(playerid),inputtext))
		{
	        new
	            file[256],
				name[MAX_PLAYER_NAME],
				tmp3[100],
    	        strdate[20],
			    year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
     	dini_Set(file,"password",inputtext);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("loggedin",1);
		dUserSetINT(PlayerName2(playerid)).("banned",0);
		dUserSetINT(PlayerName2(playerid)).("level",0);
		dUserSetINT(PlayerName2(playerid)).("vip",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
    	dUserSetINT(PlayerName2(playerid)).("money",0);
    	dUserSetINT(PlayerName2(playerid)).("kills",0);
	   	dUserSetINT(PlayerName2(playerid)).("deaths",0);
	   	dUserSetINT(PlayerName2(playerid)).("hours",0);
	   	dUserSetINT(PlayerName2(playerid)).("minutes",0);
	   	dUserSetINT(PlayerName2(playerid)).("seconds",0);
	   	dUserSetINT(PlayerName2(playerid)).("coins",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
     }
   }
SI asta to acolo. Login
 if(dialogid == Dialog_Login)
    {
       if(response)
       {
       if (strlen(inputtext)==0) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Insert password please", "Login", "Cancel" );
       if (udb_CheckLogin(PlayerName2(playerid),inputtext))
       {
		new 	file[256],
				tmp3[100],
			    year,
				month,
				day;getdate(year, month, day);

	   	format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
   		GetPlayerIp(playerid,tmp3,100);
	   	dini_Set(file,"ip",tmp3);
		LoginPlayer(playerid);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   }
      }
    }
	else {
		PlayerInfo[playerid][FailLogin]++;
		printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
		if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
		{
			new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
			ShowPlayerDialog(playerid, 9999, 0, ".::ACCOUNT::.", string, "Ok", "");
			print(string);
			Kick(playerid);
		}
		return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Login failed! Incorrect Password", "Login", "Cancel" );
   }
   if(dialogid == Dialog_Login)
    {
       if(!response)
       {
      if (PlayerInfo[playerid][LoggedIn] == 1) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , ""L"ACCOUNT", ""R"You are already logged in.", "Login", "Cancel" );
	      if (!udb_Exists(PlayerName2(playerid))) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , ""L"ACCOUNT", ""R"Account doesn't exist, please use 'register' ", "Login", "Cancel" );
	      if (strlen(inputtext)==0) return ShowPlayerDialog(playerid ,Dialog_Login, 1 , ""L"ACCOUNT", ""R"Insert password please", "Login", "Cancel" );
       if (udb_CheckLogin(PlayerName2(playerid),inputtext))
       {
		new 	file[256],
				tmp3[100],
			    year,
				month,
				day;getdate(year, month, day);

	   	format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
   		GetPlayerIp(playerid,tmp3,100);
	   	dini_Set(file,"ip",tmp3);
		LoginPlayer(playerid);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    }
	else {
		PlayerInfo[playerid][FailLogin]++;
		printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
		if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
		{
			new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
			ShowPlayerDialog(playerid, 9999, 0, ".::ACCOUNT::.", string, "Ok", "");
			print(string);
			Kick(playerid);
		}
		return ShowPlayerDialog(playerid ,Dialog_Login, 1 , "ACCOUNT", "Login failed! Incorrect Password", "Login", "Cancel" );
       }
     }
   }

Ceva intrebari nelamuriri nu va aptineti spunetile ca va voi ajuta .

Frumos tutorial :P DAR trebuia sa folosesti Ladmin original cand ai facut dialogurile sa le postezi aici pt. ca tu! in acele dialoguri ai inclus culori "L" si "R" si plus ca la Register ai pus la User sa se creeze si linia Coins si VIP..poate ca unii au folosit LAdmin ne-editat la crearea acelor dialoguri dupa tutorialul tau, si le vor aparea o gramada de erori si eu mai stiu din cauza ca Ladmin-ul lor nu recunoastea liniile cu VIP, Coins si bla bla....eu ti-as spune sa il refaci dinou dar sa  folosesti LAdmin original sa fie ne-editat ca asa nu vor fi probleme de nici un fel=P :D

4/5


F*ck everybody who want and who try to judge me for who I am, b*star*s !

 

 

Link to comment
Share on other sites

  • 7 months later...
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.