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;