بسم الله الرحمن الرحيم ,
السلام عليكم ورحمه الله وبركاته ,
الموضوع واضح من العنوان ,
نبدأ بسم الله ,
return = ارجاع الشيء , يعني ترجع القيمه
يعني كـ مثال انا سويت وظيفه, مثلا ابيه لو كتب رقم 1 يرجع لي قيمه محدده وما يكمل باقي الوظيفه, ولو كتب غير الـ1 يكمل الوظيفه طبيعي
مثال :
addCommandHandler('Money', -- امر من اف8
function(player) -- وظيفه
if not isPedInVehicle(player) then return end -- اذا ما كان في السياره ما نعطيه فلوس ونوقف الوظيفه بمعنى الاكواد اللي تحت هالسطر ما راح تتنفذ
givePlayerMoney(player,100) -- اذا كان في السياره نعطيه فلوس, بمعنى انه السطر اللي فوق ذا ما تنفذ, لو تنفذ اللي فوق ما يتنفذ هذا
end -- اغلاق
) -- اغلاق
. يعني ما بيسوي الوظيفه بإختصار راح توقف الوظيفه وماراح ينفذ اي وظائف اخرى end كذا انا رجعت
: مثال آخر
function checks ( num ) -- num مع برامتر بإسم checks نسوي وظيفه بإسم
if num and type ( num ) == 'number' then -- نتحقق اذا استخدم الوظيفه لازم يكتب البارامتر ولازم يكون البارامتر رقم
if num == 1 then return end -- نتحقق لو كان البارامتر اللي كتبه 1 نوقف الوظيفه, بمعنى السطر اللي تحت ما راح يتنفذ
outputChatBox ( "The num isn't 1" ) -- نطلع نص بالشات, راح يتنفذ هالسطر لو كتب اي رقم غير رقم 1 لأننا وقفنا الوظيفه اذا كتب 1
end -- نقفل الشرط
end -- نقفل الوظيفه
-- طريقة استخدام الوظيفه كذا :
checks ( 1 ) -- هنا كتبنا واحد بمعنى الوظيفه راح توقف حسب ما سويناها فوق , لو حطيت رقم غير 1 راح يظهر النص بالشات
: ملاحظة مهمه
: اكثر من قيمه, مثال لكلامي return ما تقدر تحط بعد
local var = true; -- true متغير بقيمة منطقيه
if var == true then return outputChatBox ( '1' ) outputChatBox ( '2' ) end
-- ^ يطلع نصين بالشات, طبعاً خطأ مثل ما قلت true تحقق لو المتغير يساوي
: كذا راح يطلع خطأ, طيب وش الحل؟ الحل يا انك تحط فاصله بين القيم, او تسوي وظيفه تسوي لك المطلوب كـ مثال
local var = true; -- true متغير بقيمة منطقيه
if var == true then return outputChatBox ( '1' ),outputChatBox ( '2' ) end
-- ^ يطلع نصين بالشات, طبعاً ذا صحيح لاحظ الفاصله بين الوظيفتين true تحقق لو المتغير يساوي
break = for - while - repeat until توقف اللوب اللي هو
؟ return - break طيب وش الفرق بين
return : ترجع لك قيمة
break : ماتسوي لك هالشي return توقف اللوب, يعني ما راح يكمل اللوب, و
: مثال
for i = 1, 10 do -- لوب يبدأ العد من 1 ويتوقف عند 10
-- i : هو زي المتغير قيمته راح تكون الرقم اللي وصل له اللوب راح يتغير كل مره
outputChatBox ( i ) -- بالشات i نحط
if i == 5 then -- الى الرقم 5 i نتحقق لو وصل
break -- نوقف اللوب, ماراح يكمل
end -- نقفل الشرط
end -- نقفل اللوب
--[[
: اللي راح يطلع بالشات
1
2
3
4
5
-- break وراح يوقف, ماراح يكمل لين 10, ذي هي فايدة
: مثال آخر
for k,v in ipairs ( getElementsByType ( 'player' ) ) do -- لوب يجيب لنا جميع اللاعبين داخل السيرفر
if k > 10 then -- نتحقق لو عدد اللاعبين اكبر من 10
break -- نوقف اللوب ما راح يجيب لاعبين زياده
end -- نقفل الشرط
end -- نقفل اللوب
tostring = '' يعني سلسلة نصيه, يعني اي شي داخل علامة التنصيص
string tostring ( argument )
او اي شي الى سلسله نصيه (true,false ) وظيفتها تحول الرقم او القيمه المنطقيه
: أمثله
local var = true -- true متغير بقيمة منطقيه
-- "true" او 'true' طيب نبي نحولها الى سلسلة نصيه يعني تكون بهذا الشكل
outputChatBox ( tostring ( var ) ) -- "true" كذا حولناها الى سلسله نصيه, بمعنى صار شكلها زي كذا
-- : مثآل آخر
local var = 100 -- 100 متغير وقيمته هي رقم
-- طيب نبي نحولها, يعني تصير كذا
-- "100"
outputChatBox ( tostring ( var ) ) -- "100" كذا حولناها الى سلسلة نصيه, بمعنى صار شكلها كذا
tonumber = بمعنى رقم, يعني خاصه للأرقام
number = tonumber ( n, base )
-- base : [url=https://en.wikipedia.org/wiki/Radix]https://en.wikipedia.org/wiki/Radix[/url]
: وظيفتها التحويل الى رقم, أمثله
local var = "100" -- متغير بسلسله نصيه
if var == 100 then -- تحقق لو المتغير يساوي 100
outputChatBox ( 'يساوي' ) -- نطلع نص بالشات
else -- لو كان ما يساوي 100
outputChatBox ( 'لا يساوي' ) -- نطلع نص بالشات
end -- نقفل الشرط
-- راح تلاحظ طلع لايساوي؟ لأن المتغير سلسله نصيه وغلط تساوي سلسله نصيه بـ رقم, لازم تحول السلسله النصيه
local var = "100" -- متغير بسلسله نصيه
if tonumber ( var ) == 100 then -- تحقق لو المتغير يساوي 100
outputChatBox ( 'يساوي' ) -- نطلع نص بالشات
else -- لو كان ما يساوي 100
outputChatBox ( 'لا يساوي' ) -- نطلع نص بالشات
end -- نقفل الشرط
-- طلع يساوي؟ لأننا حولنا المتغير الى رقم, وبكذا 100 تساوي 100 اكيد
اتمنى يكون الشرح بسيط والي ما فهم نفهمه مره ثانيه
.والسلام عليكم ورحمه الله وبركاته