From 23285e5072025792b132b676534e2e521f86d2a1 Mon Sep 17 00:00:00 2001 From: Manason Date: Fri, 15 Mar 2024 11:50:35 -0700 Subject: [PATCH] fix(server): spawning guards in vehicle reliably * fix(server): spawning guards in vehicle reliably * fix not setting truck entity --- server/main.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/server/main.lua b/server/main.lua index 2ab06bc..a9b9e62 100644 --- a/server/main.lua +++ b/server/main.lua @@ -2,6 +2,7 @@ local config = require 'config.server' local sharedConfig = require 'config.shared' local isMissionAvailable = true local truck +lib.locale() lib.callback.register('qbx_truckrobbery:server:startMission', function(source) local player = exports.qbx_core:GetPlayer(source) @@ -31,19 +32,22 @@ lib.callback.register('qbx_truckrobbery:server:startMission', function(source) end) local function spawnGuardInSeat(seat, weapon) - local coords = GetEntityCoords(truck) - local guard = CreatePed(26, config.guardModel, coords.x, coords.y, coords.z, 268.9422, true, false) - SetPedIntoVehicle(guard, truck, seat) + local guard = CreatePedInsideVehicle(truck, 26, config.guardModel, seat, true, false) + lib.waitFor(function() + return DoesEntityExist(guard) or nil + end, "guard does not exist") GiveWeaponToPed(guard, weapon, 250, false, true) Entity(guard).state:set('qbx_truckrobbery:initGuard', true, true) + Wait(0) end lib.callback.register('qbx_truckrobbery:server:spawnVehicle', function(source, coords) - local netId = qbx.spawnVehicle({spawnSource = coords, model = config.truckModel}) - truck = NetworkGetEntityFromNetworkId(netId) + local netId, veh = qbx.spawnVehicle({spawnSource = coords, model = config.truckModel}) + truck = veh SetVehicleDoorsLocked(truck, 2) local state = Entity(truck).state state:set('truckstate', TruckState.PLANTABLE, true) + Wait(0) spawnGuardInSeat(-1, config.driverWeapon) spawnGuardInSeat(0, config.passengerWeapon) spawnGuardInSeat(1, config.backPassengerWeapon)