/kick [playerid] [reason]
#1

Hey I can't figure out how to make a kick command with a reason as well, I can easily do the /kick [playerid] but not with a reason. Anyone who can help me out on how to do this?
Reply
#2

strcmp, dcmd or zcmd?
Reply
#3

strcmp
Reply
#4

Maybe this:
Код:
if (strcmp("/kick", cmd, true) == 0)
{
if(pAdmin[playerid]<1)return 1;
new pname[24],tname[24];
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))return SendClientMessage(playerid,0xffffff,"-/ /kick [id] [reason] \\-";
id=strval(tmp);
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))return SendClientMessage(playerid,0xffffff,"-/ /kick [id] [reason] \\-";
if(IsPlayerConnected(id))
{
GetPlayerName(playerid,pname,sizeof(pname));
GetPlayerName(id,tname,sizeof(tname));
format(string,sizeof(string),"-/ You was kicked by [%s] reason [%s] \\-",pname,tmp);
SendClientMessage(playerid,COLOR_YELLOW,string);
format(string,sizeof(string),"-/ Player [%s(ID:%i)] kicked by [%s] reason [%s] \\-",tname,id,pname,tmp);
SendClientMessageToAll(COLOR_YELLOW,string);
Kick(id);
return 1;
}
else
{
SendClientMessage(playerid,0xffffff,"-/ iao aai \\-";
}
}
Reply
#5

Okay uhm.

C:\Users\Oliver\Desktop\Made From Scratch Script\gamemodes\newtest.pwn(576) : error 017: undefined symbol "id"

I defined all the other symbols myself just don't know what to define ID as.
Reply
#6

Actually nevermind I got it fixed I think, gonna try it out now
Reply
#7

sscanf makes it really easy to make optional strings.

Worth a read: https://sampwiki.blast.hk/wiki/Fast_Commands
Reply
#8

Quote:
Originally Posted by artex91
Maybe this:
Код:
if (strcmp("/kick", cmd, true) == 0)
{
if(pAdmin[playerid]<1)return 1;
new pname[24],tname[24];
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))return SendClientMessage(playerid,0xffffff,"-/ /kick [id] [reason] \\-";
id=strval(tmp);
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))return SendClientMessage(playerid,0xffffff,"-/ /kick [id] [reason] \\-";
if(IsPlayerConnected(id))
{
GetPlayerName(playerid,pname,sizeof(pname));
GetPlayerName(id,tname,sizeof(tname));
format(string,sizeof(string),"-/ You was kicked by [%s] reason [%s] \\-",pname,tmp);
SendClientMessage(playerid,COLOR_YELLOW,string);
format(string,sizeof(string),"-/ Player [%s(ID:%i)] kicked by [%s] reason [%s] \\-",tname,id,pname,tmp);
SendClientMessageToAll(COLOR_YELLOW,string);
Kick(id);
return 1;
}
else
{
SendClientMessage(playerid,0xffffff,"-/ iao aai \\-";
}
}
Not gonna work. Try this:

Код:
if(!strcmp(cmdtext,"/kick",true))
{


	new Index;
	new tmp[256]; tmp = strtok(cmdtext,Index);
	new tmp2[256]; tmp2 = strtok(cmdtext,Index);

	if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, 0xffff00aa, "Usage: /kick [PlayerID] [Reason]");

	new targetid;
	new string[128];
	new playername[MAX_PLAYER_NAME];
	new adminname [MAX_PLAYER_NAME];

	targetid = strval(tmp);

	if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,0xffff00aa,"Player is not connected.");

	GetPlayerName(targetid, playername, sizeof(playername));
	GetPlayerName(playerid, adminname, sizeof(adminname));


	format(string,sizeof(string)," %s has been kicked by Administrator %s ( Reason: %s) ",playername,adminname,cmdtext[2]);
	SendClientMessageToAll(0xffffffaa,string);
	return Kick(targetid);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)