Main/resources/[standalone]/rpemotes-reborn/client/Expressions.lua

51 lines
1.9 KiB
Lua
Raw Permalink Normal View History

2025-06-07 08:51:21 +02:00
function SetPlayerPedExpression(expression, saveToKvp)
2025-06-12 03:36:12 +02:00
local emote = RP[expression]
if emote and emote.category == "Expressions" then
SetFacialIdleAnimOverride(PlayerPedId(), emote[1], 0)
if Config.PersistentExpression and saveToKvp then SetResourceKvp("expression", emote[1]) end
else
ClearFacialIdleAnimOverride(PlayerPedId())
DeleteResourceKvp("expression")
2025-06-07 08:51:21 +02:00
end
end
if Config.ExpressionsEnabled then
RegisterCommand('mood', function(_source, args, _raw)
local expression = FirstToUpper(string.lower(args[1]))
2025-06-12 03:36:12 +02:00
local emote = RP[expression]
if emote and emote.category == "Expressions" then
SetPlayerPedExpression(RP[expression][1], true)
2025-06-07 08:51:21 +02:00
elseif expression == "Reset" then
ClearFacialIdleAnimOverride(PlayerPedId())
DeleteResourceKvp("expression")
else
2025-06-12 03:36:12 +02:00
EmoteChatMessage("'" .. expression .. "' is not a valid mood")
2025-06-07 08:51:21 +02:00
end
end, false)
TriggerEvent('chat:addSuggestion', '/mood', 'Set your current mood/expression.',
{ { name = "expression", help = "/moods for a list of valid moods" } })
TriggerEvent('chat:addSuggestion', '/moods', 'List available walking moods/expressions.')
local function LoadPersistentExpression()
local expression = GetResourceKvpString("expression")
if expression then
2025-06-12 03:36:12 +02:00
Wait(2500)
2025-06-07 08:51:21 +02:00
SetPlayerPedExpression(expression, false)
end
end
if Config.PersistentExpression then
AddEventHandler('playerSpawned', LoadPersistentExpression)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', LoadPersistentExpression)
RegisterNetEvent('esx:playerLoaded', LoadPersistentExpression)
end
2025-06-12 03:36:12 +02:00
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
LoadPersistentExpression()
end
end)
2025-06-07 08:51:21 +02:00
end