AR/Math: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
 
(69 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<font color="#FF0000"  size="7">  <strong>  <p align="center">'''بسم الله الرحمن الرحيم'''</p>  </strong>    </font><br />
__NOTOC__


==math.abs==
تستخدم لتحويل العدد من السالب الي الموجب


 
==تركيب الكود==
 
== math.abs ==
 
يستخدم للقيمة المطلقة للعدد بحيث عند كتابة عدد سالب يقوم الحدث بتحويله ليصبح موجب 
 
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.abs(number)
float/int math.abs(number)
</syntaxhighlight>
</syntaxhighlight>


===المفردات===
*'''number''' = الرقم الذي تريد ان تحوله الى موجب
==مثال==


<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
Line 24: Line 26:


areaID = createRadarArea(x,y, grX, grY, 0, 0, 0, 0)</syntaxhighlight></section>
areaID = createRadarArea(x,y, grX, grY, 0, 0, 0, 0)</syntaxhighlight></section>
___________________________________________________________________


== math.ceil ==
==math.ceil==
 
يستخدم لتقريب العدد العشري الى اكبر عدد صحيح
يستخدم لتقريب العدد العشري الى عدد صحيح الاعلى منه بحيث عند كتابة عدد عشري يقوم الحدث
بحذف الفاصلة العشرية والاعداد العشرية وتقريبه الى العدد الصحيح الاكبر منه


==تركيب الكود==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.ceil(number)
float/int math.ceil(number)
</syntaxhighlight>
</syntaxhighlight>


==المفردات==
*'''number''' = الرقم الذي تريد تقريبه الى العدد الصحيح الاكبر


==مثال==
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 46: Line 49:


areaID = createRadarArea(x,y, grX, grY, 0, 0, 0, 0)</syntaxhighlight> </section>
areaID = createRadarArea(x,y, grX, grY, 0, 0, 0, 0)</syntaxhighlight> </section>
___________________________________________________________________


== math.floor ==
== math.floor ==


<font color="#006400"  size="3">  <p align="center">
يستخدم لتقريب العدد العشري وحذف العدد العشري الذي بعد الفاصله
 
يستخدم لتقريب العدد العشري الى عدد صحيح الاسفل منه بحيث عند كتابة عدد عشري يقوم الحدث
بحذف الفاصلة العشرية والاعداد العشرية وتقريبة الى العدد الصحيح الاصغر منه
 
</p></font>


== تركيب الكود ==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.floor(number)
float/int math.floor(number)
</syntaxhighlight>
</syntaxhighlight>


== المفردات ==


<section name="مثال" class="both" show="true">
*'''number''' = العدد الذي تريد ان تقربه وتحذف الفاصله
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>


== مثال ==


<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">addCommandHandler('Health', -- امر من اف8
function(player,_,who) -- وظيفه
if who then -- تحقق
local ThePlayer = getPlayerFromName(who) -- نحظر اسم اللاعب
local Health = math.floor(getElementHealth(ThePlayer)) -- نحظر صحه اللاعب (الدم) مع حذف الارقام بعد الفاصله
outputChatBox('* His Health : '..Health,player,255,255,255,true) -- نخرج نص الى الشات
end -- اغلاق
end -- اغلاق
) -- اغلاق


 
-- By : The Best</syntaxhighlight> </section>
 
 
<p align="center">___________________________________________________________________</p>  
 
 




== math.round ==
== math.round ==
<font color="#006400"  size="3">  <p align="center"> هذا الحدث يستخدم لتقريب العدد مع تحديد عدد المنازل العشرية المطلوب التقريب اليها بحيث عند كتابة عدد المنازل العشرية المطلوبة يقوم الحدث  بتقريب العدد الى نفس المنازل التي طلبنا منه التقريب اليها
</p></font>


يستخدم للتقريب إما عدد اكبر او اصغر بحيث اذا كان العدد الذي بعد الفاصله 5 او اكبر يقربه الى الاكبر منه,أما اذا كان العدد اصغر من 5 فسوف يحذف الرقم الي بعد الفاصله فقط


== تركيب الكود ==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.round(number)
float/int math.round(number)
</syntaxhighlight>
</syntaxhighlight>


== المفردات ==
*'''number''' = العدد الذي تريد تقريبه الى الاكبر او الاصغر


== مثال ==
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua"> -- .ملاحظة : الكود ما راح يشتغل بدون هذه الوظيفه
 
function math.round(number, decimals, method)
    decimals = decimals or 0
    local factor = 10 ^ decimals
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end


