THE ORB
Iniciando o studio

não dá para retomar uma corrotina morta

Alguma coisa tentou continuar um trabalho que já tinha terminado ou já tinha caído. Quase sempre tem um erro DE VERDADE acima deste.

groupsSozinho, nadapersonVocê consegue consertar

Faça isto primeiro

Suba e conserte o erro de cima; este costuma ir junto.

bug_reportMelhor colar o console inteiro

O que significa

Alguma coisa tentou continuar uma corrotina que já terminou ou que já deu erro. No FiveM isso quase sempre é o runtime informando um efeito em cadeia: a corrotina morreu por um erro que houve dentro dela, e esta é a SEGUNDA mensagem.

O que causa isso

Ordenado pela frequência com que é a resposta.

  1. 1

    Um erro anterior matou a corrotina

    Suba no console. Existe um erro de verdade acima deste, e é ele que precisa ser consertado.

  2. 2

    Um callback guardado e chamado duas vezes

    Um callback do oxmysql ou do ox_lib invocado uma segunda vez: a primeira retomada terminou ele, a segunda encontra ele morto.

  3. 3

    Esperar dentro de um handler que já retornou

    MySQL.query.await dentro de um callback cujo pai já terminou.

  4. 4

    Ceder o controle fora de uma thread

    Wait() em nível de arquivo, ou dentro de uma função normal chamada de um contexto que não é uma thread. O FiveM informa «attempt to yield from outside a coroutine».

Como saber qual é o seu

Olhe o que tem ACIMA desta linha no console. Se houver qualquer outro erro, conserte aquele primeiro e este normalmente some junto. Se esta é a única mensagem, você está cedendo o controle em algum lugar onde não há corrotina.

Onde olhar

O rastro que está abaixo desta mensagem, e o erro que está acima.

Como consertar

Tudo o que espera precisa estar dentro de uma thread:

-- errado: um Wait em nível de arquivo
Wait(1000)

-- certo
CreateThread(function()
    Wait(1000)
end)

E os callbacks disparam uma vez só: proteja-se de uma segunda chamada:

local done = false
someLib.request(function(result)
    if done then return end
    done = true
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 Script Optimizer lê o script e conserta o código por trás disso.

Erros que andam junto com este