THE ORB
Iniciando o studio

Problemas de routing bucket

Os jogadores ou os objetos estão em cópias diferentes do mundo, então não se enxergam.

groupsOs jogadores não se veemcodePrecisa de um desenvolvedor

Faça isto primeiro

Normalmente um script de emprego, apartamento ou minigame que colocou alguém numa instância e nunca tirou.

bug_reportMelhor colar o console inteiro

O que significa

Os routing buckets são instâncias separadas do mundo. Um jogador no bucket 1 não consegue ver as entidades do bucket 0, e vice-versa. Isso raramente produz uma linha de erro; o sintoma são entidades que «não aparecem», jogadores invisíveis entre si, ou um veículo que existe no servidor e não no cliente.

O que causa isso

Ordenado pela frequência com que é a resposta.

  1. 1

    A entidade foi criada num bucket diferente do jogador

    As entidades criadas no servidor caem no bucket 0 a não ser que se diga outra coisa. Um jogador movido para um bucket por um emprego ou apartamento instanciado não consegue vê-las.

  2. 2

    O jogador foi movido e nunca foi movido de volta

    Uma queda, uma desconexão no meio da instância, ou um caminho do script que define o bucket e não tem reset. O jogador fica num mundo vazio depois de renascer.

  3. 3

    Dois scripts gerenciando buckets os dois

    Um script de apartamentos e um de minigames atribuindo os dois números de bucket, sem um registro compartilhado, acabam colidindo.

  4. 4

    O modo de bloqueio de entidades

    SetRoutingBucketEntityLockdownMode em strict impede diretamente que os clientes criem entidades naquele bucket, e isso quebra o spawn do lado do cliente dentro dele.

Como saber qual é o seu

-- servidor
print(GetPlayerRoutingBucket(src), GetEntityRoutingBucket(entity))

Números diferentes são o diagnóstico inteiro.

Onde olhar

Cada chamada de SetPlayerRoutingBucket e SetEntityRoutingBucket, e se cada uma tem o reset correspondente.

Como consertar

Coloque as entidades no bucket do jogador, e resete sempre na saída:

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)

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 Fixer

Para esse tipo de erro, o Escâner de segurança marca o tratamento de eventos que leva até aqui.

Erros que andam junto com este