73 lines
2.5 KiB
Lua
73 lines
2.5 KiB
Lua
|
QBCore = exports['qb-core']:GetCoreObject()
|
||
|
|
||
|
local locations = {
|
||
|
[1] = {x = 3144.94, y = -280.54, z = -10.31},
|
||
|
[2] = {x = 3151.75, y = -286.02, z = -27.16},
|
||
|
[3] = {x = 3127.14, y = -341.26, z = -23.14},
|
||
|
[4] = {x = 3162.18, y = -357.39, z = -27.6},
|
||
|
[5] = {x = 3195.47, y = -388.18, z = -32.16},
|
||
|
[6] = {x = 3188.67, y = -395.82, z = -27.51},
|
||
|
[7] = {x = 3221.45, y = -405.6, z = -48.48},
|
||
|
[8] = {x = 3192.30, y = -385.23, z = -16.81},
|
||
|
}
|
||
|
|
||
|
local normal = {
|
||
|
[1] = {item = 'steel'},
|
||
|
[2] = {item = 'iron'},
|
||
|
[3] = {item = 'plastic'},
|
||
|
}
|
||
|
|
||
|
local rare = {
|
||
|
[1] = {item = 'goldbar'},
|
||
|
[2] = {item = 'diamond'},
|
||
|
}
|
||
|
|
||
|
local pickup = math.random(1, #locations)
|
||
|
|
||
|
Citizen.CreateThread(function()
|
||
|
Wait(1000)
|
||
|
CreateBlip()
|
||
|
while true do
|
||
|
inRange = false
|
||
|
x = locations[pickup].x
|
||
|
y = locations[pickup].y
|
||
|
z = locations[pickup].z
|
||
|
local playerPed = PlayerPedId()
|
||
|
local coords = GetEntityCoords(playerPed)
|
||
|
local distance = #(vector3(coords.x, coords.y, coords.z) - vector3(x, y, z))
|
||
|
if distance < 250 then
|
||
|
inRange = true
|
||
|
if distance > 3 then
|
||
|
QBCore.Functions.DrawText3D(x, y, z, "Distance: "..(math.floor(distance*10)/10).."m")
|
||
|
else
|
||
|
pickup = math.random(1, #locations)
|
||
|
local random = math.random(1, 1000)
|
||
|
if random > 0 and random < 600 then
|
||
|
TriggerServerEvent("cad-diving:collected", "normal", normal[math.random(1,#normal)].item, math.random(1, 4))
|
||
|
elseif random > 980 and random < 1000 then
|
||
|
TriggerServerEvent("cad-diving:collected", "rare", rare[math.random(1,#rare)].item, 1)
|
||
|
else
|
||
|
TriggerServerEvent("cad-diving:collected", "none", nil)
|
||
|
end
|
||
|
Citizen.Wait(2000)
|
||
|
end
|
||
|
end
|
||
|
if inRange then
|
||
|
Citizen.Wait(4)
|
||
|
else
|
||
|
Citizen.Wait(2000)
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
function CreateBlip()
|
||
|
local divingblip = AddBlipForCoord(3146.24, -280.84, -8.44)
|
||
|
SetBlipSprite(divingblip, 465)
|
||
|
SetBlipDisplay(diving, 4)
|
||
|
SetBlipScale(divingblip, 0.9)
|
||
|
SetBlipColour(divingblip, 3)
|
||
|
SetBlipAsShortRange(divingblip, true)
|
||
|
BeginTextCommandSetBlipName("STRING")
|
||
|
AddTextComponentString('Sunket skib')
|
||
|
EndTextCommandSetBlipName(divingblip)
|
||
|
end
|