0.0.1
This commit is contained in:
95
resources/[esx_addons]/esx_animations/client/main.lua
Normal file
95
resources/[esx_addons]/esx_animations/client/main.lua
Normal file
@@ -0,0 +1,95 @@
|
||||
local function startAttitude(lib, anim)
|
||||
ESX.Streaming.RequestAnimSet(lib, function()
|
||||
SetPedMovementClipset(ESX.PlayerData.ped, anim, 1)
|
||||
end)
|
||||
end
|
||||
|
||||
local function startAnim(lib, anim)
|
||||
ESX.Streaming.RequestAnimDict(lib, function()
|
||||
TaskPlayAnim(ESX.PlayerData.ped, lib, anim, 8.0, -8.0, -1, 0, 0.0, false, false, false)
|
||||
RemoveAnimDict(lib)
|
||||
end)
|
||||
end
|
||||
|
||||
local function startScenario(anim)
|
||||
TaskStartScenarioInPlace(ESX.PlayerData.ped, anim, 0, false)
|
||||
end
|
||||
|
||||
local function openAnimationsSubMenu(menu)
|
||||
local elements = {}
|
||||
|
||||
for i = 1, #Config.Animations, 1 do
|
||||
elements = {
|
||||
{ unselectable = true, icon = "fas fa-smile", title = Config.Animations[i].label }
|
||||
}
|
||||
|
||||
if Config.Animations[i].name == menu then
|
||||
for j = 1, #Config.Animations[i].items, 1 do
|
||||
elements[#elements + 1] = {
|
||||
icon = "fas fa-smile",
|
||||
title = Config.Animations[i].items[j].label,
|
||||
type = Config.Animations[i].items[j].type,
|
||||
value = Config.Animations[i].items[j].data
|
||||
}
|
||||
end
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
ESX.OpenContext("right", elements, function(_, element)
|
||||
local type = element.type
|
||||
local lib = element.value.lib
|
||||
local anim = element.value.anim
|
||||
|
||||
if type == 'scenario' then
|
||||
startScenario(anim)
|
||||
elseif type == 'attitude' then
|
||||
startAttitude(lib, anim)
|
||||
elseif type == 'anim' then
|
||||
startAnim(lib, anim)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local function openAnimationsMenu()
|
||||
local elements = {
|
||||
{ unselectable = true, icon = "fas fa-smile", title = "Animations" }
|
||||
}
|
||||
|
||||
for i = 1, #Config.Animations, 1 do
|
||||
elements[#elements + 1] = {
|
||||
icon = "fas fa-smile",
|
||||
title = Config.Animations[i].label,
|
||||
value = Config.Animations[i].name
|
||||
}
|
||||
end
|
||||
|
||||
ESX.OpenContext("right", elements, function(_, element)
|
||||
openAnimationsSubMenu(element.value)
|
||||
end)
|
||||
end
|
||||
|
||||
-- Key Controls
|
||||
RegisterCommand('animmenu', function()
|
||||
if not ESX.PlayerData.dead then
|
||||
openAnimationsMenu()
|
||||
end
|
||||
end, false)
|
||||
|
||||
RegisterCommand('cleartasks', function()
|
||||
if not ESX.PlayerData.dead then
|
||||
ClearPedTasks(ESX.PlayerData.ped)
|
||||
end
|
||||
end, false)
|
||||
|
||||
RegisterKeyMapping('animmenu', 'Open Animations Menu', 'keyboard', 'f3')
|
||||
RegisterKeyMapping('cleartasks', 'Stop Animation', 'keyboard', 'z')
|
||||
|
||||
-- Expose animations to other resources
|
||||
exports('GetConfig', function()
|
||||
return Config
|
||||
end)
|
||||
|
||||
exports('SetConfig', function(newConfig)
|
||||
Config = newConfig
|
||||
end)
|
||||
Reference in New Issue
Block a user