Unban.
#1

Well yeah, just came back with scripting etc.
So I need help with my /adkick command, it says the player is not connected.
Would also been nice if anyone did add a timer to it so the player gets the reason why he got kicked.
*Not my command.

pawn Код:
CMD:adkick(playerid, params[])
{
    if(APlayerData[playerid][PlayerLevel] >= 3 || IsPlayerAdmin(playerid))
    {
    SendAdminText(playerid, "/adkick", params);
    new PlayerToKick, Reason[128], ReasonMsg[128], Name[24];
    if (APlayerData[playerid][LoggedIn] == false)
    if (APlayerData[playerid][PlayerLevel] >= 3)
    if (sscanf(params, "us[128]", PlayerToKick, Reason))return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/adkick [id] [reason]\"");
    if (IsPlayerConnected(PlayerToKick))return SendClientMessage(playerid, 0xFF0000FF, "{FF0000}Error: {FFFFFF}That player is not online!");
    GetPlayerName(playerid, Name, sizeof(Name));
    format(ReasonMsg, 128, "You have been kicked by an Admin - Reason: %s", Reason);
    SendClientMessage(PlayerToKick, 0xFF0000FF, ReasonMsg);
    Kick(PlayerToKick);
    }
    return 1;
}
Reply
#2

Your mean?
I cant understand
Reply
#3

When you try to get someone, you will get this. {FF0000}Error: {FFFFFF}That player is not online! so it doesn't kick the player at all.
And I need a timer for You have been kicked by an Admin - Reason: %s
Reply
#4

pawn Код:
CMD:adkick(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"You're not allowed to use this command");
    new targetid,
        reason[64],
        string[128];

    if(sscanf(params, "uz", targetid, reason)) return SendClientMessage(playerid, COLOR_WHITE, ""#COL_DGREY"[CMD] / "#COL_SGREY"[PlayerID/PartOfName] [Reason]");
    if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, ".:: ERROR: Player is not connected. ::.");

    new pTargetName[24], pName[24];
    GetPlayerName(playerid,pName,24);
    GetPlayerName(targetid,pTargetName,24);

    format(string, sizeof(string), ""#COL_ORANGE"[SERVER]"#COL_LRED" Admin %s has kicked %s. Reason %s",pName, pTargetName, reason);
    SendClientMessageToAll(COLOR_WHITE,string);
    format(string, sizeof(string), ""#COL_ORANGE"[SERVER]"#COL_LRED" Admin %s has kicked %s. Reason: %s",pName, pTargetName, reason);
    SendClientMessage(targetid,COLOR_WHITE,string);
    SetTimer("kickplayer",500,false);

    return 1;
}
pawn Код:
forward kickplayer(targetid);
public kickplayer(targetid)
{
    Kick(targetid);
    return 1;
}
Try this. However, the CMD only works for RCON logined admins. Edit if(!IsPlayerAdmin(playerid)) to change use privilegies.
Reply
#5

Tried, I'm not interested to kick myself instead of the player that is supposed to be kicked. \(^-^)/
Reply
#6

Delete this post<<<
Reply
#7

Anyone? ._.
Reply
#8

pawn Код:
CMD:adkick(playerid, params[])
{
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
        new string[128], giveplayerid, reason[64];
        if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /adkick [playerid] [reason]");

        if(IsPlayerConnected(giveplayerid))
        {
            if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && (PlayerInfo[giveplayerid][pAdmin] > 0) && playerid != giveplayerid)
            {
                format(string, sizeof(string), "AdmCmd: %s has been auto-kicked, reason: Trying to /kick a higher admin.", GetPlayerNameEx(playerid));
                ABroadCast(COLOR_YELLOW,string, (PlayerInfo[playerid][pAdmin] == 1) ? (1) : (2));
                Kick(playerid);
                return 1;
            }
            else
            {
                new year, month,day;
                getdate(year, month, day);
                new playerip[32];
                GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
                format(string, sizeof(string), "AdmCmd: %s (IP:%s) was kicked by %s, reason: %s (%d-%d-%d)", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason,month,day,year);
                Log("logs/kick.log", string);
                if(PlayerInfo[playerid][pAdmin] == 1) Log("logs/moderator.log", string);
                format(string, sizeof(string), "AdmCmd: %s was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
                SendClientMessageToAllEx(COLOR_LIGHTRED, string);
                Kick(giveplayerid);
            }
            return 1;
        }
    }
    else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
    return 1;
}
Reply
#9

Sorry for double post.
Reply
#10

Код:
CMD:kick(playerid, params[])
{
	if (IsPlayerAdmin(playerid))
	{
		new string[128], giveplayerid, reason[64];
		if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /kick [playerid] [reason]");

		if(IsPlayerConnected(giveplayerid))
		{
			format(string, sizeof(string), "PlayerKick: %s was kicked by %s, reason: %s", GetPlayerName(giveplayerid), GetPlayerName(playerid), reason);
			SendClientMessageToAll(COLOR_LIGHTRED, string);
			Kick(giveplayerid);
		}
	}
	else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
	return 1;
}
This is sorta simple. All you need is sscanf and zcmd
SSCANF: (click me)
ZCMD: CLICK ME
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)