mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
Some people accidentally, mistakenly, and without any malicious intent forget to attribute code from this resource to its source. This change will hopefully assist people, so that they do not make that mistake again.
53 lines
2.1 KiB
Lua
53 lines
2.1 KiB
Lua
--[[
|
|
https://github.com/overextended/ox_lib
|
|
|
|
This file is licensed under LGPL-3.0 or higher <https://www.gnu.org/licenses/lgpl-3.0.en.html>
|
|
|
|
Copyright (c) 2025 Linden <https://github.com/thelindat/fivem>
|
|
]]
|
|
|
|
---@alias WeaponResourceFlags
|
|
---| 1 WRF_REQUEST_BASE_ANIMS
|
|
---| 2 WRF_REQUEST_COVER_ANIMS
|
|
---| 4 WRF_REQUEST_MELEE_ANIMS
|
|
---| 8 WRF_REQUEST_MOTION_ANIMS
|
|
---| 16 WRF_REQUEST_STEALTH_ANIMS
|
|
---| 32 WRF_REQUEST_ALL_MOVEMENT_VARIATION_ANIMS
|
|
---| 31 WRF_REQUEST_ALL_ANIMS
|
|
|
|
---@alias ExtraWeaponComponentFlags
|
|
---| 0 WEAPON_COMPONENT_NONE
|
|
---| 1 WEAPON_COMPONENT_FLASH
|
|
---| 2 WEAPON_COMPONENT_SCOPE
|
|
---| 4 WEAPON_COMPONENT_SUPP
|
|
---| 8 WEAPON_COMPONENT_SCLIP2
|
|
---| 16 WEAPON_COMPONENT_GRIP
|
|
|
|
---Load a weapon asset. When called from a thread, it will yield until it has loaded.
|
|
---@param weaponType string | number
|
|
---@param timeout number? Approximate milliseconds to wait for the asset to load. Default is 10000.
|
|
---@param weaponResourceFlags WeaponResourceFlags? Default is 31.
|
|
---@param extraWeaponComponentFlags ExtraWeaponComponentFlags? Default is 0.
|
|
---@return string | number weaponType
|
|
function lib.requestWeaponAsset(weaponType, timeout, weaponResourceFlags, extraWeaponComponentFlags)
|
|
if HasWeaponAssetLoaded(weaponType) then return weaponType end
|
|
|
|
local weaponTypeType = type(weaponType) --kekw
|
|
|
|
if weaponTypeType ~= 'string' and weaponTypeType ~= 'number' then
|
|
error(("expected weaponType to have type 'string' or 'number' (received %s)"):format(weaponTypeType))
|
|
end
|
|
|
|
if weaponResourceFlags and type(weaponResourceFlags) ~= 'number' then
|
|
error(("expected weaponResourceFlags to have type 'number' (received %s)"):format(type(weaponResourceFlags)))
|
|
end
|
|
|
|
if extraWeaponComponentFlags and type(extraWeaponComponentFlags) ~= 'number' then
|
|
error(("expected extraWeaponComponentFlags to have type 'number' (received %s)"):format(type(extraWeaponComponentFlags)))
|
|
end
|
|
|
|
return lib.streamingRequest(RequestWeaponAsset, HasWeaponAssetLoaded, 'weaponHash', weaponType, timeout, weaponResourceFlags or 31, extraWeaponComponentFlags or 0)
|
|
end
|
|
|
|
return lib.requestWeaponAsset
|