Como resolver erros da missão Metin2?
Guia para recarga de missões, falta de resposta de NPCs, erros de função e problemas de compilação de missões.
Missões, conversas com NPCs, sistemas de eventos, biólogo, teletransporte, mercado, rastreamento de chefes, recompensas diárias e muitos sistemas especiais nos servidores Metin2. missão Funciona através de arquivos. Portanto, mesmo um pequeno erro cometido no lado da missão pode fazer com que o NPC não reaja, o evento não comece ou o arquivo syserr do canal produza erros constantemente.
O maior problema com os erros de missão é que o erro muitas vezes parece geral, como “NPC não está funcionando”. Mas o verdadeiro motivo pode ser vnum errado, função ausente, sintaxe quebrada, estrutura de estado defeituosa ou a missão não ter sido compilada.
1. Onde encontrar os arquivos da missão?
O caminho dos arquivos da Quest pode variar dependendo da infraestrutura do servidor. Os diretórios comumente usados são:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
Os arquivos de missão geralmente são .quest com extensão. Arquivos criados após compilação objeto Ele é mantido na pasta.
2. Primeira verificação para compreender o erro da missão
Se uma missão não estiver funcionando, o arquivo syserr do canal relevante deverá ser verificado primeiro.
cd /usr/game/channel1/core1 tail -n 100 syserr
Para assistir erros ao vivo que ocorrem após recarregar a missão:
tail -f syserr
Exemplos comuns de erros de missão:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. Como compilar a missão?
Quando você adiciona um novo arquivo de missão, não basta apenas jogá-lo na pasta. A missão precisa ser compilada.
Primeiro entre no diretório da missão:
cd /usr/game/share/locale/turkey/quest
Exemplo para compilar uma única missão:
./qc quest_adi.quest
O caminho qc pode ser diferente em alguns sistemas:
/usr/game/share/locale/turkey/quest/qc quest_adi.quest
O nome do script usado para compilar todas as missões varia dependendo da infraestrutura. Exemplo:
sh make.sh
4. Como recarregar a missão?
Após a missão ser compilada, ela pode ser recarregada no jogo com um personagem GM.
/reload q
Em alguns casos, apenas recarregar não é suficiente. Especialmente se a estrutura do estado, a bandeira da missão ou as condições iniciais tiverem mudado, pode ser necessário entrar novamente no personagem ou reiniciar o canal.
A ordem geral deverá ser a seguinte:
- Editar arquivo de missão
- Verifique a sintaxe
- Compilar arquivo Quest com qc
- Execute /recarregue q no jogo
- Confira o Syserr
- Teste o comportamento do NPC ou do evento
5. NPC Quest não funciona, problema
Se nada acontecer ao clicar no NPC, os seguintes pontos devem ser verificados:
- O NPC vnum usado na missão está correto?
- Os NPCs realmente aparecem no mapa no lado do servidor?
- A Quest é compilada?
- O syserr ocorreu após /reload q?
- O início do estado da missão está correto?
- O código parou de ser executado devido a uma condição errada na Quest?
Exemplo de estrutura de gatilho NPC:
quest ornek_npc begin
state start begin
when 20011.chat."Ornek Menu" begin
say_title("Ornek NPC")
say("Bu bir test mesajidir.")
end
end
endaqui 20011 Valor vnum do NPC. Se o NPC vnum estiver incorreto, a missão não funcionará.
6. nenhum erro de função de missão
em Syserr não existe essa função de missão Se for visto, a função utilizada na missão não está definida no servidor.
Razões:
- A missão é retirada de outra infraestrutura.
- A função de missão relevante não é adicionada no lado da Fonte.
- A função auxiliar que deveria estar em questlib.lua está faltando.
- O nome da função está escrito incorretamente.
Neste caso, a solução é verificar se a função realmente existe no servidor. Missões retiradas de outros arquivos não devem ser consideradas diretamente compatíveis.
7. Erros de sintaxe da missão
Os erros de digitação mais comuns em arquivos Quest são:
- fim uso insuficiente ou excessivo
- Não fechar aspas
- Errado quando a condição foi escrita
- Usando caracteres turcos ou codificação incorreta
- Usando funções retiradas de outro sistema sem adaptação
Exemplo de estrutura defeituosa:
say("Merhaba oyuncu)Estrutura correta:
say("Merhaba oyuncu")8. Problemas com sinalizadores de missão
Algumas missões mantêm uma bandeira no personagem ou na conta. A missão não inicia ou pode parecer concluída devido ao valor incorreto da bandeira.
Por exemplo, se uma missão já tiver sido concluída, o NPC poderá não mostrar o menu novamente. Neste caso, o sinalizador de missão relevante deve ser verificado.
Erros Comuns
- Esquecendo de colocar o arquivo Quest em uma pasta e compilá-lo
- Fazendo /reload q mesmo que haja um erro de compilação
- Valor vnum do NPC errado
- Usando missões retiradas de outros arquivos sem adaptá-las
- Pensar que um NPC não está funcionando sem verificar o sinalizador de missão
- A missão parece estar correta, mas não funciona porque a codificação está corrompida.
Perguntas frequentes
Eu fiz /reload q mas a quest não funcionou, por quê?
A missão pode não ter sido compilada, pode ter ocorrido um erro durante a compilação ou pode não estar visível no player devido à condição de estado/sinalização.
Clico no NPC e o menu não aparece. O problema é com o NPC?
Nem sempre. Mesmo que o NPC vnum esteja correto, a missão pode não ser compilada, escrita incorretamente ou executada devido a uma condição.
Por que a missão que recebi de outro servidor apresenta erro?
Como as funções usadas, a estrutura questlib ou os suportes de origem podem não estar disponíveis em sua infraestrutura.
Recomendações de segurança e operações
- Faça um backup do arquivo antes de editar a Quest.
- Implemente mudanças importantes nas missões no servidor ativo durante o horário de poucos jogadores.
- Verifique o syserr após cada compilação de missões.
- Preste atenção aos caracteres turcos e às distorções de codificação.
- Faça um backup antes de excluir em massa as operações de sinalização de missão relacionadas aos dados do jogador.
Este artigo foi preparado especialmente para PvPServer.