Hoe Metin2 Quest-fouten oplossen?
Gids voor het opnieuw laden van missies, het niet reageren van NPC's, functiefouten en problemen met het compileren van missies.
Quests, NPC-gesprekken, evenementensystemen, biologen, teleportatie, markt, baas-tracking, dagelijkse beloningen en vele speciale systemen op Metin2-servers. zoektocht Het werkt via bestanden. Daarom kan zelfs een kleine fout aan de questkant ervoor zorgen dat de NPC niet reageert, dat de gebeurtenis niet start, of dat het kanaalsyserr-bestand voortdurend fouten produceert.
Het grootste probleem met zoekfouten is dat de fout vaak algemeen lijkt, zoals “NPC werkt niet”. Maar de echte reden kan een verkeerde vnum zijn, een ontbrekende functie, een gebroken syntaxis, een gebrekkige statusstructuur of dat de zoektocht helemaal niet is samengesteld.
1. Waar vind ik Quest-bestanden?
Het pad van Quest-bestanden kan variëren, afhankelijk van de serverinfrastructuur. Veelgebruikte mappen zijn:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
Quest-bestanden zijn meestal .zoektocht met verlenging. Bestanden die zijn gemaakt na compilatie voorwerp Het wordt onder de map bewaard.
2. Controleer eerst om de Quest-fout te begrijpen
Als een zoektocht niet werkt, moet eerst het betreffende kanaalsyserr-bestand worden gecontroleerd.
cd /usr/game/channel1/core1 tail -n 100 syserr
Om live fouten te bekijken die optreden na het herladen van de zoektocht:
tail -f syserr
Veelvoorkomende voorbeelden van zoekfouten:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. Hoe Quest compileren?
Wanneer je een nieuw questbestand toevoegt, is het niet voldoende om het bestand gewoon in de map te gooien. De zoektocht moet worden samengesteld.
Voer eerst de questdirectory in:
cd /usr/game/share/locale/turkey/quest
Voorbeeld voor het samenstellen van een enkele zoektocht:
./qc quest_adi.quest
Het qc-pad kan op sommige systemen anders zijn:
/usr/game/share/locale/turkey/quest/qc quest_adi.quest
De scriptnaam die wordt gebruikt om alle speurtochten samen te stellen, varieert afhankelijk van de infrastructuur. Voorbeeld:
sh make.sh
4. Hoe kan ik Quest herladen?
Nadat de zoektocht is samengesteld, kan deze in de game opnieuw worden geladen met een GM-personage.
/reload q
In sommige gevallen is alleen herladen niet voldoende. Vooral als de statusstructuur, de missievlag of de startvoorwaarden zijn veranderd, kan het nodig zijn om het personage opnieuw in te voeren of het kanaal opnieuw te starten.
De algemene volgorde zou als volgt moeten zijn:
- Zoekopdrachtbestand bewerken
- Controleer de syntaxis
- Compileer Quest-bestand met qc
- Voer q in het spel uit/herlaad het
- Kijk eens naar Syserr
- Test NPC- of gebeurtenisgedrag
5. NPC Quest werkt niet Probleem
Als er niets gebeurt als je op de NPC klikt, moeten de volgende punten worden gecontroleerd:
- Is de NPC vnum die in de zoektocht wordt gebruikt correct?
- Komen NPC's echt op de kaart aan de serverkant?
- Is Quest samengesteld?
- Heeft syserr plaatsgevonden na /reload q?
- Is het begin van de zoektocht correct?
- Wordt de code niet meer uitgevoerd vanwege een verkeerde toestand in Quest?
Voorbeeld van een NPC-triggerstructuur:
quest ornek_npc begin
state start begin
when 20011.chat."Ornek Menu" begin
say_title("Ornek NPC")
say("Bu bir test mesajidir.")
end
end
endhier 20011 NPC vnum-waarde. Als het NPC-vnum onjuist is, zal de zoektocht niet werken.
6. geen dergelijke fout in de zoekfunctie
in Syserr zo'n zoekfunctie bestaat niet Als het wordt gezien, is de functie die in de zoektocht wordt gebruikt niet gedefinieerd op de server.
Redenen:
- Quest is afkomstig van een andere infrastructuur.
- De relevante zoekfunctie is niet toegevoegd aan de Bronkant.
- De helperfunctie die in questlib.lua zou moeten zitten, ontbreekt.
- De functienaam is verkeerd gespeld.
In dit geval is de oplossing om te controleren of de functie daadwerkelijk op de server aanwezig is. Quests uit andere bestanden mogen niet als direct compatibel worden beschouwd.
7. Quest-syntaxisfouten
De meest voorkomende typefouten in Quest-bestanden zijn:
- einde onder- of overmatig gebruik
- Sluit geen aanhalingstekens
- Fout bij het schrijven van de voorwaarde
- Turkse karakters gebruiken of slechte codering
- Zonder aanpassing functies gebruiken die uit een ander systeem zijn overgenomen
Voorbeeld van een defecte structuur:
say("Merhaba oyuncu)Juiste structuur:
say("Merhaba oyuncu")8. Problemen met missievlaggen
Bij sommige speurtochten wordt een vlag op het personage of account weergegeven. De zoektocht start niet of lijkt mogelijk voltooid vanwege een onjuiste vlagwaarde.
Als een zoektocht bijvoorbeeld al is voltooid, laat de NPC het menu mogelijk niet meer zien. In dit geval moet de relevante queestevlag worden aangevinkt.
Veelvoorkomende fouten
- Vergeten het Quest-bestand in een map te plaatsen en te compileren
- /reload q uitvoeren, ook al is er een compilatiefout opgetreden
- Verkeerde NPC vnum-waarde
- Quests uit andere bestanden gebruiken zonder deze aan te passen
- Denken dat een NPC niet werkt zonder de questvlag te controleren
- De zoektocht lijkt correct te zijn, maar werkt niet omdat de codering beschadigd is.
Veelgestelde vragen
Ik heb /reload q gedaan, maar de quest werkte niet. Waarom?
Het kan zijn dat de Quest helemaal niet is gecompileerd, dat er een fout is opgetreden tijdens het compileren, of dat de Quest niet zichtbaar is in de speler vanwege de staat/vlagconditie.
Ik klik op de NPC en het menu verschijnt niet. Ligt het probleem bij de NPC?
Niet altijd. Zelfs als het NPC-vnum correct is, is het mogelijk dat de zoektocht niet is samengesteld, verkeerd is geschreven of wordt uitgevoerd vanwege een aandoening.
Waarom geeft de zoektocht die ik van een andere server heb ontvangen een foutmelding?
Omdat de gebruikte functies, de questlib-structuur of bronondersteuning mogelijk niet beschikbaar zijn in uw infrastructuur.
Aanbevelingen voor veiligheid en bediening
- Maak een back-up van het bestand voordat u Quest bewerkt.
- Implementeer grote missiewijzigingen op de liveserver tijdens lage speeluren.
- Controleer syserr na elke questcompilatie.
- Let op Turkse karakter- en coderingsvervormingen.
- Maak een back-up voordat u missievlagbewerkingen met betrekking tot spelergegevens in bulk verwijdert.
Dit artikel is speciaal opgesteld voor PvPServer.