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

כיצד לפתור שגיאות Metin2 Quest? Quest Reload and Build מדריך

Yazdır

כיצד לפתור שגיאות Metin2 Quest?

מדריך לטעינה מחדש של קווסטים, חוסר תגובה של NPC, שגיאות פונקציה ובעיות הידור קווסטים.

קווסטים, שיחות NPC, מערכות אירועים, ביולוג, טלפורטציה, שוק, מעקב אחרי בוסים, תגמולים יומיים ומערכות מיוחדות רבות בשרתי Metin2. חיפוש זה עובד דרך קבצים. לכן, אפילו טעות קטנה שנעשתה בצד ה-quest עלולה לגרום ל-NPC לא להגיב, לאירוע לא להתחיל או לקובץ syserr של הערוץ לייצר כל הזמן שגיאות.

הבעיה הגדולה ביותר עם שגיאות קווסט היא שהשגיאה נראית לרוב כללית, כגון "NPC לא עובד". אבל הסיבה האמיתית עשויה להיות vnum שגוי, פונקציה חסרה, תחביר שבור, מבנה מצב פגום או שהקווסט לא הידור כלל.

הסבר פשוט: קובץ הקווסט הוא קובץ ההוראות שאומר ל-NPC מה לעשות. אם ההוראה שגויה, ה-NPC לא יכול לענות נכון.

1. היכן למצוא קבצי Quest?

הנתיב של קבצי Quest עשוי להשתנות בהתאם לתשתית השרת. ספריות בשימוש נפוץ הן:

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

קבצי Quest הם בדרך כלל .quest עם הרחבה. קבצים שנוצרו לאחר הידור חפץ זה נשמר מתחת לתיקייה.

2. בדוק תחילה כדי להבין שגיאת Quest

אם קווסט לא עובד, יש לבדוק תחילה את קובץ הערוץ הרלוונטי.

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

כדי לצפות בשגיאות בזמן אמת המתרחשות לאחר טעינה מחדש של הקווסט:

tail -f syserr

דוגמאות לשגיאות קווסט נפוצות:

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

3. איך להרכיב קווסט?

כאשר אתה מוסיף קובץ קווסט חדש, זה לא מספיק פשוט לזרוק את הקובץ לתיקיה. יש להרכיב את הקווסט.

תחילה היכנסו לספריית המשימות:

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

דוגמה להידור קווסט בודד:

./qc quest_adi.quest

נתיב ה-qc עשוי להיות שונה במערכות מסוימות:

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

שם הסקריפט המשמש להידור של כל הקווסטים משתנה בהתאם לתשתית. דוגמה:

sh make.sh
חשוב: קומפילציה של כל הקווסטים שלא לצורך בשרתים גדולים עלולה להיות מסוכנת. זה יותר מבוקר להדר רק את קובץ הקווסט הערוך.

4. איך לטעון מחדש את Quest?

לאחר הקומפילציה של הקווסט, ניתן לטעון אותו מחדש במשחק עם דמות GM.

/reload q

במקרים מסוימים, רק טעינה מחדש אינה מספיקה. במיוחד אם מבנה המדינה, דגל המשימה או תנאי ההתחלה השתנו, ייתכן שיהיה צורך להזין מחדש את הדמות או להפעיל מחדש את הערוץ.

הסדר הכללי צריך להיות כדלקמן:

  • ערוך קובץ קווסט
  • בדוק תחביר
  • הידור קובץ Quest עם qc
  • בצע/טען מחדש את q במשחק
  • בדוק את Syserr
  • בדוק התנהגות של NPC או אירוע

5. NPC Quest לא עובד בעיה

אם שום דבר לא קורה כשאתה לוחץ על ה-NPC, יש לבדוק את הנקודות הבאות:

  • האם ה-NPC vnum בשימוש ב-quest נכון?
  • האם NPCs באמת מולידה על המפה בצד השרת?
  • האם קווסט מורכב?
  • האם syserr התרחש לאחר /reload q?
  • האם ההתחלה של מצב המשימה נכונה?
  • האם הקוד מפסיק לפעול עקב מצב שגוי ב-Quest?

