Hogyan lehet megoldani a Metin2 Quest hibáit?
Útmutató a küldetés újratöltéséhez, az NPC-reakció hiányához, a funkcióhibákhoz és a küldetésfordítási problémákhoz.
Küldetések, NPC-beszélgetések, eseményrendszerek, biológus, teleportáció, piac, főnökkövetés, napi jutalmak és sok speciális rendszer a Metin2 szervereken. küldetés Fájlokon keresztül működik. Ezért a küldetésoldalon elkövetett kis hiba is azt okozhatja, hogy az NPC nem reagál, az esemény nem indul el, vagy a csatorna syserr fájlja folyamatosan hibákat produkál.
A küldetéshibákkal kapcsolatos legnagyobb probléma az, hogy a hiba gyakran általánosnak tűnik, például „az NPC nem működik”. De a valódi ok lehet rossz vnum, hiányzó funkció, hibás szintaxis, hibás állapotstruktúra vagy a küldetés egyáltalán nem fordítása.
1. Hol találhatók a küldetésfájlok?
A Quest fájlok elérési útja a kiszolgáló infrastruktúrájától függően változhat. A leggyakrabban használt könyvtárak a következők:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
A küldetésfájlok általában .quest kiterjesztéssel. A fordítás után létrehozott fájlok tárgyat A mappa alatt van tárolva.
2. Először ellenőrizze a Quest Error megértéséhez
Ha egy küldetés nem működik, először a megfelelő csatorna syserr fájlt kell ellenőrizni.
cd /usr/game/channel1/core1 tail -n 100 syserr
A küldetés újratöltése után fellépő élő hibák megtekintéséhez:
tail -f syserr
Gyakori küldetési hibák példái:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. Hogyan fordítsuk le a Quest-et?
Új küldetésfájl hozzáadásakor nem elég csak bedobni a fájlt a mappába. A küldetést össze kell állítani.
Először lépjen be a küldetés könyvtárába:
cd /usr/game/share/locale/turkey/quest
Példa egyetlen küldetés összeállítására:
./qc quest_adi.quest
A qc elérési útja bizonyos rendszereken eltérő lehet:
/usr/game/share/locale/turkey/quest/qc quest_adi.quest
Az összes küldetés fordításához használt szkriptnév az infrastruktúrától függően változik. Példa:
sh make.sh
4. Hogyan lehet újratölteni a Questet?
A küldetés összeállítása után újratölthető a játékban egy GM karakterrel.
/reload q
Egyes esetekben az újratöltés nem elegendő. Főleg, ha az állapotstruktúra, a küldetésjelző vagy az indulási feltételek megváltoztak, szükség lehet a karakter újbóli megadására vagy a csatorna újraindítására.
Az általános sorrend a következő legyen:
- Küldetésfájl szerkesztése
- Ellenőrizze a szintaxist
- Fordítsa le a Quest fájlt qc-vel
- Futtassa a /reload q parancsot a játékban
- Nézd meg a Syserrt
- Tesztelje az NPC vagy az esemény viselkedését
5. Az NPC Quest nem működik probléma
Ha semmi sem történik, amikor az NPC-re kattint, ellenőrizze a következő pontokat:
- Helyes a küldetésben használt NPC vnum?
- Valóban megjelennek az NPC-k a térképen a szerver oldalon?
- A Quest össze van állítva?
- A syserr a /reload q után történt?
- Helyes a küldetés állapotának kezdete?
- Leáll a kód végrehajtása a Quest rossz feltétele miatt?
Példa NPC trigger szerkezetre:
quest ornek_npc begin
state start begin
when 20011.chat."Ornek Menu" begin
say_title("Ornek NPC")
say("Bu bir test mesajidir.")
end
end
enditt 20011 NPC vnum értéke. Ha az NPC vnum helytelen, a küldetés nem fog működni.
6. nincs ilyen küldetésfüggvény hiba
a Syserrben nincs ilyen küldetés funkció Ha látható, akkor a küldetésben használt függvény nincs definiálva a szerveren.
Okok:
- A Quest egy másik infrastruktúrából származik.
- A megfelelő küldetésfüggvény nincs hozzáadva a Forrás oldalon.
- Hiányzik a questlib.lua fájlban található helper függvény.
- A függvény neve hibásan van írva.
Ebben az esetben a megoldás annak ellenőrzése, hogy a függvény valóban létezik-e a szerveren. A más fájlokból vett küldetéseket nem szabad közvetlenül kompatibilisnek tekinteni.
7. Küldetés szintaktikai hibák
A Quest fájlokban a leggyakoribb elírási hibák a következők:
- vége alul vagy túlzottan használt
- Nem záró idézőjel
- Rossz a feltétel írásakor
- Török karakterek használata vagy rossz kódolás
- Más rendszerből átvett függvények alkalmazása adaptáció nélkül
Példa hibás szerkezetre:
say("Merhaba oyuncu)Helyes szerkezet:
say("Merhaba oyuncu")8. Quest Flag problémák
Egyes küldetések zászlót tartanak a karakteren vagy a fiókon. A küldetés nem indul el, vagy úgy tűnhet, hogy befejeződött a helytelen zászlóérték miatt.
Például, ha egy küldetést már teljesítettek, előfordulhat, hogy az NPC nem jeleníti meg újra a menüt. Ebben az esetben ellenőrizni kell a megfelelő küldetésjelzőt.
Gyakori hibák
- Elfelejtette a Quest fájlt egy mappába helyezni és lefordítani
- A /reload q akkor is, ha fordítási hiba van
- Hibás NPC vnum érték
- Más fájlokból vett küldetések használata azok adaptálása nélkül
- Azt gondolni, hogy egy NPC nem működik a küldetésjelző ellenőrzése nélkül
- A küldetés helyesnek tűnik, de nem működik, mert a kódolás sérült.
GYIK
Megtettem /újratöltöttem a q-t, de a küldetés nem működött, miért?
Lehet, hogy a Quest egyáltalán nem lett lefordítva, fordítás közben hibát adott, vagy az állapot/zászló állapot miatt nem látszik a lejátszóban.
Az NPC-re kattintok, és nem jelenik meg a menü. Az NPC-vel van a probléma?
Nem mindig. Még ha az NPC vnum helyes is, előfordulhat, hogy a küldetést nem lehet lefordítani, helytelenül írni vagy futni egy feltétel miatt.
Miért ad hibát a másik szervertől kapott küldetés?
Mivel a használt funkciók, előfordulhat, hogy a questlib-struktúra vagy a forrástámogatás nem érhető el az infrastruktúrában.
Biztonsági és üzemeltetési ajánlások
- A Quest szerkesztése előtt készítsen biztonsági másolatot a fájlról.
- Végezze el a fő küldetésmódosításokat az élő szerveren alacsony játékosidőben.
- Minden küldetés összeállítása után ellenőrizze a syserrt.
- Ügyeljen a török karakterekre és a kódolási torzulásokra.
- Készítsen biztonsági másolatot a játékosadatokkal kapcsolatos küldetésjelző műveletek tömeges törlése előtt.
Ez a cikk kifejezetten a PvPServer számára készült.