Jump to content

شباب مطلوب حد يشرحلي


Recommended Posts

بسوي شرح مفصل لك ولكل واحد يبي يتعلم البرمجه,

اول تدخل الويكي, ويفضل العربي لو كنت مبتدأ مع العلم ان العربي لم تكتمل ترجمته

* Main Page : العربي

* Main Page : الانجليزي

* هذا ملف اساسي يعني بدونه ما يشتغل المود , ولو كان فيه اي خطأ ما يشتغل المود ابدآ meta.xml اول شيء تدخل على المقدمه, اهم شيء تعرف كيف تسوي الـ

* اذا غيرته ما راح يشتغل meta.xml ملاحظة : لازم يكون اسم الملف

واظن في شرح في قسم شروحات البرمجه meta.xml واذا تبي شرح مفصل بالانجليزي ادخل هنآ

* كيف تكون الكود؟ طبعا انت تدخل على الاكواد الي تبيها , طبعا انت مثلا مو حافظ فنكشن (وظيفه ) كيف راح تجيبها؟

* : لو تدخل الويكي تلاحظ على اليسار

Client Functions

Client Events

Server Functions

Server Events

Useful Functions

MTA Classes

MTA Elements

Element Tree

* ملاحظة مهمه جدآ : فيه وظائف واحداث تكون للسيرفر يعني ما تشتغل الا يوم يكون الملف سيرفر وفيه احداث ووظائف لازم يكون كلينت . وراح تفهمmeta.xml وفيه وظائف تكون سيرفر وكلينت , طبعا تقولي كيف تحط الملف كلينت او سيرفر , راجع شرح كيف تسوي

* Client Functions مثلا ندخل على

: طبعا تطلع لك الاقسام

Contents [hide]

1 Audio functions

2 Blip functions

3 Camera functions

4 Clothes and body functions

5 Collision shape functions

6 Cursor functions

7 Drawing functions

8 Effects functions

9 Element functions

10 Engine functions

11 Event functions

12 Explosion functions

13 File functions

14 Fire functions

15 GUI functions

15.1 Buttons

15.2 Checkboxes

15.3 Comboboxes

15.4 Edit Fields

15.5 Gridlists

15.6 Memos

15.7 Progressbars

15.8 Radio Buttons

15.9 Scrollbars

15.10 Scrollpanes

15.11 Static Images

15.12 Tab Panels

15.13 Tabs

15.14 Text Labels

15.15 Windows

16 Input functions

17 Marker functions

18 Object functions

19 Output functions

20 Ped functions

21 Pickup functions

22 Player functions

23 Projectile functions

24 Radar-area functions

25 Resource functions

26 Serial functions

27 Team functions

28 Utility functions

29 Vehicle functions

30 Water functions

31 Weapon functions

32 Weapon Creation functions

33 World functions

34 XML functions

عشان تسهل عليك البحث عن الوظائف او الاحداث,

* Audio functions مثلا ندخل اول واحده

مثلا ناخذ اول واحده,

playSoundFrontEnd 

اذا ضغطت عليها تدخلك صفحه , طبعا هذي هي الي نحتاجها,

يعني ان الوظيفه تجي كلينت وسيرفر Client and Server function اول شيء تشوف على اليسار شوي

بعدين تشوف وش تسوي الوظيفه بالضبط,

This function plays a frontend sound for the specified player. Note: These sounds can be disabled with setWorldSoundEnabled so if these sounds stop working you should check if you're disabling the sounds.

* طبعا اهم شيء الانجليزي يكون كويس لأن اكثر المترجمات تجي غريبه او غير مفهومه,

setWorldSoundEnabled طبعا بإختصار الوظيفه تشغل لك صوت من اللعبه يعني ما يحتاج تسوي صوت من عندك , وتقدر تلغي الاصوات بوظيفه

* طيب تبي تعرف كيف تسوي الوظيفه؟

* Syntax تنزل تحت واهم شيء بالصفحه كامله وهو

* بعض الوظائف يختلف فيها , يعني مره يكون في شيء مو لازم تكتبه وراح نشرحه اكثر تحت إن شاء الله Syntax ملاحظه قبل نبدأ : الـ

bool playSoundFrontEnd ( player thePlayer, int sound ) 

^ لو انت فهمته اعتبر نفسك سويت الكود كامل Syntax هذا هو الـ

وهذي مفردات تسهل لك فهم الاشياء وتقدر تضغط على كل واحده وتشوف وش وظيفتها وفيه موضوع في قسم شروحات البرمجه bool , player , int طبعا تشوف

* يعني ارقومنتات اجباريه , وهذا يدل انه فيه اختياريه بمعنى انه لو كتبتها او ما كتبتها ما يأثر Required Arguments الحين نبي نعرف الارقومنت او ما يسمى بـ

Required Arguments :

! الي في الوظيفه فوق thePlayer انت تبي تعرف وش هو الـ

طبعا الارقومنتات هي بإختصار الي بين القوسين حق الوظيفه

thePlayer: The player you want the sound to play for.

يعني انه اللاعب الي تبي تحط له الصوت وطبعا لو تلاحظ انه هذه الوظيفه سيرفر وكلينت , ولكن هذا خاص بالسيرفر ,

* كيف تعرف الكلينت والسيرفر ؟

اللون البرتقالي يثبت ان الوظيفه او الحدث سيرفر فقط

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

اللون الازرق يثبت ان الوظيفه كلنت وسيرفر

الويكي يقول sound تلاحظ ان الارقومنت الثاني وهو

sound: A whole int specifying the sound id to play. Valid values are:

اي دي الصوت الي تبيه يشتغل طبعا هناك اصوات محدده وهي من اللعبه , في وظائف مخصصه ان تركب اصوات من عندك من جهازك,

: والاصوات حق اللعبه

0 - 20 Selection sounds

27 - 30 Bullet sounds

32 - 33 Selection sounds

34 Radio static

35 Stop Radio static

37 - 38 Tick

40 Selection sounds

41 - 42 Tick (no ammo)

43 - 45 Race countdown

46 Repair

47 White noise static

48 Stop White noise static

49 Static short

101 Countdown/selection

هو اللاعب الي تبي تشغل له الصوت thePlayer طبعا الحين فهمنا ان

ولكن وش تكتب بالضبط ؟ هو على حسب الايفنت تقريبا , الايفنت وهو الحدث,

,يعني اذا اللاعب سوى سباون يعني نزل في البدايهonPlayerSpawn فـ مثلا حدث

طبعا فيه احداث فيها وفيه مافيها , وهذا الحدث فيه Parameters طبعا لو تدخل عليه بتحصل شيء يساعدك وهو

طبعا هو كيف ؟

هو ينكتب في الوظيفه ,

function ( هنآ ) 

يعني اذا لمس العنصر الماركر وطبعا فيه حدث للكلينت وهو يكون للاعب يعني اذا لمس اللاعب الماركر onMarkerHit وهو يفيدك يسهل عليه الاكواد, فـ مثلا حدث

يكون للعنصر ! طيب كيف اعرف العنصار ؟ onMarkerHit كيف يعني ؟ يعني الحدث

لو ترجع للكلام الي فوق

Client Functions

Client Events

Server Functions

Server Events

Useful Functions

MTA Classes

MTA Elements

Element Tree

MTA Elements الحين احنا نحتاج نعرف وش هي العناصر , تلاحظ ان فيه

لو فتحتها راح تلاحظ العناصر وهي مثلا اللاعب , او البيد , او السياره , او الابجكت او ...الخ,

لو تفتح صفحته تلاحظ onMarkerHit نكمل على

Parameters

element hitElement, bool matchingDimension

hitElement: The element that hit the marker

matchingDimension: True if the element is in the same dimension as the marker he hit

مو شرط تكتب نفس الشيء الي بالويكي اهم شيء الترتيب Parameters طبعا الـ

يعني العنصر الي لمس الماركر وقلنا العنصر ممكن يكون لاعب او ...الخ , وطبعا الحدث الي في الكلنت يكون للاعب نفسه element طبعا تلاحظ انه كاتب لك

matchingDimension طبعا يقولك صحيح اذا كان في نفس عالم الماركر

مثآل,

function Hit(element,dim)

طيب متى احط اسم للوظيفه ومتى ما احط؟ Hit هو اسم الوظيفه ,

تحط اسم للوظيفه اذا كانت الوظيفه بدون حدث ,مثال,

function newFunction() 
end 

طبعا الوظيفه الي بدون حدث مهما حطيت فيها من اكواد ما راح تشتغل ابدأ , طيب ليه ؟ لأن مافيه شيء يشغلها مثل التايمر , التايمر هو وقت لتشغيل الشيء وتقدر تدخل صفحته

setTimer 

وتحط اسم للوظيفه اذا كان الحدث تحت, مثآل,

function newCommand(player,cmd,arg) 
   end 
addCommandHandler('New',newCommand) 

يسوي لك امر من اف8 , مثلا تكتب فلوس , ويعطيك فلوس , طبعا على حسب الي تسويه انت addCommandHandler هذا الحدث

مثلا سويت امر اذا كتبت خروج , يطردك من السيرفر ...الخ

وتكتب الوظيفه بدون اسم اذا كان الحدث فوق مثل,

addCommandHandler('New', 
function(player,cmd,arg) 
   end 
) 