-- : المثال


local Number = 10.5 -- متغير مع قيمه


addCommandHandler('Round', -- امر من اف8
function(player) -- وظيفه
outputChatBox('* The Number : '..math.round(tonumber(Number)),player,255,255,255,true) -- نص في الشات
end -- اغلاق
) -- اغلاق


<p align="center">___________________________________________________________________</p>
-- 11 الناتج راح يكون


== math.mod ==
-- لأن العدد الذي بعد الفاصله 5 او اكبر
<font color="#006400"  size="3">  <p align="center">
هذا الحدث يستخدم لتحديد باقي القسمة بحيث عند كتابة عددين يقوم الحدث بايجاد باقي القسم بين العدد المقسوم والعدد المقسوم عليه 
</p></font>


-- لو كان العدد 10.4 راح يكون الناتج 10


-- By : The Best</syntaxhighlight> </section>


== math.mod ==
هذا الحدث يستخدم لتحديد باقي القسمة بحيث عند كتابة عددين يقوم الحدث بايجاد باقي القسم بين العدد المقسوم والعدد المقسوم عليه 


== تركيب الكود ==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.mod(number)
float/int math.mod(number)
</syntaxhighlight>
</syntaxhighlight>


== المفردات ==


<section name="مثال" class="both" show="true">
*'''number''' = العدد الذي تريد تحديد باقي القسمه له
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
 
 
 
 
 
 
 
<p align="center">___________________________________________________________________</p>
 


== مثال ==


<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">-- TODO</syntaxhighlight> </section>


== math.sqrt ==
== math.sqrt ==
<font color="#006400"  size="3">  <p align="center">
تستخدم لحساب الجذر التربيعي للعدد
هذا الحدث يستخدم لحساب الجذر التربيعي بحيث عند كتابة عدد يقوم الحدث بحساب الجذر التربيعي للعدد  
</p></font>
 
 
 


== تركيب الكود ==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.sqrt(number)
float/int math.sqrt(number)
</syntaxhighlight>
</syntaxhighlight>


== المفردات ==
*'''number''' = العدد الذي تريد حساب الجذر التربيعي له


== مثال ==
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">ملاحظة : الحساب يكون بالجذر التربيعي للعدد
<syntaxhighlight lang="lua">-- ملاحظة : الحساب يكون بالجذر التربيعي للعدد


-- مثال --
-- مثال --
Line 151: Line 163:
100 -- الناتج
100 -- الناتج


-- By : The Best</syntaxhighlight> </section>
-- مثال على كود --
 


-- كلينت


Health = guiCreateButton(131,163,113,46,"Give me health",false) -- نسوي زر
addEventHandler("onClientGUIClick",Health, -- اذا ضغط على الزر
function() -- وظيفة
triggerServerEvent("Health",localPlayer) -- نرسل الوظيفة للسيرفر
end,false) -- اغلاق


-- سيرفر


addEvent("Health",true) -- نحظر الوظيفة من الكلينت
addEventHandler("Health",root, -- نحظر الوظيفة من الكلينت
function() -- وظيفة
if (getElementHealth(source) <= 30 ) then -- نتحقق ان دم اللاعب يساوي 30 او اقل
setElementHealth(source,math.sqrt(10000)) -- اعطاء دم للجذر التربيعي 10000
      end -- اغلاق
end) -- اغلاق


-- هنا راح يعطي اللاعب دم على حسب الجذر التربيعي للـ10000


-- الجذر التربيعي لـ10000 = 100


-- By : The Best</syntaxhighlight> </section>


<p align="center">___________________________________________________________________</p>


== math.pow ==
== math.pow ==
<font color="#006400"  size="3">  <p align="center">
تستخدم لحساب الأسس بحيث اذا تم كتابه رقمين يتم ضرب الرقم الاول في الثاني حسب العدد
 
هذه الداله تستخدم لحساب الاسس بحيث عند كتابة العدد الاول الاساس وعدد أخر الاس يقوم الحدث  بحساب الاسس
 
</p></font>
 
 
 


== تركيب الكود ==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.pow(number)
float/int math.pow(number,number2)
</syntaxhighlight>
</syntaxhighlight>


== المفردات ==
* '''number''' = العدد الاول الذي تريد ان تضربه في العدد الثاني
* '''number2''' = العدد الثاني الذي سيضرب العدد الاول فيه
== مثال ==
<section name="مثال" class="server" show="true">
<syntaxhighlight lang="lua">-- عملية الحساب تكون بالضرب


