12.10.2012, 12:58
Recently I have fixed a Problem With My setlevel cmd. But Now When i Log Out, Nothing Saves
Heres My Setlevel command
Onplayer Connect
Onplayerdisconnect
If someone Fixes This. I can continue With My Gamemode and add admin cmds. Thanks
Heres My Setlevel command
Код:
dcmd_setlevel(playerid,params[])
{
new level,id,file[256],n[MAX_PLAYER_NAME];
new tmp[256], tmp2[256], Index,str[50];
tmp = strtok(params,Index), tmp2 = strtok(params,Index),id = strval(tmp),level = strval(tmp2);
GetPlayerName(id,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"SERVER_USER_FILE",n);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"You are not an RCON admin!");
if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /setlevel <ID> <Level>");
if(!strlen(tmp2)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /setlevel <ID> <Level>");
if(!IsPlayerConnected(id))return SendClientMessage(playerid,COLOR_RED,"You have entered an incorrect ID");
PlayerInfo[playerid][pAdminLevel] = pAdminLevel;
dini_IntSet(file,"Level",level);
format(str,sizeof(str),"You have set %s's level to %d",n,level);
SendClientMessage(playerid,COLOR_BLUE,str);
return 1;
}
Код:
public OnPlayerConnect(playerid)
{
gPlayerLogged[playerid] = 0;
new name[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if (!dini_Exists(file))
{
ShowPlayerDialog(playerid, 24, DIALOG_STYLE_PASSWORD, "Please Register", "Welcome, Your Account Is Not Registered. \nInput Your Password To Register Below", "Register", "Leave");
}
if(fexist(file))
{
ShowPlayerDialog(playerid, 25, DIALOG_STYLE_PASSWORD, "Please Login", "Welcome, Your Account Is Registered. \nPlease Enter Your Password To Login", "Login", "Leave");
}
return 1;
}
Код:
public OnPlayerDisconnect(playerid, reason)
{
new name[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(gPlayerLogged[playerid] == 1)
{
dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]);
dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]);
dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
}
gPlayerLogged[playerid] = 0;
return 1;

