80 lines
2.1 KiB
Lua
80 lines
2.1 KiB
Lua
|
function GetPedVehicleData(ped)
|
||
|
local vehicle = GetVehiclePedIsIn(ped, false)
|
||
|
|
||
|
if vehicle ~= 0 then
|
||
|
return {
|
||
|
vehicle = vehicle,
|
||
|
name = GetDisplayNameFromVehicleModel(GetEntityModel(vehicle)),
|
||
|
fuel = GetVehicleFuelLevel(vehicle) or 100,
|
||
|
engineTemperature = GetVehicleEngineTemperature(vehicle) or 90
|
||
|
}
|
||
|
else
|
||
|
return nil
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function ChangePedSeat(ped)
|
||
|
local vehicle = GetVehiclePedIsIn(ped, false)
|
||
|
|
||
|
if vehicle ~= 0 then
|
||
|
local maxSeatAmount = GetVehicleMaxNumberOfPassengers(vehicle)
|
||
|
local pedSeatIndex = nil
|
||
|
local availableSeats = {}
|
||
|
|
||
|
for i = -1, maxSeatAmount, 1 do
|
||
|
if GetPedInVehicleSeat(vehicle, i) == ped then
|
||
|
pedSeatIndex = i
|
||
|
elseif IsVehicleSeatFree(vehicle, i) then
|
||
|
table.insert(availableSeats, i)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local newSeat = nil
|
||
|
|
||
|
if pedSeatIndex then
|
||
|
for _, targetSeat in ipairs(availableSeats) do
|
||
|
if targetSeat > pedSeatIndex then
|
||
|
newSeat = targetSeat
|
||
|
break
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if not newSeat then
|
||
|
for _, targetSeat in ipairs(availableSeats) do
|
||
|
if targetSeat < pedSeatIndex then
|
||
|
newSeat = targetSeat
|
||
|
break
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if newSeat then
|
||
|
SetPedIntoVehicle(ped, vehicle, newSeat)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function EnableParkCam()
|
||
|
local vehicle = GetVehiclePedIsIn(GetPlayerPed(-1), false)
|
||
|
|
||
|
if vehicle then
|
||
|
ParkCam = CreateCam("DEFAULT_SCRIPTED_CAMERA", false)
|
||
|
|
||
|
AttachCamToEntity(ParkCam, vehicle, 0.0, -0.5, 5.0, true)
|
||
|
|
||
|
SetCamActive(ParkCam, true)
|
||
|
SetCamRot(ParkCam, -90.0, 0.0, -30.0, 2)
|
||
|
SetCamFov(ParkCam, 80.0)
|
||
|
|
||
|
RenderScriptCams(true, true, 1000, 0, 0)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function DisableParkCam()
|
||
|
RenderScriptCams(false, true, 1000, 0, 0)
|
||
|
|
||
|
DestroyCam(ParkCam, false)
|
||
|
|
||
|
ParkCam = nil
|
||
|
end
|