Jump to content

سؤال


Recommended Posts

local table = { 
  -- [ "table main key" ] = { table value 1, table value 2,table value 3,table value 4 }, 
  [ "TAPL" ] = { "Bahrain", "6037", "21", "Victory" }, 
  [ "MR.S3D" ] = { "Saudi Arabia", "698", "Unknown", "Q.5" }, 
  [ "UAEpro" ] = { "United Arab Emirates", "578", "21", "Root" }, 
   
} 
  
  
function MTAForums (            ) 
        for key,value in pairs ( table ) do 
            outputChatBox ( ' '..key..' : ',255,0,0 ) 
            outputChatBox ( ' Country : '..value [ 1 ] ..'  ',0,255,0 ) 
            outputChatBox ( ' Posts : '..value [ 2 ] ..'  ',0,0,255 ) 
            outputChatBox ( ' Age : '..value [ 3 ] ..'  ',255,255,0 ) 
            outputChatBox ( ' Gang : '..value [ 4 ] ..'  ',0,255,255 ) 
    end 
end 
  
MTAForums ( ) 

شوف الحين تقول وش هي الفاليو وايش وايش وايش هذي كلها قيم في الجدول اللي انت مسوية من أول و ال كي هي مفتاح للقيمة في الجدول كـ مثال الكود السابقة حطيت فية اربع قيم وتقدر تسوي فيها اللي تبي تجيب منها المسار تجيب اسم المنشد كلها تعتمد على المبرمج مالها دخل في نوعيه الكود طريقة استخدامك لة ووضعه في موضعه الصحيح بيكون قابل تسوية في حاجة حاب تسويها في الكود حطيت اسم صاحب الحساب هو المفتاح و جبت قيم الدولة والبوست و العمر و العصابة بـ استخدام القيم من الجدول فـ الجدول لة قيم معينة انت محددها واستخدامك لها يكون حسب خبرتك في البرمجة بتقدر تسويها او لا سو اللي تقدر عليه وبنساعدك في الباقي .. حظ موفق :roll:

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

خلص الحين تقريبا فهمت كلشي

وبروح اسوي

اذا عندي خطأ بنزله هنا

ومشكورين

تعبتكم مرة

Link to comment

ما ادري انت ليه انت كذا xD

انت بس همكـ الفاليو والفاليو .. اول شي افهم

يعني الكود واضح واللي طلبته موجود ياخي !

ركز شوية معاي .. هذا الجدول :

local Songs = { 
  -- [ "Song Name" ] = { Singer, soundFile }, 
  [ "Xنهار سبعة عشرX" ] = { "خالد القحطاني", "sound.mp3" }, 
  [ "Xمدرسة الايامX" ] = { "صالح اليامي", "sound2.mp3" }, 
} 

في نوعين للوب : pairs - ipairs

اذا كان الاندكس حق القيمة رقم يعني مو سترنق زي اللي فوق مثلا ipairs الـ

هو يستخدم للجدول اللي بالشكل هذا pairs الـ

اتركنا من الجدول اللي فوق خلنا بـ الجدول هذا مثلا :

local table = { 
  "HelloWolrd", 
  "TZWER are you noob", 
  "i don't know", 
} 

تقولي كيف مثلأ اطلع كل القيم بالشات

for _,v in ipairs ( table ) do 
    outputChatBox ( v ) 
end 

_ بتقولي ليه حاط

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

بتقولي ليه ما في v [ 1 ] or v [ 2 ] ..

لانه كل قيمة .. قيمة لحالها فاهم علي .. يعني مهي جدول

يعني مثلا :

local table = { 
  {"HelloWolrd"}, 
  {"TZWER are you noob"}, 
  {"i don't know"}, 
} 

هنا جدول فـ وقت تسوي لوب لازم تحدد اي قيمة لان الجدول اكثر من قيمة فـ داخل الجدول كل قيمة هي جدول

يعني تقولي مثلا ما بسوي لوب .. بجيب ثاني قيمة

تجيبها كذا

outputChatBox ( table [ 2 ] [ 1 ] ) 

table [ 2 ] = {"TZWER are you noob"}, اللي هي القيمة الثانية

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

[ 1 ] = يعني اول قيمة

for _,v in ipairs ( table ) do 
    outputChatBox ( v [ 1 ] ) 
end 

هنا لوب يعني تكرار يمر ع كل قيمة فـ اللي راح يسوي

اول قيمة

{"HelloWolrd"},

ف جلبها وخلاص يكتشف انها جدول .. طيب انا حاط 1 يعني يقوله اجلب اول قيمة

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

v [ 1 ] لو ما سويت زي كذا

راح يجيكـ خطا v وخليتها

هي القيم كلها وبعد ما يجلب القيم تحدد اي قيمة تبي من القيم هذي لان القيم هذي جدول v الـ

pairs نجي لـ

المفتاح هو رقم والقيمة هي اي شي كان لكن المهم لكل مفتاح قيمة والمفتاح لا بد يكون رقم ipairs حنا متفقين انه بالـ

هنا اختلف الموضوع .. هنا المفتاح سترنق .. يعني سلسلة نصية اي كلام .. والقيمة اي شي

local table = { 
  [ "Tzwer" ] = "are you noob?", 
  [ "Za7f" ]  = "yes he's noob", 
} 

طبعا هنا نقدر نجلب اي قيمة بالشكل ذا :

table [ "Tzwer" ]  
--"are you noob?"  

تقولي ليه ما في 1 او 2

لان اصلا القيمة مهي جدول ما نحتاج نحدد القيمة لانها قيمة وحدة يعني اللعبة تفهم الجدول اكثر من قيمة ولازم تحدد القيمة لكن هنا مو جدول ف ما نحدد

طيب نفترض الجدول كذا

local table = { 
  [ "Tzwer" ] = {"are you noob?"}, 
  [ "Za7f" ]  = {"yes he's noob"}, 
} 

{ } تقولي وش الاختلاف بس عشان الـ

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

table [ "Tzwer" ] [ 1 ] 
--"are you noob?"  

[ 1 ] بس اضــفنا الـ

for k, v in pairs ( table ) do   
     
end 

ما نستخدمها الا لو كان المفتاح سترنق يعني هي سترنق pairs هنا هي الاسماء هي المفاتيح واتفقنا انه الـ kالـ

هي قيمة المفاتيح v الـ

اللي هذي هي :

{"are you noob?"}, 
{"yes he's noob"}, 

v[1] عشان نجيب القيم لازم برضو نحط

v لانه القيم جداول تقولي لو مو جداول نحط بس

نجي للكود اللي فوق

هذا الجدول عندنا :

local Songs = { 
  -- [ "Song Name" ] = { Singer, soundFile }, 
  [ "Xنهار سبعة عشرX" ] = { "خالد القحطاني", "sound.mp3" }, 
  [ "Xمدرسة الايامX" ] = { "صالح اليامي", "sound2.mp3" }, 
} 

حلو ؟ .. وهذي الاكواد

addEventHandler ( "onClientResourceStart", resourceRoot, function (  ) 
     gridlist = guiCreateGridList ( ... ) 
     button   = guiCreateButton ( ... ) --- زر الشراء 
     guiGridListAddColumn ( gridlist, "Song", 1 ) 
     guiGridListAddColumn ( gridlist, "Singer", 2 ) 
     for k, v in pairs ( Songs ) do 
         local row = guiGridListAddRow ( gridlist ) 
         guiGridListSetItemText ( gridlist, row, 1, k, false, false ) 
         guiGridListSetItemText ( gridlist, row, 2, v [ 1 ], false, false ) 
     end 
end ) 

خلنا بـ :

for k, v in pairs ( Songs ) do 
         local row = guiGridListAddRow ( gridlist ) 
         guiGridListSetItemText ( gridlist, row, 1, k, false, false ) 
         guiGridListSetItemText ( gridlist, row, 2, v [ 1 ], false, false ) 
end 

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

guiGridListSetItemText ( gridlist, row, 1, k, false, false ) 

يعني هنا المفتاح والمفتاح هو اسم الاغنية يضيفها ع اول كولمن اللي هو الاغنية k هنا الـ

guiGridListSetItemText ( gridlist, row, 2, v [ 1 ], false, false ) 

v [ 1 ] = اول قيمة بالجدول اللي هي اسم المغني يعني

{ "خالد القحطاني", "sound.mp3" }, 

v [ 1 ] = "خالد القحطاني" 
v [ 2 ] = "sound.mp3" 

طيب حلو الان نجي لهذا الكود

addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) 
  if ( source == button ) then 
   if ( guiGridListGetSelectedItem ( gridlist ) ~= -1 ) then 
        local vName = guiGridListGetItemText ( gridlist, guiGridListGetSelectedItem ( gridlist ), 1 ) 
        if ( isElement ( Song ) ) then destroyElement ( Song ) end 
        Song = playSound ( Songs [ vName ] [ 2 ] ) 
    end 
  end 
end ) 

الحين هذا السطر

local vName = guiGridListGetItemText ( gridlist, guiGridListGetSelectedItem ( gridlist ), 1 ) 

بعد ما تحققت انه مختار شي جلبت اللي اختاره

هو الشي اللي اختارهـ vName يعني

يعني عشان تفهم اكثر لو اختار اول اغنية مثلا راح تكون بالشكل ذا :

local vName = "Xنهار سبعة عشرX" 

طيب هذا التحقق :

if ( isElement ( Song ) ) then destroyElement ( Song ) end 

يتحقق لو الاغنية شغالة مو هذي اللي اختارها لا لو مثلا شغلت اغنية انا وبعدين جيت بشغل وحدة ثانية يتحقق لو في اغنية شغالة ويشيلها

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

المهم هذا السطر :

Song = playSound ( Songs [ vName ] [ 2 ] ) 

بالشكل هذا vName اتفقنا انه الـ

local vName = "Xنهار سبعة عشرX" 

يعني ك افتراض فقط لكن حنا ما نعرف وش اختار لكن نفترض انه اختار هذي الاغنية

يعني السطر راح يكون بالشكل ذا :

Song = playSound ( Songs [  "Xنهار سبعة عشرX" ] [ 2 ] ) 

[ 2 ] = مسار واسم الملف

{ "خالد القحطاني", "sound.mp3" }, 

v [ 1 ] = "خالد القحطاني" 
v [ 2 ] = "sound.mp3" 

اذا في خطا ف اعذرني لان كل هذا الشرح يمكن يكون عندي خطا ..

اذا طولت عليك اعذرني لكن عساك فهمت بس .. لو في شي ما فهمته عادي اسئل .

Link to comment

http://www.lua.org/cgi-bin/demo : جرب المثال هنا

Table = { 
    ["iMr.TZ[W]ER"] = {Rank = "Mack", Posts = "561", Joined = "Mon Oct 14, 2013 4:53 am", Location = "The State of Palestine", Gang = "xPro ~~~~ Gta-Pro"}, 
    ["# ZA7F = ;"] = {Rank = "Soldier", Posts = "3888", Joined = "Sat Mar 30, 2013 9:27 am", Location = "Saudi Arabia", Gang = "-TfB//"}, 
    ["Mr.Pres[T]ege"] = {Rank = "Big Homie", Posts = "9232", Joined = "Fri Sep 21, 2012 10:26 pm", Location = "Kingdom of Saudi Arabia - Riyadh", Gang = "[Q.5]"}, 
    ["#SPIDER"] = {Rank = "Hoodsta", Posts = "950", Joined = "Thu Nov 21, 2013 5:02 pm", Location = "Saudi Arabia", Gang = "#[Naw]"}, 
} 
  
for key,value in pairs(Table) do 
    print(key.." Info:") 
    print("Rank : "..value["Rank"]) 
    print("Posts : "..value["Posts"]) 
    print("Joined : "..value["Joined"]) 
    print("Location : "..value["Location"]) 
    print("Gang : "..value["Gang"]) 
    print(" ") 
end 
Link to comment
local table = { 
  "HelloWolrd", 
  "TZWER are you noob", 
  "i don't know", 
} 

تقولي كيف مثلأ اطلع كل القيم بالشات

for _,v in ipairs ( table ) do 
    outputChatBox ( v ) 
end 

_ بتقولي ليه حاط

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

تقدر تستخدم الشرطة على فكرة

الشرطة زي الحرف

الأثنين نفس النتيجة:

for _,v in ipairs ( table ) do 
    outputChatBox ( _ ) 
end 

for i,v in ipairs ( table ) do 
    outputChatBox ( i ) 
end 

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