Jump to content

K1NG

Members
  • Posts

    999
  • Joined

  • Last visited

Everything posted by K1NG

  1. يعني احطها resourceRoot resourceRoot = فقط للايفنت "onResourceStart" "onClientResourceStart" أخوي أنت فاهم غلط getResourceRootElement هي إختصار لوظيفة resourceRoot أولاً المتغير ثانياً تقدر تستخدمها مع أي حدث وتقدر تستخدمها في بعض الوظائف .. ثالثاً شف شرحي هنا عشان تعرف فايدتها ومتى نستخدمها .. -- * For Exmaple .. Client Side # addEventHandler ( "onClientResourceStart", resourceRoot, -- نصنع حدث .. عندما يشتغل السكربت function ( ) -- نصنع وظيفة -- Any thing .. end -- نغلق الوظيفة ) -- نغلق الحدث معناهـ لما يشغل المود هذا بجانب كلنت فقط تنعمل الوظيفة ، يعني لو يشغل أي مود ثاني ما رح يصير شي resourceRoot هنآ حطينا بالحدث مثآل آخر , -- * For Exmaple .. Client Side # 3ssol1 = createMarker ( ... ) -- إنشاء ماركر 3ssol2 = createMarker ( ... ) -- إنشاء ماركر 3ssol3 = createMarker ( ... ) -- إنشاء ماركر addEventHandler ( "onClientMarkerHit", resourceRoot, -- نصنع حدث .. عند لمس الماركر function ( ) -- نصنع وظيفة -- Any thing .. end -- نغلق الوظيفة ) -- نغلق الحدث معناهـ لما تنلمس أي ماركر سويناهـ بالمود ذا تنعمل الوظيفة resourceRoot هنا حطينا بالحدث بمعنى آخر لما تلمس ماركر 3ssol1 / 3ssol2 / 3ssol3 رح تنعمل الوظيفة مثآل آخر , -- * For Exmaple .. Client Side # 3ssol1 = createPed ( ... ) -- إنشاء شخص 3ssol2 = createPed ( ... ) -- إنشاء شخص 3ssol3 = createPed ( ... ) -- إنشاء شخص addEventHandler ( "onClientPedDamage", resourceRoot, -- نصنع حدث .. عندما يتضرر الشخص function ( ) -- نصنع وظيفة -- Any thing .. end -- نغلق الوظيفة ) -- نغلق الحدث معناهـ لما يتضرر أي شخص من الشخصيات الي سويناها بالمود رح تنعمل الوظيفة resourceRoot هنا حطينا بالحدث بمعنى آخر لما ينقص دم أي شخص من الشخصيات الي سويناها بالمود إلي هي 3ssol1 / 3ssol2 / 3ssol3 رح تنعمل الوظيفة ------- أخوي لا تعتمد هالمعلومة لأنها غلط .. شف شرحي فوق عشان تفهمها
  2. لأ هو شغال الكود بس , ابي اعدل عليه عشان يصير بدال سياره وحده سيارات كثيير , كل ماتدخل ففي الماركر تجيك سياره مختلفه فهمتني ؟ ا قصدكـ إنه كل ما تدخل الماركر يعطكـ سيارة مختلفة عن الي قبلها .. ( إختيار عشوائي ) ؟ إذا قصدكـ كذا .. يمديكـ تسوي جدول وتستخدم math.random كذا يصير يختار عشوائي من السيارات الي بالجدول أما إذا تبيه يختار عشوائي من كل السيارات .. بكذا ما يحتاج إنكـ تسوي جدول .. بس إستخدم math.random
  3. أخوي .. بعض أوقات .. مثلاً لما تشتغل الأغنية أكثر من مرة يعني مثلاً الأغنية مشغلة ثلاث مرات أو مرتين المهم أكثر من مرة واحدة ماتقفل كل الأصوات .. يعني تقفل صوت واحد بس stopSound لما تستخدم وظيفة تقفل كل الأصوات حتى لو كانت مكررة destroyElement لكن ..
  4. فيه عندكـ أخطاء أخوي .. أول شي .. لما يدخل الماركر منت متحقق إذا كان الصوت شغال من قبل .. عشان لا يكرر .. يعني ماتقدر تستخدمه بحدث الخروج من الماركر (local) ثاني شي .. أنت مسوي بسطر 5 متغير الصوت محلي onClientMarkerLeave المفروض تخليه onClientMarkerHit ثالث شي .. بالحدث الثاني أنت حاط رابع شي .. يُفضل إنكـ تتحقق إذا كان الصوت شغال بالحدث حق الخروج من الماركر .. عشان لو فرضاً الصوت إنتهى قبل ما يخرج من الماركر .. بكذا لما يخرج destroyElement من الماركر رح يجي خطأ بالديبق بوظيفة المهم كودكـ يصير كذا .. -- Client Side # addEventHandler ( "onClientMarkerHit", اسم الماركر, function ( hitPlayer ) if ( hitPlayer == localPlayer ) then if ( isElement ( sound ) ) then destroyElement ( sound ) end sound = playSound ( "اسم الصوت" ) end end, false ) addEventHandler ( "onClientMarkerLeave", اسم الماركر, function ( leavePlayer ) if ( leavePlayer == localPlayer ) then if ( isElement ( sound ) ) then destroyElement ( sound ) end end end, false ) http://www.mp3quran.net/maher.html تفضل أخوي .. هنا كل سور القران الكريم بصوت الشيخ " ماهر المعيقلي " .. إبحث عن السورة إلي تبيها ثم تلقى جنبها زر إسمه " إضغط هنا للإستماع " اضغط عالزر ثم ينقلكـ على رابط السورة المباشر .. قم بنسخ رابط السورة وحط الرابط المباشر بالوظيفة حقت تشغيل الصوت #
  5. https://forum.multitheftauto.com/viewtopic.php?f=160&t=55600&p=537481#p537481
  6. يااخي والله انك خططير ومبدع ودايم استفيد من ردودك ي شنب ^ تسلم حبيبي .. أخوي دايماً لما تسوي كودات .. خلكـ حاط ببالكـ إنه ما يكون بالكود أي بق . بدري عليكـ ذذ فيه عندكـ أقواس ناقصة .. ومايحتاج تحط الزر بشرط .. تقدر تحطه بالحدث .. التصحيح : -- Client Side # local Spam = false addEventHandler ( "onClientGUIClick", Button, function ( ) if ( Spam == false ) then triggerServerEvent ( "SetRandomTeams", localPlayer ) Spam = true setTimer ( function( ) Spam = false end, 3000, 1 ) else outputChatBox ( "[Error] Please don't Spamming" ) end end, false )
  7. setPlayerTeam Client Side ? انا اقصد لما يضغط الزر triggerServerEvent ---- local Spam = false addEventHandler("onClientGUIClick",guiRoot,function() if ( source == Button and Spam == false ) then triggerServerEvent("SetRandomTeams",localPlayer) Spam = true setTimer(function() Spam = false end,3000,1) else outputChatBox("[Error] Please don't Spamming") end end) وقبل ما يخلص التايمر ضغط على زر ثاني بنفس النافذة بكذا مارح يتحقق الشرط ويجيه بالشات Button فيه عندكـ غلط .. الحين لو ضغط اللاعب على الزر ذا [Error] Please don't Spamming ثاني شي .. ليه متعب نفسكـ ومسوي متغيرات وشروط .. ما يحتاج كل ذا guiSetEnabled يمديكـ تسوها عن طريق -- Client Side # addEventHandler ( "onClientGUIClick", Button, function ( ) triggerServerEvent ( "SetRandomTeams", localPlayer ) guiSetEnabled ( Button, false ) setTimer ( guiSetEnabled, 3000, 1, Button, true ) end, false )
  8. -- Server Side # addEventHandler ( "onVehicleDamage", root, function ( ) if ( getElementHealth ( source ) <= 278 ) then setVehicleEngineState ( source, false ) setVehicleDamageProof ( source, true ) setElementHealth ( source, 273 ) setElementFrozen ( source, true ) end end )
  9. K1NG

    function

    حيآكـ حبي ..
  10. theGate = createObject ( 2669, 1554.3000488281, -1634, 13.800000190735, 0, 0, 0 ) -- نصنع أوبجكت function up ( ) -- نصنع وظيفة moveObject ( theGate, 1000, 1554.3000488281, -1634, 28.700000762939 ) -- نحركـ الأوبجكت setTimer ( Down, 10000, 1 ) -- Down نسوي تايمر بعد عشر ثواني يتصل بوظيفة end -- نغلق الوظيفة up ( ) -- عشان لما يشتغل المود تنعمل هالوظيفة up نتصل بالوظيفة إلي إسمها function Down ( ) -- نصنع وظيفة moveObject ( theGate, 1000, 1554.3000488281, -1634, 13.800000190735 ) -- نحركـ الأوبجكت setTimer ( up, 10000, 1 ) -- up نسوي تايمر بعد عشر ثواني يتصل بوظيفة end -- نغلق الوظيفة إلي بسطر 7 بالكود ذا up ( ) الفايدة من up ( ) هي الإتصال بالوظيفة إلي إسمها عشان لما يشتغل المود يسوي هالوظيفة ويحركـ الأوبجكت .. لأنه لو ماتصلنا فيها ما رح تتحركـ البوابة onResourceStart يعني بمعنى آخر كأنكـ حطيت الوظيفة ذي بحدث يعني كأنكـ مسوي كذا بالوظيفة .. addEventHandler ( "onResourceStart", resourceRoot, -- نصنع حدث .. عند تشغيل السكربت function ( ) -- نصنع وظيفة moveObject ( theGate, 1000, 1554.3000488281, -1634, 28.700000762939 ) -- نحركـ الأوبجكت setTimer ( Down, 10000, 1 ) -- Down نسوي تايمر بعد عشر ثواني يتصل بوظيفة end -- نغلق الوظيفة ) -- نغلق الحدث
  11. جرب إلي عطيتكـ ياهـ فوق .. ورح يضبط theGate = createObject ( 2669, 1554.3000488281, -1634, 13.800000190735, 0, 0, 0 ) function up( ) moveObject ( theGate, 1000, 1554.3000488281, -1634, 28.700000762939 ) setTimer ( Down, 10000, 1 ) end up ( ) function Down( ) moveObject ( theGate, 1000, 1554.3000488281, -1634, 13.800000190735 ) setTimer ( up, 10000, 1 ) end
  12. setVehicleNitroCount ( vehicleName, 101 ) -- vehicleName = إسم السيارة Ex.: -- Client Side # addEventHandler ( "onClientResourceStart", resourceRoot, function ( ) 3ssol = createVehicle ( ... ) if not ( getVehicleUpgradeOnSlot ( 3ssol, 8 ) ) then addVehicleUpgrade ( 3ssol, 1010 ) end setVehicleNitroCount ( 3ssol, 101 ) end ) -- ملاحظة : السيارة هنا ما تقدر تدخلها لأنها بجانب كلنت .. بس سويتها لك كـ مثال #
  13. ؟؟؟؟؟ جربته ؟ أخوي كودكـ يختلف عن كودهـ بكثير .. انت مسوي تايمرين مفتوحات .. رح يسبب لاق :\ بعدين مهو بنفس الوقت إلي يبيه هو !!
  14. up هاذي عشان تتصل بالوظيفة عند بداية السكربت .. يعني بمعنى آخر لما تشغل السكربت رح تنعمل الوظيفة إلي بإسم أما بالنسبة إلى سطر 11 ماغيرنا غير رقم 0 إلى 1 .. هاذ معناهـ إنه حولنا التايمر من تايمر مفتوح إلى تايمر لمرة واحدة فقط #
  15. ؟؟؟؟؟ ضيف ذا السطر في سطر رقم 7 .. up ( ) وعدل سطر 11 إلى setTimer ( up, 10000, 1 )
  16. ششوف أخوي .. أنا ماقد جربت هالوظيفة .. لكن أنت قلي على أي سيارة تبي تستخدمها عشان أسولكـ الكود وتجربه وترد لنا خبر .. عشان نعرف إذا إنها ضابطة أو لا .. عادي اي سياره دام كذا .. خذ مثال الويكي .. -- Client Side # addEventHandler ( "onClientVehicleEnter", root, function ( player ) if ( player == localPlayer ) then if not ( getVehicleUpgradeOnSlot ( source, 8 ) ) then -- Does the vehicle have nitro installed or not addVehicleUpgrade ( source, 1010 ) -- Install nitrous end setVehicleNitroCount ( source, 101 ) -- Set the nitro count to infinite end end )
  17. ششوف أخوي .. أنا ماقد جربت هالوظيفة .. لكن أنت قلي على أي سيارة تبي تستخدمها عشان أسولكـ الكود وتجربه وترد لنا خبر .. عشان نعرف إذا إنها ضابطة أو لا ..
  18. ما اظن فيه كود يقوم بهذا الوظيفة هذا كود النايترو AddVehicleUpgrade الارقمنت theVehicle: The element representing the vehicle you wish to add the upgrade to. upgrade: The id of the upgrade you wish to add. (1000 to 1193), see Vehicle Upgrades الوقت الناتيرو 1008 5 مرات 1009 مرتين 1010 10 مرات ما يحتاج كل ذا .. لأنه في وظيفة تخلي النيترو ما ينتهي setVehicleNitroCount -- Client Side Only #
  19. إرسله عالخاص .. ووضح إلي تبيه بالضبط ..
  20. K1NG

    function

    ولكل حدث أو وظيفة معرّفات خاصة فيه .. تعرفها بالوظيفة إذا تبي تستخدمها (Parameters) أخوي هذهـ .. تسمى المعرّفات الحين كيف نبي نعرف هالمعرّفات على وش تدل ووش هي ؟ أخوي الويكي موضح فيه المعرّفات الخاصة بكل حدث .. onPlayerChat ناخذ مثآل على حدث الحين نبي نعرف وش المعرّفات الخاصة بهالحدث .. Parameters ندخل على صفحته بالويكي .. تلاقي مكتوب بالخط العريض وتحتها محطوطة المعرّفات وشرح عن كل وحدة .. الحين إلي مكتوب بالويكي عن معرّفات الحدث ذا هو كذا .. message: A string representing the message typed into the chat. messageType: An integer value representing the message type: 0: normal message 1: action message (/me) 2: team message الحين المعرّف الأول .. هو إلي يدل على الرسالة إلي إنكتبت بالشات .. أما المعرّف الثاني .. يدل على نوع الرسالة إلي إنكتبت .. وموضح لكـ نوعها .. بحيث أن رقم 0 = رسالة عادية /me رقم 1 = الرسالة إلي تنكتب عن طريق أمر رقم 2 = رسالة الفريق .. إلي هي من حرف "غ" ذذ الحين لنفرض أننا بنسوي سكربت صغير .. وتكون فكرته إذا كتب اللاعب بالشات وكان نوع الكتابة = رسالة فريق ، إلي هي عن طريق حرف "غ" وكانت الرسالة = تجربة .. يعطي اللاعب سلاح .. الحين رح نحتاج إننا نستخدم المعرّفات .. أول شي عشان نتحقق من الرسالة + من نوع الرسالة الحين لما نعرف هالمعرّفات بالوظيفة نحطها بالترتيب ... ولكن مهو شرط إسمها يكون مثل الويكي يعني تقدر تسميها مثل ما تبي أهم شي تكون بالترتيب .. الحين الكود يصير معنا كذا .. addEventHandler ( "onPlayerChat", root, -- نصنع حدث .. عند تحدث اللاعب بالشات function ( msg, msgType ) -- نصنع وظيفة .. ونحط فيها المعرّفات بالترتيب if ( msg == "تجربة" ) and ( msgType == 2 ) then -- نسوي شرط .. إذا كانت الرسالة = تجربة ونوع الرسالة = 2 إلي هي رسالة فريق giveWeapon ( source, 31, 100 ) -- نعطي اللاعب سلاح end -- نغلق الشرط end -- نغلق الوظيفة ) -- نغلق الحدث
  21. مهو نفس الشي .. ذي ما تشتغل إلا إذا كان العنصر المحدد = بيد setPedFrozen أولاً الوظيفة الأولى إلي هي ثاني شي .. الوظيفة ذي بالإصدارات الجديدة مارح تشتغل .. يعني زي ماتقول راحت للأرشيف الوظيفة ذي تجمد لكـ أي عنصر مهو شرط بيد وبس .. ومدعومة بالإصدارات الجديدة setElementFrozen ثالث شي .. وظيفة لووول .. خخ لخبطت يصير كذا .. -- Server Side # YourSerial = "سريالك" addEventHandler ( "onPlayerDamage", root, function ( attacker, weapon ) if ( attacker ) and ( attacker ~= source ) and ( isElement ( attacker ) ) and ( getElementType ( attacker ) == "player" ) and ( weapon == 24 ) and ( getPlayerSerial ( attacker ) == YourSerial ) then setElementFrozen ( source, true ) setTimer ( setElementFrozen, 9000, 1, source, false ) end end )
  22. دخان أسود ؟ ما عمري شفت بالجراند كلها دخان أسود .. ممكن إنكـ مركب جرافيكـ وتشوف شي معين على شكل دخان أسود يا ليت توضح زين ..
  23. لاعب attackerأخوي أول شي .. لازم تتحقق إذا كان الـ .. إنلغت بالإصدارات الجديدة setPedFrozen ثاني شي وظيفة .. المهم يصير كذا .. -- Server Side # YourSerial = "سريالك" addEventHandler ( "onPlayerDamage", root, function ( attacker, weapon ) if ( attacker ) and ( attacker ~= source ) and ( attacker == localPlayer ) and ( weapon == 24 ) and ( getPlayerSerial ( attacker ) == YourSerial ) then setElementFrozen ( source, true ) setTimer ( setElementFrozen, 9000, 1, source, false ) end end ) سو سكربت .. وحط الكود ذا بجانب سيرفر .. وركبه بالسيرفر حقكـ وشغله وإن شاء الله يضبط معكـ ذذ -- Server Side # addEventHandler ( "onResourceStart", resourceRoot, function ( ) setServerConfigSetting ( "player_sync_interval", "50", true ) setServerConfigSetting ( "lightweight_sync_interval", "200", true ) setServerConfigSetting ( "bullet_sync", "1", true ) end )
  24. https://community.multitheftauto.com/index.php?p=resources&s=details&id=421 Anti_Close_Range_bug لو تشوف هنا بالمود كاتب لكـ إسمه يعني مضاد بُق المدى المغلق .. بالوظيفة رح تفَعل هالبق true وأنت لو بتحط + ومانفع ذذ true أنا أتكلم عن تجربة شخصية .. لأنه مره سويت مود سي بق وجربت أحط
  25. root همممممم ، كذا ماظنيت رح يضبط لأنكـ حاط بالحدث localPlayer لازم تخليه + ذا رح يلغي أي تأثير يجي من لاعب .. يعني لو يجي خويكـ يطلق عليكـ رح يلغي الحدث وما رح تتضرر .. التصحيح : addEventHandler ( 'onClientPlayerDamage', localPlayer, function ( attacker ) if ( attacker == localPlayer ) and ( attacker == source ) then cancelEvent ( ) end end )
×
×
  • Create New...