Hvordan løser jeg Metin2 Quest-feil?
Veiledning for gjenopplasting av oppdrag, manglende respons på NPC, funksjonsfeil og problemer med oppdragskompilering.
Oppdrag, NPC-samtaler, hendelsessystemer, biolog, teleportering, marked, sjefsporing, daglige belønninger og mange spesialsystemer på Metin2-servere. søken Det fungerer gjennom filer. Derfor kan selv en liten feil gjort på søkesiden føre til at NPC ikke reagerer, at hendelsen ikke starter, eller at kanal syserr-filen stadig produserer feil.
Det største problemet med oppdragsfeil er at feilen ofte virker generell, for eksempel "NPC fungerer ikke". Men den virkelige årsaken kan være feil vnum, manglende funksjon, ødelagt syntaks, feil tilstandsstruktur eller oppdraget som ikke kompileres i det hele tatt.
1. Hvor finner jeg Quest-filer?
Banen til Quest-filer kan variere avhengig av serverinfrastrukturen. Vanlige brukte kataloger er:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
Quest-filer er vanligvis .quest med forlengelse. Filer opprettet etter kompilering objekt Den holdes under mappen.
2. Sjekk først for å forstå Quest-feil
Hvis et oppdrag ikke fungerer, bør den relevante kanalsyserr-filen sjekkes først.
cd /usr/game/channel1/core1 tail -n 100 syserr
Slik ser du direkte feil som oppstår etter å ha lastet oppdraget på nytt:
tail -f syserr
Vanlige eksempler på oppdragsfeil:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. Hvordan kompilere Quest?
Når du legger til en ny quest-fil, er det ikke nok å bare kaste filen inn i mappen. Oppdraget må kompileres.
Skriv først inn oppdragskatalogen:
cd /usr/game/share/locale/turkey/quest
Eksempel for å kompilere et enkelt oppdrag:
./qc quest_adi.quest
Qc-banen kan være forskjellig på noen systemer:
/usr/game/share/locale/turkey/quest/qc quest_adi.quest
Skriptnavnet som brukes til å kompilere alle oppdrag varierer avhengig av infrastrukturen. Eksempel:
sh make.sh
4. Hvordan laste inn Quest på nytt?
Etter at oppdraget er kompilert, kan det lastes på nytt i spillet med en GM-karakter.
/reload q
I noen tilfeller er det ikke nok å bare laste på nytt. Spesielt hvis tilstandsstrukturen, oppdragsflagget eller startforholdene har endret seg, kan det være nødvendig å skrive inn karakteren på nytt eller starte kanalen på nytt.
Den generelle rekkefølgen bør være som følger:
- Rediger oppdragsfil
- Sjekk syntaks
- Kompiler Quest-fil med qc
- Kjør / reload q i spillet
- Sjekk ut Syserr
- Test NPC- eller hendelsesatferd
5. NPC Quest fungerer ikke Problem
Hvis ingenting skjer når du klikker på NPC, bør følgende punkter kontrolleres:
- Er NPC vnum brukt i oppdraget riktig?
- Spawner NPC-er virkelig på kartet på serversiden?
- Er Quest kompilert?
- Oppstod syserr etter /reload q?
- Er begynnelsen av oppdragstilstanden riktig?
- Slutter koden å kjøre på grunn av feil tilstand i Quest?
Eksempel på NPC-utløserstruktur:
quest ornek_npc begin
state start begin
when 20011.chat."Ornek Menu" begin
say_title("Ornek NPC")
say("Bu bir test mesajidir.")
end
end
endher 20011 NPC vnum-verdi. Hvis NPC vnum er feil, vil ikke oppdraget fungere.
6. ingen slik søkefunksjonsfeil
i Syserr ingen slik søkefunksjon Hvis den vises, er ikke funksjonen som brukes i oppdraget definert på serveren.
Årsaker:
- Quest er hentet fra en annen infrastruktur.
- Den relevante oppdragsfunksjonen er ikke lagt til på kildesiden.
- Hjelpefunksjonen som skal være i questlib.lua mangler.
- Funksjonsnavnet er feilstavet.
I dette tilfellet er løsningen å sjekke om funksjonen faktisk eksisterer på serveren. Oppdrag hentet fra andre filer bør ikke anses som direkte kompatible.
7. Oppdragssyntaksfeil
De vanligste skrivefeilene i Quest-filer er:
- slutt under eller overforbruk
- Ikke avsluttende anførselstegn
- Feil når tilstanden er skrevet
- Bruker tyrkiske tegn eller dårlig koding
- Bruke funksjoner hentet fra et annet system uten tilpasning
Eksempel på feil struktur:
say("Merhaba oyuncu)Riktig struktur:
say("Merhaba oyuncu")8. Quest-flaggproblemer
Noen oppdrag har et flagg på karakteren eller kontoen. Oppdraget starter ikke eller kan se ut til å være fullført på grunn av feil flaggverdi.
For eksempel, hvis et oppdrag allerede er fullført, kan det hende at NPC ikke viser menyen igjen. I dette tilfellet bør det relevante oppdragsflagget sjekkes.
Vanlige feil
- Glemte å legge Quest-filen i en mappe og kompilere den
- Gjør /reload q selv om det er en kompileringsfeil
- Feil NPC vnum-verdi
- Bruke oppdrag hentet fra andre filer uten å tilpasse dem
- Tenker at en NPC ikke fungerer uten å sjekke quest-flagget
- Oppdraget ser ut til å være riktig, men fungerer ikke fordi kodingen er ødelagt.
FAQ
Jeg lastet q på nytt, men oppdraget fungerte ikke, hvorfor?
Oppdraget kan ikke ha blitt kompilert i det hele tatt, det kan ha gitt en feil under kompileringen, eller det kan ikke være synlig i spilleren på grunn av tilstanden/flaggtilstanden.
Jeg klikker på NPC og menyen vises ikke. Er problemet med NPC?
Ikke alltid. Selv om NPC vnum er riktig, kan det hende at oppdraget ikke er kompilert, skrevet feil eller kjører på grunn av en tilstand.
Hvorfor gir oppdraget jeg mottok fra en annen server en feilmelding?
Fordi funksjonene som brukes, kan det hende at questlib-struktur eller kildestøtte ikke er tilgjengelig i infrastrukturen din.
Sikkerhets- og driftsanbefalinger
- Lag en sikkerhetskopi av filen før du redigerer Quest.
- Implementer store oppdragsendringer på live-serveren under lave spillertimer.
- Sjekk syserr etter hver oppdragskompilering.
- Vær oppmerksom på tyrkisk karakter og kodingsforvrengninger.
- Ta en sikkerhetskopi før du massesletter quest-flaggoperasjoner relatert til spillerdata.
Denne artikkelen er spesielt utarbeidet for PvPServer.