Jump to content

موضوع اتوقع انه مهم


Recommended Posts

بسم الله الرحمن الرحيم

...اللهم صلي على محمد عدد ماذكرة الذاكرون وعدد ماغفل عن ذكره الغافلون

:) صلو عليه يا شباب :)

انا دخلت الموقع ابحث عن دروس البرمجة

بس ما لقيت :mrgreen::mrgreen:

يعني لقيت اشياء صح مفيدة بس مو فوقتها

8)

زي اللي يشتري عربة بدون حصان

<<حكيم

الزبدة دروس مهمة بس مافي اساسيات

8):mrgreen:

اتمنى انشاء اساسياااااااااااااات :|:roll:

Link to comment

اظن ذا يكفي

اهلا وسهلا حيآك الله,

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

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

* 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

شكرا اخي الفاضل صح انت فهمتني (الى حد ما)لكن...

ما اعطيتني وش اللي ابيه :mrgreen:

مثلا وش الفرق بين الكلنت والسيرفر

ةخطوة خطوة مثلا شرح مود بسيط

بس يكون من الالف للياااء

على العموم شكرا :mrgreen:

Link to comment
  • 3 weeks later...

الكلنت ياطويل العمر ,, لونه احمر تلقاه دائما

هذا تعرف انه ما يستخدم الى في الكلنت

اذا حطيته في ملف السيرفر ما راح يشتغل معك

+

اذا فتحت الديبوق راح تلاقي اخطاء طبعا

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

طبعا نفس الكلام الي فوق ^

يعني ما تقدر تستخدمه في الكلنت

+

الي تلقى لونه ازرق ,

هذا يستخدم في الكلنت + السيرفر

اتمنى فهمت

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