THE ORB
Iniciando o studio

O SendNUIMessage chega vazio ou nunca chega

Um script tentou mandar informação para o próprio menu e não deu para mandar, então o menu não mostra nada.

groupsOs menus abrem vazios ou com dados velhoscodePrecisa de um desenvolvedor

Faça isto primeiro

Reporte para o vendedor, com esta linha.

bug_reportMelhor colar o console inteiro

O que significa

O SendNUIMessage serializa a tabela para JSON e envia para a página. Os valores que o JSON não consegue expressar são descartados ou fazem a codificação inteira falhar, e uma codificação que falha não manda nada: normalmente sem dar erro.

O que causa isso

Ordenado pela frequência com que é a resposta.

  1. 1

    Uma função dentro da tabela

    Callbacks não podem ser serializados. A codificação falha e a mensagem some.

  2. 2

    Uma entidade ou um vetor

    GetEntityCoords devolve um vector3, que não é uma tabela simples. Mande { x = c.x, y = c.y, z = c.z } no lugar.

  3. 3

    Uma tabela cíclica

    Uma tabela que se referencia a si mesma, direta ou indiretamente.

  4. 4

    Chaves de array e de mapa misturadas

    { 1, 2, foo = 'bar' } codifica para algo que a página não vai ler nem como array nem como objeto.

  5. 5

    A página não tem listener de mensagens

    A mensagem chega e ninguém está esperando: outro problema com o mesmo sintoma.

Como saber qual é o seu

Codifique você mesmo primeiro:

print(json.encode(payload))

Se isso der erro ou imprimir algo inesperado, o problema é o que você manda. Se imprimir JSON limpo, a página não está escutando.

Onde olhar

A tabela que é passada ao SendNUIMessage, e o listener de message da página.

Como consertar

-- mande só dados simples
SendNUIMessage({
    action = 'open',
    coords = { x = c.x, y = c.y, z = c.z },
    items = items,            -- um array puro
})

// página
window.addEventListener('message', (event) => {
    const data = event.data
    if (data.action === 'open') { /* ... */ }
})

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 Loading Screen Creator constrói NUI que funciona sem HTML escrito à mão.

Erros que andam junto com este