Ugrás a fő tartalomhoz

PutPlayerInVehicle

Description

Puts a player in a vehicle.

NameDescription
playeridThe ID of the player to put in a vehicle.
vehicleidThe ID of the vehicle to put the player in.
seatidThe ID of the seat to put the player in.

Returns

true - The function was executed successfully.

false - The function failed to execute. The player or vehicle doesn't exist.

Examples

// Global array to track which vehicle belongs to each player.
// INVALID_VEHICLE_ID is used as a placeholder for players without a vehicle.
static s_PlayerVehicle[MAX_PLAYERS] = { INVALID_VEHICLE_ID, ... };

public OnPlayerSpawn(playerid)
{
// Check if the player already has a valid vehicle.
if (!IsValidVehicle(s_PlayerVehicle[playerid]))
{
// If not, create a new vehicle for the player and store its ID.
s_PlayerVehicle[playerid] = CreateVehicle(411, 0.0, 0.0, 3.5, 0.0, -1, -1, -1);
}

// Mark that the player should be placed in their vehicle once it is fully loaded.
// This avoids issues where the vehicle might not yet be loaded on the client's side.
SetPVarInt(playerid, "PutPlayerInVehicle", 1);

return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
// This callback is triggered when a vehicle streams in for the player (i.e. when it is loaded into memory).
// Check if the streamed-in vehicle is the player's and if they need to be placed in it.
if (vehicleid == s_PlayerVehicle[forplayerid] && GetPVarInt(forplayerid, "PutPlayerInVehicle"))
{
// Put the player into the vehicle.
PutPlayerInVehicle(forplayerid, vehicleid, 0);

// Clear the marker to prevent repeatedly putting the player into the vehicle
// (e.g., if the player leaves the vehicle and it streams in again later).
DeletePVar(forplayerid, "PutPlayerInVehicle");
}

return 1;
}

IDSeat
0Driver
1Front passenger
2Back-left passenger
3Back-right passenger
4+Passenger seats (coach etc.)

Notes

tanács

You can use GetPlayerVehicleSeat in a loop to check if a seat is occupied by any players.

vigyázat
  • If the seat is invalid or already taken, the client will crash when they EXIT the vehicle.
  • Putting a player into a vehicle that is not streamed in can be unreliable. This is due to a potential client-side issue where the vehicle may not have fully loaded into memory yet.
  • This also applies when attempting to put a player into a vehicle that was just created.