(player,cmd,arg) طبعا انت اكيد ملاحظ

ومثل ما قلنا لكل حدث شيء مخصص فيه Parametersوهذي هي الـ

الحين لازم تعرف الشروط والاشياء الاساسيه,

if 

وهذا شرط اذا كان الشيء فإنه...

مثال ,

LUA اذا كان عندك فلوس إنك تشتري من البقاله, كذا العباره الشرطيه, مثل في اللغه

if isElementInWater(localPlayer) then 
    givePlayerMoney(100) 

يعني انه اذا كان العنصر في البحر فإننا نعطيه فلوس , اتمنى فهمت,

طبعا تلاحظ ان

givePlayerMoney(100) 

طبعا راح يعطيه فلوس وهميه , بمعنى لو اشترى شيء ما بيكون معه شيء , لأن الكود كلينت , وطبعا تختلف الي بيكون وهمي راح تشوف عليه تنبيه بالويكي,

ومعناه اللاعب المحلي يعني الشخص الي سوى شيء مثلا الي ضغط على الزر او ...الخ localPlayer طبعا تلاحظ

* localPlayer كلينت فقط

getLocalPlayer() وهي اختصار لـ

نفسها mta بس الفرق ان هناك اختصار معرف من

نفسها , مثل mta وطبعا هناك اختصارات غير معرفه من

Name = getPlayerFromName('LUA') 

وفيه اساسيات مثل,

repeat , until , for , do , while , else , elseif 

طبعا كيف تقفل الوظيفه اذا انتهيت؟

end بإستخدام

وبعضها ما تحتاج end وهناك اساسيات تحتاج

if تحتاج end

do = تحتاج end

... الخ

if طبعا في اختصار لـ

end طبعا اختصار عشان ما تحط اكثر من

مثآل,

if cmd == '1' then 
   -- الوظيفه # 
elseif cmd == '2' then 
    -- الوظيفه # 
end 

واحده end تلاحظ حطيت

مثلا انت شخص ما تبي تختصر ,

if cmd == '1' then 
   -- الوظيفه # 
end 
if cmd == '2' then 
    -- الوظيفه # 
end 

end 2 تلاحظ

لأني قفلت الشرط الاول وفتحت الشرط الثاني

else وطبعا فيه

وهذي تكون عكس الشرط بمعنى ,

الشرط ,

اذا كان معك فلوس تشتري من البقاله,

عكسه ,

اذا لم يكن معك فلوس لن تشتري من البقاله

LUA مثال في اللغه

if isElementInWater(localPlayer) then 
    givePlayerMoney(100) 
else 
        outputChatBox('You are not in water') 
end 

يصير الشرط,

اذا لم يكن في البحر نطلع له نص في الشات ,

function وطبعا اهم الشيء وهو

هذي اساس الطبخه

end واكيد هي لازم

ومعليش ع الرد الطويل , اتمنى فهمت , بالتوفيق

edit #

فيه شيء مهم جدا وهو علامات الضرب والقسمه و...الخ,

== تستخدم الشرط مثآل,

if getPlayerMoney() == 100 then 

= وتستخدم للمتغيرات مثآل,

clicked = false 

~= وتعني لا يساوي مثآل,

if getPlayerMoney() ~= 100 then 

< وتعني اصغر من مثآل,

if getPlayerMoney() < 100 then 

<= وتعني اصغر من او يساوي مثآل,

if getPlayerMoney() <= 100 then 

> وتعني اكبر من , مثآل,

if getPlayerMoney() > 100 then 

>= وتعني اكبر من او يساوي

if getPlayerMoney() >= 100 then 

* وتعني ضرب مثآل,

givePlayerMoney(100*20) 

^ وتعني اس

givePlayerMoney(100^20) 

# وهي تجيب القيم من الجدول

مثآل,

