-
Posts
4,429 -
Joined
-
Last visited
Everything posted by #DRAGON!FIRE
-
addEventHandler ( 'onClientGUIClick', resourceRoot, function ( ) if ( source == GUIEditor.button[4] ) then executeCommandHandler('report') end end )
-
اتاريكـ هذا انت اللي اقعد ادعسك بالهنتر
-
اها هذي كمان ناوي اسويها .. امين وياك .. صراحة افكارك حلوهـ وممتازهـ .. بس لا تنسى انه يوم يموت او يدخل من البلاي نفسه فـ هذي فيها اشكالية شوي ممكن اسوي انه يطفي البلاي اجباري اما بالنسبة للاسلحة فكره حلوهـ .. بس حاليا مشغول ان شاء الله باقرب وقت باحاول اسوي كامل الافكار وانزله باقرب وقت ان شاء الله .
-
طبعا ي اخوان ولله ان السكربت ما نسيته ابد .. بس اشغال الحياة وكذا واشكر كل واحد رد وعطى فكرهـ وما راح انسى اني اذكر اسم كل واحد وفكرته ان شاء الله ب اقرب وقت افضى فيه بـ احاول اضيف كل الافكار اللي انذكرت بهالموضوع ي ريت توضح اكثر .. لو حط باس مثلا .. تقصد لو جا واحد ودخل يجيه لوحة مثلا ويحط الباس مثلا طيب وبعدين ؟ وش راح يكون وظيفة الماركر .
-
هذي من ابسط الاشياء وبنفس الوقت مهمة جدا .. localPlayer : طبعا اللوكال بلير تستخدم فقط بـ جانب كلاينت .. وهي اللاعب نفسه لان الكلنت للاعب نفسه فقط فـ بالكلنت تستخدم اللوكال بلير setElementPosition مثلأ فنكشن شف السنتكس حق الفنكشن Syntax bool setElementPosition ( element theElement, float x, float y, float z [, bool warp = true ] ) اول ارقمنت هو العنصر اللي بتنقله او اللاعب فالنفترض . لو نبي انه يوم يضغط الزر ينقله addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == button ) then end end ) بتقولي هنا ليه جبت السورس . لكل حدث سورس .. يعني مصدر https://wiki.multitheftauto.com/wiki/OnClientGUIClick ادخل هذي الصفحة راح تلقى Source The source of this event is the GUI element that was clicked. بكل بساطة يقولك السورس حق الافنت هو العنصر اللي انضغط .. فـ حنا سوينا تحقق انه اللي انضغط السورس يساوي البوتون حقنا .. addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == button ) then setElementPosition ( ..., x, y, z ) end end ) طبعا بتقولي هنا طيب الارقمنت الاول بفنكشن النقل هو العنصر وانت تقول سورس الحدث هو الزر كيف اجيب اللاعب اللي ضغط الزر ؟ ببساطة اللوكال بلير هذي وظيفتها انها ثابتة بالكلنت للاشياء كلها لان الكلنت للاعب نفسه بس عكس سيرفر .. لجميع اللاعبين طبعا لو لاحظ بنفس الصفحة يقول هذا الكلام : Note: The player who clicked the gui-element is always the localPlayer. يقولك دائما اللي ضغط الزر هو اللوكال بلير . addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == button ) then setElementPosition ( localPlayer, x, y, z ) end end ) طبعا في نقطة ثانية اللي هي سورس التريقر addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == button ) then triggerServerEvent ( "test_", localPlayer ) end end ) فالنفترض سوينا كذا انه يوم يضغط الزر يرسل تريقر لسيرفر نجي نستقبل التريقر بسيرفر : addEvent ( "test_", true ) addEventHandler ( "test_", root, function ( ) end ) طيب هنا تقولي لو مثلا انا بعطيه سلاح .. نجي لفنشكن السلاح والسنتكس حقه Syntax bool giveWeapon ( ped thePlayer, int weapon [, int ammo=30, bool setAsCurrent=false ] ) اول ارقمنت وش تشوف ؟ اللاعب . طيب تقولي لوكال بلير كلنت بس .. هنا كيف اجيب اللاعب نرجع للتريقر Syntax bool triggerServerEvent ( string event, element theElement, [arguments...] ) اول ارقمنت انساهـ .. خلنا بالثاني theElement: The element that is the source of the event. يقلك هنا الالمنت اللي راح يكون مصدر الحدث اللي راح تستقبله بسيرفر يعني اللي راح يكون سورس التريقر نفسه حنا حاطين لوكال بلير .. يعني اللاعب نفسه فـ رسلنا التريقر ع اللاعب نفسه يعني السورس هو اللوكال بلير نفسه .. addEvent ( "test_", true ) addEventHandler ( "test_", root, function ( ) giveWeapon ( source, .... ) end ) local : طبعا اسف لو طولت بس صح انها اشياء بسيطة بس مهمة ولازم تفهمها .. اي شي ما فهمته تفضل اسال .
-
= createMarker(-2039.20020, 178.75835, 28.14509,"cylinder",15,255,255,0,0) addEventHandler ( "onMarkerHit", resourceRoot, function ( element ) if ( getElementType ( element ) == "player" and not isPedInVehicle ( element ) ) then if ( source == ) then bindKey ( element, "tab", "down", garage ) end end end ) addEventHandler ( "onMarkerLeave", resourceRoot, function ( element ) if ( getElementType ( element ) == "player" and not isPedInVehicle ( element ) ) then if ( source == ) then unbindKey ( element, "tab", "down", garage ) end end end )
-
اللوكال يكون لوكال ع الملف نفسه او ع الفنكشن نفسه بعني مثلأ function var_ ( ) local funcVar = 'Hello' end لو حاولت تجيبه خارج الفنكشن ما راح ينفع لو شلت اللوكال راح يضبط يعني اللوكال ع الشي نفسه بس مثلا حطيت كذا باول الملف local funcVar = 'Hello' لو في ملف كلاينت بالسكربت نفسه ما راح تقدر تستخدمه للمتغير طبعا اذا كان المتغير بكلنت تقدر تستخدمه بملف كلنت ثاني بنفس السكربت بشرط انه ما تكون حاط لوكال لوكال يعني ع الملف نفسه ونفس الكلام ع التحقق function Check_ ( ) if ( ... ) then local _var = "Nothing" elseif ( ... ) then local __var = "Nothing2" elseif ( ... ) then local ___var = "Nothing3" end end https://forum.multitheftauto.com/viewtopic.php?f=164&t=51228 عموما في شرح كامل هنا لو في شي ما فهمته او حاب تستفسر عنه تفضل .
-
العفو .. + ارقام السطور فيها خلل عدلتها .. عشان يكون كل شي واضح
-
نفسها تقريبا تحتاج الى رندر عشان يتحدث السعر الكلي بس . guiCreateStaticImage + guiStaticImageLoadImage بالنسبة للصورهـ ف استخدم طبعا في واحد طلب زي طلبكـ بموضوع قديم : هذا الموضوع كامل https://forum.multitheftauto.com/viewtopic.php?f=160&t=71617
-
وضح المشكلة ما ادري ليه الموضوع 3 صفحات ع شي بسيط .. الحجم غير رقم 15.5
-
استخدام الاكاونت داتا فـ هذي الحالة ما ينفع element data استخدم بدالها
-
سو فنكشن يرجع لك اسم النافذهـ .. وسوي اكسبورت له .
-
اتحدا احد يقدر يسرق او يخرب سيرفركـ لو انكـ مسوي كل شي تمام فتحت سيرفرات جلست سنين ما واجهتني مشاكل ولا تهكير ومدري وش !
-
function chatbox(text, msgtype) local serial = getPlayerSerial (source) if getSerialData ( serial, "TagState" ) ~= "Enable" then return end --Cancel ? << if Enable ? local account = getAccountName(getPlayerAccount(source)) local name = getPlayerName(source) cancelEvent() وليه تضحك ؟ الكود اللي تقول عليه او السطور هذي تمام .
-
متاكد ؟ المشكلة من عندكـ يمكن انت تحسب انك نسخت بس التكست اللي تحاول تنسخه ما تنسخ .. جرب وتاكد في اي اخطاء بالديبوق او كذا ؟
-
العداد هذا صعب شوي Event: "onClientRender" isVehicleNitroActivated getVehicleNitroLevel dxDrawRectangle مع شوية حسابات عشان تجيب البروجرس مناسب مع الحجم حق الريكتنقل .
-
ع الاغلب كذا انا للان ما استخدمته ولا مرهـ تقريبا انت ما راح تحتاجه .
-
اذا ما تعرف وش هو قروب ادمن اترك كل شي جالس تسويه .. خذها مني .. ما راح تستفيد كذا تعلم الاساسسيات وبعدين انتقل لموضوع صنع المودات اهم شي الاساسيات ولا ما راح تمشي اموركـ بالسليم .
-
لكن تختلف عنها بـ ترتيب الجدول والقيم ipairs زي الـ local table = { "Hello", "ZA7F", "Rm-Dj", "test" } local k, v = next ( table, 1 ) print ( v ) خش هنا http://www.lua.org/cgi-bin/demo Output وحط الكود واضغط رن .. وشوف النتيجة بالمربع اللي تحت الثاني بعدها في رقم 1 بداخل القوسين حق النكست .. غيرهـ الى 2 ولاحظ القيمة الاولة ما جابها مع انك حاط 1 وهذا هو الكلام Its first argument is a table and its second argument is an index in this table. next returns the next index of the table and its associated value. When called with nil as its second argument, next returns an initial index and its associated value
-
guieditor هذا من مود يوم تضغط اف 2 يسوي ريستارات للمود .. والخطا يقلك انه ما معاهـ صلاحيات عشان يسوي ريستارات حط المود بقروب ادمن وما عاد يجي الخطا عموما الخطا ماله دخل بالسكربت حقكـ .
-
نفس الشي .. الفرق انه ضايفين بالنكست ارقمنت المفتاح فقط .
-
ما فهمت عليكـ كثير .. انت تقصد في موديل سيارهـ محدد تبغاهـ لو ركب اللاعب هالموديل تجي صورهـ ولو طلع تختفي الصورهـ ؟
-
element شكلك نسيت تستبدل اللوكال بلير الى المتغير حقكـ
-
اولأ تحتاج انكـ تضيف تتحقق ان البلير اللي دخل هو اللوكال بلير .. ثانيا تحتاج انكـ تزود ع احداثيات الماركر يوم تجلبه لان اللاعب راح يجي بالماركر وبكذا ع ما اعتقد راح تصير مشكلة انه هو بينتقل ويجي يخش يرجع ينقله ويرجع يخش وينقله الاحسن انكـ تخليه ترسبنه خارج الماركر .