قبل از ادامه آموزش برخی دوستان در ورژن گیم میکر استودیو 1.4.1522 و 1.4.1657 با خطایی مواجه شدن که با توجه به استفاده از گیم میکر استودیو 1.4.1760 برای آموزش چنین خطایی در این ورژن مشاهده نشده بود در هر صورت کدهای زیر رو جایگزین کدهای ایونت Create ابجکت obj_loading_player کنید تا مشکل رفع گردد.
get =http_get( string ( 'https://gmstudio.ir/online_tenbase/player.php?name=' ) + string(global.username)+ string('&hero=')+ string(global.userhero)) image_speed=0.5 show=0 size=0 alarm[0]=150
بریم سراغ ادامه کار چهار اسپرایت با نامهای spr_h_1_attack و spr_h_2_attack و spr_h_3_attack وspr_h_4_attack برای نمایش حالات حمله کاراکتر هامون ایجاد میکنیم و اسپرایت های مربوطه رو لود میکنیم و یک اسپرایت با نام spr_power برای نمایش میزان قدرت حمله ایجاد میکنیم.
یه ابجکت با نام obj_power ایجاد میکنیم و در ایونت Create کدهای زیر رو وارد میکنیم.
image_speed=0.5 klid=0 alarm[0]=10
در ایونت آلارم همین ابجکت کد زیر رو وارد میکنیم
klid=1
در ایونت گلوبال لفت پرس کد زیر رو وارد میکنیم
if(klid=1) { global.attack=0.3+image_index/10 instance_create(400,240,obj_send_attack) instance_destroy() }
کدهای ایونت گلوبال لفت پرس آبجکت obj_attack رو به صورت زیر تغییر میدیم تا مستقیما ابجکت ارسال اطلاعات به سرور رو ایجاد نکنه و بجاش ابجکت پاور رو ایجاد کنه.
if(instance_number(obj_send_attack)=0 ) { instance_create(400,240,obj_power) }
کدهای ایونت .step. آبجکت obj_send_attack رو به صورت زیر تغییر میدیم
if(show='1' or show='2') { global.e_attack=real(attack[0]) global.e_heath=global.e_heath-global.attack*10 global.heath=global.heath-global.e_attack*10 if(global.e_heath<=0 or global.heath<=0 ) { room_goto(room0) } obj_enemy.image_index=0 obj_player.image_index=0 if(global.e_userhero=1) {obj_enemy.sprite_index=spr_h_1_attack} if(global.e_userhero=2) {obj_enemy.sprite_index=spr_h_2_attack} if(global.e_userhero=3) {obj_enemy.sprite_index=spr_h_3_attack} if(global.e_userhero=4) {obj_enemy.sprite_index=spr_h_4_attack} if(global.userhero=1) {obj_player.sprite_index=spr_h_1_attack} if(global.userhero=2) {obj_player.sprite_index=spr_h_2_attack} if(global.userhero=3) {obj_player.sprite_index=spr_h_3_attack} if(global.userhero=4) {obj_player.sprite_index=spr_h_4_attack} instance_destroy() }
خب حالا اسپرایت دشمن و پلیر در حالت حمله قرار میگیرن برای برگردوندن حالت ایست به دو آبجکت کدهای زیر رو در هر یک از ابجکتها در ایونت Animation End قرار میدیم.
در آبجکت obj_enemy کدهای زیر
if(global.e_userhero=1) {sprite_index=spr_h_1_stop} if(global.e_userhero=2) {sprite_index=spr_h_2_stop} if(global.e_userhero=3) {sprite_index=spr_h_3_stop} if(global.e_userhero=4) {sprite_index=spr_h_4_stop}
در آبجکت obj_player کدهای زیر
if(global.userhero=1) {sprite_index=spr_h_1_stop} if(global.userhero=2) {sprite_index=spr_h_2_stop} if(global.userhero=3) {sprite_index=spr_h_3_stop} if(global.userhero=4) {sprite_index=spr_h_4_stop}
خب خسته نباشید یه بازی ساده تحت هاست یا سرور ترن بیس خدمت شما.