SA-MP Forums Archive
Help Please - 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: Help Please (/showthread.php?tid=421606)



Help Please - Aimstar - 10.03.2013

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(GetVehicleModel(vehicleid) == 425) //hunter
if(GetPlayerScore(playerid) < 1500)
if(GetVehicleModel(vehicleid) == 432) //rhino
if(GetPlayerScore(playerid) < 500)
{
new Floatlx, Floatly, Floatlz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.5);
RemovePlayerFromVehicle(playerid);
PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
SendClientMessage(playerid, COLOR_GREEN, "Your score is less for this vehicle");
return 1;
}
}

Can anyone help me?? Coz all cars are experiencing this Thanks )


AW: Help Please - ulbi1990 - 10.03.2013

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate==PLAYER_STATE_DRIVER || newstate==PLAYER_STATE_PASSENGER)
    {
        if(GetVehicleIModel(GetPlayerVehicleID(playerid))==425 && GetPlayerScore(playerid)<1500) || (GetVehicleModel(GetPlayerVehicleID(playerid))==432 && GetPlayerScore(playerid)<500)
        {
             RemovePlayerFromVehicle(playerid); //allready is like slapping the player!
             PlayerPlaySound(playerid, 1130);
             SendClientMessage(playerid, COLOR_GREEN, "Your score is less for this vehicle");
        }
    }
    return 1;
}
^Should work, wrote it without testing.

You need to use OnPlayerStateChange because OnPlayerEnterVehicle only gets called when the player enters the vehicle with "F" or "Enter", so he isn't in the vehicle which means you can't remove him.


Re: Help Please - Aimstar - 10.03.2013

Quote:

if(GetVehicleModel(GetPlayerVehicleID(playerid))== 425 && GetPlayerScore(playerid) < 1500) || (GetVehicleModel(GetPlayerVehicleID(playerid))==43 2 && GetPlayerScore(playerid)< 500);
{

I always get invalid Expression assume zero in this line Need Help


Re: Help Please - colonel-top - 10.03.2013

Here is Examples For You
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new Float:PosX,Float:PosY,Float:PosZ,model = GetVehicleModel(vehicleid);

     if(GetVehicleModel(vehicleid) == 425 && GetPlayerScore(playerid) < 1500)
    {
        SendClientMessage(playerid, COLOR_RED, "You Need More Score to fly Hunter !");//messages goes to   the player that he can't drive the hunter
       
        GetPlayerPos(playerid,PosX,PosY,PosZ);//getting player position
        SetPlayerPos(playerid,PosX,PosY,PosZ);//setting player to Same Position << This Avoid Player Enter Vehicle
    }
 if(GetVehicleModel(vehicleid) == 432 && GetPlayerScore(playerid) < 500)
    {
        SendClientMessage(playerid, COLOR_RED, "You Need More Score to Drive Tank !");//messages goes to   the player that he can't drive the tank
       
        GetPlayerPos(playerid,PosX,PosY,PosZ);//getting player position
        SetPlayerPos(playerid,PosX,PosY,PosZ);//setting player to Same Position << This Avoid Player Enter Vehicle
    }
}
I hope its help you


AW: Help Please - ulbi1990 - 10.03.2013

@colonel-top
Sorry but are you dumb? I already told that you CAN'T remove a player while using the Callback OnPlayerEnterVehicle....

If you won't believe me read the SA:MP wiki.

OnPlayerEnterVehicle

To remove a player from a vehicle does he NEED to be in a vehicle first.


Re: Help Please - Aimstar - 10.03.2013

Cant understand yours Colonel Top


Re: Help Please - colonel-top - 10.03.2013

@ulbi1990
Sorry Guy But I'm Using It And Its Work here and now
And im forget Delete RemovePlayerFromVehicle


Re: Help Please - Aimstar - 10.03.2013

Ulbi i always get Invalid Expression,Assumed Zero how to fix it?
Код:
if(GetVehicleModel(GetPlayerVehicleID(playerid)))==425 && GetPlayerScore(playerid) < 1500) || (GetVehicleModel(GetPlayerVehicleID(playerid))==432 && GetPlayerScore(playerid)< 500);
        {



AW: Help Please - ulbi1990 - 10.03.2013

Try this please:

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate==PLAYER_STATE_DRIVER || newstate==PLAYER_STATE_PASSENGER)
    {
        new Float:zPos[3];
        GetPlayerPos(playerid,zPos[0],zPos[1],zPos[2]);
        if(GetVehicleModel(GetPlayerVehicleID(playerid))==425 && GetPlayerScore(playerid)<1500)
        {
             RemovePlayerFromVehicle(playerid); //allready is like slapping the player!
             PlayerPlaySound(playerid, 1130,zPos[0],zPos[1],zPos[2]);
             SendClientMessage(playerid, COLOR_GREEN, "Your score is less for this vehicle");
        }
        if(GetVehicleModel(GetPlayerVehicleID(playerid))==432 && GetPlayerScore(playerid)<500)
        {
             RemovePlayerFromVehicle(playerid); //allready is like slapping the player!
             PlayerPlaySound(playerid, 1130,zPos[0],zPos[1],zPos[2]);
             SendClientMessage(playerid, COLOR_GREEN, "Your score is less for this vehicle");
        }
    }
    return 1;
}



Re: Help Please - Sandiel - 10.03.2013

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
     if(GetVehicleModel(GetPlayerVehicleId(playerid)) == 425) //hunter
     {
           if(GetPlayerScore(playerid)) > 1500)
           {
                new Floatlx, Floatly, Floatlz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz+1.5);
                RemovePlayerFromVehicle(playerid);
                PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
                SendClientMessage(playerid, COLOR_GREEN, "Your score is too low for this vehicle");
           }
     }
     else if(GetVehicleModel(GetPlayerVehicleId(playerid)) == 432) //Rhino
     {
           if(GetPlayerScore(playerid)) < 500)
           {
                new Floatlx, Floatly, Floatlz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz+1.5);
                RemovePlayerFromVehicle(playerid);
                PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
                SendClientMessage(playerid, COLOR_GREEN, "Your score is too low for this vehicle!");
           }
     }
     return 1;
}
Not tested but should work