Files
md-drugs/client/oxyruns.lua
T
2026-01-30 01:19:50 -07:00

102 lines
3.6 KiB
Lua

local carryPackage = nil
local onMission = false
repeat Wait(100) until GlobalState.MDDrugsLocations.Oxy ~= nil
local locations = GlobalState.MDDrugsLocations.Oxy
local pdAlert = 90
local vehicle = nil
local function getRoute()
local Route = Bridge.Callback.Trigger('md-drugs:server:getRoute')
if not Route then
Bridge.Notify.SendNotify(Bridge.Language.Locale('oxy.ditchCar'), "error")
onMission = false
return false
end
local Route = locations.oxylocations[Route]
SetNewWaypoint(Route.x, Route.y)
requestModel('g_m_y_famdnf_01', 30000)
local oxybuyer = CreatePed(0, 'g_m_y_famdnf_01',Route.x,Route.y,Route.z-1, Route.w, false, false)
Freeze(oxybuyer, true, Route.w)
local timeOut = 300
repeat
Wait(1000)
timeOut = timeOut - 1
until #(GetEntityCoords(PlayerPedId()) - vector3(Route.x,Route.y,Route.z)) < 5.0 or timeOut == 0
PoliceCall(pdAlert)
Bridge.Target.AddLocalEntity(oxybuyer,{
{
label = Bridge.Language.Locale('oxy.targetHandoff'),
icon = Bridge.Language.Locale('oxy.targetHandOffIcon'),
action = function()
if carryPackage then
if not progressbar(Bridge.Language.Locale('oxy.handingoff')) then return end
TriggerServerEvent("md-drugs:server:giveoxybox")
DeleteEntity(oxybuyer)
DetachEntity(carryPackage, true, true)
DeleteObject(carryPackage)
carryPackage = nil
getRoute()
else
Bridge.Notify.SendNotify(Bridge.Language.Locale('oxy.emptyHands'), "error")
end
end
}
})
targets[#targets+1] = oxybuyer
end
for k, v in pairs(locations.OxyPayForTruck) do
Bridge.Target.AddBoxZone('oxyTruckPur' ..k , v.loc, v.size, v.loc.w or 180.0, {
{
icon = Bridge.Language.Locale('oxy.targetPayIcon'),
label = Bridge.Language.Locale('oxy.targetPay'),
action = function()
requestModel("burrito3", 30000)
local paid = Bridge.Callback.Trigger('md-drugs:server:payfortruck', k)
if not paid then return end
vehicle = CreateVehicle("burrito3",v.truckSpawn.x, v.truckSpawn.y, v.truckSpawn.z, v.truckSpawn.w, true, false)
SetVehicleFuelLevel(vehicle, 100.0)
local plate = GetVehicleNumberPlateText(vehicle)
Bridge.VehicleKey.GiveKeys(vehicle, plate)
Bridge.Notify.SendNotify(Bridge.Language.Locale('oxy.keys'), 'success')
onMission = true
TriggerServerEvent('md-drugs:server:startOxyRun', NetworkGetNetworkIdFromEntity(vehicle))
Bridge.Target.AddLocalEntity(vehicle, {
{
icon = Bridge.Language.Locale('oxy.targetGetPackageIcon'),
label = Bridge.Language.Locale('oxy.targetGetPackage'),
action = function()
if carryPackage then
Bridge.Notify.SendNotify(Bridge.Language.Locale('oxy.alreadyCarrying'), "error")
else
local pos = GetEntityCoords(PlayerPedId(), true)
Bridge.Anim.RequestDict('anim@heists@box_carry@')
TaskPlayAnim(PlayerPedId(), 'anim@heists@box_carry@', 'idle', 5.0, -1, -1, 50, 0, false, false, false)
requestModel("hei_prop_drug_statue_box_big")
carryPackage = CreateObject("hei_prop_drug_statue_box_big", pos.x, pos.y, pos.z, true, true, true)
AttachEntityToEntity(carryPackage, PlayerPedId(), GetPedBoneIndex(PlayerPedId(), 57005), 0.05, 0.1, -0.3, 300.0, 250.0, 20.0, true, true, false, true, 1, true)
end
end,
canInteract = function()
return handleGang(v.gang)
end
}
})
Wait(1000)
getRoute()
end,
canInteract = function()
if onMission then
return false
end
return true
end
}
})
targets[#targets+1] = 'oxyTruckPur' ..k
end