Um evento do framework não existe
Um script chamou outro e ninguém respondeu. Muitas vezes não tem erro nenhum: a função simplesmente não acontece.
Faça isto primeiro
Confira se os dois scripts estão rodando e se são versões feitas uma para a outra.
O que significa
O código disparou um evento que ninguém escuta. O FiveM não dá erro por isso: o disparo não faz nada em silêncio, e o sintoma é uma função que nunca roda em vez de uma linha vermelha. Quando aparece uma mensagem, normalmente é o próprio framework reclamando.
O que causa isso
Ordenado pela frequência com que é a resposta.
- 1
O evento foi renomeado entre versões do framework
O
esx:getSharedObjectfoi removido no ESX Legacy.QBCore:Server:OnPlayerLoadedeQBCore:Client:OnPlayerLoadedsão eventos diferentes para lados diferentes. - 2
O resource que escuta não está iniciado
O handler existe mas não está registrado porque o resource dele está fora.
- 3
O RegisterNetEvent nunca foi chamado
Um evento de rede precisa tanto do
RegisterNetEventquanto de um handler. OAddEventHandlersozinho não aceita um disparo vindo da rede. - 4
Confusão entre cliente e servidor
O
TriggerEventé local àquele lado.TriggerServerEventeTriggerClientEventcruzam a fronteira. Usar o local para um handler remoto dispara no vazio. - 5
Um erro de digitação
O nome do evento é uma string, então nada verifica.
Como saber qual é o seu
Coloque um print dentro do handler. Se ele nunca roda, o disparo não está chegando. Depois procure o nome exato do evento em todos os resources:
grep -rn "esx:playerLoaded" resources/
Se a única ocorrência é o disparo, ninguém escuta.
Onde olhar
Os dois lados: o disparo e o handler ao qual ele se dirigia.
Como consertar
-- servidor
RegisterNetEvent('myres:buy')
AddEventHandler('myres:buy', function(item)
local src = source
end)
-- cliente
TriggerServerEvent('myres:buy', item)Ainda travado no seu próprio código?
Esta página é o que esse erro costuma significar. Cole o seu console no Server Fixer e ele vai ordenar tudo o que estiver lá e te dizer o que fazer primeiro; e se você preferir não mexer, o ORBIE consegue consertar o script e te devolver o resource pronto para soltar.
bug_reportAbrir o Server FixerPara esse tipo de erro, o Conversor de scripts traduz um resource entre ESX, QBCore e Qbox.