AR/Math: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(98 intermediate revisions by 5 users not shown)
Line 1: Line 1:
بسم الله الرحمن الرحيم
__NOTOC__


نبدأ على بركة الله باأول حدث بالمكتبه
==math.abs==
تستخدم لتحويل العدد من السالب الي الموجب


Math.Abs وهو حدث
==تركيب الكود==
<syntaxhighlight lang="lua">
float/int math.abs(number)
</syntaxhighlight>
 
===المفردات===
 
*'''number''' = الرقم الذي تريد ان تحوله الى موجب
 
==مثال==
 
<section name="مثال" class="both" show="true">
هذا المثال يقوم بتحويل العدد الى رقم موجب في الردار
<syntaxhighlight lang="lua">
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)</syntaxhighlight></section>
 
==math.ceil==
يستخدم لتقريب العدد العشري الى اكبر عدد صحيح
 
==تركيب الكود==
<syntaxhighlight lang="lua">
float/int math.ceil(number)
</syntaxhighlight>
 
==المفردات==
*'''number''' = الرقم الذي تريد تقريبه الى العدد الصحيح الاكبر
 
==مثال==
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">
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)</syntaxhighlight> </section>
 
== math.floor ==
 
يستخدم لتقريب العدد العشري وحذف العدد العشري الذي بعد الفاصله
 
== تركيب الكود ==
<syntaxhighlight lang="lua">
float/int math.floor(number)
</syntaxhighlight>
 
== المفردات ==
 
*'''number''' = العدد الذي تريد ان تقربه وتحذف الفاصله
 
== مثال ==
 
<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>
 
 
== math.round ==
 
يستخدم للتقريب إما عدد اكبر او اصغر بحيث اذا كان العدد الذي بعد الفاصله 5 او اكبر يقربه الى الاكبر منه,أما اذا كان العدد اصغر من 5 فسوف يحذف الرقم الي بعد الفاصله فقط
 
== تركيب الكود ==
<syntaxhighlight lang="lua">
float/int math.round(number)
</syntaxhighlight>
 
== المفردات ==
*'''number''' = العدد الذي تريد تقريبه الى الاكبر او الاصغر
 
== مثال ==
<section name="مثال" class="both" show="true">
<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 -- اغلاق
) -- اغلاق
 
-- 11 الناتج راح يكون
 
-- لأن العدد الذي بعد الفاصله 5 او اكبر
 
-- لو كان العدد 10.4 راح يكون الناتج 10
 
-- By : The Best</syntaxhighlight> </section>
 
== math.mod ==
هذا الحدث يستخدم لتحديد باقي القسمة بحيث عند كتابة عددين يقوم الحدث بايجاد باقي القسم بين العدد المقسوم والعدد المقسوم عليه 
 
== تركيب الكود ==
<syntaxhighlight lang="lua">
float/int math.mod(number)
</syntaxhighlight>


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


Math.Abs هذا الحدث  
*'''number''' = العدد الذي تريد تحديد باقي القسمه له
 
== مثال ==
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">-- TODO</syntaxhighlight> </section>
 
== math.sqrt ==
تستخدم لحساب الجذر التربيعي للعدد
 
== تركيب الكود ==
<syntaxhighlight lang="lua">
float/int math.sqrt(number)
</syntaxhighlight>
 
== المفردات ==
 
*'''number''' = العدد الذي تريد حساب الجذر التربيعي له
 
== مثال ==
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">-- ملاحظة : الحساب يكون بالجذر التربيعي للعدد
 
-- مثال --
 
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</syntaxhighlight> </section>
 
 
== math.pow ==
تستخدم لحساب الأسس بحيث اذا تم كتابه رقمين يتم ضرب الرقم الاول في الثاني حسب العدد
 
== تركيب الكود ==
<syntaxhighlight lang="lua">
float/int math.pow(number,number2)
</syntaxhighlight>
 
== المفردات ==
* '''number''' = العدد الاول الذي تريد ان تضربه في العدد الثاني
* '''number2''' = العدد الثاني الذي سيضرب العدد الاول فيه
 
== مثال ==
<section name="مثال" class="server" show="true">
<syntaxhighlight lang="lua">-- عملية الحساب تكون بالضرب
 
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</syntaxhighlight> </section>
 
== math.random ==
<font color="#006400"  size="3">  <p align="center">
 
هذه الداله تستخدم لكي تظهر رقم عشوائي بحيث عند كتابة العدد الاول والعدد الثاني يقوم الحدث  باظهار رقم عشوائي بين الرقمين التي ادخلتها
 
</p></font>
 
 
 
 
<syntaxhighlight lang="lua">
float/int math.random(number)
</syntaxhighlight>
 
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">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</syntaxhighlight> </section>
 
 
 
 
 
 
 
<p align="center">___________________________________________________________________</p>
 
== math.randomseed ==
<font color="#006400"  size="3">  <p align="center">
 
هذا الحدث يستخدم لكي يظهر رقم عشوائي ثابت بحيث عند كتابة عدد يقوم الحدث  باظهار رقم عشوائي ثابت بين رقمين مثل (100-9999) ولن يتغير هذا
الرقم العشوائي ابداً ولتغيره يجب تغير العدد المدخل في البداية
 
 
 
</p></font>
 
 
 
 
<syntaxhighlight lang="lua">
float/int math.randomseed(number)
</syntaxhighlight>
 
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
 
 
 
 
<p align="center">___________________________________________________________________</p>
 
 
 
== math.HexToNumber ==
<font color="#006400"  size="3">  <p align="center">
 
