Jump to content

Updated In 14/11/2014 | شرح للمبتدئين فى البرمجة


Recommended Posts

82.gif

الموضوع قابل للتجديد

ماهو الويكى بديا :-هو أحد أنظمة إدارة محتويات المواقع في الإنترنت. وأهم ما يميز هذا النظام أنه يتيح لأي شخص تعديل أي صفحة في الموقع. ويستعمل هذا النظام في المواقع التي تتطلب عمل جماعي من عدد كبير جدا من المشاركين من جميع انحاء العالم.

المظهر المبدئى للكود وكيفية تنظيمه : -

addEventHandler :- وهو عبارة عن محالج للحدث

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

ويبدأ به الكود الواقع به الحدث

ثم نقوم بفتح القوس وعلامة التنصيص ونكتب الحدث ونغلق بعلامة تنصيص ثم تقوم بعمل فاصلة

ثم نقوم بعمل فاصلة root ثم تقوم بكتاب

ثم نقوم بعمل الوظيفة

function ()

function () واحيانا تتطلب الدالة

اسما بداخل القوس يعبر عن الفاعل او بمعنى اصح وسيط للدالة

ثم نقوم بوضع الأوامر التى تريدها ان تحدث مع الحدث

على سبيل المثال

عند دخول اللاعب السيرفر يقوم بأخد المال

الفنكشنات المطلوبة

addEventHandler --- المعالج 
onPlayerJoin --- حدث دخول اللاعب 
givePlayerMoney ---- اعطاء فلوس للاعب 

بعد التركيب يكون شكل الكود هكذا

Server Side !

addEventHandler("onPlayerJoin", root, *------ عند دخول اللاعب 
function ( ) * ------ وظيفة 
givePlayerMoney(source, 1000) *----- اعطاء فلوس للاعب 
end 
) 

طيب على سبيل الاكواد المشهورة عند لمس الماركر يقوم اللاعب بتقاضى المال

الفنكشنات المطلوبة

addEventHandler --- المعالج 
createMarker --- نعمل ماركر 
onMarkerHit -- عند لمس الماركر 
getElementType --- تحقق اذا كان لاعب هو اللى خبط الماركر 
givePlayerMoney ---- اعطاء اللاعب فلوس 
* 

بعد التركيب

local theMarker = createMarker ( x, y, z, "cylinder", 1.3, 233, 233, 0, 170 ) ------ يسوى ماركر 
addEventHandler("onMarkerHit", theMarker, ----- عند لمس الماركر 
function (thePlayer)  ---- وظيفة 
if getElementType ( thePlayer ) == 'player' then  ------ التحقق من ان اللى لمس الماركر لاعب 
givePlayerMoney( thePlayer, 1000) ------ يعطى فلوس للاعب 
 end 
end 
) 

الاول

  
givePlayerMoney ( source, 1000 ) *----- اللاعب اللى دخل ياخد فلوس فى الكود الاول 
  

الثانى

  
givePlayerMoney ( thePlayer, 1000 ) ----- اللاعب اللى ضرب الماركر فى الكود الثانى 
  

لذلك يوضع الفاعل بين القوسين

ولكن هنا التسائل عن الفاعل ؟؟ الذى لما يتم استداعائه فى وسيط الدالة !!!

حيث تحل الوسيلة المعرفة source

source تعمل عن المصر

المصدر = الفاعل فى الحدث السابق

فى الكود الاول من دخل السيرفر هو اللاعب

source فبالتالى هو الفاعل لذلك عبرنا عنه ب

ولكى نكمل ال source

سنقوم بتصعيب الامر قليلا وسنقوم بعمل كود على ملفين مختلفين النوع سيرفر وكلنت

triggerServerEvent

triggerClientEvent

>>>>>>>>>>>>>>>>>>>>التريقر<<<<<<<<<<<<<<<<<<<<

التريقر ماهو الترقر ولماذا يستخدم

التريقر :- عبارة عن وظيفة معرفة تقوم باستقبال الأشياء المادية لارسالها لملف مختلف النوع للأداء بالوظائف المختلفة

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

كيفية استخدامه :-

فل نبدأ بتريقر من ملف الكلنت الى السيرفر

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

وسنقوم بعمل ذلك فى صورة مود شوب

اولا نقوم بعمل النافذة

ثانيا نقوم بعمل زر

ثالثا نقوم بعمل الحدث عند الضغط على الزر

نقوم بعمل الترقر بعد ذلك وهنا الجزء الاصعب

رابعا نتحقق من فلوس اللاعب

خامسا ان كانت مناسبة نقوم بسحب الجزء المطلوب

سادسا نعطى اللاعب سلاحه

الفنكشنات المطلوبة

Client Side --- فنكشنات الكلنت

guiCreateWindow 
guiCreateButton 
addEventHandler --- هذا المعالج 
onClientGUIClick --- عند الضغط على الزر 
triggerServerEvent --- نقوم بعمل الترقر 
  

