SA-MP Forums Archive
OnPlayerStateChange not working at all! - 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: OnPlayerStateChange not working at all! (/showthread.php?tid=376731)



OnPlayerStateChange not working at all! - XtremeR - 11.09.2012

OnPlayerStateChange not working at all for me .. i tried many things like changing return 0 to return 1 and did stuff like that but it didnt helped..

Yes i will +Rep you

the Code:
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{

if(newstate == PLAYER_STATE_DRIVER)
{
SetPlayerArmedWeapon(playerid, 0);
return 0;
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 425 && gClass[playerid] == PILOT_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hunter");
RemovePlayerFromVehicle(playerid);
return 0;
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 520 && gClass[playerid] == PILOT_CLASS)
{

SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hydra");
RemovePlayerFromVehicle(playerid);
return 0;
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 432 && gClass[playerid] == ENGINEER_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Engineer to drive Rhino");
RemovePlayerFromVehicle(playerid);
return 0;
}

if (GetVehicleModel(GetPlayerVehicleID ( playerid ) ) == 447 && gClass[playerid] == PILOT_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Sea-Sparrow");
RemovePlayerFromVehicle(playerid);
}
return 0;
}
and please be fast as i got less time :/


Re: OnPlayerStateChange not working at all! - Kirollos - 11.09.2012

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{

if(newstate == PLAYER_STATE_DRIVER)
{
SetPlayerArmedWeapon(playerid, 0);
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 425 && gClass[playerid] == PILOT_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hunter");
RemovePlayerFromVehicle(playerid);
return 0;
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 520 && gClass[playerid] == PILOT_CLASS)
{

SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hydra");
RemovePlayerFromVehicle(playerid);
return 0;
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 432 && gClass[playerid] == ENGINEER_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Engineer to drive Rhino");
RemovePlayerFromVehicle(playerid);
return 0;
}

if (GetVehicleModel(GetPlayerVehicleID ( playerid ) ) == 447 && gClass[playerid] == PILOT_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Sea-Sparrow");
RemovePlayerFromVehicle(playerid);
}
return 0;
}
return 0;
}
should work: btw, no difference between return 0 and return 1 in OnPlayerStateChange , because that callback doesnt handle returns.


Re: OnPlayerStateChange not working at all! - XtremeR - 11.09.2012

Nothing Happened Bro.. when i sit in it, nothing just happens :/


Re: OnPlayerStateChange not working at all! - XtremeR - 11.09.2012

Bump Please Help anyone :/


Re: OnPlayerStateChange not working at all! - MarkoN - 11.09.2012

it shouldnt return 0 in everything
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{

if(newstate == PLAYER_STATE_DRIVER)
{
SetPlayerArmedWeapon(playerid, 0);
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 425 && gClass[playerid] == PILOT_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hunter");
RemovePlayerFromVehicle(playerid);
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 520 && gClass[playerid] == PILOT_CLASS)
{

SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hydra");
RemovePlayerFromVehicle(playerid);
}
if ( GetVehicleModel ( GetPlayerVehicleID ( playerid ) ) == 432 && gClass[playerid] == ENGINEER_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Engineer to drive Rhino");
RemovePlayerFromVehicle(playerid);
}

if (GetVehicleModel(GetPlayerVehicleID ( playerid ) ) == 447 && gClass[playerid] == PILOT_CLASS)
{
SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Sea-Sparrow");
RemovePlayerFromVehicle(playerid);
}
return 0;
}
Should work...

Edit : I made a mistake , edited


Re: OnPlayerStateChange not working at all! - XtremeR - 11.09.2012

didint worked.. i already told u, i did my best.. :/ please help


Re: OnPlayerStateChange not working at all! - MarkoN - 11.09.2012

did you try debugging ?


Re: OnPlayerStateChange not working at all! - XtremeR - 11.09.2012

whats that?


Re: OnPlayerStateChange not working at all! - Biess - 11.09.2012

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate) zijn, etc.
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new vModel = GetVehicleModel(GetPlayerVehicleID(playerid));
        if((vModel == 432 && GetPlayerScore(playerid) < 500) || (vModel == 520 && GetPlayerScore(playerid) < 500))
        {
            RemovePlayerFromVehicle(playerid);
            SendClientMessage(playerid, -1, "You can't enter this Vehicle yet check /vehicles for the rank needed to enter this vehicle!");
        }
    }
    return 1;
}
This will work just edit it to what you want


Re: OnPlayerStateChange not working at all! - park4bmx - 11.09.2012

what if
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate) zijn, etc.
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new vehicleid = GetPlayerVehicleID(playerid);
        if(vehicleid == 444) return //...
        else if(vehicleid ==445) return //...
    }
    return 1;
}
Use Else If !