سلام عليكم ورحمة الله وبركاتة
لاحظت ان كثير من الناس ماتفهم الكويست او تقراه وصراحه ماالومهم لأن مافي شرح للكويست (للمعلوميه انا تعلمت الكويست من ناس الله يعطيهم العافيه سألتهم وجاوبوني ثم بديت اجرب واجرب واجرب ومع الفشل المتكرر تعلمت
وصارت خبرتي متوسطه في الكويست وحاب اقدمها لكم بالموضوع عشان تستفيدون ودون مقابل لوجه الله وابي اشوف اختراعات وافكار عجيبه)
نبدا بسم الله:
الكويست ماهو الكويست؟؟
عباره عن اوامر من السيرفر تنفذ في اللعبة ودوال الكويست مصنوعه من لغه C++ ولو تلاحظون في سورس السيرفر راح نلاقي اكثر من 6 ملفات اساميهم quest
طبعا بدال ما تكتب كلام كثير في الكويست يختصرونها لك ب داله
وسهلت عليكم الدوال بشكل كبير لأني سويت تجميعه دوال محترمه وحطيتها ف موضوع الان ابي منك يا صانع الكويست ان تروح لموضوعي دوال الكويست وتنسخ الدوال وتلصقه في ملف وتابع معي الموضوع
طبعا الموضوع لا يشمل كويست المهام
الان عندي انا كويست بسيط
quest qaqa begin
state start begin
when login begin
end
end
end
الكويست هذا الان ماحطينا فيه دوال ولا شيء يعني لو تفعله ماراح يصير شيء بالسيرفر لانه لايوجد اوامر
نشرح الان
هنا يقولك كويست qaqa بمعنى
ان اسم الكويست هو qaqa ممكن تغيره عادي لكن لما تفعله راح يكون موجود في مجلد الاوبجكت في فايل زيلا
الان
ماهو begin
راح احاول ابسطه بأسهل طريقه
هذا معناه قفل او انتهاء او نهايته الكويست مثلا
لو تلاحظون هنا حطينا كويست واسم الكويست وقفلناه او انتهينا من هذي النقطه
نروح ل
state هذا مجلد يكون في مسار الاوبجكت وجنبه start بمعنى تفعيله في مجلد state ممكن اذا فعلت كويست تروح لمسار
/usr/game/share/locale/turkey/quest/object/state
وتلاقي اسم كويستك هنا
الان نروح ل
when معناها شكل الكويست هل هو كويست تاجر او كويست دخول والى اخره..
هنا يتم تصنيع الكويست واوامره وشروطه بأمكانك استبدال login بأشياء ثانيه (الاغلب موجود في موضوع دوال كويست)
معنى login لما يدخل اللعبه وبأمكانك تضيف له شروط فمثلا الان بضيف شرط احط with ثم داله الشرط الي هي جي ام(طبعا الدوال اذا كنت جاهلها ادخل موضوع دوال الكويست راح يساعدك جدا)
بحيث يكون
when login with pc.is_gm() begin
الان اذا حطينا شرط الجي ام اذا دخل الجي ام اللعبة وبنضيف له شرط ثاني بعد الي هو رقم الماب نكتب اول شي بعد شرط الجي ام and ثم شرط رقم الماب
بحيث يكون
when login with pc.is_gm() and pc.get_map_index(212) begin
الان صار اذا دخل الجي ام اللعبه وفي ماب رقم 212
الان نبي نحط له امر
مثلا اعطاءه غرض نكتب داله الغرض والي هي
طبعا 71175 هو رقم الغرض و 1 هو عدد الغرض
بحيث يكون الكويست
quest qaqa begin
state start begin
when login with pc.is_gm() and pc.get_map_index(212) begin
pc.give_item(71175, 1)
end
end
end
الان حطينا اذا دخل الجي ام اللعبه ويشترط يكون رقم الماب 212
يعطيه الغرض
الان بنضيف شرط اللفل
اول شي نحط if ثم داله اللفل ثم = ثم اللفل الي يشترطه ثم نسكره بكلمه then ونضيف له غرض
بحيث يكون الكويست كالتالي
quest qaqa begin
state start begin
when login with pc.is_gm() and pc.get_map_index(212) begin
if pc.get_level() = 90 then
pc.give_item(71175, 2)
else
pc.give_item(71175, 1)
end
end
end
end
الان في كثير من الناس بيلاحظ اني اضفت else و end جديده
بشرحلكم
حنا حطينا شرط اللفل لكن اذا دخل الماب ولفله مو اللفل المطلوب وش نسوي؟
نحط else الي معناها (او)
بمعنى دخل الماب واذا لفله اللفل المطلوب يعطيه الغرض دبل
لكن اذا دخل الماب ولفله مو اللفل المطلوب يعطيه غرض واحد فقط
طبعا كله مثال ممكن انك تستبدله وعادي
الان بشرحلكم نقطه مهمه جدا والي هي ال end
بمعنى النهايه
لو تلاحظون بدايه الكويست العادي الي بدون اضافات عنده 3 end ولما اضفنا شرط زودنا end
ليه؟
ال end مهمه بمعنى نهايه الامر او نهايه الكويست
فلما تصنع كويست لازم يكون له نهايه او تسكيره كلهم معنى واحد
طيب الان فهمنا بس متى نحط end
الان بعلمكم
نحط end عندما يكون موجود شرط if وطبعا مهم ان يكون له end
نحط end عندما يكون موجود كود when login begin
نحط end عندما يكون موجود كود state start begin
نحط end عندما يكون موجود كود quest qaqa begin
وهنا اظن اني انتهيت من الجزء الاول من الكويست
طبعا الموضوع ناقصه اشياء كثيره بس الجزء الاول حاولت اني ابسطه لكم بأسهل طريقه دون تعقيد
وماعندي مشكله اذا في احط الاعضاء بيكمل الموضوع باجزاء ثانيه بالعكس راح اشكره من كل قلب
ونشوفكم في الجزء الثاني ان شاء الله
ان كان في شيء ناقص في الموضوع او خطأ اتمنى تكتبلي ياه تحت الموضوع
ولاتنسون الدعاء