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);
}