Anti-Jetpack
#1

I have an anti-jetpack code:

pawn Code:
public AntiJetpack()
{
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && isspawned[i] == 1 /*&& PlayerInfo[i][Level] >= 1 || IsPlayerAdmin(i)*/)
        {
            if (GetPlayerSpecialAction(i) == 2)
            {
                new string[128],name[MAX_PLAYER_NAME];
                GetPlayerName(i,name,sizeof(name));
                format(string,sizeof(string),"***KICK:  %s (%d)  (AUTO KICK)  Jetpack Cheats.",name,i);
                SendClientMessageToAll(COLOR_PINK,string);
                SendClientMessage(i,COLOR_PINK,"You Have Been Automatically Kicked.");
                SetPlayerPos(i,197.6661,173.8179,1003.0234);
                SetPlayerInterior(i,3);
                SetCameraBehindPlayer(i);
                SaveToFile("KickLog",string);
                Kick(i);
                return 1;
            }
        }
    }
}
It kicks the player who has the jetpack, but the problem is, it also kicks 2 bots out of the 7 bots I have.

My 7 bots range from id 0-6, while id 7 is where the regular players start. It kicked id 7 (me) then after 5 secs, it kicked 2 bots (id 5 and 6).

Anyone know why?
Reply
#2

Does PlayerInfo[i][Level] mean AdminLevel?
Reply
#3

Yes, but right now I'm testing it by spawning a jetpack using a cheat program on my server with an unregistered username. It doesn't kick me if I am admin, but if I am not, it WILL kick me which is the good thing, but the problem is it kicks 2 bot's.
Reply
#4

Add the check IsPlayerNPC
Reply
#5

pawn Code:
public AntiJetpack()
{
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerNPC(playerid) && IsPlayerConnected(i) && isspawned[i] == 1 /*&& PlayerInfo[i][Level] >= 1 || IsPlayerAdmin(i)*/)//If you add Level and IsPlayerAdmin, it would just check for players that are connected, is spawned, is level 1 or more and is logged to RCON.
        {
            if(GetPlayerSpecialAction(i) == 2)
            {
                new string[128],name[MAX_PLAYER_NAME];
                GetPlayerName(i,name,sizeof(name));
                format(string,sizeof(string),"***KICK:  %s (%d)  (AUTO KICK)  Jetpack Cheats.",name,i);
                SendClientMessageToAll(COLOR_PINK,string);
                SendClientMessage(i,COLOR_PINK,"You Have Been Automatically Kicked.");
                SetPlayerPos(i,197.6661,173.8179,1003.0234);
                SetPlayerInterior(i,3);
                SetCameraBehindPlayer(i);
                SaveToFile("KickLog",string);
                Kick(i);
                return 1;
            }
        }
    }
}
Snipa beat me. .
Reply
#6

Yeah. I added IsPlayerNPC before but forgot to add [SOLVED].

Thanks though!
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)