PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Cum se rezolvă erorile Metin2 Quest? Ghid de reîncărcare și creare a misiunilor

Yazdır

Cum se rezolvă erorile Metin2 Quest?

Ghid pentru reîncărcarea misiunilor, lipsa de răspuns a NPC, erori de funcție și probleme de compilare a misiunilor.

Misiuni, conversații NPC, sisteme de evenimente, biolog, teleportare, piață, urmărire a șefilor, recompense zilnice și multe sisteme speciale pe serverele Metin2. căutare Funcționează prin fișiere. Prin urmare, chiar și o mică greșeală făcută în partea de misiuni poate face ca NPC-ul să nu reacționeze, evenimentul să nu pornească sau fișierul canal syserr să producă în mod constant erori.

Cea mai mare problemă cu erorile de căutare este că eroarea pare adesea generală, cum ar fi „NPC-ul nu funcționează”. Dar adevăratul motiv poate fi vnum greșit, funcția lipsă, sintaxa ruptă, structura de stare defectuoasă sau căutarea nu este deloc compilată.

Explicație simplă: Fișierul de misiuni este fișierul de instrucțiuni care îi spune NPC-ului ce trebuie să facă. Dacă instrucțiunea este greșită, NPC-ul nu poate răspunde corect.

1. Unde să găsiți fișierele Quest?

Calea fișierelor Quest poate varia în funcție de infrastructura serverului. Directoarele utilizate în mod obișnuit sunt:

/usr/game/share/locale/turkey/quest/
/home/game/share/locale/turkey/quest/
/usr/metin2/share/locale/turkey/quest/

Fișierele Quest sunt de obicei .quest cu extensie. Fișierele create după compilare obiect Este păstrat sub folder.

2. Verificați mai întâi pentru a înțelege eroarea Quest

Dacă o misiune nu funcționează, trebuie verificat mai întâi fișierul syserr de canal relevant.

cd /usr/game/channel1/core1
tail -n 100 syserr

Pentru a urmări erorile în direct care apar după reîncărcarea misiunii:

tail -f syserr

Exemple comune de erori de căutare:

no such quest function
attempt to call field
syntax error
unexpected symbol
quest not found
when condition error

3. Cum se compila Quest?

Când adăugați un nou fișier de căutare, nu este suficient să aruncați fișierul în folder. Căutarea trebuie compilată.

Mai întâi intră în directorul de misiuni:

cd /usr/game/share/locale/turkey/quest

Exemplu pentru compilarea unei singure misiuni:

./qc quest_adi.quest

Calea qc poate fi diferită pe unele sisteme:

/usr/game/share/locale/turkey/quest/qc quest_adi.quest

Numele scriptului folosit pentru a compila toate misiunile variază în funcție de infrastructură. Exemplu:

sh make.sh
Important: Compilarea tuturor misiunilor în mod inutil pe servere mari poate fi riscantă. Este mai controlat să compilați numai fișierul de căutare editat.

4. Cum se reîncarcă Quest?

După ce misiunea este compilată, aceasta poate fi reîncărcată în joc cu un personaj GM.

/reload q

În unele cazuri, doar reîncărcarea nu este suficientă. Mai ales dacă structura de stat, pavilionul misiunii sau condițiile de pornire s-au schimbat, poate fi necesar să reintroduceți caracterul sau să reporniți canalul.

Ordinea generală ar trebui să fie după cum urmează:

  • Editați fișierul de căutare
  • Verificați sintaxa
  • Compilați fișierul Quest cu qc
  • Executați/reîncărcați q în joc
  • Verificați Syserr
  • Testați comportamentul NPC-ului sau evenimentului

5. Problema NPC Quest nu funcționează

