Main/resources/[standalone]/rpemotes-reborn-1.8.5/client/frameworks/esx.lua
2025-06-07 08:51:21 +02:00

100 lines
2.6 KiB
Lua

if Config.Framework ~= 'esx' then return end
local framework = 'es_extended'
local state = GetResourceState(framework)
if state == 'missing' or state == "unknown" then
-- Framework can't be used if it's missing or unknown
return
end
ESX, PlayerData, IsLoggedIn = nil, nil, false
-- ESX core parts
ESX = exports[framework]:getSharedObject()
PlayerData = ESX.GetPlayerData()
IsLoggedIn = false
RegisterNetEvent('esx:onPlayerSpawn', function()
PlayerData = ESX.GetPlayerData()
IsLoggedIn = true
end)
-- This is here to get the player data when the resource is restarted instead of having to log out and back in each time
-- This won't set the player data too early as this only triggers when the server side is started and not the client side
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
Wait(200)
PlayerData = ESX.GetPlayerData()
IsLoggedIn = true
end
end)
function CanUseFavKeyBind()
return not ESX.PlayerData.dead
end
-- Added events
RegisterNetEvent('animations:client:PlayEmote', function(args)
if not ESX.PlayerData.dead then
EmoteCommandStart(source, args)
end
end)
if Config.Keybinding then
RegisterNetEvent('animations:client:BindEmote', function(args)
if not ESX.PlayerData.dead then
EmoteBindStart(nil, args)
end
end)
RegisterNetEvent('animations:client:EmoteBinds', function()
if not ESX.PlayerData.dead then
ListKeybinds()
end
end)
RegisterNetEvent('animations:client:EmoteDelete', function(args)
if not ESX.PlayerData.dead then
DeleteEmote(args)
end
end)
end
RegisterNetEvent('animations:client:EmoteMenu', function()
if not ESX.PlayerData.dead then
OpenEmoteMenu()
end
end)
RegisterNetEvent('animations:client:ListEmotes', function()
if not ESX.PlayerData.dead then
EmotesOnCommand()
end
end)
RegisterNetEvent('animations:client:Walk', function(args)
if not ESX.PlayerData.dead then
WalkCommandStart(args)
end
end)
RegisterNetEvent('animations:client:ListWalks', function()
if not ESX.PlayerData.dead then
WalksOnCommand()
end
end)
-- Added by https://github.dev/qbcore-framework/dpemotes/
CanDoEmote = true
RegisterNetEvent('animations:ToggleCanDoAnims', function(bool)
CanDoEmote = bool
end)
RegisterNetEvent('animations:client:EmoteCommandStart', function(args)
if CanDoEmote then
EmoteCommandStart(source, args)
end
end)