Kuidas lahendada Metin2 Questi vigu?
Juhend ülesannete uuesti laadimise, NPC mittereageerimise, funktsioonivigade ja ülesande koostamise probleemide kohta.
Ülesanded, NPC-vestlused, sündmuste süsteemid, bioloog, teleportatsioon, turg, bossi jälgimine, igapäevased preemiad ja palju erisüsteeme Metin2 serverites. quest See töötab failide kaudu. Seetõttu võib isegi ülesande poolel tehtud väike viga põhjustada selle, et NPC ei reageeri, sündmus ei käivitu või kanali syserr fail tekitab pidevalt vigu.
Ülesande vigade suurim probleem on see, et viga tundub sageli üldine, näiteks "NPC ei tööta". Kuid tegelik põhjus võib olla vale vnum, puuduv funktsioon, katkine süntaks, vigane olekustruktuur või ülesande kompileerimine.
1. Kust leida Questi faile?
Questi failide tee võib serveri infrastruktuurist olenevalt erineda. Tavaliselt kasutatavad kataloogid on:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
Questi failid on tavaliselt .quest pikendusega. Pärast kompileerimist loodud failid objektiks Seda hoitakse kausta all.
2. Esmalt kontrollige, et mõista Quest Error
Kui ülesanne ei tööta, tuleks esmalt kontrollida vastavat kanali syserr faili.
cd /usr/game/channel1/core1 tail -n 100 syserr
Pärast ülesande uuesti laadimist ilmnevate reaalajas vigade vaatamiseks tehke järgmist.
tail -f syserr
Levinud otsinguvea näited:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. Kuidas Questi koostada?
Kui lisate uue otsingufaili, ei piisa ainult faili kausta viskamisest. Ülesanne tuleb koostada.
Esmalt sisestage otsingu kataloog:
cd /usr/game/share/locale/turkey/quest
Näide ühe ülesande koostamiseks:
./qc quest_adi.quest
qc tee võib mõnes süsteemis erineda:
/usr/game/share/locale/turkey/quest/qc quest_adi.quest
Kõikide ülesannete koostamiseks kasutatav skripti nimi varieerub sõltuvalt infrastruktuurist. Näide:
sh make.sh
4. Kuidas Questi uuesti laadida?
Pärast ülesande koostamist saab selle mängusiseselt uuesti laadida koos GM-tegelasega.
/reload q
Mõnel juhul ei piisa ainult uuesti laadimisest. Eriti kui oleku struktuur, ülesande lipp või algustingimused on muutunud, võib olla vaja tegelane uuesti sisestada või kanal taaskäivitada.
Üldine järjekord peaks olema järgmine:
- Muutke ülesannete faili
- Kontrollige süntaksit
- Kompileerige Questi fail qc-ga
- Käivitage / laadige uuesti q mängus
- Vaadake Syserrit
- Testige NPC või sündmuse käitumist
5. NPC Quest ei tööta probleem
Kui NPC-l klõpsamisel midagi ei juhtu, tuleks kontrollida järgmisi punkte:
- Kas ülesandes kasutatud NPC vnum on õige?
- Kas NPC-d ilmuvad tõesti serveri poolel olevale kaardile?
- Kas Quest on koostatud?
- Kas syserr tekkis pärast /reload q?
- Kas otsingu oleku algus on õige?
- Kas kood lõpetab täitmise Questi vale tingimuse tõttu?
NPC päästiku struktuuri näide:
quest ornek_npc begin
state start begin
when 20011.chat."Ornek Menu" begin
say_title("Ornek NPC")
say("Bu bir test mesajidir.")
end
end
endsiin 20011 NPC vnum väärtus. Kui NPC vnum on vale, siis ülesanne ei tööta.
6. sellist otsingufunktsiooni viga pole
Syserris sellist otsingufunktsiooni pole Kui seda nähakse, pole ülesandes kasutatav funktsioon serveris määratletud.
Põhjused:
- Quest on võetud teisest infrastruktuurist.
- Allika poolele vastavat otsingufunktsiooni ei lisata.
- Abifunktsioon, mis peaks failis questlib.lua olema, puudub.
- Funktsiooni nimi on valesti kirjutatud.
Sel juhul on lahenduseks kontrollida, kas funktsioon on serveris ka reaalselt olemas. Teistest failidest võetud ülesandeid ei tohiks pidada otseselt ühilduvaks.
7. Questi süntaksi vead
Kõige levinumad kirjavead Questi failides on:
- lõppu ala- või ülekasutamine
- Ei sulge jutumärke
- Vale tingimuse kirjutamisel
- Türgi tähemärkide kasutamine või halb kodeering
- Teisest süsteemist võetud funktsioonide kasutamine ilma kohandamiseta
Vigase struktuuri näide:
say("Merhaba oyuncu)Õige struktuur:
say("Merhaba oyuncu")8. Questi lipu probleemid
Mõned ülesanded hoiavad tegelasel või kontol lippu. Ülesanne ei käivitu või võib näida olevat lõpetatud lipu vale väärtuse tõttu.
Näiteks kui ülesanne on juba lõpetatud, ei pruugi NPC menüüd enam kuvada. Sel juhul tuleks kontrollida vastavat ülesandelippu.
Levinud vead
- Unustasite Questi faili kausta panna ja selle kompileerida
- Teoste /reload q, kuigi on kompileerimisviga
- Vale NPC vnum väärtus
- Teistest failidest võetud ülesannete kasutamine ilma neid kohandamata
- Arvates, et NPC ei tööta ilma ülesande lippu kontrollimata
- Ülesanne näib olevat õige, kuid ei tööta, kuna kodeering on rikutud.
KKK
Ma tegin /reload q, kuid ülesanne ei töötanud, miks?
Quest ei pruugi olla üldse kompileeritud, see võis anda kompileerimise ajal vea või pole oleku/lipu seisukorra tõttu mängijas nähtav.
Klõpsan NPC-l ja menüüd ei kuvata. Kas probleem on NPC-s?
Mitte alati. Isegi kui NPC vnum on õige, ei pruugita ülesannet mingi tingimuse tõttu kompileerida, valesti kirjutatud või käivitada.
Miks annab teiselt serverilt saadud ülesanne veateate?
Kuna kasutatavad funktsioonid, ei pruugi questlib-struktuuri või allika tugi teie infrastruktuuris saadaval olla.
Ohutus- ja käitamissoovitused
- Enne Questi muutmist tehke failist varukoopia.
- Rakendage reaalajas serveris suuri muudatusi ülesannete ajal, kui mängijaid on vähe.
- Kontrollige syserrit pärast iga ülesannete koostamist.
- Pöörake tähelepanu türgi tähemärkidele ja kodeeringu moonutustele.
- Enne mängijaandmetega seotud ülesande liputoimingute hulgikustutamist tehke varukoopia.
See artikkel on spetsiaalselt ette valmistatud PvPServeri jaoks.