صفحة 1 من 6 12345 ... أخيرأخير
النتائج المعروضة من 1 الى 20 من مجموع 118

موضوع: - مجلس لمناقشة أسئلة غيم ستوديو -

ردود: 118 | زيارات: 16665
  1. #1
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    - مجلس لمناقشة أسئلة غيم ستوديو -

    السلام عليكم ورحمة الله وبركاته :
    أتمنى من جميع الأخوة الذين يستخدمون الغيم ستوديو أن يطرحوا أية أسئلة متعلقة هنا .. حتى نستزيد من خبرات بعضنا البعض ، وحتى تكون الأسئلة والإجابات كلها في مكان واحد - وأتمنى من المشرفين التثبيت - .

    تحياتي .
    أسد الله
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .


  2. #2
    عضو متميز
    صور رمزية NEO 3D
    تاريخ التسجيل
    Jul 2003
    المنطقة
    سوريا
    العمر
    30
    ردود
    2,291
    مرحباً أنا حملت الغيم ستوديو 6 و لم أعرف كيف أستخدمه و لاأن أضرب زر فيه أبداً لكن هل لك أن تعطيني لمحة بسيطه عنه و كيف يعمل و قليلاً من الدروس للمبتدئين فيه بالعربية أو الإنكليزية لايهم و إنشاء الله يجعلها في ميزان حسناتك و يدخلك جنانه...






    إذا لم أعد أدخل على المنتدى فهذا يعني أن النت انقطع عن منطقتي...



  3. #3
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    Post

    بسم الله الرحمن الرحيم
    ================= Intro To WED===========
    سآخذ دورة على الأشياء المهمة فقط ...
    -----------------------------------------
    Map Properties
    -----------------------------------------
    من file تجد الخيار map properties :
    \\\\\\ Main///////
    Nexus = يحد هذا العدد من المجسمات التي ترسمها ( أعلى قيمة مسموحة 200 ) حتى تضمن أنك لن تتجاوز حدود معينة أو على حسب ما خططت للعبتك ، تزيد من قيمتها عند ما تظهر رسالة nexus small .
    palette = نادرا ما تحتاج أن تغيرها على كل هي تؤثر على ألوان الخامات ،غيرها عند ظهور نتائج خاطئة .
    script = الملف الرئيسي للبرمجة والذي يحوي استدعاءات الملفات الفردية يمكنك أن تنشئ برمجة جديدة عن طريق أيقونة الورقة أو أنك تفتح برمجة قديمة .
    ملاحظة : الألعاب ذات أكثر من مرحلة تتطلب منك وضع ملف واحد لكل مراحلك من أجل عملية التحميل .
    -----------------------------------------
    \\\\\\Fog///////
    الضباب بتدرجاته و يستحسن أنك تبرمج الضباب ، ويستفاد من الضباب غير كونه مؤثر وبيئة يستخدم في تغطية عيوب الـ field of view حتى تقلل من ضغط التفاصيل على الأجهزة مما يزيد من سرعة الأداء في اللعبة .
    ----------------------------------------
    \\\\\\Sun///////
    تحكمات الإضاءة بشكل عام
    Sun = الإضاءة ولونها تأثيرها عام على كل المرحلة - مثال لو جعلنا لون الإضاءة أصفر سنلاحظ أن المرحلة كلها تنقلب إليه - .
    Ambient = سطوع الإضاءة .
    Sun Azimut And Sun Elevation = موقع الشمس .
    ----------------------------------------
    ----------------------------------------
    قائمة File :
    Build= بناء المرحلة .
    Run = تشغيل المرحلة .
    Starter = للنسخة الإحترافية فقط - كما يقول الاسم - .
    Resource = تصدير لعبتك على هيئة ملف برمجي واحد من صيغة WDF ... أكثر تعقيد عندما تتعامل مع ملفات الـ DLL .
    Publish = تصدير اللعبة - يكون الخيار مطفأ عندما تكون اللنسخة لديك غير أصلية - .
    ----------------------------------------
    Prefrence
    ----------------------------------------
    من File .
    \\\\\Main//////
    Snap= قوة جذب المجسمات عند التحريك - غالبا ما أطفئ هذا الخيار عدا عندما أريد أن اضع المجسمات على الأرض -.
    Rotate Snap= نفس العمل ولكن هذا يؤثر على الإستدارة .
    Hollow Wall= غالبا ما أستخدم القيمة اثنان .. وهو مقدار سماكة جدارن المكعب Hollow والمستخدم في تصميم الغرف من Object .. Hollow Cube .
    Walk Speed= سرعة التحرك داخل البرنامج في وضعية الـ Walk Thru >
    Grid Low ANd Grid Hi = للتحكم بالشبكة .
    Snapping = للتفعيل خاصيتي الجذب المذكورة .
    Group Sub Pieces= عندما نقوم بعمل حفر -CSGSubtract- أو Hollow نلاحظ تقسم المجسم إلى أكثر من قطعة حيث أن القطعة الواحدة في الغيم ستوديو لا تتجاوز التكعيب وهذه الخاصية تجعل الجسم
    كله عبارة عن قطعة واحدة مهما حصل ( إذا كان أصله كذلك ) باختصار Auto Grouping .
    Duplicate Offset = عندما تقوم بعملية النسخ Duplicate Ctrl+D القيمة التي تضعها هنا لمحوري الـ X Y هي التباعد بين النسخة الأصلية والنسخة الجديدة .
    Video Out=الـ Render ، عندما تضغط على الملف بجانبه تخرج لك خيارات أتمنى أن تأخذ نصيحتي هنا :
    1- عندما تعمل في التصميم استخدم GXl Base .
    2- عندما تضيف Terrain لا تخرج عن Gxl Base أبدا .
    3- عندما تعمل على الخامات استخدم Gxl2dx8 or Gxl2dx8a .
    \\\\\\Advanced/////
    لن أشرح هنا سوى ثلاث خيارات :
    Bound Box During Changes= بتفعيل الخاصية - Default - ستلاحظ عند تحريك الكاميرا أو تغيير المشهد أن كل المجسمات - Entities - تنقلب مربع فقط بدون رسم التفاصيل من
    جل التخفيف على المشهد .
    Animated Textures= بتفعيل هذه الخاصية سيعرض لك الخامات المتحركة حية في الـ Editor .
    Display Entity Shape=عند عدم تفعيل هذه الخاصية ستعرض المجسمات - Entities -دائما في الوضعية المربعة ( بدون رسم التفاصيل ) .
    \\\\\Keys/////
    للإختصارات .
    \\\\\Editor///
    تحدد لكل صيغة البرنامج الذي يفتحها .
    ---------------------------------------
    يبدو أني بدأت أدوخ قليلا أعذروني سأتابع في وقت لاحق .
    أخر تعديل بواسطة أسد الله في 18 / 07 / 2004 الساعة 09:33 PM
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  4. #4
    عضو متميز
    صور رمزية NEO 3D
    تاريخ التسجيل
    Jul 2003
    المنطقة
    سوريا
    العمر
    30
    ردود
    2,291
    شكراً أخي على المجهود الرائع و إذا كان هنالك غيرسؤال فسأسألك أخي الغالي...






    إذا لم أعد أدخل على المنتدى فهذا يعني أن النت انقطع عن منطقتي...



  5. #5
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675
    العفو .
    يمكنكم الإستزادة من موقع الشركة
    www.3dgamestudio.com
    ---------------------------------
    إذهب إل Links
    يمكنك أن تحصل هناك مجموعة ضخمة من الدروس والملفات .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  6. #6
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675
    أخي MAX_3DO :
    3- هذا من عيوب الغيم ستوديو بالنسب لمجسمات .MDL إذا كان الجسم الذي تريد تسليط الضوء عليه لا يتحرك ، فيمكنك تصميمه بالـ Wed بصيغة map Entity .
    4- هذه بالبرمجة كمثال :
    أولاً تعرف اللاعب للبرمجة : Entity *hero;
    بعد ذلك تضيف في برمجة اللاعب : hero=me;
    ثم شغل اللعبة واضغط tab - سيظهر مؤشر كتابة البرمجة -
    أكتب :
    كود PHP:
    Hero.lightrange=300;
    Hero.lightRed=255;
    Hero.lightGreen=125;
    Hero.lightBlue=125
    ثم انظر إلى النتيجة بنفسك - طبعا يمكنك أن تتعمق إلى نتيجة أكثر إقناع - .

    تحياتي .
    أخر تعديل بواسطة أسد الله في 26 / 07 / 2004 الساعة 11:38 PM
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  7. #7

    Thumbs up فكرة طيبة !!!!

    أخي أسد الله ، فكرة طيبة وأرجو من المشرفين (الغائبين دوماً) التثبيت والاهتمام بالمنبر و بمثل هذه المواضيع البناءة .... أرجو لك التوفيق ولكل المشاركين في موضوعك !!!!!!! ......
    Live Free ... Die Well
    The Scorpion King

  8. #8
    عضو
    صور رمزية mojazef
    تاريخ التسجيل
    Jun 2003
    المنطقة
    السعودية
    ردود
    71
    السلام عليكم ورحمة الله وبركاته
    أخي أسد الله
    كيف يمكنني جعل القائمة صورة
    وجعل الطاقة صورة أيضا
    وشكرا
    تحياتي ..

  9. #9
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675
    حسنا أخي دعني أعطيك مثال توضيحي :-

    عندما نريد أن نعرف أي صورة للمحرك - طبعا داخل البرمجة - نكتب :-
    bmap Test=<testing.BMP>;//صورة القائمة
    bmap health=<health.BMP>;//صورة الطاقة
    bmap button_map=<bm.BMP>;//صورة الزر
    test هو اسم صورتك للبرمجة أي صار لديك اسم test يرمز إلى الصورة testing .
    ثم
    panel Menu_test
    {
    bmap test;//اسم الصورة والذي عرفناه سابقا
    pos_x=0;//موقع الصورة عن حافة الشاشة اليسرى
    Pos_y=0;//موقع الصورة عن حافة الشاشة العلوية
    Layer=4;//مثل شفائف الفوتوشوب فلو عرفنا صورة أخرى بقيمة 5 ستظهر فوق هذه الصورة
    hbar = 10,10,200,health,1,player._health;//200 استبدلها بقيمة العرض وليس الإرتفاع في الصورة لديك
    button = 100,100,button_map,button_map,button_map,اسم الأمر,NULL,NULL;//ضع اسم الأمر كما هو موضح حيث عند الضغط على الزر سيستدعي الأمر .

    Flags=visible,refresh,d3d;//الغ visible اذا أردت أن تظهرها في وقت معين
    }

    إذا أردت أن تظهر القائمة في وقت معين ألغ visible.
    واذهب إلى الـ Function Main
    واكتب في آخره .
    Menu_Test.visible=on;
    وبعد تحميل المرحلة
    Menu_Test.visible=off;

    تحياتي.
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  10. #10
    عضو
    صور رمزية mojazef
    تاريخ التسجيل
    Jun 2003
    المنطقة
    السعودية
    ردود
    71
    شكرا لك أخي على هذا الشرح

  11. #11
    عضو جديد
    تاريخ التسجيل
    Jul 2004
    ردود
    41

    Cool

    السلام عليكم ........
    كيف حالكم...
    انا عضو جديد في المنتدى
    اعمل على الجبم استودبو منذ اشهر وانا اصمم لعبتي الاولى.......
    ولدي بعض المشاكل
    1-اريد(وما عليكم أمر)السكريبت للدايناميك لايت و للدايناميك شادو لاني ما عرفت اكتبه مع اني اطلعت على الhelp
    2-كيف افعل خاصية mirror مع اني اشرت عليها
    3-كيف اعمل spot ligth لاني حاولت ونفس مشكلة السؤال الاول
    4-هل الدايناميك شادو لا يسقط الا على الارض؟ اذا كان لا فكيف اعمل ذلك؟
    5-كيف اعمل ضباب مثل سايلنت هيل؟ و هل يمكن عمل filter مثل فلتر التشويش؟
    6-كيف اعمل اكثر من 20 مرحلة؟
    7-اسقاط النور على الموديل غير واقعي ؟ يعني لما طرف الموديل يضيء يضيءالموديل كله بنفس الاضاءه كيف اعدله؟
    8-هل يمكن عمل spot ligth يتحرك مع الشخصية؟
    آسف على الاطاله......
    وارجو الرد بالتفصيل الممل
    قريبا سأعرض الصور الاوليه للعبة

  12. #12
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    Post

    وعليكم السلام ....
    1- بالنسبة للـ Dynamic Shadow تضيف إلى برمجة اللاعب السطر التالي فقط :
    كود PHP:
     my.shadow=on
    وبالنسبة للإضاءة نفس الشيء :-
    كود PHP:
    my.lightrange=500;
    my.lightRed=255;
    my.lightGreen=255;
    my.lightBlue=255

    2- بالنسبة للمرايا إذا كانت لديك النسخة الإحترافية فقط يمكنك عمل ذلك وستجدها من ضمن الـ Template .. ولكن يمكنك محاكاة عملها بخدع برمجية وهذه متعمقة شوي .

    3- لا يمكن عمل ذلك إلا بالبرمجة ( وتقريب المجسم من الأرض ) - حيث أن الغيم ستوديو لا يحوي إضاءة على منطقة واحدة - .

    4- نعم وهذه من عيوب الغيم ستوديو - ولكن يمكنك أن تقلل منها عن طريق أنك تقلل ميلان الأسطح .

    5- بالنسبة للضباب يختلف على حسب الإصدار :
    للإصدار A5 :
    تستخدم الأمر Camera.Fog

    والإصدار A6 :
    Camera.Fog_far
    camera.fog_near
    camera.fog
    fog_color

    وبالنسبة للتشويش أرجوا أن توضح أكثر .

    6-حسنا لنشرح أولاً كيفية الإنتقال من مرحلة إلى مرحلة :
    كود PHP:
    var current_level;
    action lev_1
    {
     while (
    1)
     {
      
      while (
    vec_dist (player.xmy.x) > 80)
     {
      
    wait (1);
     }
     
    level_load(level1);
     
    current_level=1;
     
    wait(1);
     }

    وتعطي هذا الأمر للجسم الذي إذا وصله اللاعب يفوز ..
    أو إذا أردنا مثلاً أن يفوز الاعب إذا قتل كل المجرمين :
    نعرف متغير بقيمة عدد المجرمين في المرحلة وكلما قتل مجرم ينقص من المتغير واحد وتقول إذا كان المتغير يساوي القيمة واحد استدع الأمر الذي ذكرته والذي ينقله إلى المرحلة الأخرى طبعا مع حذف while .

    7-لأنك تستخدم صيغة MDL وهذه أحد عيوبه .. إذا كان المجسم ليس كثير التفاصيل وغير متحرك صممه عن طريق الـ Wed بصيغة Map Entity .

    8- إستبدل البرمجة في الإجابة الأولى :

    من:
    my.lightrange=500;

    إلى :
    player.lightrange=500;
    وهكذا .

    - ننتظر الصور - .

    تحياتي .
    أسد الله .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  13. #13
    عضو جديد
    تاريخ التسجيل
    Jul 2004
    ردود
    41

    Talking

    1-كيف حالك يا أسد الله........

    عملت بما قلت ولكن لا يوجد ظل إلا للشمس!
    وأنا اريد لأية نور أضيفه.
    2-وضح أكثر. النسخة لدي أحترافيه والحد الأقصى للnexus=500 (في أحد المواضيع قلت الحد الأقصى =200) ويجد flage لل mirror أأشر عليه ولايعكس الأسطح.
    3-ماهي البرمجة المطلوبه؟ ( وتقريب المجسم من الأرض ) يعني ماتتأثر الجدران؟
    4-يعني ماتجي الاعلى الأرض؟طيب أنا قريت في الmagzen (مجلة الجيم أستوديو)سطر برمجي var_stencil يخلي الظل سسقط على أية شي حتى على الموديل نفسه؟كيف؟
    5- الأصدارA6 يعني أفتح سكريبت جديد وأكتب السطور من دون زيادة؟
    التشويش فلتر دايم مع الكاميرا.
    6-لوأعمل levle ثاني أغيرlev1 فقط.
    7-طيب التفاصيل كثيره ما الحل؟ مع تفصيل كامل للحل الأخر(شكلي أبتعبك معي).
    8-بيصير spot والا point أنا ابغاه spot.(زي كشاف في يد اللاعب)
    9-قريت في help اني اقدر اخلي الموديل يسقط ظلال ثابت بسكريبت كيف؟
    10-وش تنصحني بأفضل طريقة لجلب مجسم من الماكس؟وأرجو توضيح الطريقه؟
    الصور أبحطها في موضوع shadow fear
    يتبع.........
    أخر تعديل بواسطة mrb في 27 / 07 / 2004 الساعة 07:40 PM

  14. #14
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    Post

    أخي لا يمكنك عمل ضل لكل إنارة ضل الإنارات فقط يؤثر على مجسمات اللعبة - من ناحية الظل - .
    nexus=500 هذا يعني أن النسخة التي لديك هي A6 pro ..

    بالنسبة للمرايا ألق نظرة على البرمجة التالية :-
    كود PHP:
    view mirror { }
    function 
    init_mirror_z()

    camera.portal mirror;
    mirror.noshadow on// suppress shadows in the mirror
    mirror.portalclip on;
    while (
    1)

    proc_late(); // place it at the end of the function list - the camera must be moved before
    mirror.genius camera.genius;
    mirror.aspect = -camera.aspect// flip the image upside down
    mirror.arc camera.arc;
    mirror.fog camera.fog;
    mirror.camera.x;
    mirror.camera.y;
    mirror.2*camera.portal_z-camera.z//move the camera downwards by twice the portal distance
    mirror.pan camera.pan;
    mirror.tilt = -camera.tilt// flip the vertical camera angle
    mirror.roll = -camera.roll;
    wait(1);
    }

    3- لا أعرف إن كانوا أضافوا هذه الميزة إلى الإصدار A6.22 ، ولكن الذي أعرفه أنه لا يمكنك عمل ذلك أنا أقوم بعمل إضاءة عادية وإلغي حساباتها إلا على الأرضية .

    4-إذا كان هو من برمجها ( Doug صاحب المجلة ) ربما ولكن لم أجرب أنا أحاول في حلها .

    5- أضف للـ Function Main
    كود PHP:
     
    Camera
    .fog_far=1000
    كمثال .

    بالنسبة للتشويش لا حظ البرمجة التالية :
    أولاً نعرف أربعة صور (كل صورة تأتي بعد الثانية بحيث تكون أنميشن التشويش )وتجد في إجاباتي السابقة كيفية تعريف الصور وتعريف قوائمها :
    أسماء الصور:
    1-Pic1
    2-Pic2
    3-Pic3
    4-Pic4

    لا حظ البرمجة الآن :
    كود PHP:
     
    bmap pic1
    =<pic1.bmp>;
    bmap pic2=<pic2.bmp>;
    bmap pic3=<pic3.bmp>;
    bmap pic4=<pic4.bmp>;
    panel pic1_pan
    {
    bmap pic1;
    pos_x=0;
    pos_y=0;
    layer=5;
    flags=refresh,d3d,transparent;
    }
    panel pic2_pan
    {
    bmap pic2;
    pos_x=0;
    pos_y=0;
    layer=5;
    flags=refresh,d3d,transparent;
    }
    panel pic3_pan
    {
    bmap pic3;
    pos_x=0;
    pos_y=0;
    layer=5;
    flags=refresh,d3d,transparent;
    }
    panel pic4_pan
    {
    bmap pic4;
    pos_x=0;
    pos_y=0;
    layer=5;
    flags=refresh,d3d,transparent;
    }
    function 
    Inturruption()
    {
    while(
    1)
     {
      
    pic1_pan.visible=on;
      
    pic2_pan.visible=off;
      
    pic3_pan.visible=off;
      
    pic4_pan.visible=off;
      
    wait(12);
      
    pic1_pan.visible=off;
      
    pic2_pan.visible=on;
      
    pic3_pan.visible=off;
      
    pic4_pan.visible=off;
      
    wait(12);
      
    pic1_pan.visible=off;
      
    pic2_pan.visible=off;
      
    pic3_pan.visible=on;
      
    pic4_pan.visible=off;
      
    wait(12);
      
    pic1_pan.visible=off;
      
    pic2_pan.visible=off;
      
    pic3_pan.visible=off;
      
    pic4_pan.visible=on;
      
    wait(12);
     }

    طبعا استدع الأمر inturruption في الـ Function Main .
    وطور الفكرة حتى تناسب ما تريده .



    6- هذه البرمجة تشمل مرحلتين - لاحظ التعديلات - :
    كود PHP:
     
    var current_level;
    action lev_1
    {
    while (
    1)
    {
      
      while (
    vec_dist (player.xmy.x) > 80)
    {
      
    wait (1);
    }
    level_load(level1);
    current_level=1;
    wait(1);
    }


     
    action lev_2
    {
    while (
    1)
    {
      
      while (
    vec_dist (player.xmy.x) > 80)
    {
      
    wait (1);
    }
    level_load(level2);
    current_level=2;
    wait(1);
    }

    (level2); هو اسم المرحلة .
    current_level متغير وضعته لك لك يحفظ المرحلة التي هو فيها .


    7-( خذ راحتك ) بس ممكن توضح لي ما قصدك بالتفاصيل .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  15. #15
    عضو جديد
    تاريخ التسجيل
    Jul 2004
    ردود
    41
    أشكرك على المعلومات.......
    ولكن باقي كم سؤال في الرد االسابق لم تجب عليها.......
    وهناك المزيد (أذا لم يكن لديك مانع؟)
    1-ماهو capc_shadow الكابس شادو ؟ وفيما يستخدم؟ وكيف أضعه في سكريبت (تراني فاشل في script)
    2-قصدي بالتفاصيل يعني مضلعاته كثيرة(تقريبا 10آلاف مضلع) للشخصيه الواحدة.
    3- خلني أكون صريح معاك (السكريبت يمين وأنا شمال) فأرجو توضيح السكريبت اللي فوق و وش الmain Function وكيف أضعه وكيف أستدعي الأمر inturruption ؟
    4-(current_level متغير وضعته لك لك يحفظ المرحلة التي هو فيها) وضح أرجوك؟
    5-ما الفرق بين function وaction ؟ والسكريبت حق الميرور كيف أضعه للمجسم؟
    6-قصدك لو أضع دايناميك light ماراح يسقط ظل متحرك حتى بالسكريبت؟

  16. #16
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    Post

    أولا أخي لا علاقة للدينامك لايت بالظل المتحرك ...
    الـ Action هو نفسه الـ Function ولكن فرق واحد الآكشن يستدعى في الـ Wed ( مصمم المراحل ) والـ Function يستدعى في البرمجة ... ويمكنك أيضا أن تستدعي الآكشن في البرمجة .. لا فرق من ناحية الأداء عدا الإستمرارية حيث أن الـ Function لن يتأثر بوجود مجسم أو زواله بعكس الآكشن الذي حينما تربطه بمجسم ما كاللاعب مثلاً فعندما يموت اللاعب ينقضي مفعول الآكشن .

    (current_level متغير وضعته لك لك يحفظ المرحلة التي هو فيها) مادمت كما تقول من ناحية البرمجة فلن تفيدك حيث أنها ليس لها تأثير إلا إذا أردت صناعة أوامر أخرى تحتاج فيها أن تعرف هو في أي مرحلة كإظهار خريطة مرحلة ما مثلاً .

    هي ليست main function وإنما Function Main حين تنشئ أي برمجة جديدة من الـ Map Proerties في مصمم المراحل ستلاحظ تكون سطر :
    function main()
    تسدتعي الأمر Inturruption عن طريق أنك تضيف السطر التالي لآخر برمجة الـ Function Main .. تلاحظ أن بعد الـ Function Main يفتح لك قوس تضيف السطر قبل أن يغلق القوس :

    Inturruption();

    فقط !! .
    - يجب أن تتعمق قليلا على الأقل تعرف كيف تتحكم بالبرمجة التي لديك -

    أنا فاهم قصدك من ناحية كثرة التفاصيل ولكنك لم تذكر المشكلة التي سببتها لك كثرة التفاصيل .

    capc_shadow أعتقد أنك سمعت هذا أو ربما قرأته في مكان ما على كل هو ليس أمر في الغيم ستوديو ولم أسمع به ولكن أعتقد أنه أمر عرّفه الشخص الذي قرأت له ..
    - حيث يمكنك أنت أن تعرّف عن طريق البرمجة أوامرك الخاصة - .

    وبالنسبة للأسئلة التي لم أجب عليها يبدوا أنك أضفتها مؤخراً - أي وأنا أكتب الرد كنت أنت تعدل !! -

    حسنا هذه فكرة الإضاءة التي تريدها - برمجة كاملة لكشاف - :
    كود PHP:
     
    //////////////////////////////////////////////////
    ////////////////////FLASH LIGHT///////////////////
    var max_dist 10000
    var 
    energy 600
    var 
    battery 500
    var 
    fl_on=0;
    //////////////////////////////////////////////////
    sound bat_pick=<wham.wav>;
    bmap gotbat=<got_bat.pcx>;
    //////////////////////////////////////////////////

    panel got_bat
    {
    bmap gotbat;
    layer=56;
    pos_x=250;
    pos_y=200;
    flags=refresh;
    }

    //////////////////////////////////////////////////

    action battery_pickup 
    {
     
    my.passable on;
     while (
    player == null) {wait (1);}
     while (
    vec_dist (player.xmy.x) > 40) {wait (1);}
     
    energy += battery;
     
    play_entsound(my,bat_pick,100);
     
    got_bat.visible=on;
     
    ent_remove (me); 
     
    wait(150);
     
    got_bat.visible=off;
    }

    //////////////////////////////////////////////////

    action flashlight_pickup 
    {
     while (
    player == null) {wait (1);}
     
    my.passable on;
     while (
    vec_dist (player.xmy.x) > 100) {wait (1);}
     
    my.invisible on;
     
    my.lightred 250;
     
    my.lightgreen 250;
     
    my.lightblue 170;

     while (
    1)
     {
       if(
    key_f==1)
       {
       
    wait(10);
      
      while (
    energy &&key_enter!=1
      {
       
    my.lightrange 350;
                 
    temp.max_dist cos(player.pan) * cos(camera.tilt) + player.x;
       
    temp.max_dist sin(player.pan) * cos(camera.tilt) + player.y;
       
    temp.max_dist sin(camera.tilt) + player.z;
       
    trace_mode ignore_models use_box;
       
    my.skill1 trace (player.xtemp);
       if (
    my.skill1 != 0)
       {
        
    temp.= (my.skill1 30) * cos(player.pan) * cos(camera.tilt) + player.x;
        
    temp.= (my.skill1 30) * sin(player.pan) * cos(camera.tilt) + player.y;
        
    temp.= (my.skill1 30) * sin(camera.tilt) + player.z;
        
    vec_set (my.postemp);
       }
       
       
    energy -= 0.5 time;
       
    wait (1);
      
       }
       
    wait(1);
      }
      
      
    my.lightrange 0;
      
    wait (1);
     }
    }

    //////////////////////////////////////////////////
    ////////////////////////////////////////////////// 



    بالنسبة للظلال الثابتة يمكنك ذلك عن طريق إضافة السطر التالي :
    my.shadow=off;

    طبعا لجسم محدد .


    بالنسبة لجلب الصور من الماكس راجع موقع الشركة في صفحة التحميل ستجد plugin خاص بذلك مع شرح كامل .

    تحياتي .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  17. #17
    عضو
    صور رمزية mojazef
    تاريخ التسجيل
    Jun 2003
    المنطقة
    السعودية
    ردود
    71

    Post السلام عليكم

    سؤال إلى اسد الله
    كيف يمكنني صنع شفرة قيادة السيارة ويكون فيها أمر تسارع ( زيادة السرعة إلى حد معين )
    وشكرا

  18. #18
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675
    حسنا هذه فكرة العمل ( التسارع ) :-
    كود PHP:
    var car_speed;
    Define Speed_Maximum,skill6;
    var 
    current_Gear=1;
    action Car
    {
       While(
    1){
               while(
    key_cuu!=0){
                     if(
    car_speed>Speed_Maximum){car_speed=speed_Maximum;wait(1);}
                   
    car_speed+=3*force;//Define Force..
    .... Etc 
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  19. #19
    عضو جديد
    تاريخ التسجيل
    Jul 2004
    ردود
    41
    السلام عليكم ...
    كيف حالك أسد اللة .
    عندي بعض الأسئلة.
    1-كيف يمكنني عمل جسم فيزيائي(مثل box,أطارات سيارة) يعني كيف أعرفه برمجيا لأنه جاهز؟
    لأني قريت في help أمكانية الجيم ستوديو البرو.لأكثر من جسم فيزيائي ؟
    2-أريد طريقة لجلب المجسمات من الماكس من دون ما تفقد أي خاصية من خصائصها(مثل الأكساء)؟
    وإن كان عن طريق الsdk فكيف أرجوكم؟؟؟

  20. #20
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675
    حسنا أخي :

    هذا بالنسبة للسؤال الأول - كيف تعرفه برمجيا- طبعا وهو باستخدام محرك الفيزياء :
    كود PHP:
    var gravity[3] = 0,0, -980;
    EntityBox;
     
    action Phy_Box

    Box=me;
    phent_settype(my,PH_RIGID,PH_Box);
    phent_setgroup(my,2);
    phent_setmass(my,10,PH_Box);
    phent_setfriction(my,80);
    phent_setelasticity(my,50,10);
    phent_setdamping(my,2,2);
    ph_setgravity gravity );
     

    أما من ناحية التحويل من الماكس - إذا أردت ظهور الخامات في الـ Med لازم تعطي المجسم في الماكس :
    UVW ... ثم تقوم بعمل Export بصيغة .mdl وستأتيك نتيجة الماكس نفسها ..

    ومن ناحية الـ DLL فهذا يحتاج أنك تعرف أساسيات السي ++ .

    تحياتي .
    أسد الله
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل