Jump to content

سؤال


Recommended Posts

3 hours ago, JustP said:

تقدر توضح اكثر؟

function Just()
	return 1
end

Just() --> 1
print(Just()) --> "1"

function WelcomeMessage(msg)
	return msg
end

WelcomeMessage() --> الرسالة المدخلة
print(WelcomeMessage("الرسالة المدخلة"))
-->> طبعت "الرسالة المدخلة"ء

أمثلة بسيطة

 

تفيدك أكثر شي بالدوال

مثلا عندك عملية حسابية طويلة

تبي تجيب مثلا الوقت اللي يحتاجه لاعب سرعته 5 متر في الثانية ليصل للمسافة المطلوبة ولتكن 20 متر

مثال عليها

function getSeconds(speed,from,to)
	-- speed السرعة في الثانية
	-- from من
	-- to إلى
	
	if not ( type(speed)=="number" ) or not ( type(from)=="number" ) or not ( type(to)=="number" ) then -- إذا لم تكن البيانات ارقام
		return false -- تصبح قيمة الدالة خاطئة حيث تتوقف الدالة عند هذه النقطة
	end
	-- نكمل بخلاف ذلك
	local aTo = (to>from) and (to-from) or (to);
	local seconds = (aTo>speed) and (aTo/speed) or (aTo); -- الثواني التي يحتاحها اللاعب حتى يصل للنقطة الاخيرة
	
	return seconds -- تصبح قيمة الدالة صحيحة و تساوي عدد الثواني "ارقام"ء
end

sec=getSeconds(5,0,20);
print( sec.." s" );

 

Edited by NX_CI
Link to comment
12 hours ago, JustP said:

كيف اعرف شنو هي فائدة 

return?

وظيفة زي كنسل افنت . لكن كنسل افنت للحدث بس . 

 

Link to comment
1 hour ago, DABL said:

وظيفة زي كنسل افنت . لكن كنسل افنت للحدث بس . 

 

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

On 10/07/2017 at 16:06, Master_MTA said:

الحين انت تعرف اليوزفل فنكشن

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

ارجاع المنت مثلا ارجاع سترنج الخ

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

بوريك كيف تستخدمها بيوزفل فنكشن اذا ما تعرف اليوزفل فنكشن هو زيه زي اي فنكشن في لعبة mta 

مثلا getPlayerName

عشان تسوي فنكشن خاص بك بتسميه مثلا master 

تمام كيف  بنسويه في 2 طريقه لتعريف اسم الفنكشن الطريقه الاولى هي كالاتي وانا صراحه ما افضلها


master=function()
  end

كذا الفنكشن صار اسمه ماستر والطريقه الثانيه اللي اشوفها ابسط وافضل لان الطريقه الاولى تعتبر متغير تخزن فيه فنكشن خلنا نكمل

الطرريقه ذي بالنسبه لي افضل 


function master()
  end

راعي المسافه اللي بين كلمة function 

و كلمة master

تمام الحين عرفنا كيف نعطي الفنكشن اسم او نعرفه كيف طيب وش هي الارقمنتات خلني افهمك حبه حبه الارقمنتات هي اللي يكون بين الاقواس اي اقواس مثلا انا ابي اسوي فنكشن لو احط فيه 2 ارقمنت يجمع الرقمين اللي بين الاقواس كمثال

نستخدم الفنكشن حقنا master

بيكون صورته كالاتي


master(4,5)

الحين وظيفة الفنكشن اللي اسمة master 

انه يقوم بجمع 4+5 ويرجع لي الناتج طيب الحين كيف بيكون شكل الفنكشن ماستر عشان تقدر تحط رقمين بين الاقواس بيكون شكل الفنكشن كالاتي


function master(n1,n2)
  end

الحين ماستر صار يقبل الرقمين اللي بين الاقواس سواء 4 و5 او اي ارقام ثانيه طيب ننتقل للخطوة الثانية

كيف نخليه يجمع الرقمين بكل بساطه وسهوله كالاتي


function master(n1,n2)
local result=n1+n2  
end

طيب الحين بعضكم بيسال وش فايدة local

بقولك شفت السطر حق function master(n1,n2)

الى السطر حق 

end

هذي result 

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

end

outputChatBox(result,root)

راح يردلك قيمة result=nil

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

end

راح يقولك قيمة جمع الرقمين اللي هو

5+4=9

بيطلعلك بالشات 9

تمام

الحين انتهينا من قصة اللوكال

طيب وش سوينا في هذي الخطوة اللي سويناه ان احنا سوينا متغير محلي واللي هو result

وخزنا داخله قيمة5+4 او اي رقمين تحطونهم انتم مثلا

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

الحين يجي دور 

return 

اللي سوينا السالفه ذي كلها عشانها بيكون كذا الشكل النهائي للفنكشن


function master(n1,n2)
	local result=n1+n2
  return result
end

تمام الحين نشوف استخدام الفنكشن يصلح بطريقتين 

طريقه مباشره وعن طريق تخزينه في متغير


-------------------------طبعا عشان الفنكشن يصير شغال يجب ان تحط الكود حقك في اول الملف
function master(n1,n2)
  local result=n1+n2
  return result
  end
------------------------------------نبدا بالطريقه المباشرة
addEventHandler('onPlayerJoin',root,function()
  	outputChatBox(master(20,10),root)  
  end)
------------------------------------الثانية عن طريق تخزينه في متغير
addEventHandler('onPlayerJoin',root,function()
    local new=master(20,10)
  	outputChatBox(new,root)  
  end)

وفي الختام اتمنى اكون افدتكم 

واعذروني لو قصرت 

تقبلو تحياتي اخوكم 

Master +_+

 

  • Like 1
Link to comment
9 hours ago, #BrosS said:

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

On 10/07/2017 at 16:06, Master_MTA said:

م شفته , ع العموم قلت الي اعرفه ووش ضاغطك انت , اكلمكك انت ولا هو ؟ !

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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