Problem with my kick command -
iCurse - 18.04.2016
I made this command long time ago, i found it at the script that i once made so i pasted it to the script that i'm recently scripting.
The problem is when i /kick 0 (playerid) DM it sends me a message saying "SERVER: Unknown Command" And i really don't know why. But when i /kick 0 0(a number) It kicks me.
I tried
/kick 1 0 even though my ID is 0, and i'm the only player at the server it just kicked me.
This is the code.
PHP код:
CMD:kick(playerid, params[])
{
if(pInfo[playerid][pAdmin] <= 1)
return SendClientMessage(playerid, GREY, "You are not authorized to use that command.");
new
targetid,
reason,
str[128]
;
if(sscanf(params, "us", targetid, reason))
return SendClientMessage(playerid, GREY, "USAGE: /kick [playerid] [reason]");
if(!IsPlayerConnected(targetid))
return SendClientMessage(playerid, GREY, "Player is not connected");
new
pname[MAX_PLAYER_NAME],
tname[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, pname, sizeof(pname));
GetPlayerName(targetid, tname, sizeof(tname));
format(str, sizeof(str), "You have been kicked by %s. REASON: %s", pname, reason);
SendClientMessage(targetid, LIGHTBLUE, str);
format(str, sizeof(str), "You have kicked %s REASON: %s.", tname, reason);
SendClientMessage(playerid, LIGHTBLUE, str);
SetTimerEx("KickPlayer", 100, false, "i", targetid);
return 1;
}
forward KickPlayer(targetid);
public KickPlayer(targetid)
{
Kick(targetid);
}
Re: Problem with my kick command -
iCurse - 18.04.2016
ADD: If okay, please edit some of the lines to a better one. I messed up some lines, i think.
Re: Problem with my kick command -
Saliim - 18.04.2016
Hi bro, for SERVER: Unknown Command, add
else have you a warning or error in your compiler ?
Re: Problem with my kick command -
SyS - 18.04.2016
Look in your codes the variable "reason" should be a string try the following codes
PHP код:
CMD:kick(playerid, params[])
{
if(pInfo[playerid][pAdmin] <= 1)
return SendClientMessage(playerid, GREY, "You are not authorized to use that command.");
new
targetid,
reason[24],
str[128]
;
if(sscanf(params, "us[24]", targetid, reason))
return SendClientMessage(playerid, GREY, "USAGE: /kick [playerid] [reason]");
if(!IsPlayerConnected(targetid))
return SendClientMessage(playerid, GREY, "Player is not connected");
new
pname[MAX_PLAYER_NAME],
tname[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, pname, sizeof(pname));
GetPlayerName(targetid, tname, sizeof(tname));
format(str, sizeof(str), "You have been kicked by %s. REASON: %s", pname, reason);
SendClientMessage(targetid, LIGHTBLUE, str);
format(str, sizeof(str), "You have kicked %s REASON: %s.", tname, reason);
SendClientMessage(playerid, LIGHTBLUE, str);
SetTimerEx("KickPlayer", 100, false, "i", targetid);
return 1;
}
Re: Problem with my kick command -
Threshold - 18.04.2016
First off, make sure your sscanf plugin and includes are up to date. Secondly, show us your KickPlayer function. Check your console for any errors when using the command.
Re: Problem with my kick command -
AdrianG - 20.04.2016
Use crashdetect.
Re: Problem with my kick command -
Ritzy2K - 20.04.2016
You need to use the "number" after ID because you've declared the "reason" variable as an integer type. Change it into string.