<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">عملية الحساب تكون بالضرب
math.pow(9,9) -- نضرب الاسس
math.pow(9,9) -- نضرب الاسس
3.8742048 -- الناتج
3.8742048 -- الناتج
Line 188: Line 214:
279936 -- الناتج
279936 -- الناتج


عملية الضرب كالتالي :
-- عملية الضرب كالتالي :
 
-- اول مثال الناتج 90
 
-- نضرب 9 في نفسها 9 مرات :
 
-- 9×9×9×9×9×9×9×9×9 = 3.8742048
 
-- المثال الثاني :


اول مثال الناتج 90
-- نضرب 6 في نفسها 7 مرات :


نضرب 9 في نفسها 9 مرات :
-- 6×6×6×6×6×6×6 = 279936


9×9×9×9×9×9×9×9×9 = 3.8742048
-- مثال على كود --


المثال الثاني :
addEventHandler("onResourceStart",resourceRoot, -- اذا تم تشغيل السكربت
function() -- وظيفة
for _,Player in pairs ( getElementsByType ( "player" ) ) do -- تحديد النوع وهم جميع اللاعبين
if (getPlayerMoney(Player) >= 50 ) then -- نتحقق ان فلوس اللاعب تساوي 50 او اكثر
givePlayerMoney(Player,math.pow(9,4)) -- نعطي اللاعب فلوس على حسب ضرب الاسس
            end -- اغلاق
      end -- اغلاق
end) -- اغلاق


نضرب 6 في نفسها 7 مرات :
-- الفلوس الي راح يعطيها اللاعب هي 6561


6×6×6×6×6×6×6 = 279936
-- نتيجه للضرب 9×9×9×9 = 6561


-- By : The Best</syntaxhighlight> </section>
-- By : The Best</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>


== math.random ==
== math.random ==
Line 232: Line 271:
addEventHandler("onResourceStart",resurceRoot, -- اذا تم تشغيل السكربت
addEventHandler("onResourceStart",resurceRoot, -- اذا تم تشغيل السكربت
function() -- وظيفه
function() -- وظيفه
if getPlayerMoney ( source ) >= 100 then --  اذا اللاعب عنده 100 او اكثر  
for _,Player in ipairs ( getElementType ( "player" ) ) do -- نحدد النوع وهو اللاعب
givePlayerMoney(source, math.random(50,100)) -- يعطيه رقم عشوائي مابين 50 و 100
if getPlayerMoney ( Player ) >= 100 then --  اذا اللاعب عنده 100 او اكثر  
givePlayerMoney(Player, math.random(50,100)) -- يعطيه رقم عشوائي مابين 50 و 100
          end -- اغلاق
     end -- اغلاق
     end -- اغلاق
end) -- اغلاق
end) -- اغلاق