math.random(#getAllTables) 

/ وتعني قسمه مثآل,

50 / 2 

+ , - معروفه ذي ذذ

Link to comment

يا شباب

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

إذا حبيت تبدأ , ابدا بأول فنكشن (وظيفة) وهي

outputChatBox 

وهي أسهل وظيفة , وغرضها أنها تطلع كلام في الشات , ومتطلباتها كالتالي

outputChatBox("رسالتك" , forwho ? , Red , Green , Blue , (#color)true or false) -- تكتب رسالتك مابين النقطتين , 
-- forwho? = الشخص اللي تطلع له الرسالة , لما تتعلم أكثر راح تعرف طريقتها  
-- red , green , blue -- الوان RGB ابحث عنها في النت وراح تعرف مقصدي  
-- ولكل لون درجة من 0 إلى 255 , يعني مثال 
-- 255 , 0 , 0  هذا راح يطلع لك اللون الاحمر وانت جرب الالوان 
-- (#color) true or false  وهذا معناه الالوان اللي يحطونها قبل النك  #ff0000  
-- ان حطيت true راح يكون مسموح بأستخدامه   
-- وان حطيت false ماراح يطلع اللون  

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

وراح اضرب لك مثال بسيط

outputChatBox("الشرح واضح ولا ؟؟؟؟؟؟؟")  
-- المثال اللي فوق بدون متطلبات  
  
outputChatBox("#ff0000الشرح اعتقد واضح" , root , 255,255,255,true) 
-- المثال اللي فوق مع المتطلبات  
-- وراح يطلع بالشات كلام لونه أحمر وراح يكون لجميع اللاعبين ايضآ 
  
-- تذكر أفضل شرح هو موقع المسوؤل عن برمجة ام تي اي  
-- واللي هو الويكي  , أضغط على الوظيفة اللي تحت وشوف امثلة الويكي 
outputChatBox  

شرحي كويس :) ؟

Link to comment

ايش الي صعب :lol:

مع انه سهل جدا ,

يعني كأن عندك اختبار فراغات وكمل الفراغات ,

الفقره الاولى :

givePlayerMoney(...., ....) 

طيب الحين نروح للويكي عشان نبرشم :lol:

bool givePlayerMoney ( player thePlayer, int amount )

thePlayer: the player you are giving the money to.

amount: a positive integer number specifying the amount of money to give to the player.

كذا نضمن اننا بنجيب 10 في الاختبار :lol:

Link to comment

السلام عليكم ورحمه الله وبركآته

كيف حآلكم عسآكم بخير :D

طبعآ ممآ لقيت موضوع منآسب للعنوآن

"lua" بس حبيت اقدم لكم شرح عن بعض قوآعد لغه برمجه

طبعآ اغلبكم دخل الويكي وجلس يحوس في الويكي لين قآل بس :mrgreen:

ولقى اللي يبيه بس ممآ فهم ايش اللي كآن بين الاقوآس او بمعنى آخر

- Arguments

وقبل الارقمنت لقى كلام زي هذآ المثآل :

outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] ) 

اللي هو :

string  
int  
bool  

طبعآ اغلبكم ممآ فهم وش تفيد هذي الكلمآت وطنشهآ

طيب في البدآيه توجد في كل لغه برمجه متغيرات وقيم وانوآع للقيم وتعبير وحآله

اللي هي :

Variables & Types & Values & Expressions and, Statements

وحنآ نبي المطلوبه للغه Lua

نبدآ ب المتغيرآت او " Variables" :

طيب عندنآ هنآ كم متغير للغه لوآ اللي ممكن نفهمهآ

nil, boolean, int, string, float  

رآح نشرح وكل متغير بمعنآه

int 
-- هو عدد صحيح أي عدد صحيح (أي بدون علامة عشرية). يمكن أن تكون إيجابية أو سلبية 

boolean 
-- هي نوع من انوآع البيانات التي يمكن أن تكون القيمة إما صحيحة أو خاطئة  

nil 
-- هي نوع مع قيمة واحدة ومن أهم خاصية هو أن تكون مختلفة عن أي قيمة أخرى  

string 
-- هي سلسلة من الأحرف  

طيب عندنآ هنآ الححين الارقمنت

Arguments:

في عندنآ نوعين من الارقمنت

Required Arguments مطلوبه

Optional Arguments واختيآريه

ططبعآ لازم نكمل الارقمنت المطلوبه ب الاول بعدين نكمل الاختيآريه

عندنآ هنآ مثآل :

setCameraMatrix ( thePlayer, positionX,  positionY, positionZ , lookAtX,  lookAtY,  lookAtZ, roll,  fov  ) 

طبعآ تلاحظون لو دخلتم على الفآانكشن تلاقونهآ كذآ

setCameraMatrix ( player thePlayer, float positionX, float positionY, float positionZ [, float lookAtX, float lookAtY, float lookAtZ, float roll = 0, float fov = 70 ] ) 

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

في عندك طريقتين :

يآ انك تقرآ الارقمن المطلوبه اللي مكتوبه تحت الفآنكشن

اما انك تلاحظ هذآ القوس : " [ ] "

  [, float lookAtX, float lookAtY, float lookAtZ, float roll = 0, float fov = 70 ]  

طبعآ لازم اكمل القيم المطلوبه قبل ان اكمل للقيمه اللي ابيهآ

مثآل :

setCameraMatrix ( thePlayer, 22545.5,  -555.21, 4645.2, _,  _,  _, 80,  _ ) 

وبس

:D

ان شآءالله يكون شرح مفهوم للجميع

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