25.02.2012, 20:49
Oh it doesnt work, try doing like this
pawn Код:
CMD:warn(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
new Target;
new Reason[50];
if(sscanf(params, "us[50]", Target,Reason)) SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /warn [playerid] [reason]");
if(Target == playerid) return SendClientMessage(playerid, COLOR_RED, "SERVER: Cant perform this command on yourself!" );
if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected!");
if(PlayerInfo[Target][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid,COLOR_RED,"ERROR: You can't perform this command on Admins that are higher than your level!");
PlayerInfo[Target][Warnings] ++;
new tname[MAX_PLAYER_NAME];
GetPlayerName(Target,tname,sizeof(tname));
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
new MyString[128];
WarnLog(Target);
format(MyString,sizeof MyString, "You have warned %s! (Reason: %s) (Warnings: %d/%d)", tname, Reason, PlayerInfo[Target][Warnings],MAX_WARNINGS);
SendClientMessageToAll(COLOR_YELLOW,MyString);
format(MyString,sizeof(MyString), "Administrator %s has given %s a warning! Reason: %s (Warnings: %d/%d)", pname, tname, Reason,PlayerInfo[Target][Warnings],MAX_WARNINGS);
SendClientMessage(Target, COLOR_RED, MyString);
if(PlayerInfo[Target][Warnings] == 3)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(Target,name,sizeof(name));
format(MyString,sizeof(MyString),"Player %s (ID:%d) got kicked! (Reason: Maximum warnings)", name, Target);
SendClientMessageToAll(COLOR_RED,MyString);
WarnKick(Target);
Kick(Target);
}
}
else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be level 3 to perform this command!");
return 1;
}