forked from Simnation/Main
45 lines
1.3 KiB
Lua
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)
|