[SOLVED]/kick xD[Thanks Jeff!]
#1

if i kick someone with a reason the reason always is 0 xD

Maybe someone could fix for me, thanks

pawn Код:
if(strcmp(cmd, "/kick", true) == 0)
  {
        if (PlayerInfo[playerid][Adminlevel] >= 1)
    {
            tmp = strtok(cmdtext,idx), tmp2 = strtok(cmdtext,idx);
            new player1, reason;
      player1 = strval(tmp);
      reason = strval(tmp2);
            if(!strlen(tmp) && !strlen(tmp2))
     {
       SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /kick [playerid] [reason]");
     }
            else
     {
        GetPlayerName(player1, playername, sizeof(playername));  GetPlayerName(playerid, adminname, sizeof(adminname));
        format(string,sizeof(string),"You have kicked %s from the server!(Reason: %i)", playername, reason);
        SendClientMessage(playerid, COLOR_GREEN, string);
        format(string,sizeof(string),"Administrator %s has kicked %s from the server!(Reason: %i)",adminname, playername, reason);
        SendClientMessageToAll(COLOR_GREEN, string);
            printf("%s has kicked %s from the server !(Reason: %i)",adminname, playername, reason);
            Kick(player1);
            }
        }
        return 1;
}
Reply
#2

Because if U write 'dfgdfgdfg' strval returns 0
reason = strval(tmp2);
use strmid
Reply
#3

Could you make me an example? idk what strmid is xD
Reply
#4

Код:
if(strcmp(cmd, "/kick", true) == 0)
{
	if(PlayerInfo[playerid][Adminlevel] >= 1)
	{
		tmp = strtok(cmdtext,idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /kick [playerid] [reason]");
		new player1 = strval(tmp);
		new Reason[120];
		strmid(Reason,cmdtext,strlen(cmd)+strlen(tmp)+2,strlen(cmdtext));
		if(IsPlayerConnected(player1)) {
			GetPlayerName(player1, playername, sizeof(playername));  GetPlayerName(playerid, adminname, sizeof(adminname));
			format(string,sizeof(string),"You have kicked %s from the server!(Reason: %i)", playername, Reason);
			SendClientMessage(playerid, COLOR_GREEN, string);
			format(string,sizeof(string),"Administrator %s has kicked %s from the server!(Reason: %i)",adminname, playername, Reason);
			SendClientMessageToAll(COLOR_GREEN, string);
			printf("%s has kicked %s from the server !(Reason: %i)",adminname, playername, Reason);
			Kick(player1);
		}//else invalid player id
	}
	return 1;
}
Reply
#5

If i kick myself there still comes numbers

/kick 0 obai -> Sigiamix has kicked Sigiamix from the server ! (Reason: 111)
EDIT: Fixed allready i% needed to be s% thank you!
Reply
#6

Eh xD replace (Reason: %i) to (Reason: %s)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)