CMD:kick(playerid, params[]) { if(PlayerInfo[playerid][AdminLevel] >= 1) { new kicked[MAX_PLAYER_NAME], kicker[MAX_PLAYER_NAME], reason[24], id; if(sscanf(params, "us[24]", kicked, reason)) return SendClientMessage(playerid, COLOR_RED, "[SERVER]: /kick [ID/PartOfName] [Reaosn]"); else { new string[128]; GetPlayerName(id, kicked, sizeof(kicked)); GetPlayerName(playerid, kicker, sizeof(kicker)); format(string, sizeof(string), "[ADMIN]: %s has been kicked by %s. Reason: %s.", kicked, kicker, reason); Kick(id); } } else return SendClientMessage(playerid, COLOR_GREY, " You aren't authorized to use this command !"); return 1; }
CMD:kick(playerid, params[]) { if(PlayerInfo[playerid][AdminLevel] == 1) return SendClientMessage(playerid, COLOR_GREY, " You aren't authorized to use this command !"); new kicked[MAX_PLAYER_NAME], kicker[MAX_PLAYER_NAME], reason[24], id; if(sscanf(params, "us[24]", kicked, reason)) return SendClientMessage(playerid, COLOR_RED, "[SERVER]: /kick [ID/PartOfName] [Reaosn]"); new string[128]; GetPlayerName(id, kicked, sizeof(kicked)); GetPlayerName(playerid, kicker, sizeof(kicker)); format(string, sizeof(string), "[ADMIN]: %s has been kicked by %s. Reason: %s.", kicked, kicker, reason); Kick(id); return 1; }
That's what I call a big fail xD
This looks better: Код:
CMD:kick(playerid, params[]) { if(PlayerInfo[playerid][AdminLevel] == 1) return SendClientMessage(playerid, COLOR_GREY, " You aren't authorized to use this command !"); new kicked[MAX_PLAYER_NAME], kicker[MAX_PLAYER_NAME], reason[24], id; if(sscanf(params, "us[24]", kicked, reason)) return SendClientMessage(playerid, COLOR_RED, "[SERVER]: /kick [ID/PartOfName] [Reaosn]"); new string[128]; GetPlayerName(id, kicked, sizeof(kicked)); GetPlayerName(playerid, kicker, sizeof(kicker)); format(string, sizeof(string), "[ADMIN]: %s has been kicked by %s. Reason: %s.", kicked, kicker, reason); Kick(id); return 1; } |
COMMAND:kick(playerid, params[])
{
new pid;
if(PlayerInfo[playerid][Adminlevel] >= 1)
{
if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid, 0xFFFFFFFF, "/kick [playerid/name] [reason]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, 0xFFFFFFFF, "This player is not connected");
new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
GetPlayerName(pid, paramname, sizeof(paramname));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string, sizeof(string), "%s has been kicked by %s for: %s", paramname, adminname, params[2]);
SendClientMessageToAll(AdminColor, string);
Kick(pid);
} else if(PlayerInfo[playerid][AdminLevel] == 0) return SendClientMessage(playerid, 0xAAAAAAAA, "You are not admin or the required level.");
return 1;
}
yes it got fixed, but now I've come across new problem. Every time I type /kick, instead of sending me the Client Message, it's crashing whole server. any ideas?
|
if(sscanf(params, "us[24]", kicked, reason))
Kick(id);
Kick(kicked);
C:\Users\Max\Downloads\GTA San Andreas\samp03csvr_R2-2_win32\gamemodes\All_Admin_GM.pwn(710) : error 035: argument type mismatch (argument 1) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
CMD:kick(playerid, params[]) { if(PlayerInfo[playerid][AdminLevel] >= 1) { new kicked[MAX_PLAYER_NAME], kicker[MAX_PLAYER_NAME], reason[24], id; if(sscanf(params, "us[24]", kicked, reason)) return SendClientMessage(playerid, COLOR_RED, "[SERVER]: /kick [ID/PartOfName] [Reaosn]"); else { new string[128]; GetPlayerName(id, kicked, sizeof(kicked)); GetPlayerName(playerid, kicker, sizeof(kicker)); format(string, sizeof(string), "[ADMIN]: %s has been kicked by %s. Reason: %s.", kicked, kicker, reason); Kick(kicked); } } else return SendClientMessage(playerid, COLOR_GREY, " You aren't authorized to use this command !"); return 1; }