Jump to content

استفسارات عن البرمجة


Recommended Posts

setElementCollidableWith 

الفنكشن تستطيع من خلاله وضع اوبجكت أو مركبة أو بيد أو اوبجكت

وتقدر تمر من داخلهم بدون ماتضربهم .

توضيح اكثر :

هذا الكود يخلي العنصر الي انت حددته يصير شبح يدخل في العنصر الثاني الي انت محدده من الفنكشن

يعني لو مثلاً حددت سيارة اللاعب وجميع السيارات

رح يصير سيارة اللاعب الي محددها انت م تصدم جميع السيارات تمر من خلالها زي القوست مود بالريس والحرب

Link to comment

For Ex: ...

addCommandHandler("GhostMe", function(  ) 
   for index,plrs in ipairs(getElementsByType("player")) do 
        if ( isElementCollidableWith ( plrs , localPlayer ) == true ) then 
               setElementCollidableWith( plrs, localPlayer, false) 
         else 
               outputChatBox ( "#FF0000 ** You Are actually Ghost", 255, 0, 0, true ) 
                 end 
           end 
    end 
) 
Edited by Guest
Link to comment
  • 2 weeks later...
  • 3 weeks later...

السلام عليكم ورحمةة الله بركاته

شباب ابي شرح للقريد لست كيف ادمج الكود معه

يعني مثلا اضيف مواتر بالقريد لست واضغط على المواتر وبعدين اضغط موافق ويجي الموتر

لا هنتم بغيت شرح بسيط يا ليت تشرحونه لي :oops:

Link to comment

الكول شيب او الماركر تقدر تستخدمهم مع منطقه معينه تؤدي وظيفه معينه,

يعني مثلا لو دخلت الكول شيب يعطيك سياره لو طلعت منه يسحبها , ونفس الشيء مع الماركر

https://wiki.multitheftauto.com/wiki/colshape

^ ادخل واقرأ وانزل آخر شيء وشوف وظائفه , وادخل عليها وبتشوف امثله اذا ما فهمتها جربتها وبتفهم إن شاء الله

بالنسبه للكول شيب هو له اشكال مثل الدائره , والماركر له اشكال بعد مثل الدائره,

الماركر تقدر تخليه مخفي وتقدر تخليه مرئي بعكس الكول شيب يكون دائما مخفي,

Link to comment
addEventHandler("onClientGUIClick",GUIEditor_Button[8], 
    function () 
        local time = guiGetText(GUIEditor_Edit[1]) 
        if tonumber(time) and string.len(time) <= 2 and string.len(time) ~= 0 then 
            setTime(tonumber(time),0) 
        end 
    end 
,false) 

ابي شرح لذا الكود ,

خاصة ذا الفكشن

tonumber

وهل اقدر استخدمه في وظائف ثانيه مثل

setVehicleWheelStates

Link to comment

انشرح سابقا هنا ,

viewtopic.php?f=164&t=62717

ولكن اعطيك بإختصار ,

الحين ركز معي,

guiGetText

حقه هو Syntax الـ,

string guiGetText ( element guiElement ) 

string = '' , "" يقولك ان الشيء الي بتجيبه من اللبل او الاديت او الزر ..., راح يكون سترنق يعني بين علامتين التنصيص هذي

setTime طيب نروح لـ

bool setTime ( int hour, int minute ) 

لو تلاحظ,

int hour,,

int = Integer = يعني عدد صحيح بدون فواصل عشريه لاحظ اقولك عدد صحيح يعني بيكون رقم يعني مو سترنق

طيب نشرح الكود

addEventHandler("onClientGUIClick",GUIEditor_Button[8], -- حدث اذا ضغط 
    function () -- نفتح وظيفه جديده 
        local time = guiGetText(GUIEditor_Edit[1]) -- نجيب الكلام من الاديت 
        if tonumber(time) and string.len(time) <= 2 and string.len(time) ~= 0 then -- نتحقق ان الي كتبه هو رقم ! ونتحقق انه اصغر من 2 او يساويها ونتحقق ان الي كتبه في الاديت مو صفر يعني ان الاديت مابتكون فاضيه 
            setTime(tonumber(time),0) -- هنا نحط الوقت ,  طبعا هنا حولنا الستنرق الى رقم عشان الوظيفه لازم تكون عدد , ملاحظه : الوقت بالكلنت بيكون للاعب فقط 
        end -- اغلاق 
    end -- اغلاق 
,false) -- اغلاق وعشان ما يكون لأي زر بنفس الاسم 
Link to comment

اي تنفع بس يعني لازم تستخدمها لسبب مو في اي شيء تستخدمها وقلت لك فوق ليه تستخدمها ذذ

تستخدمها عشان تحول من سترنق الى رقم,

يعني مثآل,

local numberString = '10' 
  
outputChatBox(tonumber(numberString)) 

