mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
36 lines
1.0 KiB
Lua
36 lines
1.0 KiB
Lua
|
|
---Load an animation dictionary. When called from a thread, it will yield until it has loaded.
|
||
|
|
---@param animDict string
|
||
|
|
---@param timeout number? Number of ticks to wait for the dictionary to load. Default is 500.
|
||
|
|
---@return string? animDict
|
||
|
|
function lib.requestAnimDict(animDict, timeout)
|
||
|
|
if HasAnimDictLoaded(animDict) then return animDict end
|
||
|
|
|
||
|
|
if type(animDict) ~= 'string' then
|
||
|
|
error(("expected animDict to have type 'string' (received %s)"):format(type(animDict)))
|
||
|
|
end
|
||
|
|
|
||
|
|
if not DoesAnimDictExist(animDict) then
|
||
|
|
return error(("attempted to load invalid animDict '%s'"):format(animDict))
|
||
|
|
end
|
||
|
|
|
||
|
|
RequestAnimDict(animDict)
|
||
|
|
|
||
|
|
if coroutine.running() then
|
||
|
|
timeout = tonumber(timeout) or 500
|
||
|
|
|
||
|
|
for _ = 1, timeout do
|
||
|
|
if HasAnimDictLoaded(animDict) then
|
||
|
|
return animDict
|
||
|
|
end
|
||
|
|
|
||
|
|
Wait(0)
|
||
|
|
end
|
||
|
|
|
||
|
|
print(("failed to load animDict '%s' after %s ticks"):format(animDict, timeout))
|
||
|
|
end
|
||
|
|
|
||
|
|
return animDict
|
||
|
|
end
|
||
|
|
|
||
|
|
return lib.requestAnimDict
|