forked from Simnation/Main
48 lines
1.5 KiB
Lua
48 lines
1.5 KiB
Lua
![]() |
local DATA_HOLSTERS <const> = lib.load("data.holster")
|
||
|
|
||
|
local function getGender(ped)
|
||
|
local model = GetEntityModel(ped)
|
||
|
if model == `mp_m_freemode_01` then
|
||
|
return "male"
|
||
|
elseif model == `mp_f_freemode_01` then
|
||
|
return "female"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function holsterCheck(ped, playerWeapon, shouldUnholster)
|
||
|
local gender = getGender(ped)
|
||
|
if not gender then return end
|
||
|
|
||
|
for i=1, #DATA_HOLSTERS do
|
||
|
local holster = DATA_HOLSTERS[i]
|
||
|
local holsterInfo = holster[gender]
|
||
|
|
||
|
if not holsterInfo or not lib.table.contains(holster.weapons, playerWeapon) then goto next end
|
||
|
|
||
|
local playerHolster = GetPedDrawableVariation(ped, holster.variation)
|
||
|
|
||
|
if playerHolster == holsterInfo[1] and shouldUnholster then
|
||
|
Wait(200)
|
||
|
SetPedComponentVariation(ped, holster.variation, holsterInfo[2], 0, 0)
|
||
|
return --print("Gun unholstered")
|
||
|
elseif playerHolster == holsterInfo[2] then
|
||
|
SetPedComponentVariation(ped, holster.variation, holsterInfo[1], 0, 0)
|
||
|
return --print("Gun holstered")
|
||
|
end
|
||
|
|
||
|
::next::
|
||
|
end
|
||
|
end
|
||
|
|
||
|
AddEventHandler("ND_GunAnims:updateHolster", function(weapon, hide)
|
||
|
holsterCheck(cache.ped, weapon, hide)
|
||
|
end)
|
||
|
|
||
|
if GetResourceState("ox_inventory"):find("start") and GetConvarInt("inventory:weaponanims", 1) == 1 then
|
||
|
lib.onCache("weapon", function(value)
|
||
|
local weapon = value or cache.weapon
|
||
|
Wait(300)
|
||
|
holsterCheck(cache.ped, weapon, value)
|
||
|
end)
|
||
|
end
|