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)
 | 
