Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> ساخت بازی های کامپیوتری به وسیله نرم افزار Game Maker -> اسكريپت هاي كاربردي game maker
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه قبلي  1, 2, 3, 4  بعدي

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2983
محل سكونت: On the edge


5 شنبه 22 دي 1384 - 02:31
پاسخ بصورت نقل قول
////////////////////////////////////////////////////////////////
// script name: Move_Aligned
// creator: Chris Johns (FlameMage99@aol.com)
// date: September 2, 2001
// updated: N/A
//
// description: Checks for colisions before moving in the
// specified direction. It will also ignore keyboard
// input unless the player is 'snapped to a grid' at
// 16 x 16 which should make crossing narrow paths
// easier. The snapping can cause problems if the
// room is not the appropriate dimensions. The player
// will stop movement only when the arrow keys are
// not pressed. Unlike the no key event, which can
// create bugs when used for that purpose.
//
// arguments: N/A
//
// remarks: Place in the step event.
// This was originally done for Chronic's RPG Engine.
// Good luck Chronic!
//
//////////////////////////////////////////////////////////////////
{
if (place_snapped(16,16))
{
if (keyboard_check(vk_left))
{
if (place_free(x-4,y)) speed = 4 else speed = 0;
direction = 180;
image_single = -1;
sprite_index = player_left;
}
if (keyboard_check(vk_up))
{
if (place_free(x,y-4)) speed = 4 else speed = 0;
direction = 90;
image_single = -1;
sprite_index = player_up;
}
if (keyboard_check(vk_right))
{
if (place_free(x+4,y)) speed = 4 else speed = 0;
direction = 0;
image_single = -1;
sprite_index = player_right;
}
if (keyboard_check(vk_down))
{
if (place_free(x,y+4)) speed = 4 else speed = 0;
direction = 270;
image_single = -1;
sprite_index = player_down;
}
if not(keyboard_check(vk_left) || keyboard_check(vk_up) ||
keyboard_check(vk_right) || keyboard_check(vk_down))
{
speed = 0;
image_single = image_index;
}
}
}

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2983
محل سكونت: On the edge


5 شنبه 22 دي 1384 - 02:31
پاسخ بصورت نقل قول
////////////////////////////////////////////////////////////////
// script name: Game Save Prompt
// creator: Chris Johns (FlameMage99@aol.com)
// date: September 9, 2001
// updated: N/A
//
// description: This is used to create a saved game file. It'll
// ask to replace the file if it already exists.
//
// arguments: N/A
//
// remarks: The file extension should be provided by the user.
// Call from any event to trigger a save prompt, for
// example, a key or mouse button.
//
//////////////////////////////////////////////////////////////////

{
SaveAs = get_save_filename('Saved Games *.sav|*.sav','Untitled.sav');
mouse_clear(mb_left);
if (file_exists(SaveAs))
{
if not(show_question('Warning!'+chr(13)+SaveAs+' Already exists!'+chr(13)+'Do you want to overwrite it?'))
{
mouse_clear(mb_left);
exit;
}
}
game_save(SaveAs);
}

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2983
محل سكونت: On the edge


5 شنبه 22 دي 1384 - 02:31
پاسخ بصورت نقل قول
////////////////////////////////////////////////////////////////
// script name: File Execute
// creator: Chris Johns (FlameMage99@aol.com)
// date: September 5, 2001
// updated: N/A
//
// description: This opens a file if it can be found. The mask
// is for mp3 files only, and uses execute_shell,
// so will not work in secure mode.
//
// arguments: N/A
//
// remarks: Call from the step event
//
//////////////////////////////////////////////////////////////////
{
if (mouse_check_button(mb_right))
{
bgmusic = get_open_filename('Mpeg Layer 3 (*.mp3)|*.mp3','mp3');
mouse_clear(mb_right);
if (file_exists(bgmusic)) execute_shell(bgmusic,0);
}
}

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
mory
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 3 شنبه 3 خرداد 1384
تعداد ارسالها: 1187


5 شنبه 22 دي 1384 - 04:52
پاسخ بصورت نقل قول
عالي بودن
نقل قول:

image_single = image_index;


فقط دقت كنيد اگه با ورژن 6 كار ميكنيد image_single نداريم . به جاي اون از image_index استفاده كنيد و در صورت لزوم image_speed رو صفر كنيد .
اين فرمان هم به همراه فراميني مثل تنظيم فركانس صدا حذف شده كه خيلي به درد ميخورد .

_________________
و مهم نيست كي پنيرتو دزديده قورباغتو قورت بده .

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
zaghaghi
بازی ساز
بازی ساز


تاريخ عضويت: 5 شنبه 6 مرداد 1384
تعداد ارسالها: 120


شنبه 24 دي 1384 - 09:50
پاسخ بصورت نقل قول
اگر از اسكريپت هاي اوليه (يه خطي) هم شروع كنيم بد نيست به پر محتوا شدن و كامل شدن اين تايپيك كمك مي كنه نه؟ Idea

_________________
becoming number one is easier than remaining number one
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2983
محل سكونت: On the edge


شنبه 24 دي 1384 - 14:28
پاسخ بصورت نقل قول
موافقم... شما شروع کنید من هم سعی میکنم تا حد امکان اسکریپت های کاربردی رو معرفی کنم...




علی

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
zaghaghi
بازی ساز
بازی ساز


تاريخ عضويت: 5 شنبه 6 مرداد 1384
تعداد ارسالها: 120


1 شنبه 25 دي 1384 - 10:44
پاسخ بصورت نقل قول
Ali نوشته:
شما شروع کنید من هم سعی میکنم تا حد امکان اسکریپت های کاربردی رو معرفی کنم...




