Ir a contenido

Foto

[GUÍA] Problemas más comunes en quests

quest problema error común guía

  • Please log in to reply
7 Respuesta(s) a este Tema
Metin2

#1
ElRaulxX

ElRaulxX

    Forero

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcar
  • 97 Mensaje(s)
  • Sexo:Masculino
  • Localización:Barcelona, España
Hace un rato vi esta guía, aporte (o como queráis llamarlo) que me pareció muy interesante. Se trata de los errores más comunes en la inserción de quests en nuestros servidores (errores de sintaxis, errores de compilación...).
Esta guía la veo yo más enfocada hacia los más novatos, pues con la práctica aprendes el significado de estos errores y su solución. Aún así, estoy seguro que muchas personas aprenderán algo que no sabían.

RECALCO que esta guía no es creada por mí, sino que tan solo es traducida al español y un poco ampliada con mis conocimientos.
Aquí os dejo el post original de .Alessa en elitepvpers:

Please Login or Register to see this Hidden Content




Bueno, pues vamos al lío xd

Antes de empezar:
Como esta guía es general para cualquier quest, utilizaremos variables [X]. Es decir, esta variable puede ser diferente en cada caso y substituida por cualquier cosa.


1. when doesn't have begin-end clause

Error de sintaxis: when doesn't have begin-end clause. ([X])
[X]:[X]: Error occured on compile [X]
Significado: "when" no sigue la estructura begin-end
Análisis: Este error se produce cuando el conjunto del "when" no sigue la sintaxis apropiada. Seguramente, la razón de este error es un error de escritura o falta de un "begin". Es también común intercambiar un "begin" por un "then". Debemos recordar siempre que un when sigue la estructura: when [X] begin - end.
Corrección: Buscar los "when" en nuestra quest y asegurarnos que sigue la sintaxis apropiada.
when [X] begin
[acción]
end
Imagen ejemplo: Imagen enviada
Imagen ejemplo - solución: Hemos cometido un error de escritura: ha sido intercambiado el "begin" por "begn"


2.`[X]' expected near `[X]'

Error de sintaxis: syntax error : [string "[X]"]:[X]: `[X]´ expected near `[x]´
[X]:[X]: Error occured on compile [X]
Significado: No ha sido especificado algo requerido por la sintaxis (acostumbra a ser especificado en el lugar de nuestras variables [X]).
Análisis: Este error es similar anterior, pero acostumbra a darse en condiciones (if). La sintaxis es incorrecta: el servidor espera encontrar un "then" después de la condición, pero no lo encuentra. Como en el caso anterior, acostumbra a darse por fallos en la escritura o intercambio del "then" por "begin".
Corrección: Corregir la sintaxis. Podemos saber aproximadamente donde esta el error por "expected near". Estos errores acostumbran a estar relacionados con los "if". Recordemos que la sintaxis apropiada es:
if [X] == [X] then
[acción]
end
*A veces es posible que los operadores estén invertidos. Recuerda que en todos los operadores que utilizamos que contienen más de un signo (>=, <=, !=, ==,...), el último signo siempre es es el "=".
Imagen ejemplo: Imagen enviada
Imagen ejemplo - solución: Hemos cometido un error de sintaxis: el servidor espera encontrar un "then", pero no lo encuentra. La solución sería especificar el "then" junto a nuestra condición.


3. Calls undeclared function!

Error de sintaxis: Calls undeclared function!
[X]
Error occured on compile [X].[X]
Significado: El servidor no detecta una función.
Análisis: El servidor ha encontrado en nuestra quest una función que no ha sido especificada. Por lo tanto, no posee esa información y no puede realizar ninguna acción.
Corrección: Debemos revisar la sintaxis: es posible que la función no esté bien escrita. También debemos revisar que nuestra función se encuentre en el archivo quest_functions (recordemos que si queremos crear una nueva función, debemos crearla en questlib.lua y especificarla en quest_functions para que la reconozca el servidor). Si queremos especificar una función que ha sido escrita dentro de una quest, tenemos que utilizar la siguiente sintaxis:
nombredelaquest.nombredelafuncion (en vez de escribir tan solo la función)
Imagen ejemplo: Imagen enviada
Imagen ejemplo - solución: Debemos especificar en el archivo quest_functions la función say_item_vnum


4. assertion failure

Error de sintaxis: assertion failure : nested==0
[X]:[X]:Error occured on compile [X]
Significado: Estructura equivocada.
Análisis:La sintaxis general de la quest no es correcta. Este error puede darse en muchas ocasiones. Por ejemplo, este error se da cuando hay demasiados "end" o falta alguno.
Corrección:
  • Revisar que la sintaxis "quest [X] begin" está cerrada con un "end".
  • Revisar que todos los "when" están cerrados con un "end".
  • Revisar que todas las condiciones (if) están cerradas por un "end".
  • Revisar que todos los "state" están cerrados por un "end".