وستخدمها عشان تتحقق ان الشيء هو رقم مثآل,

local Word = 'Hello' 
  
if not tonumber(Word) then return end 
Link to comment
string.sub 

Returns the substring of s that starts at i and continues until j; i and j can be negative. If j is absent, then it is assumed to be equal to -1 (which is the same as the string length). In particular, the call string.sub(s,1,j) returns a prefix of s with length j, and string.sub(s, -i) returns a suffix of s with length i.

بأختصار فائتدها : تحدد لك بداية او نهاية السلسلة في بعد التكست اللي تحطه 2 ارقمنت

الاول يحدد بداية السلسلة .. والثاني يحدد لك نهاية السلسلة

مثال بسيط : ..

local Text = "ZA7F Forum Mta" 
  
addEventHandler( "onResourceStart", resourceRoot, function( ) 
   local GetSub = string.sub ( Text , 5 ) 
   outputChatBox ( "** Text = "..GetSub, getRootElement( ), 255, 0, 0, true ) 
end ) 
Link to comment
addEventHandler("onResourceStart", resourceRoot, -- اذا اشتغل المود 

ممكن ششرح كااامل

ليش جات

resourceRoot

اش فائدتها اقدر اغيرها طيب.

تصير مثلا

Root بس

الحين انت مسوي ايفنت اول ما يشتغل المود اذا حطيت

resourceRoot

تحدد انه يتنفذ الامر اذا اشتغل المود نفسه

اذا

root

تحدد انه يتنفذ الامر اذا اشتغل اي مود

Link to comment
addEventHandler("onResourceStart", resourceRoot, -- اذا اشتغل المود 

ممكن ششرح كااامل

ليش جات

resourceRoot

اش فائدتها اقدر اغيرها طيب.

تصير مثلا

Root بس

. الكود حقك بيتنفذ وقت يششتغل السكربت فقط resourceRoot لو حطيت

. الكود حقك بينفذ كل ما يشتغل اي سكربت مأ root لو حطيت

Link to comment
table.sort 

وش فايدته

table.sort :

Sorts table elements in a given order, in-place, from table[1] to table[n], where n is the length of the table. If comp is given, then it must be a function that receives two table elements, and returns true when the first is less than the second (so that not comp(a[i+1],a) will be true after the sort). If comp is not given, then the standard Lua operator < is used instead.

The sort algorithm is not stable; that is, elements considered equal by the given order may have their relative positions changed by the sort.

بأختصار : يرتب لك الجدول من اكبر قيمة لأصغير قيمةة ..

ويستفأدون منه اكثر شي بـ التوبات عشان يرتبون من اكبر قيمة لأصغر قيمة

مثال بسيط : / ..

local Table = {  }; 
  
addEventHandler( "onResourceStart", resourceRoot, function (  ) 
     table.insert ( Table, { value = math.random( 6 , 12 ) * 2 / math.random ( 6 , 10 ) } ) 
end ) 
  
addCommandHandler( "Sort", function ( player ) 
 table.sort( Table, function( a,b ) return ( tonumber(a.value)or 0 ) > ( tonumber(b.value)or 0 ) end ) 
    for _,v in next, Table do 
       outputChatBox( tostring(v.value), player ,255, 0, 0, true ) 
    end 
end ) 
Link to comment
اها فهمت وش فايدته ططيب مثالك صعب مافهمت انت وش سويت يليت تشرح كودك بتفصيل لاهنت :oops:

local Table = {  }; ---- جدول جديد 
  
addEventHandler( "onResourceStart", resourceRoot, function (  ) -- ايفنت وقت يشتغل السكربت 
     table.insert ( Table, { value = math.random( 6 , 12 ) * 2 / math.random ( 6 , 10 ) } ) --- ندخل القيم للجدول 
end ) 
  
addCommandHandler( "Sort", function ( player ) -- امر جديد بـ الكونسل 
 table.sort( Table, function( a,b ) return ( tonumber(a.value)or 0 ) > ( tonumber(b.value)or 0 ) end ) -- ترتب الجدول من اكبر قيمة لأصغر قيمة 
    for _,v in next, Table do  --- نجيب قيم الجدول 
       outputChatBox( tostring(v.value), player ,255, 0, 0, true )  --- نسوي مخرج شات .. وتلاحظ بيجيك بالترتيب من الاكبر للاصغر 
    end 
end ) 
Link to comment

وش هذول مافهمتهم

  
table.sort( Table,  
        function( a,b )  -- وش هذول الحرفين وشوضعهم 
            return ( tonumber(a.value)or 0 ) > ( tonumber(b.value)or 0 )  -- وش يعني هذول  
        end ) 

table.insert ( Table, { value = math.random( 6 , 12 ) * 2 / math.random ( 6 , 10 ) } ) 

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

ابي مثال اسهل من كذا

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...