1
0
Fork 0
forked from Simnation/Main
Main/resources/[weapons]/[Scripts]/ND_GunAnims/client/holster.lua

48 lines
1.5 KiB
Lua
Raw Normal View History

2025-06-07 08:51:21 +02:00
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