!~# [ إنشاء سكربت ] شرح مفصل من الالف لياء لنشاء سكربت حصرياَ By MR.AB[oo]D#<3

الموضوع في 'دعم برنامج MTA SA' بواسطة MR.AB[oo]D#<3, بتاريخ ‏18 يونيو 2013.

  1. MR.AB[oo]D#<3

    MR.AB[oo]D#<3 New Member

    x
    الـسلآأم عليكم ورحمةة الله وبركأإته

    كيفكم شباب .. انشاءالله بخير .. :hart::hart:

    نبدأء بشرح إنشاء سكربت من الالف لياء ..

    --------------------------------

    سوف نتعلم كيف نقوم بإنشاء سكربت يدخل اللاعب إلى اللعبة .. خطوة بخطوة

    أين مسار كل البرامج النصية (السكريبتات أو المودات)؟


    الان نتعرف على مجلد المودات أو السكربتات. اذهب إلى مجلد Multi Theft Auto واتبع المسار التالي:

    /Your MTA Server/mods/deathmatch/resources/

    سترى الكثير من الملفات. ربما ترى مجلدات صيغتها .zip أو مجلد عادي , وجميعها يقبله الـ MTA .. ولإنشاء المودات الخاصة بك: قم بعمل مجلد جديد واجعل اسمه كما تريد فمثلاً قم بتسميته "myserver" وهو الذي سنستخدمه بالبرنامج التعليمي والان يجب أن يكون مسار المجلد الذي قمت بعمله هذا:

    /Your MTA Server/mods/deathmatch/resources/myserver/

    myserver: اسم المجلد الذي قمت بتسميته #

    تعريف السكربت (إضافة ملف meta.xml)

    حتى يستطيع السيرفر من معرفة المودات, يجب علينا إنشاء ملف meta.xml " ويكون بداخل مجلد السكربت الذي قمنا بإنشائه وهو "myserver" ولإنشاء ملف meta.xml : أفتح ملف نصي جديد وقم بتسميته meta.xml وافتحه باستخدام المفكرة =) ولا تنسى ان يكون بداخل مجلد السكربت .

    أدخل الكود التالي في ملف meta.xml:

    كود:
    <meta>
    <info author="إسمك" type="gamemode" name="إسم السكربت" description="وصف السكربت" />
    <script src="script.lua" />
    </meta>
    هنا يتم تعريف أجزاء السكربت فمثلاً :
    # <info ..>

    تضع فيه بيانات السكربت .. مثل الإسم والنوع والوصف.

    # type="gamemode"

    تعني أن نوع السكربت هو مود لعب وتوجد أنواع عديدة مثل :

    # gamemode
    # map
    # script

    إنشاء ملف السكربت Lua

    قمنا بوضع هذا السطر في :

    # meta.xml

    <script src="script.lua" />

    الآن نقوم بإنشاء ملف نصي بنفس الإسم :

    # script.lua

    بإستخدام برنامج التحرير لديك .. نقوم بإنشاء الكود :
    كود:
    function joinHandler() -- الوظيفة .. وبعدها نقوم بكتابة الإسم
    local x = 1959.55 -- تعريف x
    local y = -1714.46 -- تعريف y
    local z = 10 -- تعريف z
    spawnPlayer(source, x, y, z) -- نقوم بإستخدام هذه الوظيفة لإنتاج اللاعب ونقوم بتحديد اللاعب وهو المصدر : source
    fadeCamera(source, true) -- نقوم بعمل fade للكاميرا
    setCameraTarget(source, source) -- نجعل هدف الكاميرا هو اللاعب
    outputChatBox("مرحباً بك في السيرفر", source) -- نقوم بإخراج نص في الدردشة
    end
    addEventHandler("onPlayerJoin", getRootElement(), joinHandler) -- نقوم بإضافة المعالج حيث سيتم تشغيله بعد الحدث المحدد وهو عند دخول اللا
    وصف وشرح الكود اعلاه : سيقوم السكربت بوضع اللاعب في الاحداثيات (x,y,z) المحدده اعلاه, عند دخوله الى السيرفر لاحظ انه يجب استخدام وظيفة [ fadeCamera ] ستكون الشاشة سوداء وأيضاً يجب تعيين الكاميرا ( setTargetCamera ) ..

    نرى أن source هو المصدر وهو اللاعب الذي يقوم بالدخول


    أيضاً لو رأينا في المعالج

    إضافة معالج للحدث :http://wiki.multitheftauto.com/wiki/AddEventHandler

    نرى 3 أشياء

    #

    onPlayerJoin - عند دخول اللاعب

    وهو الحدث .. حيث يحدد متى يتم تشغيل المعالج - في هذه الحالة عند دخول اللاعب

    # getRootElement() - جلب العنصر الحالي

    هذا يقوم بتعيين العنصر الذي يقوم بتشغيل الحدث

    # joinHandler

    وهو إسم الوظيفة التي قمنا بصناعتها

    يمكنك التوسع أكثر في : addEventHandler



    تشغيل السكربت

    بعد أن تقوم بحفظ أجزاء السكربت في ملف واحد ويمكن حفظه في الملفات التالية

    # مجلد
    # أرشيف .zip

    ونقوم بنسخه إلى مجلد السكربتات داخل سيرفرك ونقوم بتشغيله بالطريقة العادية.

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

    # command




    يمكنك المتابعة أو الذهاب إلى دورة صناعة النوافذ:
    http://wiki.multitheftauto.com/wiki/..._Scripting_GUI


    صناعة أمر بسيط:

    لنعد الآن إلى ملف :
    # script.lua

    ونقوم بتعديله قليلاً لإنشاء أمر بسيط يقوم بإنشاء سيارة بجانب اللاعب
    كود:
    -- في البداية نقوم بكتب وظيفة إنشاء السيارة
    function createVehicleForPlayer(thePlayer, command, vehicleModel)
    -- هنا نقوم بكتابة وظيفة إنشاء السيارة كـ
    -- createVehicle
    end

    -- نقوم بإضافة الأمر
    addCommandHandler("createvehicle", createVehicleForPlayer)
    ملاحظة: يمكنك الضغط على الوظائف والتعمق فيها بداخل الويكي.


    وتم إنشاء سكربت ..~

    تحياتي لكم ..

    لاأهنتم شكر + لايك + ردود حلوهـ

    By MR.AB[oo]D#<3
     

مشاركة هذه الصفحة