هذا الحدث يستخدم لتحويل الارقام من النظام السادس عشر (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 )
 
 
 
</p></font>
 
 
 
 
<syntaxhighlight lang="lua">
float/int math.HexToNumber(number)
</syntaxhighlight>
 
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
 
 
 
 
 
 
<p align="center">___________________________________________________________________</p>
 
== math.rad ==
<font color="#006400"  size="3">  <p align="center">
 
هذا الحدث يستخدم لتحويل قياس الزاوية من راديان الى درجة بحيث عند كتابة الزاوية بالراديان يعمل الحدث  بتحويله الى درجة
 
 
 
 
<syntaxhighlight lang="lua">
float/int math.rad(number)
</syntaxhighlight>
 
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
== math.HexColorToNumber ==
 
هذا الحدث يستخدم لتحويل رقم اللون من هيكس الى ديكس بحيث عند كتابة رقم هيكس يعمل الحدث بتحويله الى ديكس
 
 
<syntaxhighlight lang="lua">
float/int math.HexColorToNumber(number)
</syntaxhighlight>
 
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
== math.deg ==
 
هذا الحدث يستخدم لتحويل قياس الزاوية من درجة الى راديان بحيث عند كتابة درجة الزاوية يقوم الحدث Math.Rad بتحويله الى راديان
 
معلومة:
 
راديان :هي وحدة قياس الزوايا الرسمية المعتمدة ضمن مجموعة الوحدات القياسية المستخدمة في الرياضيات و الفيزياء و تعرف بأنها الزاوية المركزية المتوضعة على مركز الدائرة و التي تحدد قوسا طولها مساوي لنصف قطر الدائرة.
كيف نحسب الراديان
للتحويل من راديان إلى درجات نضرب الراديان في 180 ونقسم الحاصل على ( باي ) وللتحويل من الدرجات إلى راديان نضرب الدرجات في ( باي ) ونقسم الحاصل على 180
 
 
 
 
<syntaxhighlight lang="lua">
float/int math.deg(number)
</syntaxhighlight>
 
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
== math.RGBToNumber ==
 
هذا الحدث يستخدم لتحويل رقم الالوان الاساسية الاحمر والاخضر والازرق من Hex الى Dec بحيث عند كتابة ارقام ثلاثة الالوان يعمل الحدث Math.RGBToNumber بتحويله الى Dex
 
 
 
<syntaxhighlight lang="lua">
float/int math.RGBToNumber(number)
</syntaxhighlight>
 
 
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
== math.sin ==
 
هذا الحدث يستخدم لحساب جيب الزاوية (جا) بحيث عند كتابة قياس الزاوية يعمل الحدث Math.Sin بحساب جيب الزاوية
 
ملاحظة : يجب قبل حساب جا تحويل قياس الزاوية الى راديان بالحدث Math.Rad


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




<section name="server" class="server" show="true">
هذا المثال يقوم بتحويل العدد الى رقم موجب في الردار
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.sin(number)
</syntaxhighlight>


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


local x,y,z = getElementPosition( myElegy )
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>


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


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


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




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




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


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




Math.Ceil


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


Math.Ceil  هذا الحدث


يستخدم لتقريب العدد العشري الى عدد صحيح الاعلى منه بحيث عند كتابة عدد عشري يقوم الحدث  
<section name="مثال" class="both" show="true">
بحذف الفاصلة العشرية والاعداد العشرية وتقريبه الى العدد الصحيح الاكبر منه
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
 
== math.asin ==
 
هذا الحدث يستخدم لحساب معكوس جا بحيث عند كتابة العدد يعمل الحدث بحساب معكوس جا الزاوية</p></font>
 






<section name="server" class="server" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float/int math.asin (number)
</syntaxhighlight>
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
== math.acos ==
<font color="#006400"  size="3">  <p align="center">


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 )




</p></font>
<syntaxhighlight lang="lua">
float/int math.acos (number)
</syntaxhighlight>
</syntaxhighlight>
</section>




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




Math.Floor




Math.Floor  هذا الحدث


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






___________________________________________________________________




Math.Round


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


Math.Floor  هذا الحدث


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




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


___________________________________________________________________


Math.Max


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




___________________________________________________________________




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




___________________________________________________________________






</p></font>
<syntaxhighlight lang="lua">
float/int math.atan(number)
</syntaxhighlight>
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
<p align="center">___________________________________________________________________</p>
== math.atan2 ==
هذا الحدث يستخدم لحساب مقسوم معكوس ظا بحيث عند كتابة العدد الاول والثاني يعمل الحدث Math.Atan2 على حساب معكوس ظا (العدد الاول / العدد الثاني)
<syntaxhighlight lang="lua">
float/int math.atan2(number)
</syntaxhighlight>
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">--</syntaxhighlight> </section>
== math.max ==
هذا الحدث يستخدم لتحديد العدد الاكبر من الاخر بحيث عند كتابة عددين يقوم الحدث
بمقارنة العددين وتحديد العدد الاكبر
<syntaxhighlight lang="lua">
float/int math.max(number1,number2,number...)
</syntaxhighlight>
<section name="مثال" class="both" show="true">
<syntaxhighlight lang="lua">math.max(15, -100, 30) -- نحدد القيم المراد الاختيار منها
30 -- الناتج
math.max(2.5, -2.5)
2.5 -- النتاج
ملاحظة : السالب تكون قيمته صغيرة
-- 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>


___________________________________________________________________
<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==
* [[Math]]
* [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