Kick CMD
#1

Код:
CMD:kick(playerid, params[])
{
        if(PlayerInfo[playerid][pVip] < 1) return SendClientMessage(playerid, 0xFF0000AA, "You aren't vip!");
        {
            new PID;
            new reason[64];
            new str[128];
            new Playername[MAX_PLAYER_NAME], Adminname[MAX_PLAYER_NAME];
            GetPlayerName(playerid, Adminname, sizeof(Adminname));
            GetPlayerName(PID, Playername, sizeof(Playername));
            if(sscanf(params, "us[64]", PID,reason)) return SendClientMessage(playerid, 0xDEEE20FF, "Use: /kick [ID] [Reason]");
            if(!IsPlayerConnected(PID))  return SendClientMessage(playerid, 0xDEEE20FF, "Player doesn't exist");
            format(str, sizeof(str), "'%s' Was kicked by administrator '%s'. Reason: %s ", Playername, Adminname, reason);
            SendClientMessageToAll(0xDEEE20FF, str);
            Kick(PID);
        }
        return 1;
}
The problem is in the photo: http://www.part.lt/perziura/38fbb39d...f0f8a28947.png

In kicked player nickname place show my nick, why?
Reply
#2

because you kicked yourself

pawn Код:
format(str, sizeof(str), "'%s' Was kicked by administrator '%s'. Reason: %s ", Playername, Adminname, reason);
%s- the person you kicked name
%s- Admin name
%s-Reason
so if you kick your own id, then you would be kicked, get another person and try
Reply
#3

I doesn't kicked myself, i kicked another player.
Reply
#4