Imagen ejemplo: Imagen enviada
Imagen ejemplo - solución: Nuestro "when" no está cerrado con un "end".


5. expecting state

Error de sintaxis: expecting 'state'
[X]:[X]:Error occured on compile [X]
Significado: Es necesario un state: la estructura de "state" no es correcta.
Análisis: Hay un error de sintaxis o es necesario un state. Este error sucede, por ejemplo, cuando un "when" está fuera de un "state".
Corrección: Revisar que todos los "when" y "if" están dentro de un state. Revisar que los "state" están bien colocados y cerrados con un "end".
Imagen ejemplo: Imagen enviada


6. state name not found

Error de sintaxis: [X]:[X]:state name not found : [X]
Error occured on compile [X]
Significado: El servidor no encuentra un "state".
Análisis: El uso o búsqueda de un "state" no es encontrado. Este error se da, por ejemplo, cuando utilizamos la función "set_state()" y el "state" definido en esta función no se encuentra dentro de la quest.
Corrección: Asegúrate que todos los "state" definidos son correctos, la función que los utiliza está el "state" bien escrito y que todos los "state" están cerrados con un "end".
Imagen ejemplo: Imagen enviada


7. must start with 'quest'

Error de sintaxis: must start with 'quest'
[X]:[X]:Error occured on compile [X]
Significado: La quest debe empezar con 'quest'.
Análisis: Toda quest debe ser iniciada con "quest [X] begin" y cerrada con un "end".
Corrección:
  • Asegúrate que la quest empieza con la sintaxis "quest [X] begin".
  • Asegúrate que no hay nada fuera de el bloque "quest [X] begin" - end.
  • Asegúrate que no has cometido un error de escritura en la forma típica de inicio de la quest.
Imagen ejemplo: Imagen enviada



8. Trying/attempt to compare number with nil

Error de sintaxis: Trying/attempt to compare number with nil (se muestra en el Syserr)
Significado: Al servidor le es imposible comparar un dato con nil.
Análisis: Nil es lo que se le da a algo que no tiene valor. Es similar al 0, es decir, la nada, algo que no existe. Teniendo esto en cuenta, es lógico pensar que el servidor no pueda comparar algo con la nada.
Corrección:
Revisar que todas las variables o funciones que se comparen (a través de una sentencia if) tengan un valor definido previamente.


Y eso es todo.
Si os aparece algún otro error relacionado con quest, decírmelo. Ampliaré la guía sin ayuda de Alessa xd

Un saludo ;)
  • A KeKo, Joakin47, Rafa23Alzira y a 2 más les gusta esto

Imagen enviada


Imagen enviada

Imagen enviada


#2
Predator77

Predator77

    Aficionado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 137 Mensaje(s)
Ahi te va +1 por el aporte, Servira de mucho :) !

#3
KeKo

KeKo

    Forero Experto

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.475 Mensaje(s)
Muy buena raul, ya habia visto la guia en epvp y tmbn pensaba en tradcirla pero te me adelantaste xd. Sobre el nil es el unico que solo me salio una vez escribiendo quests. Un nil representa un conjunto vacio y las pocas veces que lo tengo visto haciendo quests es cuando aparece in input y se quiere poner la restriccion de si no escribes nada. Si a alguien le sale este error que revisen la quest porque lo mas seguro es que esten intentando mostrar un dato que no existe, cosas como un local que se muestra pero al que no se le asigna valor.

#4
Akroma

Akroma

    Forero Profesional

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 719 Mensaje(s)
buenisima tio, xd sigue asin, me servira bastante para seguir aprendiendo

#5
Kryzz

Kryzz

    Aficionado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 123 Mensaje(s)
Muy buena, de los errores se aprende ^^.

#6
ElRaulxX

ElRaulxX

    Forero

  • Quest Master
  • MarcarMarcarMarcarMarcarMarcar
  • 97 Mensaje(s)
  • Sexo:Masculino
  • Localización:Barcelona, España
Completado el apartado 8. Me olvidé completamente de acabarlo ><

Imagen enviada


Imagen enviada

Imagen enviada


#7
Invitado:Caes_*

Invitado:Caes_*
  • Invitado

Disculpen, podrían reparar lo de las tildes, es un poco incomodo leer la guía así.



#8
Desagradable

Desagradable

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 57 Mensaje(s)

gracias por tu me gusta







Also tagged with one or more of these keywords: quest, problema, error, común, guía

0 Usuario(s) están leyendo este Tema

0 miembro(s), 0 invitado(s), 0 usuario(s) anónimo(s)