[HELP] ZCMD command.
#1

Hello,
I've made a /kick command, but it doesn't work propely for me..
There it is:
PHP Code:
CMD:kick(playeridparams[])
{
    new 
string[256], giveplayeridadminname[10], reason[50];
     if(
PlayerInfo[playerid][pAdmin] < 1)
          return 
SendClientMessage(playeridCOLOR_GREY"You are not authorized for that command!");
      if(
sscanf(params"us[10]s[50]"giveplayeridadminnamereason))
          return 
SendClientMessage(playeridCOLOR_GREY"[SYNTAX]: /kick [ID/PartOfName] [10.chars.max] [50.chars.max]");
      if(!
IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID)
          return 
SendClientMessage(playeridCOLOR_GREY"Invalid playerid!");
      
format(stringsizeof(string), "SERVER: %s have been kicked by %s, reason: %s."Name(giveplayerid), adminnamereason);
      
SendClientMessageToAll(COLOR_LIGHTREDstring);
    
Kick(giveplayerid);
      return 
1;

What's wrong with that command?

Thanks advance.
Reply
#2

Do you get any message when using the command? What do you mean exactly by "its not working properly"?
Reply
#3

It will respond like that:
SERVER: kicked by XXX, reason:.
The name and the reason not shown..
Reply
#4

-Bump-
I need it fast, please help.
Reply
#5

pawn Code:
CMD:kick(playerid, params[])
{
    new
        string[128],
        giveplayerid,
        adminname[MAX_PLAYER_NAME],
        playername[MAX_PLAYER_NAME],
        reason[50];
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized for that command!");
    else if(sscanf(params, "rs[50]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_GREY, "[SYNTAX]: /kick [ID/PartOfName] [10.chars.max] [50.chars.max]");
    else if(!IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Invalid playerid!");
    else {
        format(string, sizeof(string), "SERVER: %s have been kicked by %s, reason: %s.", playername, adminname, reason);
        SendClientMessageToAll(COLOR_LIGHTRED, string);
        Kick(giveplayerid);
    }
    return 1;
}
Reply
#6

PHP Code:
CMD:kick(playeridparams[])
{
    new 
string[256], giveplayeridreason[50];
    if(
PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playeridCOLOR_GREY"You are not authorized for that command!");
    if(
sscanf(params"us[50]"giveplayeridreason)) return SendClientMessage(playeridCOLOR_GREY"[SYNTAX]: /kick [ID/PartOfName] [10.chars.max] [50.chars.max]");
    if(!
IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playeridCOLOR_GREY"Invalid playerid!");
    
format(stringsizeof(string), "SERVER: %s have been kicked by %s, reason: %s."Name(giveplayerid), Name(playerid), reason);
    
SendClientMessageToAll(COLOR_LIGHTREDstring);
    
Kick(giveplayerid);
     return 
1;

UNTESTED. Worked?
Reply
#7

It's returning Invalid playerid!
Reply
#8

Replace this
pawn Code:
else if(!IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Invalid playerid!");
To
pawn Code:
else if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Invalid playerid!");
Reply
#9

Now:
SERVER: kicked by Ronald_Davis, reason:.
Doesn't recognize the name/reason.
Reply
#10

This should works
pawn Code:
CMD:kick(playerid, params[])
{
    new
        string[128],
        giveplayerid,
        adminname[MAX_PLAYER_NAME],
        playername[MAX_PLAYER_NAME],
        reason[50];
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized for that command!");
    else if(sscanf(params, "rs[50]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_GREY, "[SYNTAX]: /kick [ID/PartOfName] [10.chars.max] [50.chars.max]");
    else if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Invalid playerid!");
    else {
        GetPlayerName(giveplayerid, playername, sizeof(playername));
        GetPlayerName(playerid, adminname, sizeof(adminname));
        format(string, sizeof(string), "SERVER: %s have been kicked by %s, reason: %s.", playername, adminname, reason);
        SendClientMessageToAll(COLOR_LIGHTRED, string);
        Kick(giveplayerid);
    }
    return 1;
}
Sorry for this. I forgot to GetPlayerName.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)