CMD:kick(playerid, params[])
{
if(pInfo[playerid][pAdmin] >= 1)
{
new giveplayerid, reason[128], string[200];
if(sscanf(params, "us[128]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kick [playerid] [reason]");
if(IsPlayerConnected(giveplayerid) && pInfo[playerid][pAdmin] < pInfo[giveplayerid][pAdmin])
{
format(string, sizeof(string), "AdmCmd: %s has been kicked from the server by Administrator %s, Reason: %s", GetName(giveplayerid), GetName(playerid), reason);
SendClientMessageToAll(COLOR_LIGHTRED, string);
print(string);
format(string, sizeof(string), "SERVER: You have been kicked from the server by Admin %s, for: %s.", GetName(playerid), reason);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
IsLoggedIn[giveplayerid] = 0;
LoginAttempts[giveplayerid] = 0;
SetTimerEx("KickPublic", 1000, false, "i", playerid);
return 1;
}
else return SendClientMessage(playerid, COLOR_LIGHTRED, "They aren't connected, or have a higher admin rank than you.");
}
else return SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: You do not have permission to use this command.");
}
CMD:kick(playerid, params[])
{
if(pInfo[playerid][pAdmin] >= 1)
{
new giveplayerid, reason[128], string[200];
if(sscanf(params, "us[128]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kick [playerid] [reason]");
if(IsPlayerConnected(giveplayerid) && pInfo[playerid][pAdmin] > pInfo[giveplayerid][pAdmin])
{
format(string, sizeof(string), "AdmCmd: %s has been kicked from the server by Administrator %s, Reason: %s", GetName(giveplayerid), GetName(playerid), reason);
SendClientMessageToAll(COLOR_LIGHTRED, string);
print(string);
format(string, sizeof(string), "SERVER: You have been kicked from the server by Admin %s, for: %s.", GetName(playerid), reason);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
IsLoggedIn[giveplayerid] = 0;
LoginAttempts[giveplayerid] = 0;
SetTimerEx("KickPublic", 1000, false, "i", giveplayerid);
return 1;
}
else return SendClientMessage(playerid, COLOR_LIGHTRED, "They aren't connected, or have a higher admin rank than you.");
}
else return SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: You do not have permission to use this command.");
}
The first mistake was the sign between your admin level and your target's admin level. It should be "greater than", not "less than". The next thing i noticed is the kick timer which got "playerid" as parameter, so it would have kicked you if it worked. I replaced that with "giveplayerid". It should work now.
pawn Код:
|