zcmd help
#1

how do i make this command so i dont have to be logged intoo Rcon to use it?
pawn Код:
CMD:kick(playerid, params[])
{
    new id, reason[128];
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, COLOR_WHITE, "You need to be a admin to use that command!");
    else if(sscanf(params, "us", id, reason))SendClientMessage(playerid, COLOR_WHITE, "Usage: /kick [id/name][reason]");
    else if(id==playerid)SendClientMessage(playerid,COLOR_WHITE,"Error: You can not kick yourself!");
    else if(IsPlayerAdmin(id))SendClientMessage(playerid,COLOR_WHITE,"Error: You can not kick another admin!");
    else if (id==INVALID_PLAYER_ID)SendClientMessage(playerid,COLOR_WHITE,"Error: Player is not connected!");
    else {
        new Name[MAX_PLAYER_NAME], KickMessage[128];
        new Name2[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Name, sizeof(Name));
        GetPlayerName(id, Name2, sizeof(Name2));
        format(KickMessage, sizeof(KickMessage), "%s(%d) has kicked player %s(%d). Reason: %s", Name, playerid, Name2, id);
        SendClientMessageToAll(COLOR_WHITE, KickMessage);
        Kick(id);
    }
    return 1;
}
Reply
#2

Here is the code you want, but I suggest not to change it into this cause then ANY player can kick ANYONE.
pawn Код:
CMD:kick(playerid, params[])
{
    new id, reason[128];
    if(sscanf(params, "us", id, reason))SendClientMessage(playerid, COLOR_WHITE, "Usage: /kick [id/name][reason]");
    else if(id==playerid)SendClientMessage(playerid,COLOR_WHITE,"Error: You can not kick yourself!");
    else if(IsPlayerAdmin(id))SendClientMessage(playerid,COLOR_WHITE,"Error: You can not kick another admin!");
    else if (id==INVALID_PLAYER_ID)SendClientMessage(playerid,COLOR_WHITE,"Error: Player is not connected!");
    else {
        new Name[MAX_PLAYER_NAME], KickMessage[128];
        new Name2[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Name, sizeof(Name));
        GetPlayerName(id, Name2, sizeof(Name2));
        format(KickMessage, sizeof(KickMessage), "%s(%d) has kicked player %s(%d). Reason: %s", Name, playerid, Name2, id);
        SendClientMessageToAll(COLOR_WHITE, KickMessage);
        Kick(id);
    }
    return 1;
}
Reply
#3

Well thats no good .-.
I want it so my level one admins can use it
Reply
#4

CAn i See Your Admin Function? Or Enums?
Reply
#5

We need to see your enum to see which variables you are using.
Reply
#6

what's ur enum ? variables ? show us then we can help you.
Reply
#7

Here it is,

pawn Код:
CMD:kick(playerid, params[])
{
    new targetid, reason[24];
    if(sscanf(params, "us[24]", targetid, reason)) return SendClientMessage(playerid, RED, "[USAGE]: /kick [name/id] [reason]");
    if(strlen(reason) < 1 || strlen(reason) > 24) return SendClientMessage(playerid, RED, "Your reason can only contain 1-24 characters.");
    if(PlayerInfo[playerid][aLevel] < 1) return SendClientMessage(playerid, RED, "Only admin level 1+ can use this command.");
    if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, RED, "Player not found.");
    if(PlayerInfo[targetid][aLevel] >= 1) return SendClientMessage(playerid, RED, "You cant kick admins.");
    {
        format(fstr, sizeof(fstr), "Admin %s [%d] has kicked %s [%d] from the server- Reason: %s", GetName(playerid), playerid, GetName(targetid), targetid, reason);
        SendClientMessageToAll(RED, fstr);
        PlayerInfo[targetid][pKicks] ++;
        GameTextForPlayer(targetid, "~r~Kicked", 5000, 5);
        format(fstr2, sizeof(fstr2), "You have been kicked from the server. You were kicked by admin %s.", GetName(playerid));
        SendClientMessage(targetid, RED, fstr2);
        SendClientMessage(targetid, ORANGE, "If you think this kick is unfair complain it forums.");
        Kick(targetid);
    }
    return true;
}
Just change this line according to your admin script.

pawn Код:
if(PlayerInfo[playerid][aLevel] < 1) return SendClientMessage(playerid, RED, "Only admin level 1+ can use this command.");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)