Ir para conteúdo
  • 0

Error Console Morre trava Server e não mata o jogador quando mata ele com reflect stone and critical stone não reconhece o corpo do player


Muvuka

Pergunta

[16/04/2024 03:41:17] [Error - CreatureScript Interface]
[16/04/2024 03:41:17] data/creaturescripts/scripts/youdead.lua:onPrepareDeath
[16/04/2024 03:41:17] Description:
[16/04/2024 03:41:18] (luaGetCreatureMaster) Creature not found

[16/04/2024 03:41:18] [Error - CreatureScript Interface]
[16/04/2024 03:41:18] data/creaturescripts/scripts/youdead.lua:onPrepareDeath
[16/04/2024 03:41:19] Description:
[16/04/2024 03:41:19] (luaGetCreatureName) Creature not found
[16/04/2024 03:41:19] > Broadcasted message: "O Jogador Fogao [level: 699553] Acaba de Morrer Para false.".

[16/04/2024 03:41:20] [Error - CreatureScript Interface]
[16/04/2024 03:41:20] data/creaturescripts/scripts/deathchannel.lua:onDeath
[16/04/2024 03:41:20] Description:
[16/04/2024 03:41:21] (luaGetCreatureStorage) Creature not found

[16/04/2024 03:41:21] [Error - CreatureScript Interface]
[16/04/2024 03:41:22] data/creaturescripts/scripts/deathchannel.lua:onDeath
[16/04/2024 03:41:22] Description:
[16/04/2024 03:41:22] (luaGetCreatureStorage) Creature not found

[16/04/2024 03:41:23] [Error - CreatureScript Interface]
[16/04/2024 03:41:23] data/creaturescripts/scripts/deathchannel.lua:onDeath
[16/04/2024 03:41:23] Description:
[16/04/2024 03:41:24] data/creaturescripts/scripts/deathchannel.lua:7: attempt to perform arithmetic on a boolean value
[16/04/2024 03:41:24] stack traceback:
[16/04/2024 03:41:24]     data/creaturescripts/scripts/deathchannel.lua:7: in function <data/creaturescripts/scripts/deathchannel.lua:5>

XML:
[16/04/2024 06:52:01] [Error - CreatureEvent::executeCombat] Call stack overflow.

 

critical.lua reflect.lua criticalsam.lua

deathchannel.lua youdead.lua

Editado por Muvuka
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 1

ok, vamos lá

1.Erro no script youdead.lua:
 

[16/04/2024 03:41:17] [Error - CreatureScript Interface]
[16/04/2024 03:41:17] data/creaturescripts/scripts/youdead.lua:onPrepareDeath
[16/04/2024 03:41:17] Description:
[16/04/2024 03:41:18] (luaGetCreatureMaster) Creature not found

[16/04/2024 03:41:18] [Error - CreatureScript Interface]
[16/04/2024 03:41:18] data/creaturescripts/scripts/youdead.lua:onPrepareDeath
[16/04/2024 03:41:19] Description:
[16/04/2024 03:41:19] (luaGetCreatureName) Creature not found
[16/04/2024 03:41:19] > Broadcasted message: "O Jogador Fogao [level: 699553] Acaba de Morrer Para false.".

Parece que há uma tentativa de obter o nome da criatura que matou o jogador (lastHitKiller). No entanto, o sistema não conseguiu encontrar essa criatura. Isso pode acontecer se o jogador for morto por um evento ou condição do jogo em vez de uma criatura específica. Você pode precisar adicionar verificações adicionais para garantir que lastHitKiller seja uma criatura válida antes de tentar obter seu nome e mestre.

2.Erro no script deathchannel.lua:
 

[16/04/2024 03:41:23] [Error - CreatureScript Interface]
[16/04/2024 03:41:23] data/creaturescripts/scripts/deathchannel.lua:onDeath
[16/04/2024 03:41:23] Description:
[16/04/2024 03:41:24] data/creaturescripts/scripts/deathchannel.lua:7: attempt to perform arithmetic on a boolean value
[16/04/2024 03:41:24] stack traceback:
[16/04/2024 03:41:24]     data/creaturescripts/scripts/deathchannel.lua:7: in function <data/creaturescripts/scripts/deathchannel.lua:5>

Parece que há um erro na linha 7 do script deathchannel.lua, onde uma operação aritmética está sendo tentada em um valor booleano. Isso geralmente ocorre quando você tenta realizar uma operação matemática em uma variável que não contém um valor numérico. Você precisará verificar o código na linha 7 do deathchannel.lua e garantir que todas as variáveis estejam definidas corretamente antes de tentar realizar operações matemáticas.


3.Erro XML:
 

XML:
[16/04/2024 06:52:01] [Error - CreatureEvent::executeCombat] Call stack overflow.

Parece que houve um estouro de pilha (stack overflow) em um evento de combate. Isso geralmente acontece quando há muitas chamadas recursivas ou aninhadas que excedem a capacidade da pilha de execução. Você precisará investigar o evento de combate especificado e verificar se há alguma lógica recursiva ou aninhada que precisa ser otimizada para evitar estouro de pilha.


 

1. Para o script youdead.lua, vamos adicionar verificações adicionais para garantir que lastHitKiller seja uma criatura válida antes de tentar obter seu nome e mestre. Também vamos corrigir a mensagem de broadcast para exibir o nome do jogador que matou corretamente.
 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    if isPlayer(cid) then
        if lastHitKiller and isCreature(lastHitKiller) then
            local killerName = getCreatureName(lastHitKiller)
            if not isPlayer(lastHitKiller) and not isPlayer(getCreatureMaster(lastHitKiller)) then
                doBroadcastMessage("O jogador " .. getCreatureName(cid) .. " [level: " .. getPlayerLevel(cid) .. "] acabou de morrer para " .. tostring(killerName) .. ".", MESSAGE_STATUS_CONSOLE_RED)
            end
        end
    end
    return true
end


2.Para o script deathchannel.lua, vamos corrigir a operação aritmética na linha 7 para garantir que todas as variáveis estejam definidas corretamente antes de tentar realizar operações matemáticas.
 

function onDeath(cid, corpse, deathList)
    local target = deathList[1]
    if target and isCreature(target) then
        local targetStorage = getCreatureStorage(target, storage)
        if targetStorage then
            doCreatureSetStorage(target, storage, targetStorage + 1)
            for _, pid in ipairs(getPlayersOnline()) do
                doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getCreatureStorage(cid, storage), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_O, 0xF)
                for _, frag in ipairs(frags) do
                    if targetStorage == frag then
                        doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_W, 0xF)
                    end
                    local cidStorage = getCreatureStorage(cid, storage)
                    if cidStorage and cidStorage >= frag then
                        doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), cidStorage + 1), TALKTYPE_CHANNEL_RN, 0xF)
                    end
                end
            end
            doCreatureSetStorage(cid, storage, 0)
            return true
        end
    end
    return false
end

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...