27.03.2013, 22:39
(
Последний раз редактировалось Fernado Samuel; 01.06.2013 в 22:18.
)
Removed, Thanks
PlayerInfo[playerid][Tempt];
/settemplevel [PlayerID] [Level] [Time]
CMD:settemplevel(playerid,params[]) { if(PlayerInfo[playerid][LoggedIn] == 1) { if(PlayerInfo[playerid][Level] >= 10) { new tmp [64], Index; new tmp2[64], new tmp2[18];; tmp = strtok(params,Index); tmp2 = strtok(params,Index); tmp3 = strtok(params,Index); if(isnull(tmp) || isnull(tmp2) || isnull(tmp2)) return SendClientMessage(playerid, LIGHTBLUE2, "Usage: /settemplevel [PlayerID] [Level]"); new player1, level, time, string[128]; player1 = strval(tmp); level = strval(tmp2); time = strval(tmp3); if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) { if(PlayerInfo[player1][LoggedIn] == 1) { if(level > ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: Invalid Level!"); if(level == PlayerInfo[player1][Level]) return SendClientMessage(playerid,red,"ERROR: Player is already this Level"); if(time > 181) return SendClientMessage(playerid,red,"ERROR: Time done in minutes!"); CMDMessageToAdmins(playerid,"SetTempLevel"); new year,month,day; new hour,minute,second; getdate(year, month, day); gettime(hour,minute,second); PlayerInfo[player1][Tempt] = time; Temp[player1] = SetTimerEx("TempTimer",60000,1,"i",player1); if(level > 10) { AdmRank = "Professional Admin"; } switch(level) { case 1: AdmRank = "VIP 1"; case 2: AdmRank = "VIP 2"; case 3: AdmRank = "VIP 3"; case 4: AdmRank = "Level 4"; case 5: AdmRank = "Administrator"; case 6: AdmRank = "Master Administrator"; case 7: AdmRank = "Head Administrator"; case 8: AdmRank = "Trusted Admin"; case 9: AdmRank = "Level 9"; case 10: AdmRank = "Level 10"; } if(level > 0) format(string,sizeof(string),"* Administrator %s has Temporarily set you to Administrator Status | Level: %d - %s ", pName(playerid), level, AdmRank); else format(string,sizeof(string),"* Administrator %s has temporarily set you to Player Status | Level: %d ", pName(playerid), level); SendClientMessage(player1,blue,string); if(level > PlayerInfo[player1][Level]) GameTextForPlayer(player1,"Promoted", 2000, 3); else GameTextForPlayer(player1,"Demoted", 2000, 3); format(string,sizeof(string),"* You have given %s Temp Level %d on '%d/%d/%d' at '%d:%d:%d' ", PlayerName2(player1), level, day, month, year, hour, minute, second); SendClientMessage(playerid,BlueMsg,string); format(string,sizeof(string),"Administrator %s has made %s temp Level %d",pName(playerid), PlayerName2(player1), level); SaveIn("TempAdminLog",string); PlayerInfo[player1][Level] = level; //<<=== This is the problem return PlayerPlaySound(player1,1057,0.0,0.0,0.0); } else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be admin"); } else return ErrorMessages(playerid, 2); } else return ErrorMessages(playerid, 1); } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands"); }
new Temp[MAX_PLAYERS];
forward TempTimer(playerid); public TempTimer(playerid) { if(PlayerInfo[player1][Tempt] >= 1) { PlayerInfo[player1][Tempt] -1; } if(PlayerInfo[player1][Tempt] = 0) { KillTimer(Temp[playerid]); //You need to record his old Levels and return them to their previous state here } }
if(PlayerInfo[playerid][Tempt] >= 1) { Temp[playerid] = SetTimerEx("TempTimer",60000,1,"i",playerid); }