SA-MP Forums Archive
Little help - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Little help (/showthread.php?tid=229716)



Little help - Anzhelov - 22.02.2011

Код:
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?


Re: Little help - Mike Garber - 22.02.2011

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


Re: Little help - Anzhelov - 22.02.2011

Код:
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;
}
//==============================================================================



Re: Little help - Mike Garber - 22.02.2011

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


Re: Little help - Anzhelov - 22.02.2011

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


Re: Little help - Anzhelov - 22.02.2011

*BUMP*