Dacă nu se întâmplă nimic când faceți clic pe NPC, trebuie verificate următoarele puncte:

  • Numărul NPC folosit în misiunea este corect?
  • NPC-urile chiar apar pe hartă din partea serverului?
  • Este Quest compilat?
  • Syserr a apărut după /reload q?
  • Este corect începutul stării de căutare?
  • Se oprește executarea codului din cauza unei stări greșite în Quest?

Exemplu de structură de declanșare a 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
end

aici 20011 Valoarea NPC vnum. Dacă NPC vnum este incorect, misiunea nu va funcționa.

6. nu există o astfel de eroare a funcției de căutare

în Syserr nu există o astfel de funcție de căutare Dacă se vede, funcția folosită în misiunea nu este definită pe server.

Motive:

  • Quest este preluat dintr-o altă infrastructură.
  • Funcția de căutare relevantă nu este adăugată în partea Sursă.
  • Funcția de ajutor care ar trebui să fie în questlib.lua lipsește.
  • Numele funcției este scris greșit.

În acest caz, soluția este să verificăm dacă funcția există de fapt pe server. Misiunile preluate din alte fișiere nu ar trebui considerate direct compatibile.

7. Erori de sintaxă Quest

Cele mai frecvente greșeli de scriere din fișierele Quest sunt:

  • sfârşitul sub sau suprasolicitare
  • Nu se închid ghilimele
  • Greșit când este scrisă condiția
  • Folosind caractere turcești sau codare proastă
  • Utilizarea funcțiilor preluate dintr-un alt sistem fără adaptare

Exemplu de structură defectuoasă:

say("Merhaba oyuncu)

Structura corecta:

say("Merhaba oyuncu")

8. Probleme cu steagurile misiunii

Unele misiuni păstrează un steag pe personaj sau cont. Misiunea nu începe sau poate părea a fi finalizată din cauza valorii incorecte a semnalizatorului.

De exemplu, dacă o misiune a fost deja finalizată, este posibil ca NPC-ul să nu mai arate meniul. În acest caz, indicatorul de misiune relevant ar trebui verificat.

Atentie: Ștergerea în bloc a semnalizatorului de misiuni de pe serverul live trebuie făcută cu atenție. Operarea incorectă poate deteriora înregistrările de căutare, evenimente sau recompense ale jucătorilor.

Greșeli comune

  • Am uitat să puneți fișierul Quest într-un folder și să-l compilați
  • Se efectuează /reload q chiar dacă există o eroare de compilare
  • Valoare NPC vnum greșită
  • Folosind misiuni preluate din alte fișiere fără a le adapta
  • Gândindu-mă că un NPC nu funcționează fără a verifica steag-ul misiunii
  • Căutarea pare a fi corectă, dar nu funcționează deoarece codificarea este coruptă.

Întrebări frecvente

Am făcut /reîncărcat q, dar misiunea nu a funcționat, de ce?
Este posibil ca misiunea să nu fi fost compilată deloc, să fi dat o eroare în timpul compilării sau să nu fie vizibilă în player din cauza stării/condiției de semnalizare.

Dau clic pe NPC și meniul nu apare. Problema este cu NPC-ul?
Nu întotdeauna. Chiar dacă NPC vnum este corect, misiunea poate să nu fie compilată, scrisă incorect sau să nu ruleze din cauza unei condiții.

De ce misiunea primită de la alt server dă o eroare?
Deoarece funcțiile utilizate, structura questlib sau suporturile sursă pot să nu fie disponibile în infrastructura dumneavoastră.

Recomandări de siguranță și operațiuni

  • Faceți o copie de rezervă a fișierului înainte de a edita Quest.
  • Implementați modificări majore ale misiunilor pe serverul live în timpul orelor reduse ale jucătorilor.
  • Verificați syserr după fiecare compilare de misiuni.
  • Acordați atenție caracterelor turcești și distorsiunilor de codificare.
  • Faceți o copie de rezervă înainte de a șterge în bloc operațiunile de semnalizare misiuni legate de datele jucătorului.

Acest articol este pregătit special pentru PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner