Jump to content

x[ طلب فنكشنات ]x مهمة الجري


Recommended Posts

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

نبدأ باول خطوة , نسوي تايمر وهذا التايمر يفيدنا انه المهمة تبدأ كل شوي , ونستخدم فنكشن , ولازم تحط نوع التايمر 1 

setTimer

بعد ما تسوي التايمر نسوي ماركر , عشان يدخلنا المهمة

createMarker 

والان نسوي جدول ; والجدول يفيدنا ب جلب االاعبين اللي بالمهمة واذا حاب تسوي عدد محدد للي يدخلوا المهمة بالجداول

lcoal table = { }

نسوي قيمة عادية ونحطها اللي نريده , هذي القيمة تساعدنا بانه المهمة مفتوحة او مغلقة ; عشان ما يقدر يفوت المهمة وهي شغالة

local aJoin = 'false'

ونسوي الان حدث لما يفوت اللاعب الماركر , 

'onMarkerHit'

وتسوي تحقق من انه المهمة مفتوحة ولا لا اذا كانت القيمة فولس زي ما حطينا فوق , نسوي ريتورن وما يدخله 

if ( aJoin == 'false' ) then
  return
end

وتسوي ادخال اللاعب للجدول عند لمس الماركر

table.insert

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

setElementPosition
setElementFrozen

ونسوي تايمر , داخل حدث لمس الماركر , هذا التايمر يفيدنا بدء المهمة رسميا ويكون نوعه 1 أي غير متكرر

setTimer

والان نسوي لوب للاعبين اللي بالسيرفر 

getElementsByType 

ونتحقق من انه اللاعب بالجدول عن طريق وظيفة تابل واللي تحصلها بالقسم 

getPlayerTable

والآن نسوي الغاء للفريز ونص بالشات انه المهمة بدات 

setElementFrozen 
outputChatBox

وتسوي تحقق اذا ما كان في لاعبين بالجدول يلغي المهمة

الان نسوي ماركر اللي لما نلمسه يفوزنا

createMarker

حدث عند لمس الماركر 

'onMarkerHit'

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

givePlayerMoney 

نسوي للوب للجميع اللاعبين بالسيرفر

getElementsByType 

نتحقق انه اللاعبين بالجدول

getPlayerTable

نحذفهم + نقتلهم عشان نطلعهم خارج مكان المهمة

table.remove
killPed

 

  • Like 3
Link to comment
3 minutes ago, #_iMr.[E]coo said:

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

نبدأ باول خطوة , نسوي تايمر وهذا التايمر يفيدنا انه المهمة تبدأ كل شوي , ونستخدم فنكشن , ولازم تحط نوع التايمر 1 


setTimer

بعد ما تسوي التايمر نسوي ماركر , عشان يدخلنا المهمة


createMarker 

والان نسوي جدول ; والجدول يفيدنا ب جلب االاعبين اللي بالمهمة واذا حاب تسوي عدد محدد للي يدخلوا المهمة بالجداول


lcoal table = { }

نسوي قيمة عادية ونحطها اللي نريده , هذي القيمة تساعدنا بانه المهمة مفتوحة او مغلقة ; عشان ما يقدر يفوت المهمة وهي شغالة


local aJoin = 'false'

ونسوي الان حدث لما يفوت اللاعب الماركر , 


'onMarkerHit'

وتسوي تحقق من انه المهمة مفتوحة ولا لا اذا كانت القيمة فولس زي ما حطينا فوق , نسوي ريتورن وما يدخله 


if ( aJoin == 'false' ) then
  return
end

وتسوي ادخال اللاعب للجدول عند لمس الماركر


table.insert

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


setElementPosition
setElementFrozen

ونسوي تايمر , داخل حدث لمس الماركر , هذا التايمر يفيدنا بدء المهمة رسميا ويكون نوعه 1 أي غير متكرر


setTimer

والان نسوي لوب للاعبين اللي بالسيرفر 


getElementsByType 

ونتحقق من انه اللاعب بالجدول عن طريق وظيفة تابل واللي تحصلها بالقسم 


getPlayerTable

والآن نسوي الغاء للفريز ونص بالشات انه المهمة بدات 


setElementFrozen 
outputChatBox

وتسوي تحقق اذا ما كان في لاعبين بالجدول يلغي المهمة

الان نسوي ماركر اللي لما نلمسه يفوزنا


createMarker

حدث عند لمس الماركر 


'onMarkerHit'

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


givePlayerMoney 

نسوي للوب للجميع اللاعبين بالسيرفر


getElementsByType 

نتحقق انه اللاعبين بالجدول


getPlayerTable

نحذفهم + نقتلهم عشان نطلعهم خارج مكان المهمة


table.remove
killPed

 

مشكووور والله ما قصرت يغالي لكن اخر شي لخبطني تحقق انه اللاعبين بالجدول ونحذفهم ونقتلهم +,
table.insert ما اعرف كيفية استخدامها معلش إستحملني !

@#_iMr.[E]coo

Link to comment
Quote

 

table.insert :


 

Inserts element value at position pos in table, shifting up other elements to open space, if necessary. The default value for pos is n+1, where n is the length of the table (see §2.5.5), so that a call table.insert(t,x) inserts x at the end of table t.

بإختصار يضيف قيم في الجدول , مثال,


?

local Table = {1,2,'four'} 
  
addCommandHandler('insert',function(plr) 
    table.insert(Table, 3, 'three') 
        outputChatBox('Values number : '..#Table..' Texts : '..table.concat(Table,' , '),plr,255,200,25,true) 
    end 
) 


لو تلاحظ الجدول ,


?

local Table = {1,2,'four'} 

في واحد واثنين واربعه مافي 3

وانا ابي اضيفها للجدول ,


?

table.insert(Table, 3, 'three') 

^ طبعا اول ارقومنت حق الجدول ثاني ارقومنت مكان القيمه يعني مثلا بعد 1 او 4 ثالث ارقومنت القيمه

طبعا تقدر تسويها كذا,


?

table.insert(Table, 'three') 

وحبيت اقول انه يمكن لأي احد يشارك في المسآعده , ممكن اغيب من المنتدى ...

صاحب الشرح : Sha67

Edited by Deativated
Link to comment
3 hours ago, Deativated said:

Inserts element value at position pos in table, shifting up other elements to open space, if necessary. The default value for pos is n+1, where n is the length of the table (see §2.5.5), so that a call table.insert(t,x) inserts x at the end of table t.

بإختصار يضيف قيم في الجدول , مثال,


?


local Table = {1,2,'four'} 
  
addCommandHandler('insert',function(plr) 
    table.insert(Table, 3, 'three') 
        outputChatBox('Values number : '..#Table..' Texts : '..table.concat(Table,' , '),plr,255,200,25,true) 
    end 
) 


لو تلاحظ الجدول ,


?


local Table = {1,2,'four'} 

في واحد واثنين واربعه مافي 3

وانا ابي اضيفها للجدول ,


?


table.insert(Table, 3, 'three') 

^ طبعا اول ارقومنت حق الجدول ثاني ارقومنت مكان القيمه يعني مثلا بعد 1 او 4 ثالث ارقومنت القيمه

طبعا تقدر تسويها كذا,


?


table.insert(Table, 'three') 

وحبيت اقول انه يمكن لأي احد يشارك في المسآعده , ممكن اغيب من المنتدى ...

صاحب الشرح : Sha67

نسيت تقوله , اذا استعمل

table.insert

الأفضل يستعمل pairs

في اللوب على الجدول, تقليل من كمية الأخطاء الي من الممكن تواجهك

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