علی


بسيار خوب حالا با چند تا كد شروع ميكنيم و اين رو هم بگم اگه كدي اول آمد اين دليل بر اين نيست كه اين كد مبتدي هست و بلاعكس

---------------
تغيير شكل موس :
تو آبجكت مورد نظر در قسمت step كدهاي زير را قرار دهيد:
‍{
x=mouse_x;
y=mouse_y;
show_cursor=false;
}
خط دوم : x جسم با x موس مساوي باشه
خط سوم : y جسم با y موس مساوي باشه
خط چهارم : show_cursor=false : علامت موس را تغيير مخفي مي كند.

--------------
نمايش سوال با سه گزينه :
البته من براي مشخص كردن گزينه ها what رو تعريف كردم
{
what=show_message_ext("What do you want to do?","Resum","End","Exit");
if(what==3)
{
highscore_show(score);
game_end();
}
else if (what==2)
{
highscore_show(score);
game_restart();
}
}
خط دوم: با دستور show_message_ext :در بين "" اول سوال ، در بين""دوم گزينه اول ، در بين ""سوم گزينه دوم و در بين "" چهارم گزينه سوم را بنويسيد.
خط سوم :اگر گزينه سوم را انتخاب كرد دستور هاي خط 5 و 6 اجرا شود
خط پنجم : highscore_show :نشان دادن جدول امتيازات
خط ششم : game_end:تمام شدن بازي
خط هشتم : اگر گزينه دوم را انتخاب كرد دستور هاي خط 10 و 11 و 12اجرا شود
خط يازدهم : game_restart : شروع بازي مجدد
--------------
احمد

_________________
becoming number one is easier than remaining number one
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
mory
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 3 شنبه 3 خرداد 1384
تعداد ارسالها: 1187


4 شنبه 28 دي 1384 - 03:41
پاسخ بصورت نقل قول
(Collision_line(x1,y1,x2,y2,obj,prec,notm)

اين دستور در بازي هاي جنگي اساسا يك دستور كليدي به حساب مياد . به وسيله اين دستور ميشه تشخيص داد كه مانعي در مسير تير يا ديد قرار داره يا نه . obj اسم آبجكتيه كه ميخوايد ببينيد در مسير قرار داره يا خير . حالا اگه چند تا مانع داشتيد مثل كوه و تپه و ماشين و درخت راهش اينه كه براي همه موانع يك پدر يا parent تعريف كنيد و اسم اون parent رو اينجا قرار بديد . من معمولا بدين شكل استفاده ميكنم .

(Collision_line(x1,y1,x2,y2,ob_parent_mask,1,0

اما:
اين دستور يك خطي بين 2 نقطه ميكشه و اين خط با هر چيز برخورد كرد اين تابع مثبت ميشه و در غير از اون عددي منفي رو برميگردونه كه معمولا تا اونجايي كه من ديدم -4 هست .
پس بهتره <<<<<در بررسي نتيجه اين تابع از true و false استفاده نكنيد>>>>>>

نكته مهم :
اين تابع وقتي مثبت شد يعني مانع وجود داره ولي مهم تر اينه كه اين تابع مقداري كه برميگردونه همون ID جسميه كه مانع شده كه خيلي هم به درد ميخوره و مهمه .

_________________
و مهم نيست كي پنيرتو دزديده قورباغتو قورت بده .

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


4 شنبه 28 دي 1384 - 11:43
پاسخ بصورت نقل قول
به به اينجا عجب جاي خوبيه ما نميومديم.
آفرين زقاقي خوب پيشنهادي دادي اون قبلي ها رو آدم الا كپي كردن ازشون بهره ديگه اي نميبرد ولي اينا رو ميشه خوند و يه چيزي ياد گرفت.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
zaghaghi
بازی ساز
بازی ساز


تاريخ عضويت: 5 شنبه 6 مرداد 1384
تعداد ارسالها: 120


4 شنبه 28 دي 1384 - 22:19
پاسخ بصورت نقل قول
eta نوشته:
به به اينجا عجب جاي خوبيه ما نميومديم.
آفرين زقاقي خوب پيشنهادي دادي اون قبلي ها رو آدم الا كپي كردن ازشون بهره ديگه اي نميبرد ولي اينا رو ميشه خوند و يه چيزي ياد گرفت.

ممنون اميدوارم شما هم در اينجا فعال باشيد

اينم چندتا دستور ديگه
//////////////
sprite_index = spname;
از اين دستور براي عوض كردن اسپرايت آبجكت در حين بازي استفاده مي شود
توجه : به جاي spname نام اسپرايت مورد نظر را قرار دهيد.
///////////////
image_single=(-1 or 1)
از اين دستور وقتي استفاده مي شود كه اسپرايت متحرك است
توجه : 1- يعني متحرك شدن اسپرايت و 1 يعني غير متحرك شدن اسپرايت
///////////////
مثال زير شامل دو دستور بالا است (دستور زير در قسمت فشاردادن كليد left گذاشته مي شود.
{
x -= 3;
sprite_index = chap;
image_single =-1;
}
تحليل دستور بالا : اگر كليد left زده شد ، در حالي كه به سمت چپ حركت مي كند اسپرايت آن تغيير كرده (chap) و آن اسپرايت متحرك مي شود.
--------------------------------
البته اين اسكريپت هايي كه من توضيح ميدم در حد مبتدي هست و اسكريپت هاي پيشرفته تر رو از علي آقا و ساير دوستان خواهيم ديد.
احمد

_________________
becoming number one is easier than remaining number one
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 2 از 4 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
برو به صفحه قبلي  1, 2, 3, 4  بعدي


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |