Restricted Vehicles
#1

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?
Reply
#2

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!

Reply
#3

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

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!");
            }
        }
Reply
#5

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!
Reply
#6

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

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)