Little help
#1

Код:
if(!udb_Exists(PlayerName2(playerid)))
	{
		SendClientMessage(playerid,orange, "ACCOUNT: Type /register [password] to create an account");
	}
	else
	{
		format(file,256,"/ladmin/users/%s.sav",udb_encode(PlayerName));
		new tmp[50],tmp2[256]; GetPlayerIp(playerid,tmp,50); tmp2 = dini_Get(file,"ip");
		if(!strcmp(tmp,tmp2,true))
		{
			SendClientMessage(playerid, green, "ACCOUNT: You have been automatically logged in");
	        GivePlayerMoney(playerid,dUserINT(PlayerName2(playerid)).("money")-GetPlayerMoney(playerid));
		    PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
	        PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
	        PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
	        PlayerInfo[playerid][Registered] = 1;
    	    PlayerInfo[playerid][LoggedIn] = 1;
		}
	    else
	    {
			SendClientMessage(playerid, green, "ACCOUNT: This nickname is registed!  You can now login by typing /login <password>");
	    }
	}
	
   	return 1;
}
This is /register cmd from LAdmin, can you help me make it you CAN NOT spawn when you're not registered?
Reply
#2

Show the login command instead, and I guess I could create something for you.
Reply
#3

Код:
dcmd_login(playerid,params[]) {

    if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
    if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/register password'.");
    if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/login password'");
    if (udb_CheckLogin(PlayerName2(playerid),params))
	{

       GivePlayerMoney(playerid,dUserINT(PlayerName2(playerid)).("money")-GetPlayerMoney(playerid));
       PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
       PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
       PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
       PlayerInfo[playerid][LoggedIn] = 1;
	   PlayerInfo[playerid][Registered] = 1;
	   
	   new file[256],name[24]; GetPlayerName(playerid,name,24); format(file,256,"/ladmin/users/%s.sav",udb_encode(name));
       new tmp3[100]; GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);

       if(PlayerInfo[playerid][Spawned] == 1) TogglePlayerControllable(playerid,true);
       
	   PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

       return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
    }
    return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
}
This should be ?

EDIT:
Код:
//====================== [REGISTER  &  LOGIN] ==================================
dcmd_register(playerid,params[]) {

    if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already registered and logged in.");
    if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: This account already exists, please use '/login password'.");
    if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/register password'");
    if (strlen(params)<4) return SendClientMessage(playerid,red,"ACCOUNT: Password length must be greater than three characters");
    if (udb_Create(PlayerName2(playerid),params))
	{

    	new file[256],name[24], tmp3[100];
    	new strdate[20], year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,24); format(file,256,"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
    	dini_Set(file,"password",params);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("level",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
	    SendClientMessage(playerid, green, "ACCOUNT: You have been automaticaly logged in");
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    	if(PlayerInfo[playerid][Spawned] == 1) TogglePlayerControllable(playerid,true);
		return 1;
	}
    return true;
}
//==============================================================================
Reply
#4

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(PlayerInfo[playerid][LoggedIn]!=1)
    {
        SendClientMessage(playerid,-1,"ERROR: You must be logged in to continue.");
        return 0;
    }
    return 1;
}
Try this
Reply
#5

No errors in pawno, but I still can spawn without register ... only got a message ERROR: You must be logged in to continue.
Nothing changes
Reply
#6

*BUMP*
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)