Removing player from vehicle OnPlayerStateChange
#1

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;
}
Reply
#2

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

Try it Havent tested
Reply
#3

Worked ?
Reply
#4

No, it's same. I tried that already.
Reply
#5

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;
}
Reply
#6

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;
}
Reply
#7

Quote:

You should re-learn how to script.

LoL I am not so good ... So yea.....
Reply
#8

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.
Reply
#9

Show your PlayerInfo[playerid][Class]
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)