#1

How would I make a kick command where the user (logged into RCON) can enter a custom reason?
Reply
#2

pawn Код:
CMD:kick(playerid, params[])
{
    new
        pID,
        reason[24],
        string[128]
        ;

    if(!IsPlayerAdmin(playerid)) return 0;
    else if(sscanf(params, "us[24]", pID, reason)) SendUsage(playerid, "/kick [playerid] [reason]");
    else if(pID == INVALID_PLAYER_ID) return SendError(playerid, "Invalid playerid.");
    else if(pID == playerid) return SendError(playerid, "You cant kick yourself.");
    else if(GetPVarInt(pID, "Admin") > GetPVarInt(playerid, "Admin")) return SendError(playerid, "You cannot use this command on admins");
    else {
        format(string, sizeof(string), "%s has been kicked by %s. (REASON: %s)", ReturnPlayerName(pID), ReturnPlayerName(playerid), reason);
        SendClientMessageToAll(COLOR_YELLOW, string);
        Kick(pID);
    }
    return 1;
}
Reply
#3

Requires ZCMD and sscanf

pawn Код:
CMD:kick(playerid, params[])
{
    new target, reason[128], output[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "You must be logged into rcon to use this!");  
    if(sscanf(params, "us[128]", target, reason)) return SendClientMessage(playerid, 0xFFFF00AA, "Syntax: /kick id reason");
    if(!IsPlayerConnected(target)) return SendClientMessage(playerid, -1, "Invalid playerid!");
    format(output, sizeof(output), "[Admin] %s has kicked %s Reason: %s", GetName(playerid), GetName(target), reason);
    SendClientMessageToAll(0xFFFF00AA, output);
    Kick(target);
    return 1;
}

stock GetName(playerid)
{
    new name[48];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)