-- مثال آخر --
function() -- وظيفة
if getElementHealth(source) <= 50 then -- اذا كانت الطاقة تساوي 50 او اقل
setElementHealth(source,math.random(10,20) -- يعطي اللاعب طاقة مابين 10 و 20
    end
end


-- By : The Best</syntaxhighlight> </section>
-- By : The Best</syntaxhighlight> </section>
Line 303: Line 337:


<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.hextonumber(number)
float/int math.HexToNumber(number)
</syntaxhighlight>
</syntaxhighlight>


Line 316: Line 350:




<p align="center">___________________________________________________________________</p>  
<p align="center">___________________________________________________________________</p>
 
 
 


== math.rad ==
== math.rad ==
Line 326: Line 356:


هذا الحدث يستخدم لتحويل قياس الزاوية من راديان الى درجة بحيث عند كتابة الزاوية بالراديان يعمل الحدث  بتحويله الى درجة
هذا الحدث يستخدم لتحويل قياس الزاوية من راديان الى درجة بحيث عند كتابة الزاوية بالراديان يعمل الحدث  بتحويله الى درجة
</p></font>




Line 341: Line 368:
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>


 
== math.HexColorToNumber ==
 
 
 
 
 
 
 
<p align="center">___________________________________________________________________</p>
 
 
 
 
== math.hexcolortonumber ==
<font color="#006400"  size="3">  <p align="center">


هذا الحدث يستخدم لتحويل رقم اللون من هيكس الى ديكس بحيث عند كتابة رقم هيكس يعمل الحدث بتحويله الى ديكس
هذا الحدث يستخدم لتحويل رقم اللون من هيكس الى ديكس بحيث عند كتابة رقم هيكس يعمل الحدث بتحويله الى ديكس
</p></font>




<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.hexcolortonumber(number)
float/int math.HexColorToNumber(number)
</syntaxhighlight>
</syntaxhighlight>


Line 372: Line 380:
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>


== math.deg ==
== math.deg ==
<font color="#006400"  size="3">  <p align="center">


هذا الحدث يستخدم لتحويل قياس الزاوية من درجة الى راديان بحيث عند كتابة درجة الزاوية يقوم الحدث Math.Rad بتحويله الى راديان
هذا الحدث يستخدم لتحويل قياس الزاوية من درجة الى راديان بحيث عند كتابة درجة الزاوية يقوم الحدث Math.Rad بتحويله الى راديان
Line 398: Line 390:
كيف نحسب الراديان
كيف نحسب الراديان
للتحويل من راديان إلى درجات نضرب الراديان في 180 ونقسم الحاصل على ( باي ) وللتحويل من الدرجات إلى راديان نضرب الدرجات في ( باي ) ونقسم الحاصل على 180
للتحويل من راديان إلى درجات نضرب الراديان في 180 ونقسم الحاصل على ( باي ) وللتحويل من الدرجات إلى راديان نضرب الدرجات في ( باي ) ونقسم الحاصل على 180
</p></font>




Line 413: Line 401:
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>


== math.RGBToNumber ==
== math.RGBToNumber ==
<font color="#006400"  size="3">  <p align="center">


هذا الحدث يستخدم لتحويل رقم الالوان الاساسية الاحمر والاخضر والازرق من Hex الى Dec بحيث عند كتابة ارقام ثلاثة الالوان يعمل الحدث Math.RGBToNumber بتحويله الى Dex
هذا الحدث يستخدم لتحويل رقم الالوان الاساسية الاحمر والاخضر والازرق من Hex الى Dec بحيث عند كتابة ارقام ثلاثة الالوان يعمل الحدث Math.RGBToNumber بتحويله الى Dex
</p></font>




Line 442: Line 415:
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>


== math.sin ==
== math.sin ==
<font color="#006400"  size="3">  <p align="center">


هذا الحدث يستخدم لحساب جيب الزاوية (جا) بحيث عند كتابة قياس الزاوية يعمل الحدث Math.Sin بحساب جيب الزاوية
هذا الحدث يستخدم لحساب جيب الزاوية (جا) بحيث عند كتابة قياس الزاوية يعمل الحدث Math.Sin بحساب جيب الزاوية


ملاحظة : يجب قبل حساب جا تحويل قياس الزاوية الى راديان بالحدث Math.Rad
ملاحظة : يجب قبل حساب جا تحويل قياس الزاوية الى راديان بالحدث Math.Rad
</p></font>






<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int Math.Sin(number)
float/int math.sin(number)
</syntaxhighlight>
</syntaxhighlight>




<section name="Example" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>


 
== math.cos ==
 
 
 
 
 
 
<p align="center">___________________________________________________________________</p>
 
 
 
 
<font color="#8E2323"  size="3">  <p align="center">  == Math.Cos ==    </p></font>
<font color="#006400"  size="3">  <p align="center">
 


هذا الحدث يستخدم لحساب جيب تمام الزاوية (جتا) بحيث عند كتابة قياس الزاوية يعمل الحدث  بحساب جيب الزاوية
هذا الحدث يستخدم لحساب جيب تمام الزاوية (جتا) بحيث عند كتابة قياس الزاوية يعمل الحدث  بحساب جيب الزاوية
</p></font>




Line 501: Line 440:


<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int Math.Cos(number)
float/int math.cos(number)
</syntaxhighlight>
</syntaxhighlight>




<section name="Example" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>


 
== math.tan ==
 
 
 
 
 
 
 
<p align="center">___________________________________________________________________</p>
 
 
 
 
== math.tan
<font color="#006400"  size="3">  <p align="center">
 


هذا الحدث يستخدم لحساب ظل الزاوية (ظا) بحيث عند كتابة قياس الزاوية يعمل الحدث  بحساب ظل الزاوية
هذا الحدث يستخدم لحساب ظل الزاوية (ظا) بحيث عند كتابة قياس الزاوية يعمل الحدث  بحساب ظل الزاوية
</p></font>




Line 540: Line 460:
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>


== math.asin ==
== math.asin ==
<font color="#006400"  size="3">  <p align="center">


هذا الحدث يستخدم لحساب معكوس جا بحيث عند كتابة العدد يعمل الحدث  بحساب معكوس جا الزاوية</p></font>
هذا الحدث يستخدم لحساب معكوس جا بحيث عند كتابة العدد يعمل الحدث  بحساب معكوس جا الزاوية</p></font>
Line 572: Line 475:
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>


== math.acos ==
== math.acos ==
Line 670: Line 560:


== math.atan2 ==
== math.atan2 ==
<font color="#006400"  size="3">  <p align="center">


هذا الحدث يستخدم لحساب مقسوم معكوس ظا بحيث عند كتابة العدد الاول والثاني يعمل الحدث Math.Atan2 على حساب معكوس ظا (العدد الاول / العدد الثاني)
هذا الحدث يستخدم لحساب مقسوم معكوس ظا بحيث عند كتابة العدد الاول والثاني يعمل الحدث Math.Atan2 على حساب معكوس ظا (العدد الاول / العدد الثاني)
</p></font>


<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 695: Line 570:
<section name="مثال" class="both" show="true">
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>
<font color="#8E2323"  size="3">  <p align="center">  == Math.Atan2  ==    </p></font>
<font color="#006400"  size="3">  <p align="center">
هذا الحدث يستخدم لحساب مقسوم معكوس ظا بحيث عند كتابة العدد الاول والثاني يعمل الحدث Math.Atan2 على حساب معكوس ظا (العدد الاول / العدد الثاني)
</p></font>
<syntaxhighlight lang="lua">
float/int Math.Atan2(number)
</syntaxhighlight>
<section name="Example" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
___________________________________________________________________


== math.max ==
== math.max ==
Line 755: Line 588:


ملاحظة : السالب تكون قيمته صغيرة
ملاحظة : السالب تكون قيمته صغيرة
-- By The Best</syntaxhighlight> </section>
== math.min ==
هذا الحدث يستخدم لتحديد العددالاصغر من الاخر بحيث عند كتابة عددين يقوم الحدث
بمقارنة العددين وتحديد العدد الاصغر
<syntaxhighlight lang="lua">
float/int math.min(number1,number2,number...)
</syntaxhighlight>
<section name="مثال" class="server" show="true">
<syntaxhighlight lang="lua">addEventHandler("onResourceStart",resourceRoot, -- اذا تم تشغيل السكربت
function() -- وظيفة
outputChatBox("The number is "..math.min(10,-20).." is good") -- نظهر نص في الشات
end) -- اغلاق
-- الرقم الي بيظهر في الشات هو -20
-- ملاحظة السالب اصغر من الموجب


-- By The Best</syntaxhighlight> </section>
-- By The Best</syntaxhighlight> </section>


   
   
<div style="background: #FFCFCF; padding: 5px; font-weight:bold; border: 1px dotted #AAAAAA;padding:10px;margin:10px;"><center>تعريب <font color="#0066cc"  size="2">السالمي</font> </center></div>
<div style="background: #FFCFCF; padding: 5px; font-weight:bold; border: 1px dotted #AAAAAA;padding:10px;margin:10px;"><center>تعريب <font color="#0066cc"  size="2">السالمي</font> </center>
<center>http://ams4arab.arabstar.biz/t107-topic <font color="#0066cc"  size="2"> المصدر    </font> </center>
 
</div>
 
 


==See Also==
==See Also==
* [[Math]]
* [[Math]]
* [http://lua-users.org/wiki/MathLibraryTutorial Math examples on the LUA Wiki]
* [http://lua-users.org/wiki/MathLibraryTutorial Math examples on the LUA Wiki]
[[ar:Math]]
[[de:Math]]
[[en:Math]]

Latest revision as of 03:45, 15 January 2022


math.abs

تستخدم لتحويل العدد من السالب الي الموجب

تركيب الكود

float/int math.abs(number)

المفردات

  • number = الرقم الذي تريد ان تحوله الى موجب

مثال

Click to collapse [-]
مثال

هذا المثال يقوم بتحويل العدد الى رقم موجب في الردار

myElegy = createVehicle(562, 1591.596680, -2495.323242, 18.098244) 

local x,y,z = getElementPosition(myElegy)

grX = math.abs(math.random(-30,1)
grY = math.abs(math.random(-30,1)

areaID = createRadarArea(x,y, grX, grY, 0, 0, 0, 0)

math.ceil

يستخدم لتقريب العدد العشري الى اكبر عدد صحيح

تركيب الكود

float/int math.ceil(number)

المفردات

  • number = الرقم الذي تريد تقريبه الى العدد الصحيح الاكبر

مثال

Click to collapse [-]
مثال
myElegy = createVehicle(562, 1591.596680, -2495.323242, 18.098244) 

local x,y,z = getElementPosition(myElegy)

grX = math.ceil(math.random(1.235,100.4575))
grY = math.ceil(math.random(1.235,100.4575))

areaID = createRadarArea(x,y, grX, grY, 0, 0, 0, 0)

math.floor

يستخدم لتقريب العدد العشري وحذف العدد العشري الذي بعد الفاصله

تركيب الكود

float/int math.floor(number)

المفردات

  • number = العدد الذي تريد ان تقربه وتحذف الفاصله

مثال

Click to collapse [-]
مثال
addCommandHandler('Health', -- امر من اف8
function(player,_,who) -- وظيفه
	if who then -- تحقق
		local ThePlayer = getPlayerFromName(who) -- نحظر اسم اللاعب
			local Health = math.floor(getElementHealth(ThePlayer)) -- نحظر صحه اللاعب (الدم) مع حذف الارقام بعد الفاصله
				outputChatBox('* His Health : '..Health,player,255,255,255,true) -- نخرج نص الى الشات
		end -- اغلاق
	end -- اغلاق
) -- اغلاق

-- By : The Best


math.round

يستخدم للتقريب إما عدد اكبر او اصغر بحيث اذا كان العدد الذي بعد الفاصله 5 او اكبر يقربه الى الاكبر منه,أما اذا كان العدد اصغر من 5 فسوف يحذف الرقم الي بعد الفاصله فقط

تركيب الكود

float/int math.round(number)

المفردات

  • number = العدد الذي تريد تقريبه الى الاكبر او الاصغر

مثال

Click to collapse [-]
مثال
 -- .ملاحظة : الكود ما راح يشتغل بدون هذه الوظيفه

function math.round(number, decimals, method)
    decimals = decimals or 0
    local factor = 10 ^ decimals
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end

-- : المثال

local Number = 10.5 -- متغير مع قيمه

addCommandHandler('Round', -- امر من اف8
function(player) -- وظيفه 
	outputChatBox('* The Number : '..math.round(tonumber(Number)),player,255,255,255,true) -- نص في الشات
	end -- اغلاق
) -- اغلاق

-- 11 الناتج راح يكون

-- لأن العدد الذي بعد الفاصله 5 او اكبر

-- لو كان العدد 10.4 راح يكون الناتج 10

-- By : The Best

math.mod

هذا الحدث يستخدم لتحديد باقي القسمة بحيث عند كتابة عددين يقوم الحدث بايجاد باقي القسم بين العدد المقسوم والعدد المقسوم عليه

تركيب الكود

float/int math.mod(number)

المفردات

  • number = العدد الذي تريد تحديد باقي القسمه له

مثال

Click to collapse [-]
مثال
-- TODO

math.sqrt

تستخدم لحساب الجذر التربيعي للعدد

تركيب الكود

float/int math.sqrt(number)

المفردات

  • number = العدد الذي تريد حساب الجذر التربيعي له

مثال

Click to collapse [-]
مثال
-- ملاحظة : الحساب يكون بالجذر التربيعي للعدد

-- مثال --

math.sqrt(100) -- نحدد قيمه الجذر
10 -- الناتج

-- مثال آخر -- 

math.sqrt(10000) -- نحدد قيمة الجذر
100 -- الناتج

-- مثال على كود --

-- كلينت 

Health = guiCreateButton(131,163,113,46,"Give me health",false) -- نسوي زر
addEventHandler("onClientGUIClick",Health, -- اذا ضغط على الزر
function() -- وظيفة
triggerServerEvent("Health",localPlayer) -- نرسل الوظيفة للسيرفر
end,false) -- اغلاق

-- سيرفر

addEvent("Health",true) -- نحظر الوظيفة من الكلينت
addEventHandler("Health",root, -- نحظر الوظيفة من الكلينت
function() -- وظيفة
if (getElementHealth(source) <= 30 ) then -- نتحقق ان دم اللاعب يساوي 30 او اقل
setElementHealth(source,math.sqrt(10000)) -- اعطاء دم للجذر التربيعي 10000
      end -- اغلاق
end) -- اغلاق

-- هنا راح يعطي اللاعب دم على حسب الجذر التربيعي للـ10000

-- الجذر التربيعي لـ10000 = 100

-- By : The Best


math.pow

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

تركيب الكود

float/int math.pow(number,number2)

المفردات

  • number = العدد الاول الذي تريد ان تضربه في العدد الثاني
  • number2 = العدد الثاني الذي سيضرب العدد الاول فيه

مثال

Click to collapse [-]
مثال
-- عملية الحساب تكون بالضرب

math.pow(9,9) -- نضرب الاسس
3.8742048 -- الناتج

-- مثال آخر -- 

math.pow(6,7) -- نضرب الاسس
279936 -- الناتج

-- عملية الضرب كالتالي :

-- اول مثال الناتج 90

-- نضرب 9 في نفسها 9 مرات :

-- 9×9×9×9×9×9×9×9×9 = 3.8742048

-- المثال الثاني :

-- نضرب 6 في نفسها 7 مرات :

-- 6×6×6×6×6×6×6 = 279936

-- مثال على كود --

addEventHandler("onResourceStart",resourceRoot, -- اذا تم تشغيل السكربت
function() -- وظيفة
for _,Player in pairs ( getElementsByType ( "player" ) ) do -- تحديد النوع وهم جميع اللاعبين
if (getPlayerMoney(Player) >= 50 ) then -- نتحقق ان فلوس اللاعب تساوي 50 او اكثر
givePlayerMoney(Player,math.pow(9,4)) -- نعطي اللاعب فلوس على حسب ضرب الاسس
            end -- اغلاق
      end -- اغلاق
end) -- اغلاق

-- الفلوس الي راح يعطيها اللاعب هي 6561

-- نتيجه للضرب 9×9×9×9 = 6561

-- By : The Best

math.random

هذه الداله تستخدم لكي تظهر رقم عشوائي بحيث عند كتابة العدد الاول والعدد الثاني يقوم الحدث باظهار رقم عشوائي بين الرقمين التي ادخلتها



float/int math.random(number)


Click to collapse [-]
مثال
addEventHandler("onResourceStart",resourceRoot, -- اذا تم تشغيل السكربت
function() -- وظيفه
Height = math.random(50,100) -- رقم عشوائي لإرتفاع الماء
setWaveHeight(Height) -- نربط ارتفاع الماء بالرقم العشوائي
end) -- اغلاق

-- مثال آخر --

addEventHandler("onResourceStart",resurceRoot, -- اذا تم تشغيل السكربت
function() -- وظيفه
for _,Player in ipairs ( getElementType ( "player" ) ) do -- نحدد النوع وهو اللاعب
if getPlayerMoney ( Player ) >= 100 then --  اذا اللاعب عنده 100 او اكثر 
givePlayerMoney(Player, math.random(50,100)) -- يعطيه رقم عشوائي مابين 50 و 100
           end -- اغلاق
     end -- اغلاق
end) -- اغلاق


-- By : The Best




___________________________________________________________________

math.randomseed

هذا الحدث يستخدم لكي يظهر رقم عشوائي ثابت بحيث عند كتابة عدد يقوم الحدث باظهار رقم عشوائي ثابت بين رقمين مثل (100-9999) ولن يتغير هذا الرقم العشوائي ابداً ولتغيره يجب تغير العدد المدخل في البداية



float/int math.randomseed(number)


Click to collapse [-]
مثال
--



___________________________________________________________________



math.HexToNumber

هذا الحدث يستخدم لتحويل الارقام من النظام السادس عشر (Hex) الى النظام العشري (Dec)بحيث عند كتابة عدد Hex يقوم الحدث بتحويله الى عدد Dec معلومة : ارقام Hex هي (0 ، 1 ، 2، 3 ،4 ،5 ، 6، 7 ،8 ، 9 ، F ،E ،D ،C ،B ، A ) ارقام Dec هي (0 ، 1 ، 2، 3 ،4 ،5 ، 6، 7 ،8 ، 9 )



float/int math.HexToNumber(number)


Click to collapse [-]
مثال
--




___________________________________________________________________

math.rad

هذا الحدث يستخدم لتحويل قياس الزاوية من راديان الى درجة بحيث عند كتابة الزاوية بالراديان يعمل الحدث بتحويله الى درجة

float/int math.rad(number)


Click to collapse [-]
مثال
--

math.HexColorToNumber

هذا الحدث يستخدم لتحويل رقم اللون من هيكس الى ديكس بحيث عند كتابة رقم هيكس يعمل الحدث بتحويله الى ديكس


float/int math.HexColorToNumber(number)


Click to collapse [-]
مثال
--

math.deg

هذا الحدث يستخدم لتحويل قياس الزاوية من درجة الى راديان بحيث عند كتابة درجة الزاوية يقوم الحدث Math.Rad بتحويله الى راديان

معلومة:

راديان :هي وحدة قياس الزوايا الرسمية المعتمدة ضمن مجموعة الوحدات القياسية المستخدمة في الرياضيات و الفيزياء و تعرف بأنها الزاوية المركزية المتوضعة على مركز الدائرة و التي تحدد قوسا طولها مساوي لنصف قطر الدائرة. كيف نحسب الراديان للتحويل من راديان إلى درجات نضرب الراديان في 180 ونقسم الحاصل على ( باي ) وللتحويل من الدرجات إلى راديان نضرب الدرجات في ( باي ) ونقسم الحاصل على 180



float/int math.deg(number)


Click to collapse [-]
مثال
--

math.RGBToNumber

هذا الحدث يستخدم لتحويل رقم الالوان الاساسية الاحمر والاخضر والازرق من Hex الى Dec بحيث عند كتابة ارقام ثلاثة الالوان يعمل الحدث Math.RGBToNumber بتحويله الى Dex


float/int math.RGBToNumber(number)


Click to collapse [-]
مثال
--

math.sin

هذا الحدث يستخدم لحساب جيب الزاوية (جا) بحيث عند كتابة قياس الزاوية يعمل الحدث Math.Sin بحساب جيب الزاوية

ملاحظة : يجب قبل حساب جا تحويل قياس الزاوية الى راديان بالحدث Math.Rad


float/int math.sin(number)


Click to collapse [-]
مثال
--

math.cos

هذا الحدث يستخدم لحساب جيب تمام الزاوية (جتا) بحيث عند كتابة قياس الزاوية يعمل الحدث بحساب جيب الزاوية



float/int math.cos(number)


Click to collapse [-]
مثال
--

math.tan

هذا الحدث يستخدم لحساب ظل الزاوية (ظا) بحيث عند كتابة قياس الزاوية يعمل الحدث بحساب ظل الزاوية


float/int math.tan(number)


Click to collapse [-]
مثال
--

math.asin

هذا الحدث يستخدم لحساب معكوس جا بحيث عند كتابة العدد يعمل الحدث بحساب معكوس جا الزاوية



float/int math.asin (number)


Click to collapse [-]
مثال
--

math.acos

هذا الحدث يستخدم لحساب معكوس جتا بحيث عند كتابة العدد يعمل الحدث بحساب معكوس جتا الزاوية



float/int math.acos (number)


Click to collapse [-]
مثال
--






___________________________________________________________________



math.atan

هذا الحدث يستخدم لحساب معكوس ظا بحيث عند كتابة العدد يعمل الحدث على حساب معكوس ظا الزاوية



float/int math.atan(number)


Click to collapse [-]
مثال
--




___________________________________________________________________



math.atan2

هذا الحدث يستخدم لحساب مقسوم معكوس ظا بحيث عند كتابة العدد الاول والثاني يعمل الحدث Math.Atan2 على حساب معكوس ظا (العدد الاول / العدد الثاني)

float/int math.atan2(number)


Click to collapse [-]
مثال
--

math.max

هذا الحدث يستخدم لتحديد العدد الاكبر من الاخر بحيث عند كتابة عددين يقوم الحدث 
بمقارنة العددين وتحديد العدد الاكبر
float/int math.max(number1,number2,number...)


Click to collapse [-]
مثال
math.max(15, -100, 30) -- نحدد القيم المراد الاختيار منها
30 -- الناتج
math.max(2.5, -2.5)
2.5 -- النتاج

ملاحظة : السالب تكون قيمته صغيرة

-- By The Best

math.min

هذا الحدث يستخدم لتحديد العددالاصغر من الاخر بحيث عند كتابة عددين يقوم الحدث 
بمقارنة العددين وتحديد العدد الاصغر
float/int math.min(number1,number2,number...)


Click to collapse [-]
مثال
addEventHandler("onResourceStart",resourceRoot, -- اذا تم تشغيل السكربت
function() -- وظيفة
outputChatBox("The number is "..math.min(10,-20).." is good") -- نظهر نص في الشات
end) -- اغلاق

-- الرقم الي بيظهر في الشات هو -20

-- ملاحظة السالب اصغر من الموجب

-- By The Best


تعريب السالمي
http://ams4arab.arabstar.biz/t107-topic المصدر


See Also