pawn Код:
CMD:kick(playerid, params[])
{
    new playerb, string[128];
    if(PlayerInfo[playerid][pVIP] < 1) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    if(sscanf(params, "us[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kick [playerid] [reason]");
    if(PlayerInfo[playerid][pVIP] < PlayerInfo[playerb][pVIP]) return SendClientMessage(playerid, COLOR_GREY, "Player has a higher VIP level than you.");   format(string, sizeof(string), "AdmCmd: %s has been kicked by %s, reason: %s", RPN(playerb), RPN(playerid), params);
    format(string, sizeof(string), "AdmCmd: %s has been kicked by %s, reason: %s", nc(playerb), nc(playerid), params);
    SendClientMessageToAll(-1, string);
    Kick(playerb);
    return 1;
}
// put this somewhere by itslf


stock nc(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}
Reply
#5

PHP код:
CMD:kick(playeridparams[])
{
        if(
PlayerInfo[playerid][pVip] < 1) return SendClientMessage(playerid0xFF0000AA"You aren't vip!");
        {
            new 
PIDreason[64], str[128];
            new 
Playername[MAX_PLAYER_NAME], Adminname[MAX_PLAYER_NAME];
            
GetPlayerName(playeridAdminnamesizeof(Adminname));
         
GetPlayerName(PIDPlayernamesizeof(Playername));
           if(
sscanf(params"us[64]"PID,reason)) return SendClientMessage(playerid0xDEEE20FF"Use: /kick [ID] [Reason]");
            if(!
IsPlayerConnected(PID))
            return 
SendClientMessage(playeridCOLOR_WHITE"[ERROR]: Igrač nije online.");
            if(
        
format(strsizeof(str), "%s je dobio kick od admina: %s. Razlog: %s "PlayernameAdminnamereason);
        
SendClientMessageToAll(COLOR_REDstr);
          
Kick(PID);
        }
        return 
1;

Try this?
Reply
#6

PHP код:
CMD:kick(playeridparams[])
{
    if (
PlayerInfo[playerid][pVip] >= 1)
    {
        new 
string[128], giveplayeridreason[64];
        if(
sscanf(params"us[64]"giveplayeridreason)) return SendClientMessageEx(playeridCOLOR_WHITE"USAGE: /kick [playerid] [reason]");
        if(
IsPlayerConnected(giveplayerid))
        {
            if(
PlayerInfo[giveplayerid][pVip] >= PlayerInfo[playerid][pAdmin] && (PlayerInfo[giveplayerid][pVip] > 0) && playerid != giveplayerid)
            {
                
format(stringsizeof(string), "AdmCmd: %s has been auto-kicked, reason: Trying to /kick a higher vip"GetPlayerNameEx(playerid));
                
VIPBroadCast(COLOR_YELLOW,string, (PlayerInfo[playerid][pVip] == 1) ? (1) : (2));
                
Kick(playerid);
                return 
1;
            }
            else
            {
                new 
yearmonth,day;
                
getdate(yearmonthday);
                new 
playerip[32];
                
GetPlayerIp(giveplayeridplayeripsizeof(playerip));
                
format(stringsizeof(string), "AdmCmd: %s (IP:%s) was kicked by %s, reason: %s (%d-%d-%d)"GetPlayerNameEx(giveplayerid), playeripGetPlayerNameEx(playerid), reason,month,day,year);
                
Log("logs/kick.log"string);
                if(
PlayerInfo[playerid][pVip] == 1Log("logs/vip.log"string); // whatever symbol recognizes if player is an admin + logs
                
format(stringsizeof(string), "AdmCmd: %s was kicked by %s, reason: %s"GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
                
SendClientMessageToAllEx(COLOR_LIGHTREDstring);
                
Kick(giveplayerid);
            }
            return 
1;
        }
    }
    else 
SendClientMessageEx(playeridGREY"Invalid player specified."); // whatever color is defined in ur gm
    
return 1;

Reply
#7

Quote:
Originally Posted by B-Matt
Посмотреть сообщение
PHP код:
CMD:kick(playeridparams[])
{
        if(
PlayerInfo[playerid][pVip] < 1) return SendClientMessage(playerid0xFF0000AA"You aren't vip!");
        {
            new 
PIDreason[64], str[128];
            new 
Playername[MAX_PLAYER_NAME], Adminname[MAX_PLAYER_NAME];
            
GetPlayerName(playeridAdminnamesizeof(Adminname));
         
GetPlayerName(PIDPlayernamesizeof(Playername));
           if(
sscanf(params"us[64]"PID,reason)) return SendClientMessage(playerid0xDEEE20FF"Use: /kick [ID] [Reason]");
            if(!
IsPlayerConnected(PID))
            return 
SendClientMessage(playeridCOLOR_WHITE"[ERROR]: Igrač nije online.");
            if(
        
format(strsizeof(str), "%s je dobio kick od admina: %s. Razlog: %s "PlayernameAdminnamereason);
        
SendClientMessageToAll(COLOR_REDstr);
          
Kick(PID);
        }
        return 
1;

Try this?
I try you script and i get two errors:

C:\Users\Lauryno\Desktop\Servas\gamemodes\bom.pwn( 526) : error 001: expected token: ")", but found ";"
C:\Users\Lauryno\Desktop\Servas\gamemodes\bom.pwn( 526) : error 036: empty statement

Error line:

Код:
format(str, sizeof(str), "%s je dobio kick od admina: %s. Razlog: %s ", Playername, Adminname, reason);
Reply
#8

Please help..
Reply
#9

Try This

pawn Код:
CMD:kick(playerid, params[])
{
    new playerb, string[128];
    if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    //if(!aDuty[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You are not on admin duty.");
    if(sscanf(params, "us[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kick [playerid] [reason]");
    if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
    if(IsPlayerNPC(playerb)) return SendClientMessage(playerid, COLOR_GREY, "You can't kick NPCs out of the server.");
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[playerb][pAdmin]) return SendClientMessage(playerid, COLOR_GREY, "Player has a higher admin level than you."); format(string, sizeof(string), "AdmCmd: %s has been kicked by %s, reason: %s", RPN(playerb), RPN(playerid), params);
    format(string, sizeof(string), "AdmCmd: %s has been kicked by %s, reason: %s", RPN(playerb), RPN(playerid), params);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    format(string, sizeof(string), "AdmCmd: %s has been kicked by %s (%s), reason: %s", RPN(playerb), RPN(playerid), RPIP(playerid), params);
    Log("logs/kick.log", string);
    Kick(playerb);
    return 1;
}

Or

pawn Код:
CMD:kick(playerid, params[]) //using ZCMD this is how your command will start off looking like.
{
    if(PlayerInfo[playerid][pAdmin] <= 2)
    {
        new adminname[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],otherplayerid, reason[128];
        GetPlayerName(otherplayerid,pname,sizeof(pname));
        GetPlayerName(playerid,adminname,sizeof(adminname));
        if(sscanf(params, "uz", otherplayerid, reason))
            SendClientMessage(playerid, 0xFFFFFFFF, "/kick [playerid/name] [reason]");
        else if(otherplayerid == INVALID_PLAYER_ID)
            SendClientMessage(playerid, 0xFFFFFFFF, "This player is not connected");
        else
        {
            new string[32];
            format(string, sizeof(string), "Admin %s kicked %s | Reason: %s",adminname,pname, reason);
            SendClientMessageToAll(0xFFFFFFFF,string);
            Kick(otherplayerid);
        }
    }
    else
    {
        SendClientMessage(playerid, 0xAAAAAAAA, "You are not admin or the required level.");
    }
    return 1;
}
Reply
#10

That works!
pawn Код:
CMD:kick( playerid, params[ ] )
{
    new
        id,
        reason[ 64 ]
    ;
    if( PlayerInfo[ playerid ][ pVip ] < 1 ) return SendClientMessage( playerid, 0xFF0000AA, "You aren't vip!" );
    if(sscanf( params, "us[64]", id, reason ) ) return SendClientMessage( playerid, 0xDEEE20FF, "Use: /kick [ID] [Reason]" );
    if( !IsPlayerConnected( id ) || id == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xDEEE20FF, "Player doesn't exist" );
    new
        str[ 128 ],
        pName[ MAX_PLAYER_NAME ],
        aName[ MAX_PLAYER_NAME ]
    ;
    GetPlayerName( playerid, aName, MAX_PLAYER_NAME );
    GetPlayerName( id, pName, MAX_PLAYER_NAME );
    format( str, sizeof( str ), "'%s' Was kicked by administrator '%s'. Reason: %s ", pName, aName, reason );
    SendClientMessageToAll( 0xDEEE20FF, str );
    Kick( id );
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)