Com resoldre els errors de Metin2 Quest?
Guia per a la recàrrega de missions, la manca de resposta de l'NPC, els errors de funció i els problemes de compilació de missions.
Missions, converses NPC, sistemes d'esdeveniments, biòleg, teletransportació, mercat, seguiment de caps, recompenses diàries i molts sistemes especials als servidors Metin2. recerca Funciona mitjançant fitxers. Per tant, fins i tot un petit error fet al costat de la recerca pot fer que l'NPC no reaccioni, que l'esdeveniment no comenci o que el fitxer syserr del canal produeixi errors constantment.
El problema més gran dels errors de la cerca és que l'error sovint sembla general, com ara "L'NPC no funciona". Però el veritable motiu pot ser vnum incorrecte, falta de funció, sintaxi trencada, estructura d'estat defectuosa o la cerca que no s'està compilant en absolut.
1. On trobar els fitxers Quest?
La ruta dels fitxers Quest pot variar segons la infraestructura del servidor. Els directoris que s'utilitzen habitualment són:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
Els fitxers Quest solen ser .quest amb extensió. Fitxers creats després de la compilació objecte Es guarda sota la carpeta.
2. Primer comproveu per entendre l'error de la Quest
Si una recerca no funciona, primer s'ha de comprovar el fitxer syserr del canal corresponent.
cd /usr/game/channel1/core1 tail -n 100 syserr
Per veure els errors en directe que es produeixen després de tornar a carregar la missió:
tail -f syserr
Exemples d'errors de cerca habituals:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. Com compilar Quest?
Quan afegiu un fitxer de cerca nou, no n'hi ha prou amb llançar el fitxer a la carpeta. La recerca s'ha de compilar.
Primer introduïu el directori de la cerca:
cd /usr/game/share/locale/turkey/quest
Exemple per compilar una única recerca:
./qc quest_adi.quest
El camí de qc pot ser diferent en alguns sistemes:
/usr/game/share/locale/turkey/quest/qc quest_adi.quest
El nom de l'script utilitzat per compilar totes les missions varia segons la infraestructura. Exemple:
sh make.sh
4. Com tornar a carregar Quest?
Un cop compilada la missió, es pot tornar a carregar al joc amb un personatge GM.
/reload q
En alguns casos, només recarregar no n'hi ha prou. Especialment si l'estructura de l'estat, la bandera de la missió o les condicions inicials han canviat, pot ser que calgui tornar a introduir el personatge o reiniciar el canal.
L'ordre general ha de ser el següent:
- Edita el fitxer de recerca
- Comproveu la sintaxi
- Compileu el fitxer Quest amb qc
- Executar/recarregar q dins del joc
- Fes una ullada a Syserr
- Prova el comportament de l'NPC o l'esdeveniment
5. NPC Quest Problema no funciona
Si no passa res quan feu clic a l'NPC, s'han de comprovar els punts següents:
- El vnum de l'NPC que s'utilitza a la recerca és correcte?
- Els NPC realment apareixen al mapa del costat del servidor?
- Està compilat Quest?
- S'ha produït syserr després de /reload q?
- El començament de l'estat de la recerca és correcte?
- El codi deixa d'executar-se a causa d'una condició incorrecta a Quest?
Exemple d'estructura d'activador 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 NPC vnum valor. Si el NPC vnum és incorrecte, la missió no funcionarà.
6. cap error de funció de cerca
a Syserr no hi ha aquesta funció de recerca Si es veu, la funció utilitzada a la recerca no està definida al servidor.
Motius:
- Quest s'ha extret d'una altra infraestructura.
- La funció de recerca rellevant no s'afegeix al costat Font.
- Falta la funció d'ajuda que hauria d'estar a questlib.lua.
- El nom de la funció està mal escrit.
En aquest cas, la solució és comprovar si la funció existeix realment al servidor. Les missions extretes d'altres fitxers no s'han de considerar directament compatibles.
7. Errors de sintaxi de la cerca
Els errors tipogràfics més comuns als fitxers Quest són:
- final baix o excessiu
- No tancar cometes
- Errada quan s'escriu la condició
- Utilitzant caràcters turcs o codificació incorrecta
- Ús de funcions extretes d'un altre sistema sense adaptació
Exemple d'estructura defectuosa:
say("Merhaba oyuncu)Estructura correcta:
say("Merhaba oyuncu")8. Problemes de la bandera de la Quest
Algunes missions mantenen una bandera al personatge o al compte. La missió no comença o pot semblar que s'ha completat a causa d'un valor de senyal incorrecte.
Per exemple, si una missió ja s'ha completat, és possible que l'NPC no torni a mostrar el menú. En aquest cas, s'hauria de comprovar la marca de la missió corresponent.
Errors comuns
- S'ha oblidat de posar el fitxer Quest en una carpeta i compilar-lo
- S'està fent /reload q tot i que hi ha un error de compilació
- Valor NPC vnum incorrecte
- Ús de missions extretes d'altres fitxers sense adaptar-les
- Pensar que un NPC no funciona sense comprovar la marca de la missió
- La cerca sembla ser correcta, però no funciona perquè la codificació està malmesa.
PMF
Vaig fer /recarregar q però la recerca no va funcionar, per què?
És possible que la Quest no s'hagi compilat en absolut, que hagi donat un error durant la compilació o que no sigui visible al reproductor a causa de la condició d'estat/marcador.
Faig clic a l'NPC i no apareix el menú. El problema és l'NPC?
No sempre. Fins i tot si el vnum de l'NPC és correcte, és possible que la recerca no s'hagi compilat, escrit incorrectament o s'executi a causa d'una condició.
Per què la missió que he rebut d'un altre servidor dóna un error?
Com que les funcions utilitzades, és possible que l'estructura de questlib o els suports d'origen no estiguin disponibles a la vostra infraestructura.
Recomanacions de seguretat i operacions
- Feu una còpia de seguretat del fitxer abans d'editar Quest.
- Implementeu canvis importants en les missions al servidor en directe durant les hores de baixa del jugador.
- Comproveu syserr després de cada compilació de missions.
- Presta atenció al caràcter turc i a les distorsions de codificació.
- Fes una còpia de seguretat abans de suprimir massivament les operacions de senyalització de missions relacionades amb les dades dels jugadors.
Aquest article està preparat especialment per a PvPServer.