SA-MP Forums Archive
Restricted Vehicles - 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: Restricted Vehicles (/showthread.php?tid=410322)



Restricted Vehicles - Da_Noob - 25.01.2013

I've made restricted vehicles on my server.
Now, when you enter a vehicle it'll kick you out. But this is not what I want.

How it is now on my test server:

http://www.youtube.com/watch?v=diAiL...ature=*********

How I want it to be:

http://www.youtube.com/watch?v=hi-Ym...ature=*********

My current OnPlayerStateChange

pawn Код:
if(newstate == PLAYER_STATE_DRIVER)
{
if(PlayerInfo[playerid][pFaction] != 1)
{
    new vehicleid2 = GetPlayerVehicleID(playerid);
    if(vehicleid2 == lspdcar[0])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[1])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[2])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[3])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[4])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    if(vehicleid2 == lspdcar[5])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[6])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    if(vehicleid2 == lspdcar[7])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[8])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[9])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[10])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[11])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[12])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[13])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[14])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[15])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[16])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[17])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[18])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[19])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[20])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[21])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[22])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[23])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[24])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[25])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    else if(vehicleid2 == lspdcar[26])
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_BLUE, "You're not LSPD!");
    return 1;
    }
    }
(NOTE: this is not my whole OnPlayerStateChange, it's just to let you guys see how it looks like.)

Does anybody of you know how to make it like the second video?


Re: Restricted Vehicles - Babul - 25.01.2013

have a look @ https://sampwiki.blast.hk/wiki/SetVehicleParamsForPlayer.
hint: later, there is written:
Quote:

Note: From 0.3 you will have to re-apply this function when OnVehicleStreamIn is called!




Re: Restricted Vehicles - Da_Noob - 25.01.2013

Doesn't work. The first time the player can still enter the vehicle. Only the second time the car is locked. Can anybody please help me with this? it's pretty urgent.


Re: Restricted Vehicles - Sime30 - 25.01.2013

Hey, I have an example for you. This will 100% work for you but you'll have to adjust codes a bit

pawn Код:
new CopCar[1]; // one car for an example
// OnGameModeInit
CopCar[0] = AddStaticVehicleEx(428, 1544.2725830078, -1684.3175048828, 5.8806247711182, 90, 0, 1,300); //Securicar 1
// ============
forward IsACopCar(carid);
public IsACopCar(carid)
{
    for(new i = 0; i < sizeof(CopCar); i++)
    {
        if(carid == CopCar[i])  return 1;
    }
    return 0;
}

// Under OnplayerStateChange

if(IsACopCar(newcar))
        {
            if(PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pMember] == 1) { } // adjust to yours
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_GREY, "You're not in PD!");
            }
        }



Re: Restricted Vehicles - Da_Noob - 25.01.2013

Thank you, that will shorter my script a lot. But my question was how to make it so a player can't go in a veh when he's not in a faction. Now he'll go in the vehicle and THEN he'll get kicked out. But still, thank you for the code, it's pretty useful!


Re: Restricted Vehicles - Sime30 - 25.01.2013

That's also easy, here take a look

pawn Код:
// under OnPlayerEnterVehicle
if (IsACopCar(vehicleid) && !ispassenger)
        {
            if(PlayerInfo[playerid][pLeader]==1 || PlayerInfo[playerid][pMember]==1) {}
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "You're not in PD!");
                new Float:cx, Float:cy, Float:cz;
                GetPlayerPos(playerid, cx, cy, cz);
                SetPlayerPos(playerid, cx,  cy, cz);
            }
        }



Re: Restricted Vehicles - Da_Noob - 25.01.2013

Thank you so much dude! I've been looking and looking and you just come here with a simple solution! Thank you so much!


Re: Restricted Vehicles - SchurmanCQC - 25.01.2013

Can't you just return 0 in OnPlayerEnterVehicle...?