Jump to content

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


Recommended Posts

وش هذول مافهمتهم
  
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 ) } ) 

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

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

اول شي هذا الفنكشن هو كذا القيم اللي عرفتها

return ( tonumber(a.value)or 0 ) > ( tonumber(b.value)or 0 )  -- وش يعني هذول

هنا يجيب قيمة الـ افال اللي دخلناه او صفر

والثاني يجيب القيمة اللي دخلنها او صفر

عشان يقارن بينهم ويشوف من الأكبر

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

Link to comment
المثال خربان اكتب sort 1 4

يجيبلي نتيجه وحده مايغيرها

انت فاهم الكود غلط .. ذذ

مو كذا تكتب الامر .. انا مدخل القيم بالجدول بس تكتب الامر زي ما هو

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

فـ لو تبي يقارن بين قيمتين .. يصير كذا :

local Table = { }; ---- جدول جديد 
  
addCommandHandler( "Sort", function ( player ) -- امر جديد بـ الكونسل 
    table.insert( Table, { 10, 1000 , value = math.random( 6 , 12 ) * 2 / math.random ( 6 , 11 ) + 5 ^ 5 } ) 
    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
getTickCount 

موب فاهمه كثير يليت احد يوضحها لي

This function returns amount of time that your system has been running in milliseconds. By comparing two values of getTickCount, you can determine how much time has passed (in milliseconds) between two events. This could be used to determine how efficient your code is, or to time how long a player takes to complete a task.

بأختصار فائتده : انه يجيب لك عدد الوقت بالميلي ثانية .. ويستخدم مثلأ في المهمات زي كذا

او انك مثلأ تحدد وقت بين فترة لفترة ذذ .. وهذي تعتمد اكثر على قدرة حسابك فـ الرياضيات ذذ

مثال بسيط عشان تفهم اكثر : ..

GotTick = getTickCount (  ) 
  
addEventHandler( "onResourceStart", resourceRoot, function( ) 
    setTimer( Get, 2000, 1 ) 
end ) 
  
function Get ( ) 
   local tick = getTickCount (  ) 
   local GetFloor = math.floor ( ( tick - GotTick ) ) 
   outputChatBox ( "** Time in milliseconds is : " .. GetFloor, getRootElement( ), 255, 0, 0, true ) 
end 
Edited by Guest
Link to comment

GotTick = getTickCount (  ) 
  
addEventHandler( "onResourceStart", resourceRoot, function( ) 
    setTimer( Get, 2000, 1 ) 
end ) 
  
function Get ( ) 
   local tick = getTickCount (  ) 
   local GetFloor = math.floor ( ( tick - GotTick ) / 3000 ) 
   outputChatBox ( "** Time in milliseconds is : " .. GetFloor, getRootElement( ), 255, 0, 0, true ) 
end 

:تصحيح

local GetFloor = tick - GotTick 

بدون قسمة عشان تجيب الملي ثانية من وقت تشغيل الريسورس

Link to comment
اسلام عليكم

اسلام عليكم

كيف بدي استخدم هذا الكود

setCameraMatrix 

# وعليكم السلأم ...

setCameraMatrix:

This function sets the camera's position and direction. The first three arguments are the point at which the camera lies, the last three are the point the camera faces (or the point it "looks at").

Note: Calling this function takes the camera's focus away from the player and sets the camera in a fixed position and rotation. The camera's focus can be brought back to the player using the setCameraTarget function.

Client Syntax

bool setCameraMatrix ( float positionX, float positionY, float positionZ [, float lookAtX, float lookAtY, float lookAtZ, float roll = 0, float fov = 70 ] ) 

# ببساطة فائدة الفنكشن انه يحط لك الكميرا بـ احداثيات محدةة ..

كيف اقدر اجيب الاحداثيات او الارقمنات المطلوبة .

x, y, z اول 3 ارقمنات معروفة

getCameraMatrix الـ 3 اللي بعدها تجيبهم عن طريق فنكشن

ويمديك تجيب اول 6 ارقمنات من ذا الفنكشن

مثال بسيط كيف تجيب الاحداثيات : ...

addCommandHandler( "GetCameraPos", function ( ) 
       local x, y, z, xl, yl, zl = getCameraMatrix(  ) 
       if ( x == 0 or y == 0 or z == 0 ) then return end 
       setClipboard(" "..x..", "..y..", "..z..", "..xl..", "..yl..", "..zl.." ") 
end ) 

setCameraMatrix وبتنسخ لك الاحداثيات كاملة بس عليك تحطها بـ GetCameraPos تقوم بـ كتابة الأمر

Link to comment
كيف بدي احط الاحداثيات علي
setCameraMatrix 

addCommandHandler( "GetCameraPos", function ( ) 
       local x, y, z, xl, yl, zl = getCameraMatrix(  ) 
       if ( x == 0 or y == 0 or z == 0 ) then return end 
       setClipboard(" "..x..", "..y..", "..z..", "..xl..", "..yl..", "..zl.." ") 
end ) 

ذا الكود تكتب في اف 8 GetCameraPos

تنسخه

وحط ctrl + v

ويطلع لك

Link to comment
اذا مافي مجال في ناس تقول تعلم الاساسيات ممكن اذا في مجال رابط يعلمنا او يعني تعليم الاساسيات

https://wiki.multitheftauto.com/wiki/Main_Page

ادخل فكنشنات وشوف وش اللي موجود بكل كود تعرف الاسأسيات ..

زي :

function 
end 

بدون هذول ما تقدر بـ اي شكل انك تسوي كود

بدون : addEventHandler

ما تقدر تسوي بـ اي شكل حدث من الاحداث .

وبدون الـ ميتا ما تقدر تشغل اي سكربت ..

GUI ما تقدر تسوي لوحات GUI Element وبدون الـ > > >

https://wiki.multitheftauto.com/wiki/In ... ng_the_GUI

. عشان تطالع اخطاء سكربتكـ debugscript والـ

زي هذي الأشياء .

Link to comment
اذا مافي مجال في ناس تقول تعلم الاساسيات ممكن اذا في مجال رابط يعلمنا او يعني تعليم الاساسيات

https://wiki.multitheftauto.com/wiki/Main_Page

ادخل فكنشنات وشوف وش اللي موجود بكل كود تعرف الاسأسيات ..

زي :

function 
end 

بدون هذول ما تقدر بـ اي شكل انك تسوي كود

بدون : addEventHandler

ما تقدر تسوي بـ اي شكل حدث من الاحداث .

وبدون الـ ميتا ما تقدر تشغل اي سكربت ..

GUI ما تقدر تسوي لوحات GUI Element وبدون الـ > > >

https://wiki.multitheftauto.com/wiki/In ... ng_the_GUI

. عشان تطالع اخطاء سكربتكـ debugscript والـ

زي هذي الأشياء .

اتوقع قصده الجداول والمتغيرات

ووظايف الـ string - math - tabel

الخارج الويكي

Link to comment

السلام عليكم

يعطيك العافية اخوي على الموضوع

افدت كثير من المبتدئين

بس عندي كم شغلة " ابيك تشرحها لي لو ماعليك امر

,root, 
  

وش معناها ووش تسوي

وايضا

(source)

Link to comment

getRootElement هي اختصار لـ root كلمه

This function returns the root node of the element tree, called root. This node contains every other element: all resource root elements, players and remote clients. It is never destroyed and cannot be destroyed using destroyElement.

It is often used to attach handler functions to events triggered for any element, or also to make a scripting function affect all elements.

يعني ان الوظيفه تعطيك الروت او شجره العناصر

https://wiki.multitheftauto.com/wiki/Element_tree

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

هو مصدر الحدث , يعني مثلا الي انضرب من لاعب آخر , او الي لمس الماركر source بالنسبه لـ

وتقدر تعرف وش هو مصدر الحدث لو دخلت عليه ,مثال

onPlayerJoin

Source

The source of this event is the player who joined.

يعني لو سويت الحدث , وتحط للسورس وظيفه , راح تكون الوظيفه فقط للي دخل

Link to comment

هو مصدر الحدث , يعني مثلا الي انضرب من لاعب آخر , او الي لمس الماركر source بالنسبه لـ

وتقدر تعرف وش هو مصدر الحدث لو دخلت عليه ,مثال

onPlayerJoin

Source

The source of this event is the player who joined.

يعني لو سويت الحدث , وتحط للسورس وظيفه , راح تكون الوظيفه فقط للي دخل

player,thePlayer = ماتسوي اي شيء,

يعني انه يقصد انه الفنكشن للاعب فقط player اذا لقيت فنكشن في الويكي ومكتوب قبله

Link to comment

هو مصدر الحدث , يعني مثلا الي انضرب من لاعب آخر , او الي لمس الماركر source بالنسبه لـ

وتقدر تعرف وش هو مصدر الحدث لو دخلت عليه ,مثال

onPlayerJoin

Source

The source of this event is the player who joined.

يعني لو سويت الحدث , وتحط للسورس وظيفه , راح تكون الوظيفه فقط للي دخل

player,thePlayer = ماتسوي اي شيء,

يعني انه يقصد انه الفنكشن للاعب فقط player اذا لقيت فنكشن في الويكي ومكتوب قبله

يعني ان الفنكشن يرجع لاعب player الي اعرفه ان لو لقيت فنكشن في الويكي و مكتوب قبله

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

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