Zdarzenie frameworka nie istnieje
Jeden skrypt zawołał do drugiego i nic nie odpowiedziało. Często nie ma w ogóle błędu — funkcja po prostu nigdy się nie dzieje.
Zrób najpierw to
Sprawdź, czy oba skrypty działają i czy są wersjami przeznaczonymi dla siebie nawzajem.
Co to znaczy
Kod wywołał zdarzenie, którego nikt nie nasłuchuje. FiveM nie zgłasza na to błędu: wywołanie po cichu nic nie robi, a objawem jest funkcja, która nigdy się nie uruchamia, a nie czerwona linia. Kiedy komunikat już się pojawi, to zwykle sam framework narzeka.
Co to powoduje
Uszeregowane według tego, jak często są odpowiedzią.
- 1
Zdarzenie zmieniło nazwę między wersjami frameworka
esx:getSharedObjectusunięto w ESX Legacy.QBCore:Server:OnPlayerLoadediQBCore:Client:OnPlayerLoadedto różne zdarzenia dla różnych stron. - 2
Nasłuchujący zasób nie jest uruchomiony
Handler istnieje, ale nie jest zarejestrowany, bo jego zasób leży.
- 3
RegisterNetEvent nigdy nie zostało wywołane
Zdarzenie sieciowe potrzebuje i
RegisterNetEvent, i handlera. SamAddEventHandlernie przyjmie wywołania z sieci. - 4
Pomylenie klienta z serwerem
TriggerEventjest lokalne dla danej strony.TriggerServerEventiTriggerClientEventprzekraczają granicę. Użycie lokalnego dla zdalnego handlera strzela w pustkę. - 5
Literówka
Nazwa zdarzenia to ciąg znaków, więc nic jej nie sprawdza.
Jak poznać, który jest twój
Dodaj print wewnątrz handlera. Jeśli nigdy się nie wykona, wywołanie do niego nie dociera. Potem przeszukaj wszystkie zasoby pod kątem dokładnej nazwy zdarzenia:
grep -rn "esx:playerLoaded" resources/
Jeśli jedynym trafieniem jest wywołanie, nikt nie nasłuchuje.
Gdzie szukać
Obie strony: wywołanie i zamierzony handler.
Jak to naprawić
-- server
RegisterNetEvent('myres:buy')
AddEventHandler('myres:buy', function(item)
local src = source
end)
-- client
TriggerServerEvent('myres:buy', item)Wciąż utknąłeś na własnym kodzie?
Ta strona mówi, co ten błąd zwykle oznacza. Wklej swoją konsolę do Server Fixera, a uszereguje wszystko, co w niej jest, i powie, co zrobić najpierw; a jeśli wolisz tego nie ruszać, ORBIE naprawi skrypt i odda ci zasób gotowy do wrzucenia.
bug_reportOtwórz Server FixerDla tego rodzaju błędu Konwerter skryptów przenosi zasób między ESX, QBCore i Qbox.