1
0
Fork 0
forked from Simnation/Main
Main/resources/[weapons]/[Scripts]/ND_GunAnims/client/aim.lua
2025-07-26 08:56:55 +02:00

45 lines
1.3 KiB
Lua

local DATA_AIM <const> = lib.load("data.aim")
local animations = {
default = `Default`,
gang = `Gang1H`,
hillbilly = `Hillbilly`
}
local function setAimAnim(anim)
if not anim then return end -- Frühe Rückgabe wenn anim nil ist
anim = anim:lower()
if not animations[anim] then return end
local state = LocalPlayer.state
state:set("weaponAnimOverride", anim, true)
end
AddStateBagChangeHandler("weaponAnimOverride", nil, function(bagName, key, value, reserved, replicated)
local ply = GetPlayerFromStateBagName(bagName)
if ply == 0 or replicated or not value then return end
SetWeaponAnimationOverride(GetPlayerPed(ply), animations[value] or `Default`)
end)
lib.onCache("ped", function(value)
setAimAnim(LocalPlayer.state.weaponAnimOverride)
end)
if DATA_AIM.command then
RegisterCommand(DATA_AIM.command, function(source, args, rawCommand)
setAimAnim(args[1])
end, false)
TriggerEvent("chat:addSuggestion", ("/%s"):format(DATA_AIM.command), "Weapon aim animation", {
{ name = "animation", help = "gang | hillbilly | default" }
})
end
if DATA_AIM.default then
setAimAnim(DATA_AIM.default)
end
exports("setAimAnim", setAimAnim)
exports("getAimAnim", function()
return LocalPlayer.state.weaponAnimOverride or animations["default"]
end)