السلام عليكم و رحمة الله و بركاته
الى من يحب الgame maker و يحب عمل الrpg به
الدرس ده انشاء الله هيكون عن
> عمل نظام level بطريقة سهلة
> عمل quest
طبعا لازم نستخدم GML بي انا هشرخ كل خطوة باذن الله
>>>>>>><<<<><<<<<level system
الفكره:
عمل متغيرات لل level ,exp,exp limit
create event for object player
كود:
global.lvl = 0
global.xp = 0
global.xp_l = 10
طبعا كل حاجة واضحه؟؟؟
step event for player
كود:
if global.xp > global.xp_l -1
{
global.xp = 0
global.xp_l+=10
global.lvl += 1
}
و يقريبا كلو و اضح
انتهينا من نظام level
>>>>>>><<<<><<<<<quest
الفكرة معقدة قليلا لكن لنستعن بالله و نبدا
create for object nbc
كود:
quest = false
item_need = 0
item_coll = 0
name = "old"
quest :ده المتغير اللى هنشغل به الكويست
item_need:عدد الحاجات اللى الكويست عايزاها
item_coll:عدد الحاجات اللى جمعناها
left_pressed for nbc
لازم نضع test variable from controll tap
New Bitmap Image.bmp
و بعدين نحط هذا الكود:
كود:
if quest = false
{
var ask;
ask =show_question("can u help me")
switch(ask)
{
case 1:
show_message = ("bring me 5 black and yellow circles")
quest = true
item_need = 5
break ;
case 0:
show_message("go away")
break;
}
}
لو الكويست مش شغاله
يعمل متغير اسمه ask
المتغير ده بيظهر سؤال
case 0 =لو الاعب اختار لا
case1 = لو الاعب اختار نعم
و بعدين هذا الكود
كود:
if quest = true and item_coll >= item_need
{
show_message("thanks")
global.xp +=10
quest = false
item_need = 0
item_coll = 0
}
لو الكويست شغاله و الحاجات اللى جمعناها تساوى او اكثر من اللى احنا محتاجين
تظهر رساله
ناخذ 10 exp
يطفئ الكويست
و بغدين نخط الكود ده
كود:
if quest = true and item_coll <> item_need
{
show_message("iam waiting")
}
لو الكويست شغاله و الحاجات اللى جمعناها لا تساوى اللى احنا محتاجين
تظهر رساله
collision event for item with object player
كود:
if nbc.quest = true{
nbc.item_coll +=1
instance_destroy()}
else
exit
لو الكويست شغاله
item_coll +1
تدمير الitem
عندى طلب صغير ارجو محدش يبخل به
اللى يستخدم الكلام ده
مش هائول يحط اسمى فى credits
بس كل و احد يستخدم ده ميبخلش عليا بالدعاء لى بالمغفرة و الرحمة
_________________________________________________