Problemy z routing bucketami
Gracze albo obiekty są w osobnych kopiach świata, więc się nawzajem nie widzą.
Zrób najpierw to
Zwykle skrypt pracy, mieszkania albo minigry, który wsadził kogoś do instancji i nigdy go nie wyciągnął.
Co to znaczy
Routing buckety to osobne instancje świata. Gracz w buckecie 1 nie widzi encji w buckecie 0 i na odwrót. Rzadko produkuje to linię błędu; objawem są encje, które "się nie spawnują", gracze niewidzialni dla siebie nawzajem albo pojazd, który istnieje na serwerze, a nie na kliencie.
Co to powoduje
Uszeregowane według tego, jak często są odpowiedzią.
- 1
Encja została utworzona w innym buckecie niż gracz
Encje tworzone przez serwer lądują w buckecie 0, chyba że powiesz inaczej. Gracz przeniesiony do bucketu na potrzeby instancjonowanej pracy albo mieszkania ich nie widzi.
- 2
Gracz został przeniesiony i nigdy nie wrócił
Crash, rozłączenie w środku instancji albo ścieżka skryptu, która ustawia bucket i nie ma przywrócenia. Gracz po respawnie zostaje w pustym świecie.
- 3
Dwa skrypty zarządzają bucketami
Skrypt mieszkań i skrypt minigry oba przydzielają numery bucketów, bez wspólnego rejestru, i w końcu się zderzają.
- 4
Tryb lockdown encji
SetRoutingBucketEntityLockdownModeustawiony nastrictw ogóle uniemożliwia klientom tworzenie encji w tym buckecie, co psuje spawn po stronie klienta w jego środku.
Jak poznać, który jest twój
-- server print(GetPlayerRoutingBucket(src), GetEntityRoutingBucket(entity))
Różne liczby to cała diagnoza.
Gdzie szukać
Każde wywołanie SetPlayerRoutingBucket i SetEntityRoutingBucket oraz to, czy każde ma odpowiadające mu przywrócenie.
Jak to naprawić
Umieszczaj encje w buckecie gracza i zawsze przywracaj stan przy wyjściu:
local bucket = GetPlayerRoutingBucket(src)
local veh = CreateVehicle(model, coords.x, coords.y, coords.z, h, true, false)
SetEntityRoutingBucket(veh, bucket)
AddEventHandler('playerDropped', function()
SetPlayerRoutingBucket(source, 0)
end)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.