Server Side --- فنكشنات السيرفر

addEvent -- استقبال التريقر 
addEventHandler --- المعالج  
getPlayerMoney --- نتحقق من فلوس اللاعب 
takerPlayerMoney --- نأخذ منه فلوس 
giveWeapon --- نعطيه السلاح 
* 

source يسأل بعضكم ماعلاقة ال

يالا نركب الكود

Client Side !!!

wnd = guiCreateWindow ( ........ ) ---- نقوم بعمل النافذة 
b = guiCreateButton ( ........ ) ------ نقوم بعمل الزر 
  
addEventHandler("onClientGUIClick", root, *----- نقوم بتركيب الحدث 
if ( source == b ) then ---- طبعا المصدر هو الزر وهنا اسم الزر b  
function () ---- وظيفة 
triggerServerEvent("we", getLocalPlayer()) ---- نقوم بعمل ترقر باى اسم تريد ونقوم بجلب اللاعب وارساله للملف الاخر من الكلنت وهنا هو الاستقبال للأشياء المادية 
    end 
end 
) 
  

Server Side

  
addEvent("we" , true ) ---- هنا استقبال الترقر نقوم بكتابة اسم الترقر الذى كتبناه ونضع له قيمة true 
addEventHandler("we", root, --- نقوم بعمل مكان الحدث اسم الترقر 
function () 
Money = getPlayerMoney(source) --- *نجلب *فلوس اللاعب ساشرحها بالاسفل لماذا سورس * 
if ( Money >= 300 ) then ---- نتحقق من فلوس اللاعب مثلا ان كانت 300 او اكثر 
takePlayerMoney ( source , 300 ) --- نأخذ منه المبلغ 
giveWeapon ( source, 28, 30 ) ---- نعطيه السلاح 
* * end 
end 
) 

والان نشرح

  
Money = getPlayerMoney(source)  
  

مصدر وهو اللاعب الذى تم ارساله من التريقر . source

الم نقل انها تعبر عن فاعل او مصدر الحدث ؟؟

والحدث هنا ليس له معنى بالاصل بل هو استقبال من الحدث الأصلى بملف الكلنت او الوظيفة

  
addEvent("we" , true ) 
addEventHandler("we", root, 
  

وهذا لربطه فقط لاكثر ولا اقل

source يعنى مصدر

متفرع من getLocalPlayer()

وعند ارسال ترقر من سيرفر للكلنت نقوم ب

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

يكون الكود هكذا

triggerClientEvent( thePlayer, "we",thePlayer)

وعند استقابله من الكلنت

نعبر عن اللاعب هناك ب thePlayer

  
addEvent("we", true ) 
addEventHandler('we", root, 
function () 
setPlayerHealth ( source, 100 ) 
end 
) 
  
  
 

معلومات عن التعبيرات الرياضية بالبرمجة : -

>= اكبر من او يساوى

<= اصغر من او يساوى

/ قسمة

* ضرب

= يساوى

=~ لايساوى

All Right Saved @ Ahmed Emad ( [M5]!_#Valentino )

1433087558381.jpg

Edited by Guest
Link to comment

شرح حلو ومفيد

--------------------

شرح بطريقتي

+ مثلا انا طلب كود اول مايدخل الاعب السيرفر يجيه فلوس

واحد رد وساعدني بالفنكشات

  
"onPlayerJoin" Event 
givePlayerMoney 

كيف اضبط كود ؟

طبعا اول شي addEventHandler

ذي مهمة لكل شي

مثال

  
addEventHandler("onPlayerLogin", root, 
addEventHandler("onPlayerJoin", root, 
addEventHandler("onPlayerQuit", root, 
addEventHandler("onPlayerSpawn", root, 
addEventHandler("onMarkerHit", root, 

تالي

function ( ) - - نسوي وظيفة

الحين نحط الكود

مثلا ابيه يعطيه فلوس اول مايدخل

بيكون الكود

  
addEventHandler("onPlayerJoin", root, 
function ( )    
givePlayerMoney(source, 15000)   
end 
) 

واقدر استخدم كثير

Edited by Guest
Link to comment

شكرا للكل على الردود

بس لذا بست انا اعرف انها يمكن تكون صعبة على المبتداين لهيك كاتب جمبها بالعربى توضيح

لازم يعرفو اساسيات تركيب الاكواد

مثل التحقق من انه لاعب وها لازم اكثرا فى اى كود

+ شكل الاكواد عند التركيب

وكذا وبعدها باصمم شرح بسيط ليهم كيف ركبو وفى القسم

مواضيع تانية ها ممكن يكون تكملة للمواضيع انا اشوف اللى مو موجود بالقسم

او مو مشروح بدرجة كافية واشرحو

وطبعا للكل الحرية بالردود

شكرا لمرورك ^_^

Link to comment
  • 1 month later...
  • 2 weeks later...
  • 2 weeks later...
  • 3 weeks later...
  • 3 weeks later...
  • 3 months later...
  • 2 weeks later...

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...