چگونه خطاهای Metin2 Quest را حل کنیم؟
راهنمای بارگذاری مجدد کوئست، عدم پاسخگویی NPC، خطاهای عملکرد و مسائل مربوط به کامپایل کوئست.
کوئستها، مکالمات NPC، سیستمهای رویداد، زیستشناس، تلهپورت، بازار، ردیابی رئیس، پاداشهای روزانه و بسیاری از سیستمهای ویژه در سرورهای Metin2. تلاش از طریق فایل ها کار می کند. بنابراین، حتی یک اشتباه کوچک در سمت quest ممکن است باعث شود NPC واکنشی نشان ندهد، رویداد شروع نشود یا فایل syserr کانال دائماً خطا ایجاد کند.
بزرگترین مشکل خطاهای quest این است که خطا اغلب عمومی به نظر می رسد، مانند "NPC کار نمی کند". اما دلیل واقعی ممکن است vnum اشتباه، عملکرد از دست رفته، نحو شکسته، ساختار حالت معیوب یا کامپایل نشدن کوئست باشد.
1. کجا فایل های Quest را پیدا کنیم؟
مسیر فایل های Quest ممکن است بسته به زیرساخت سرور متفاوت باشد. دایرکتوری های رایج عبارتند از:
/usr/game/share/locale/turkey/quest/ /home/game/share/locale/turkey/quest/ /usr/metin2/share/locale/turkey/quest/
فایل های Quest معمولا .کوست با پسوند فایل های ایجاد شده پس از کامپایل شی در زیر پوشه نگهداری می شود.
2. ابتدا برای درک خطای Quest بررسی کنید
اگر یک کوئست کار نمی کند، ابتدا باید فایل syserr کانال مربوطه بررسی شود.
cd /usr/game/channel1/core1 tail -n 100 syserr
برای تماشای خطاهای زنده ای که پس از بارگیری مجدد کوئست رخ می دهد:
tail -f syserr
مثال های رایج خطای quest:
no such quest function attempt to call field syntax error unexpected symbol quest not found when condition error
3. چگونه کوئست را کامپایل کنیم؟
وقتی یک فایل quest جدید اضافه می کنید، فقط انداختن فایل در پوشه کافی نیست. کوئست باید کامپایل شود.
ابتدا دایرکتوری quest را وارد کنید:
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 استفاده شده در کوئست صحیح است؟
- آیا NPCها واقعاً روی نقشه سمت سرور ایجاد می شوند؟
- آیا Quest کامپایل شده است؟
- آیا syserr بعد از /reload q رخ داد؟
- آیا شروع حالت quest صحیح است؟
- آیا اجرای کد به دلیل شرایط اشتباه در 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 مقدار NPC vnum. اگر NPC vnum نادرست باشد، کوئست کار نخواهد کرد.
6. چنین خطای تابع quest وجود ندارد
در Syserr چنین عملکرد جستجویی وجود ندارد در صورت مشاهده، تابع مورد استفاده در کوئست در سرور تعریف نشده است.
دلایل:
- کوئست از زیرساخت دیگری گرفته شده است.
- تابع quest مربوطه در سمت Source اضافه نشده است.
- تابع کمکی که باید در questlib.lua باشد وجود ندارد.
- نام تابع اشتباه نوشته شده است.
در این مورد، راه حل این است که بررسی کنید آیا عملکرد واقعاً در سرور وجود دارد یا خیر. تلاشهای گرفتهشده از فایلهای دیگر نباید مستقیماً سازگار در نظر گرفته شوند.
7. Quest Syntax Errors
رایج ترین اشتباهات تایپی در فایل های Quest عبارتند از:
- پایان تحت استفاده یا استفاده بیش از حد
- نبستن گیومه ها
- هنگام نوشتن شرط اشتباه است
- استفاده از حروف ترکی یا کدگذاری بد
- استفاده از توابع برگرفته از سیستم دیگر بدون تطبیق
نمونه ساختار معیوب:
say("Merhaba oyuncu)ساختار صحیح:
say("Merhaba oyuncu")8. مشکلات پرچم کوئست
برخی از ماموریتها پرچمی را روی کاراکتر یا حساب کاربری نگه میدارند. تلاش شروع نمی شود یا ممکن است به نظر می رسد که به دلیل مقدار پرچم نادرست تکمیل شده است.
به عنوان مثال، اگر یک ماموریت قبلاً تکمیل شده باشد، NPC ممکن است دوباره منو را نشان ندهد. در این صورت باید پرچم quest مربوطه بررسی شود.
اشتباهات رایج
- فراموش کرده اید که فایل Quest را در یک پوشه قرار داده و آن را کامپایل کنید
- انجام /reload q حتی اگر یک خطای کامپایل وجود داشته باشد
- مقدار NPC vnum اشتباه است
- استفاده از ماموریت های گرفته شده از فایل های دیگر بدون تطبیق آنها
- تصور اینکه یک NPC بدون بررسی پرچم quest کار نمی کند
- به نظر می رسد که جستجو درست است اما کار نمی کند زیرا رمزگذاری خراب است.
سوالات متداول
من /reload q را انجام دادم اما quest کار نکرد، چرا؟
Quest ممکن است اصلا کامپایل نشده باشد، ممکن است در حین کامپایل خطا داده باشد یا به دلیل وضعیت وضعیت/پرچم در پخش کننده قابل مشاهده نباشد.
روی NPC کلیک می کنم و منو ظاهر نمی شود. آیا مشکل از NPC است؟
نه همیشه. حتی اگر NPC vnum درست باشد، ممکن است quest به دلیل شرایطی کامپایل، اشتباه نوشته یا اجرا نشود.
چرا کوستی که از سرور دیگری دریافت کردم خطا می دهد؟
از آنجا که توابع استفاده شده، ساختار questlib یا پشتیبانی منبع ممکن است در زیرساخت شما در دسترس نباشد.
توصیه های ایمنی و عملیات
- قبل از ویرایش Quest از فایل پشتیبان تهیه کنید.
- در طول ساعات کم پخش، تغییرات عمده ماموریت را در سرور زنده اعمال کنید.
- پس از هر کامپایل کوئست، syserr را بررسی کنید.
- به حروف ترکی و تحریفات رمزگذاری توجه کنید.
- قبل از حذف انبوه عملیات پرچم تلاش مربوط به داده های پخش کننده، یک نسخه پشتیبان تهیه کنید.
این مقاله به طور ویژه برای PvPServer تهیه شده است.