Dane zdarzenia za duże
Skrypt próbował wysłać za dużo naraz. Może zostać przecięty w pół bez ostrzeżenia, co jest gorsze niż zwykła porażka.
Zrób najpierw to
Zgłoś to temu, kto zrobił skrypt — wysyła o wiele więcej, niż potrzebuje.
Co to znaczy
Zdarzenie niosło więcej danych, niż przyjmuje transport. Zależnie od builda są one obcinane, porzucane albo wyrzucany jest nadawca. Ciche obcięcie to najgorszy przypadek: handler wykonuje się z połową obiektu.
Co to powoduje
Uszeregowane według tego, jak często są odpowiedzią.
- 1
Wysyłanie całej tablicy, która urosła
Ekwipunek, lista graczy, konfiguracja. W testach z trzema przedmiotami w porządku, z trzystoma już nie.
- 2
Dane base64 w zdarzeniu
Obrazek albo plik. Zdarzenia to nie transfer plików.
- 3
Tablica z dużo większą zawartością, niż zamierzano
Wysyłanie całego obiektu gracza, kiedy potrzebne było samo id.
- 4
Nagromadzona historia
Log wysyłany razem z każdą aktualizacją.
Jak poznać, który jest twój
Zmierz je przed wysłaniem:
print(#json.encode(payload))
Cokolwiek w setkach kilobajtów to problem, a zwykle jedno pole odpowiada za niemal całość.
Gdzie szukać
Dane zdarzenia nazwanego w śladzie.
Jak to naprawić
Wysyłaj identyfikatory, pozwól odbiorcy dopytać o szczegóły i stronicuj długie listy:
-- zamiast całego ekwipunku
TriggerClientEvent('inv:changed', src, { slot = 3, item = 'water', count = 2 })Dla czegoś naprawdę dużego użyj state baga albo endpointu HTTP, a nie zdarzenia.
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 Skaner bezpieczeństwa oznacza obsługę zdarzeń, która do tego prowadzi.