SA-MP Forums Archive
How to set Score? - 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)
+--- Thread: How to set Score? (/showthread.php?tid=644092)



How to set Score? - pulsare - 03.11.2017

I wanna set Score, the enum is Level

But how exactly can I do this?

example PlayerInfo[playerid][Level] = SetPlayerScore;


Re: How to set Score? - Amads - 03.11.2017

PHP Code:
SetPlayerScore(playeridPlayerInfo[playerid][Level]); 



Re: How to set Score? - pulsare - 03.11.2017

Quote:
Originally Posted by Amads
View Post
PHP Code:
SetPlayerScore(playeridPlayerInfo[playerid][Level]); 
thx!


Re: How to set Score? - pulsare - 03.11.2017

& how could I set Money?

GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]); // this is not working Money is always Zero


Re: How to set Score? - Escobabe - 03.11.2017

PHP Code:
CMD:setcash(playerid,params[])
{
    new 
idamountstr[128], pname[MAX_PLAYER_NAME];
    if(
sscanf(params,"ui",id,amount)) return SendClientMessage(playerid,-1,"USAGE: /setcash [playerid] [amount]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"That player is ot connected.");
    
GivePlayerMoney(playeridamount);
    
PlayerInfo[playerid][pMoney] = amount;
    
format(str,sizeof(str), "%s has given you %d$",pname,amount);
    
SendClientMessage(id,-1,str);
    return 
1;




Re: How to set Score? - pulsare - 04.11.2017

Quote:
Originally Posted by Amads
View Post
PHP Code:
SetPlayerScore(playeridPlayerInfo[playerid][Level]); 
Quote:
Originally Posted by Escobabe
View Post
PHP Code:
CMD:setcash(playerid,params[])
{
    new 
idamountstr[128], pname[MAX_PLAYER_NAME];
    if(
sscanf(params,"ui",id,amount)) return SendClientMessage(playerid,-1,"USAGE: /setcash [playerid] [amount]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"That player is ot connected.");
    
GivePlayerMoney(playeridamount);
    
PlayerInfo[playerid][pMoney] = amount;
    
format(str,sizeof(str), "%s has given you %d$",pname,amount);
    
SendClientMessage(id,-1,str);
    return 
1;

Thx but I wanna set the money on logging in without a command

Like the Score - enum (look up)


Re: How to set Score? - Eoussama - 04.11.2017

load the player's money (whether you're using MySQL or file saving) into PlayerInfo[playerid][pMoney],
then GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);


Re: How to set Score? - pulsare - 04.11.2017

Quote:
Originally Posted by Eoussama
View Post
load the player's money (whether you're using MySQL or file saving) into PlayerInfo[playerid][pMoney],
then GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
I did this already, its always 0


Re: How to set Score? - Eoussama - 04.11.2017

Make sure you save the player's score, AND whether it leads properly or not.


Re: How to set Score? - TomRedlake - 05.11.2017

Code:
enum pInfo
{
    pPass,
    pCash,
   pScore  
}
new PlayerInfo[MAX_PLAYERS][pInfo];

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
	INI_Int("Password",PlayerInfo[playerid][pPass]);
	INI_Int("Cash",PlayerInfo[playerid][pCash]);
	INI_Int("Score",PlayerInfo[playerid][pScore]);
 	return 1;
}
stock UserPath(playerid)
{
	new string[128],playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid,playername,sizeof(playername));
	format(string,sizeof(string),PATH,playername);
	return string;
}
/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
	new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
public OnPlayerConnect(playerid)
{
	if(fexist(UserPath(playerid)))
	{
		INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  		ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
	}
	else
	{
 		ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
	}
	return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTER:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Password",udb_hash(inputtext));
                INI_WriteInt(File,"Cash",0);
                INI_WriteInt(File,"Score",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
			}
        }

        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
					ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
	INI_WriteInt(File,"Score",GetPlayerScore(playerid));
	INI_Close(File);
	return 1;
}
Got this from here: https://sampforum.blast.hk/showthread.php?tid=273088