public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo[playerid][pPass]);
INI_Int("Cash",PlayerInfo[playerid][pCash]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Skin",PlayerInfo[playerid][pSkin]);
INI_Int("Level",PlayerInfo[playerid][pLevel]);
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,"Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File,"Level",PlayerInfo[playerid][pLevel]);
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File,"Skin",GetPlayerSkin(playerid));
INI_Close(File);
return 1;
}
CMD:setskin(playerid, params[])
{
new pID, value;
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1, "{FF0000}EROARE: {FFFFFF}Nu ai acces la aceasta comanda.");
else if(sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, COLOR_GOLD, "Foloseste: /setskin [id] [skin]");
else if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_TOM, "Jucatorul nu este conectat.");
else if(value < 0 || value > 311) return SendClientMessage(playerid, COLOR_GOLD, "Skinuri valabile: 0-311.");
else
{
new string[100], target[MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(pID, target, sizeof(target));
format(string, sizeof(string), "I-ai setat lui "COL_YELLOW"%s "COL_GY"skin-ul "COL_YELLOW"%i.", target, value);
SendClientMessage(playerid, COLOR_GYELLOW, string);
format(string, sizeof(string), "Skinul tau este acum "COL_YELLOW"%i "COL_GY"datorita lui "COL_YELLOW"%s.", value, pName);
SendClientMessage(pID, COLOR_GYELLOW, string);
PlayerInfo[pID][pSkin] = value;
SetPlayerSkin(pID, PlayerInfo[pID][pSkin]);
}
return 1;
}
public OnPlayerUpdate(playerid)
{
SetPlayerScore(playerid, PlayerInfo[playerid][pAdmin]);
return 1;
}
public OnPlayerUpdate(playerid)
{
SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
return 1;
}
CMD:setscore(playerid, params[])
{
new pID, value, string[128];
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1, "{FF0000}EROARE: {FFFFFF}Nu ai acces la aceasta comanda.");
if(sscanf(params, "ui", pID, value)) return SendClientMessage(playerid, COLOR_GOLD, "Foloseste: /setlevel [id] [level]");
if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_TOM, "Jucatorul nu este conectat.");
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(pID, target, sizeof(target));
format(string, sizeof(string),"Your Score been set to %d by admin %s", value, target); // change it to your language
SendClientMessage(pID, COLOR_GYELLOW, string);
format(string, sizeof(string),"Admin %s has set your score to %d", pName, value);
SendClientMessage(pID, COLOR_GYELLOW, string);
PlayerInfo[pID][pLevel] = value;
SetPlayerScore(playerid, value);
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_PASSWORD, ""COL_WHITE"Registering...",""COL_RED"Ai introdus o parola gresita.\n"COL_WHITE"Scrie o parola pentru a te inregistra.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
GivePlayerMoney(playerid,10000);
SetSpawnInfo(playerid,0,PlayerInfo[playerid][pSkin],1283.5896,-1329.5938,13.3824,89.6460,0,0,0,0,0,0);
SetPlayerColor(playerid, 0xFFFFFFAA);
SpawnPlayer(playerid);
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Level",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Kills",0);
INI_Close(File);
}
}
Which is why it is insanely naive to use it for things like this. Variables don't change by themselves. The score should be updated when the variable gets updated. And it's actually about 30 times a second.
|