ed
This commit is contained in:
parent
c6be40ffbd
commit
702bab121c
37 changed files with 2299 additions and 0 deletions
105
resources/[jobs]/[crime]/r_bridge-1.2.3/utils/client/natives.lua
Normal file
105
resources/[jobs]/[crime]/r_bridge-1.2.3/utils/client/natives.lua
Normal file
|
@ -0,0 +1,105 @@
|
|||
local blips = {}
|
||||
|
||||
Core.Natives = {}
|
||||
|
||||
function Core.Natives.CreateBlip(coords, sprite, color, scale, label, shortRange)
|
||||
local blip = AddBlipForCoord(coords.x, coords.y, coords.z)
|
||||
SetBlipSprite(blip, sprite)
|
||||
SetBlipColour(blip, color)
|
||||
SetBlipScale(blip, scale)
|
||||
SetBlipAsShortRange(blip, shortRange)
|
||||
BeginTextCommandSetBlipName("STRING")
|
||||
AddTextComponentString(label)
|
||||
EndTextCommandSetBlipName(blip)
|
||||
blips[#blips + 1] = { id = blip, creator = GetInvokingResource() }
|
||||
return blips[#blips].id
|
||||
end
|
||||
|
||||
function Core.Natives.RemoveBlip(id)
|
||||
for _, blip in pairs(blips) do
|
||||
if blip.id == id then
|
||||
RemoveBlip(id)
|
||||
table.remove(blips, _)
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Core.Natives.SetGpsRoute(render, coords, color)
|
||||
if not render then SetGpsMultiRouteRender(render) return end
|
||||
ClearGpsMultiRoute()
|
||||
StartGpsMultiRoute(color, true, true)
|
||||
AddPointToGpsMultiRoute(coords.x, coords.y, coords.z)
|
||||
SetGpsMultiRouteRender(render)
|
||||
end
|
||||
|
||||
function Core.Natives.CreateProp(model, coords, heading, networked)
|
||||
RequestModel(joaat(model))
|
||||
while not HasModelLoaded(joaat(model)) do Wait(10) end
|
||||
local prop = CreateObject(joaat(model), coords.x, coords.y, coords.z, networked, false, false)
|
||||
SetEntityHeading(prop, heading)
|
||||
SetModelAsNoLongerNeeded(model)
|
||||
return prop
|
||||
end
|
||||
|
||||
function Core.Natives.CreateNpc(model, coords, heading, networked)
|
||||
RequestModel(model)
|
||||
while not HasModelLoaded(model) do Wait(10) end
|
||||
local npc = CreatePed(0, model, coords.x, coords.y, coords.z, heading, networked, false)
|
||||
SetModelAsNoLongerNeeded(model)
|
||||
return npc
|
||||
end
|
||||
|
||||
function Core.Natives.CreateVeh(model, coords, heading, networked)
|
||||
RequestModel(model)
|
||||
while not HasModelLoaded(model) do Wait(10) end
|
||||
local veh = CreateVehicle(model, coords.x, coords.y, coords.z, heading, networked, false)
|
||||
SetModelAsNoLongerNeeded(model)
|
||||
return veh
|
||||
end
|
||||
|
||||
function Core.Natives.SetEntityProperties(entity, frozen, invincible, oblivious)
|
||||
if not DoesEntityExist(entity) then return end
|
||||
FreezeEntityPosition(entity, frozen)
|
||||
SetEntityInvincible(entity, invincible)
|
||||
SetBlockingOfNonTemporaryEvents(entity, oblivious)
|
||||
end
|
||||
|
||||
function Core.Natives.PlayAnim(ped, dict, anim, duration, flag, playback)
|
||||
RequestAnimDict(dict)
|
||||
while not HasAnimDictLoaded(dict) do Wait(10) end
|
||||
TaskPlayAnim(ped, dict, anim, 8.0, 8.0, duration, flag, playback, false, false, false)
|
||||
RemoveAnimDict(dict)
|
||||
end
|
||||
|
||||
function Core.Natives.PlayPtFx(coords, asset, effect, scale)
|
||||
RequestNamedPtfxAsset(asset)
|
||||
while not HasNamedPtfxAssetLoaded(asset) do Wait(10) end
|
||||
UseParticleFxAsset(asset)
|
||||
StartParticleFxNonLoopedAtCoord(effect, coords.x, coords.y, coords.z, 0, 0, 0, scale, false, false, false)
|
||||
RemoveNamedPtfxAsset(asset)
|
||||
end
|
||||
|
||||
function Core.Natives.PlayPtFxLooped(coords, asset, effect, scale, duration)
|
||||
RequestNamedPtfxAsset(asset)
|
||||
while not HasNamedPtfxAssetLoaded(asset) do Wait(0) end
|
||||
UseParticleFxAsset(asset)
|
||||
local ptFx = StartParticleFxLoopedAtCoord(effect, coords.x, coords.y, coords.z, 0, 0, 0, scale, false, false, false, false)
|
||||
SetTimeout(duration, function()
|
||||
StopParticleFxLooped(ptFx, false)
|
||||
RemoveNamedPtfxAsset(asset)
|
||||
end)
|
||||
end
|
||||
|
||||
AddEventHandler('onResourceStop', function(resource)
|
||||
local removed = 0
|
||||
if resource ~= GetCurrentResourceName() then
|
||||
for _, blip in pairs(blips) do
|
||||
if blip.creator == resource then
|
||||
RemoveBlip(blip.id)
|
||||
removed = removed + 1
|
||||
end
|
||||
end
|
||||
if removed > 0 then print('[DEBUG] - removed blips for ' .. resource) end
|
||||
end
|
||||
end)
|
Loading…
Add table
Add a link
Reference in a new issue