¿Cómo resolver los errores de Metin2 Quest?
Guía para recarga de misiones, falta de respuesta de NPC, errores de función y problemas de compilación de misiones.
Misiones, conversaciones con NPC, sistemas de eventos, biólogo, teletransportación, mercado, seguimiento de jefes, recompensas diarias y muchos sistemas especiales en los servidores de Metin2. búsqueda Funciona a través de archivos. Por lo tanto, incluso un pequeño error cometido en la misión puede hacer que el NPC no reaccione, que el evento no comience o que el archivo syserr del canal produzca errores constantemente.
El mayor problema con los errores de las misiones es que el error a menudo parece general, como "El NPC no funciona". Pero la verdadera razón puede ser un vnum incorrecto, una función faltante, una sintaxis rota, una estructura de estado defectuosa o la misión no se ha compilado en absoluto.
1. ¿Dónde encontrar archivos de misiones?
La ruta de los archivos Quest puede variar según la infraestructura del servidor. Los directorios más utilizados son:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
Los archivos de misiones suelen ser .búsqueda con extensión. Archivos creados después de la compilación. objeto Se guarda debajo de la carpeta.
2. Primero verifique para comprender el error de la misión
Si una misión no funciona, primero se debe verificar el archivo syserr del canal correspondiente.
cd /usr/game/channel1/core1 tail -n 100 syserr
Para ver los errores en vivo que ocurren después de recargar la misión:
tail -f syserr
Ejemplos de errores comunes en las misiones:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. ¿Cómo compilar una misión?
Cuando agregas un nuevo archivo de misión, no basta con tirar el archivo a la carpeta. Es necesario compilar la misión.
Primero ingrese al directorio de misiones:
cd /usr/game/share/locale/turkey/quest
Ejemplo para compilar una sola misión:
./qc quest_adi.quest
La ruta de control de calidad puede ser diferente en algunos sistemas:
/usr/game/share/locale/turkey/quest/qc quest_adi.quest
El nombre del script utilizado para compilar todas las misiones varía según la infraestructura. Ejemplo:
sh make.sh
4. ¿Cómo recargar la misión?
Una vez compilada la misión, se puede recargar en el juego con un personaje GM.
/reload q
En algunos casos, simplemente recargar no es suficiente. Especialmente si la estructura del estado, la bandera de la misión o las condiciones iniciales han cambiado, puede que sea necesario volver a ingresar al personaje o reiniciar el canal.
El orden general debería ser el siguiente:
- Editar archivo de misión
- Comprobar sintaxis
- Compilar el archivo Quest con qc
- Ejecutar/recargar q en el juego
- Echa un vistazo a Syserr
- Probar el comportamiento del NPC o del evento
5. La misión NPC no funciona
Si no sucede nada al hacer clic en el NPC, se deben verificar los siguientes puntos:
- ¿Es correcto el NPC vnum utilizado en la misión?
- ¿Los NPC realmente aparecen en el mapa del lado del servidor?
- ¿Está compilado Quest?
- ¿Ocurrió syserr después de /reload q?
- ¿Es correcto el comienzo del estado de la misión?
- ¿El código deja de ejecutarse debido a una condición incorrecta en Quest?
Ejemplo de estructura de activación de 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
endAquí 20011 Valor vnum de NPC. Si el número de NPC es incorrecto, la misión no funcionará.
6. no existe tal error en la función de búsqueda
en Syserr no existe tal función de búsqueda Si se ve, la función utilizada en la misión no está definida en el servidor.
Razones:
- La misión se toma de otra infraestructura.
- La función de misión relevante no se agrega en el lado de la Fuente.
- Falta la función auxiliar que debería estar en questlib.lua.
- El nombre de la función está mal escrito.
En este caso, la solución es comprobar si la función realmente existe en el servidor. Las misiones extraídas de otros archivos no deben considerarse directamente compatibles.
7. Errores de sintaxis de misiones
Los errores tipográficos más comunes en los archivos Quest son:
- fin uso insuficiente o excesivo
- No cerrar las comillas
- Incorrecto cuando la condición está escrita
- Usar caracteres turcos o mala codificación
- Utilizar funciones tomadas de otro sistema sin adaptación
Ejemplo de estructura defectuosa:
say("Merhaba oyuncu)Estructura correcta:
say("Merhaba oyuncu")8. Problemas con la bandera de misión
Algunas misiones mantienen una bandera en el personaje o cuenta. La misión no comienza o puede parecer que se completa debido a un valor de bandera incorrecto.
Por ejemplo, si ya se completó una misión, es posible que el NPC no vuelva a mostrar el menú. En este caso, se debe marcar la bandera de misión correspondiente.
Errores comunes
- Olvidar poner el archivo Quest en una carpeta y compilarlo
- Haciendo /reload q aunque haya un error de compilación
- Valor de vnum de NPC incorrecto
- Usar misiones tomadas de otros archivos sin adaptarlas
- Pensar que un NPC no funciona sin verificar la bandera de la misión
- La misión parece correcta pero no funciona porque la codificación está corrupta.
Preguntas frecuentes
Hice /reload q pero la misión no funcionó, ¿por qué?
Es posible que la misión no se haya compilado en absoluto, que haya dado un error durante la compilación o que no esté visible en el reproductor debido a la condición de estado/bandera.
Hago clic en el NPC y no aparece el menú. ¿El problema es con el NPC?
No siempre. Incluso si el NPC vnum es correcto, es posible que la misión no se compile, se escriba incorrectamente o no se ejecute debido a una condición.
¿Por qué la misión que recibí de otro servidor da error?
Debido a que las funciones utilizadas, la estructura de questlib o los soportes fuente pueden no estar disponibles en su infraestructura.
Recomendaciones de seguridad y operaciones
- Haga una copia de seguridad del archivo antes de editar Quest.
- Implemente cambios importantes en las misiones en el servidor en vivo durante las horas de poca actividad del jugador.
- Verifique syserr después de cada compilación de misiones.
- Preste atención a los caracteres turcos y a las distorsiones de codificación.
- Realice una copia de seguridad antes de eliminar en masa las operaciones de bandera de misión relacionadas con los datos del jugador.
Este artículo está especialmente preparado para PvPServer.