100 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			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)
 | 
