Why dose this do nothing?
#1

Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(IsPlayerInVehicle(playerid, 520))
	{
	RemovePlayerFromVehicle(playerid);
	SendClientMessage(playerid, 0xFFFFFFFF, "Sorry but flying a hydra is currently unavalible!");
	}
	return 1;
}
compiles fine just dosnt send that message or eject the player when they enter the vehicle 520 (hydra)
Reply
#2

Here ya go
Quote:

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(GetVehicleModel(vehicleid) == 520)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFFFFFFFF, "Sorry but flying a hydra is currently unavalible!");
}
return 1;
}

Reply
#3

hmm thanks works but, hmmmm it dosnt eject the player from the vehicle :/
Reply
#4

Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
  if(GetVehicleModel(vehicleid) == 520)
  {
  new Float:poss[3];
  GetPlayerPos(playerid,poss[0],poss[1],poss[2];
  SetPlayerPos(playerid,poss[0],poss[1],poss[2]);
  SendClientMessage(playerid, 0xFFFFFFFF, "Sorry but flying a hydra is currently unavalible!");
  }
  return 1;
}
for as still is not in the car.
Reply
#5

You could do this

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
  new Float:px, Float:py, Float:pz;
  if(GetVehicleModel(vehicleid) == 520)
  {
    GetPlayerPos(playerid, px, py, pz);
    SetPlayerPos(playerid, px, py, pz+3);
    SendClientMessage(playerid, 0xFFFFFFFF, "Sorry but flying a hydra is currently unavalible!");
  }
  return 1;
}
Reply
#6

Do what Gappy said.
See, OnPlayerEnterVehicle is called when you press enter, or f to enter the vehicle.
If you want to eject them so they enter, then leave use OnPlayerStateChange.
Reply
#7

Or do it this way.

pawn Код:
public OnPlayerStateChange(playerid,newstate,oldstate)
{
  if(newstate == PLAYER_STATE_DRIVER)
  {
    if(IsPlayerInVehicle(playerid, 520))
    {
       RemovePlayerFromVehicle(playerid);
      SendClientMessage(playerid, 0xFFFFFFFF, "Sorry but flying a hydra is currently unavalible!");
    }
  }
  return 1;
}
Reply
#8

What i use to do is TogglePlayerControllability to False then True, this works the same as getPlayerPos and Setplayerpos but probaly not as effective, lol
Reply
#9

Quote:
Originally Posted by Gappy
Or do it this way.

pawn Код:
public OnPlayerStateChange(playerid,newstate,oldstate)
{
  if(newstate == PLAYER_STATE_DRIVER)
  {
    if(IsPlayerInVehicle(playerid, 520))
    {
       RemovePlayerFromVehicle(playerid);
      SendClientMessage(playerid, 0xFFFFFFFF, "Sorry but flying a hydra is currently unavalible!");
    }
  }
  return 1;
}
That's a stupid code.
IsPlayerInVehicle checks the VEHICLE ID and not the MODEL ID. So who uses vehicle id 520 will just be kicked from the vehicle with the reason "Sorry but flying a hydra bla bla" while it might be not a hydra!
Reply
#10

Oops, my bad.

pawn Код:
public OnPlayerStateChange(playerid,newstate,oldstate)
{
  new vehicleid = GetPlayerVehicleID(playerid);
  if(newstate == PLAYER_STATE_DRIVER)
  {
    if(GetVehicleModel(vehicleid) == 520)
    {
      RemovePlayerFromVehicle(playerid);
      SendClientMessage(playerid, 0xFFFFFFFF, "Sorry but flying a hydra is currently unavalible!");
    }
  }
  return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)