25.04.2015, 02:59
I have no idea why its kicking the admin who uses it and not the user that must be kick here's the code
The
It must kick the player and not the admin who using it. +1 Rep
Код:
CMD:kick(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >= 1) { new string[128], giveplayerid, reason[64]; if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kick [playerid/partofname] [reason]"); if(IsPlayerConnected(giveplayerid)) { if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin]) { new playerip[32]; GetPlayerIp(giveplayerid, playerip, sizeof(playerip)); format(string, sizeof(string), "AdmCmd: %s (IP:%s) was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason); Log("logs/kick.log", string); format(string, sizeof(string), "AdmCmd: %s was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason); SendClientMessageToAllEx(COLOR_LIGHTRED, string); /*format(string, sizeof(string), "You have been kicked out by %s, reason: %s. Take a screenshot using F8 if you find this abusive.", GetPlayerNameEx(playerid), reason); SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);*/ SetTimerEx("DelayedKick", 250, false, "i", giveplayerid); } return 1; } else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified."); } return 1; }
Код:
forward DelayedKick(playerid); public DelayedKick(playerid) { Kick(playerid); return 1; }