SA-MP Forums Archive
Anti bike passenger DB godmode not working - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Anti bike passenger DB godmode not working (/showthread.php?tid=430160)



Anti bike passenger DB godmode not working - vvhy - 12.04.2013

pawn Код:
new LastWep[MAX_PLAYERS];
public HalfSecondVariables()
{
    foreach(new playerid:Player)
    {
        if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER && IsABike(GetPlayerVehicleID(playerid)))
        {
            new PlayerFound;
            foreach(new i:Player)
            {
                if(GetPlayerVehicleID(playerid) == GetPlayerVehicleID(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
                {
                    PlayerFound = 1;
                }
            }
            if(!PlayerFound && !!GetPlayerWeapon(playerid))
            {
                LastWep[playerid] = GetPlayerWeapon(playerid);
                SetPlayerArmedWeapon(playerid,0);
            }
            else if(PlayerFound && !GetPlayerWeapon(playerid) && !!LastWep[playerid])
            {
                SetPlayerArmedWeapon(playerid,LastWep[playerid]);
            }
        }
    }
    return 1;
}
It works fine besides returning the gun after the driver enters the bike again.


Re: Anti bike passenger DB godmode not working - Jefff - 13.04.2013

What you exactly want ? and use OnPlayerStateChange for that


Re: Anti bike passenger DB godmode not working - vvhy - 13.04.2013

I want it to set the players equipped weapon to fists when they try to shoot with 'drive by' on the back of an empty bike, then set it back once a player is on the bike again. This will not give the weapon back to the player on the back of the bike.


Re: Anti bike passenger DB godmode not working - Revo - 13.04.2013

Why not use:
pawn Код:
public OnPlayerStateChange(playerid, oldstate, newstate)
{
  if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    GivePlayerWeapon(playerid, 0, 1);
  return 1;
}
I haven't tested it, but see no reason why it shouldn't work.


Re: Anti bike passenger DB godmode not working - vvhy - 13.04.2013

Because that doesn't give back the weapon like it was before it was taken.


Re: Anti bike passenger DB godmode not working - Jefff - 13.04.2013

pawn Код:
new LastWep[MAX_PLAYERS];

public OnPlayerStateChange(playerid, oldstate, newstate)
{
    if(newstate == PLAYER_STATE_ONFOOT)
    {
        if(LastWeap[playerid])
            SetPlayerArmedWeapon(playerid,LastWep[playerid]);

        LastWep[playerid] = 0;
    }
    else if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
        if(IsABike(GetPlayerVehicleID(playerid)))
        {
            LastWep[playerid] = GetPlayerWeapon(playerid);
            SetPlayerArmedWeapon(playerid,0);
        }
    }
    return 1;
}



Re: Anti bike passenger DB godmode not working - vvhy - 13.04.2013

This just takes the weapon away no matter what, even if their is someone in the driver seat of the bike and at no time does it give it back.