Problem with samp 0.3 Car locking
#1


How can i lock certin car for a certin skin Id ?
I tryed like

Код:
if(carid==402)
SendClientMessage(playerid, 0x33AA33AA, "Vehicle locked!");
TogglePlayerControllable(playerid, 0);
	return 1;
}
Just tryed but doesnt work i added under OnPlayerEnterVehicle

How can i lock certin car for certin Skin id please Help if this is possible
Reply
#2

This will work for car with model 402(buffalo).
The player will lose control as they enter the vehicle.
I assume that is what has happened now.

There are two options for locking a car,
Either

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
  if(newstate == PLAYER_STATE_DRIVER)
  {
    new vehicleid = GetPlayerVehicleID(playerid);
    switch(GetVehicleModel(vehicleid))
    {
      case 402:
      {
        SendClientMessage(playerid, 0x33AA33AA, "Vehicle locked!");
        RemovePlayerFromVehicle(playerid);
      }
    }
  }
  return 1;
}
There is also a physical door lock system in samp using:
https://sampwiki.blast.hk/wiki/SetVehicleParamsForPlayer
https://sampwiki.blast.hk/wiki/OnVehicleStreamIn
Reply
#3

I dont understand where i put Skin ID ?

Buffalo Is locked for Skin id 114 how can i do like that?
Reply
#4

well i tested and worked

its under onplayerentervehicle

Код:
if(GetPlayerSkin(playerid) == 114 && vehicleid == 402)
{
	new Float:a,Float:b,Float:c;
	GetPlayerPos(playerid, a,b,c);
	SetPlayerPos(playerid, a,b,c);
	SendClientMessage(playerid, 0xF60000AA, "Vehicle Locked!");
}
Reply
#5

Oh ty I got it working Ty ty ty
Reply
#6

Oh my god


When i enter any vehicle when my skin id is 114 all the cars are locked for me


Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
  if(GetPlayerSkin(playerid) == 114) // 402 Buffalo car is locked for Skin id 114
	{
	new Float:a,Float:b,Float:c;
	GetPlayerPos(playerid, a,b,c);
	SetPlayerPos(playerid, a,b,c);
	SendClientMessage(playerid, 0xF60000AA, "Vehicle Locked!");
}
	return 1;
}
Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
  	{
    new vehicleid = GetPlayerVehicleID(playerid);
    switch(GetVehicleModel(vehicleid))
    {
      case 402:
      {
        SendClientMessage(playerid, 0x33AA33AA, "Vehicle locked!");
        RemovePlayerFromVehicle(playerid);
      }
    }
  }

    if(newstate == PLAYER_STATE_DRIVER)
		{
		  new vehicleid = GetPlayerVehicleID(playerid);
			if(Engine[vehicleid] == 0)
			{
			TogglePlayerControllable(playerid, 0);
			SendClientMessage(playerid, COLOR_YELLOW, "Press (Shift) or Type (/engine) to start the vehicles engine");
			}
			else if(Engine[vehicleid] == 1)
			{
			SendClientMessage(playerid, COLOR_GREEN, "Engine Running...");
			}
}

		return 1;
}
Reply
#7

Use Mansonh's code.
Reply
#8

have you puted this

Код:
if(GetPlayerSkin(playerid) == 114 && vehicleid == 402)
{
	new Float:a,Float:b,Float:c;
	GetPlayerPos(playerid, a,b,c);
	SetPlayerPos(playerid, a,b,c);
	SendClientMessage(playerid, 0xF60000AA, "Vehicle Locked!");
}
and you have to delet all other things you did ...
Reply
#9

Doesnt work :/
Reply
#10

I prefer to use SetVehicleParamsForPlayer. https://sampwiki.blast.hk/wiki/SetVehicleParamsForPlayer

Код:
public OnVehicleStreamIn(vehicleid, forplayerid)
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
  		if(IsPlayerConnected(i))
		{
		  if(GetPlayerSkin(playerid) != 114 && vehicleid == 402) SetVehicleParamsForPlayer(vehicleid, i, 0, 1);
		}
	}
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)