דוגמה למבנה טריגר 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

כאן 20011 ערך vnum של NPC. אם ה-NPC vnum שגוי, הקווסט לא יעבוד.

6. אין שגיאה כזו בפונקציית קווסט

בסיסר אין פונקציית קווסט כזו אם זה נראה, הפונקציה שבה נעשה שימוש ב-quest לא מוגדרת בשרת.

סיבות:

  • Quest נלקח מתשתית אחרת.
  • פונקציית הקווסט הרלוונטית לא מתווספת בצד המקור.
  • פונקציית העזר שאמורה להיות ב-questlib.lua חסרה.
  • שם הפונקציה מאוית שגוי.

במקרה זה, הפתרון הוא לבדוק האם הפונקציה אכן קיימת בשרת. משימות שנלקחו מקבצים אחרים לא אמורות להיחשב תואמות ישירות.

7. שגיאות תחביר קווסט

שגיאות ההקלדה הנפוצות ביותר בקבצי Quest הן:

  • סוף שימוש תחת או יתר
  • לא סוגר מרכאות
  • שגוי כאשר התנאי נכתב
  • שימוש בתווים טורקיים או קידוד גרוע
  • שימוש בפונקציות שנלקחו ממערכת אחרת ללא הסתגלות

מבנה פגום לדוגמה:

say("Merhaba oyuncu)

מבנה נכון:

say("Merhaba oyuncu")

8. בעיות דגל קווסט

חלק מהמשימות שומרות דגל על הדמות או החשבון. הקווסט לא מתחיל או שנראה כאילו הושלם עקב ערך דגל שגוי.

לדוגמה, אם קווסט כבר הושלם, ייתכן שה-NPC לא יציג את התפריט שוב. במקרה זה, יש לבדוק את דגל הקווסט הרלוונטי.

שימו לב: מחיקת דגל קווסט בכמות גדולה בשרת החי צריכה להיעשות בזהירות. פעולה שגויה עלולה לפגוע ברשומות החיפושים, האירועים או התגמולים של השחקנים.

טעויות נפוצות

  • שוכחים לשים את קובץ ה-Quest בתיקייה ולהדר אותו
  • ביצוע/טעינה מחדש של q למרות שיש שגיאת קומפילציה
  • ערך VNUM של NPC שגוי
  • שימוש בקווסטים שנלקחו מקבצים אחרים מבלי להתאים אותם
  • חושב ש-NPC לא עובד בלי לבדוק את דגל ה-quest
  • נראה שהקווסט נכון אבל לא עובד כי הקידוד פגום.

שאלות נפוצות

עשיתי /טענתי מחדש את q אבל הקווסט לא עבד, למה?
ייתכן שהקווסט לא הידור כלל, ייתכן שהוא נתן שגיאה במהלך ההידור, או שהוא לא נראה בנגן עקב המצב/מצב הדגל.

אני לוחץ על ה-NPC והתפריט לא מופיע. האם הבעיה ב-NPC?
לא תמיד. גם אם ה-NPC vnum נכון, ייתכן שהקווסט לא יהיה קומפילד, כתוב בצורה שגויה או פועל עקב תנאי.

מדוע הקווסט שקיבלתי משרת אחר נותן שגיאה?
מכיוון שהפונקציות בהן נעשה שימוש, ייתכן שתמיכות מבנה או מקור של questlib לא יהיו זמינות בתשתית שלך.

המלצות בטיחות ותפעול

  • בצע גיבוי של הקובץ לפני עריכת Quest.
  • הטמעו שינויים גדולים במשימה בשרת החי בשעות נמוכות של שחקן.
  • בדוק את syserr לאחר כל הידור קווסט.
  • שימו לב לאופי הטורקי ולעיוותים בקידוד.
  • קח גיבוי לפני מחיקה בכמות גדולה של פעולות דגל קווסט הקשורות לנתוני שחקן.

מאמר זה הוכן במיוחד עבור PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner