SA-MP Forums Archive
Removing player from vehicle OnPlayerStateChange - 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: Removing player from vehicle OnPlayerStateChange (/showthread.php?tid=526393)



Removing player from vehicle OnPlayerStateChange - LocMax - 17.07.2014

Is there any reason why this isn't working?
I can't use any of those vehicles no matter what class I have, if it is engineer/pilot or if it isn't.
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
        {
            case 425: if(PlayerInfo[playerid][Class] != PILOT) return SendClientMessage(playerid, RED, "You need class pilot to use hunter."), RemovePlayerFromVehicle(playerid);
            case 520: if(PlayerInfo[playerid][Class] != PILOT) return SendClientMessage(playerid, RED, "You need class pilot to use hydra."), RemovePlayerFromVehicle(playerid);
            case 447: if(PlayerInfo[playerid][Class] != PILOT) return SendClientMessage(playerid, RED, "You need class pilot to use seasparrow."), RemovePlayerFromVehicle(playerid);
            case 432: if(PlayerInfo[playerid][Class] != ENGINEER) return SendClientMessage(playerid, RED, "You need class engineer to use rhino."), RemovePlayerFromVehicle(playerid);
        }
    }
    return 1;
}



Re: Removing player from vehicle OnPlayerStateChange - rockhopper - 17.07.2014

Use public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(ispassenger == 0)
switch(GetVehicleModel(GetPlayerVehicleID(playerid )))
Rest of your code

Try it Havent tested


Re: Removing player from vehicle OnPlayerStateChange - rockhopper - 17.07.2014

Worked ?


Re: Removing player from vehicle OnPlayerStateChange - LocMax - 17.07.2014

No, it's same. I tried that already.


Re: Removing player from vehicle OnPlayerStateChange - rockhopper - 17.07.2014

It wont work i guess Try this :-
Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) // Player entered a vehicle as a driver
    {
        new vehicleid = GetPlayerVehicleID(playerid);
       switch(vehicleid)
      {
       case 425: if(PlayerInfo[playerid][Class] != PILOT) return SendClientMessage(playerid, RED, "You need class pilot to use hunter."), RemovePlayerFromVehicle(playerid);
            case 520: if(PlayerInfo[playerid][Class] != PILOT) return SendClientMessage(playerid, RED, "You need class pilot to use hydra."), RemovePlayerFromVehicle(playerid);
            case 447: if(PlayerInfo[playerid][Class] != PILOT) return SendClientMessage(playerid, RED, "You need class pilot to use seasparrow."), RemovePlayerFromVehicle(playerid);
            case 432: if(PlayerInfo[playerid][Class] != ENGINEER) return SendClientMessage(playerid, RED, "You need class engineer to use rhino."), RemovePlayerFromVehicle(playerid);
      }

    }
    return 1;
}



Re: Removing player from vehicle OnPlayerStateChange - Jack_Leslie - 17.07.2014

Try:
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
        {
            case 425:
            {
                if(PlayerInfo[playerid][Class] != PILOT) {
                    SendClientMessage(playerid, RED, "You need class pilot to use hunter.");
                    RemovePlayerFromVehicle(playerid);
                    return 1;
                }
            }
            case 520:
            {
                if(PlayerInfo[playerid][Class] != PILOT) {
                    SendClientMessage(playerid, RED, "You need class pilot to use hydra.");
                    RemovePlayerFromVehicle(playerid);
                    return 1;
                }
            }
            case 447:
            {
                if(PlayerInfo[playerid][Class] != PILOT) {
                    SendClientMessage(playerid, RED, "You need class pilot to use seasparrow.");
                    RemovePlayerFromVehicle(playerid);
                    return 1;
                }
            }
            case 432:
            {
                if(PlayerInfo[playerid][Class] != ENGINEER) {
                    SendClientMessage(playerid, RED, "You need class engineer to use rhino.");
                    RemovePlayerFromVehicle(playerid);
                    return 1;
                }
            }
        }
    }
    return 1;
}



Re: Removing player from vehicle OnPlayerStateChange - rockhopper - 17.07.2014

Quote:

You should re-learn how to script.

LoL I am not so good ... So yea.....


Re: Removing player from vehicle OnPlayerStateChange - LocMax - 17.07.2014

Still ain't working... tried Ralfie's suggestion, same thing.
I also tried debugging to see if the class really was engineer, and it was.


Re: Removing player from vehicle OnPlayerStateChange - rockhopper - 17.07.2014

Show your PlayerInfo[playerid][Class]


Re: Removing player from vehicle OnPlayerStateChange - LocMax - 17.07.2014

Nevermind, seems like the defines were messed up the whole time, it was 0, 1, 3, 4, 5, 6 >.> missed the 2