Jump to content

سؤال


Recommended Posts

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

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

كيف الحال يا شباب

من الاخر

في اشياء اشوفها مثل for و do

ومرات اشوف اشياء i,v

ابغا احد يفهمني كل الاشياء هذي اللي ذكرتها واللي ما ذكرتها

واكون شاكر لكم يا شباب

Link to comment

هو لوب يعني دوران for الـ

local table = {  
 "Hello", 
 "TZWER", 
 "ZA7F", } 
  
function chatMsg ( ) 
  for k, v in ipairs ( table ) do 
     outputChatBox ( v ) 
  end 
end 

يعني يمر عـ جميع عناصر الجدول وفي اكثر من شكل للجداول

الطريقة الثانية مثلأ :

local table = {  
 "Hello", 
 "TZWER", 
 "ZA7F", } 
  
function chatMsg ( ) 
  for i = 1,#table do 
     outputChatBox ( table [ i ] ) 
  end 
end 

يعني يعد من 1 الى عدد قيم الجدول .. من 1 الى 3

1 2 3

بالنسبة للمثال الاول

k = kays

v = values

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

يعني الجدول كذا صحيح :

local table = {  
 "Hello", 
 "TZWER", 
 "ZA7F", } 

لكن هو كذا ..

local table = {  
 [ 1 ] = "Hello", 
 [ 2 ] = "TZWER", 
 [ 3 ] = "ZA7F", } 

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

وطبعا الـلوب هذا يحتاج اند

بالنسبة المفتاح يكون سترنق مثلأ :

local table = {  
 [ "Msg" ] = "Hello", 
 [ "name1" ] = "TZWER", 
 [ "name2" ] = "ZA7F", } 

وانت مع الايام راح تفهمه اكثر واكثر

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

بالنسبة للصورهـ تقصد تدور بمكانها ؟

Link to comment

طلبي الثاني الغيه

الحين طلبي الاول يا زاحف

انا للحين مو فاهم الجدول زين

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

واسوي كل شي بجدول

وخلي المود يجيب الاشياء اللي بالجدول ويسويها روهات في الجريد لست

كيف اسوي كذا ؟؟؟

ومثلا لو شي مضغوط عليه شلون اعرف انه هو

ولما يكون مضغوط عليه يتغير نصوص الى اشياء محددة

ومثلا لو صوت ابغا اختاره من الجريد لست وهو بالجدول موجود اضيف رابطه او مساره وين

وكذا اشياء

ال v, k ما فهمتها

وال i=1,#table وش ذي ما افهم نها شي

ومرات اشوف ناس مسويين كذا

_,

ايش معناها ؟

انا عندي مود بحاول اسويه بكرا ان شاء الله

Link to comment

طيب يا عزيزي

الجدول , هو نظام يسهل عليك في البرمجه

اشياء يعني يختصرها لك بدال ما تكررها

بنفسك كل شوي

نبدا هنا

لو تبي تستخرج قيمه من الجدول الي ضفت فيه القيمه المحدده

راح اعطيك مثال صغير

local myTable = { 
"One", 
"Two", 
"Three" 
} 
  
gridlist = guiCreateGridList (...) 
guiGridListAddColumn (gridlist, "Stuff", 1) 
  
-- الان لو نبي نخلي القيم الي في الجدول تظهر عندنا في القريد ليست 
-- راح نحتاج نسوي لوب , لجميع القيم الي في الجدول 
-- ونسوي اضافة رو على عدد القيم الموجوده في الجدول 
-- تابع هنا 
  
addEventHandler ("onClientResourceStart", resourceRoot, function () 
 for _,v in ipairs (myTable) do -- نجيب جميع القيم الي في الجدول 
   local row = guiGridListAddRow (gridlist) -- نحط رو على عدد القيم الي في الجدول 
     guiGridListSetItemText (gridlist, row, 1, v, false, false) -- هنا سمينا الرو على اسم القيم الي في الجدول 
   end 
end) 
  
-- الحين لو نبي مثلا نختار كيف نختار شي اضفناه 
-- من الجدول , تابع معي وراح تعرف انها سهله 
  
addEventHandler ("onClientGUIClick", root, function () 
 if ( source == gridlist ) then 
   local row, col = guiGridListGetSelectedItem (gridlist) 
    local select = guiGridListGetItemText (gridlist, row, col) -- نجيب الي حدده الاعب في القريد ليست 
     if ( select and select ~= "" ) then -- نتحقق ان الاعب حدد شي 
     outputChatBox (select, 255, 0, 0) -- نطلع الكلام الي حددده الاعب في القريد ليست 
    end 
  end 
end) 

بالنسبه ل

k,v

k = keys = المفاتيح الي هي بالأساس الارقام , الا اذا حطيت مفتاح بنفسك , يعني سميت مفتاح بنفسك

v = values = القيم الي حطيتها داخل الجدول

يعني مثلا ابي اطلع عدد الي موجود في الجدول

local myTable = { 
[1] = "Test1", -- هنا حطينا للقيمه مفتاح وسميناه 1 
[2] = "Test2" -- هنا حطينا للقيمه مفتاح وسميناه 2 
} 
  
for k,v in ipairs (myTable) do 
outputChatBox (k, 255, 0, 0) 
end 

بيطلع لك في الشات

1

2

--------

او اقدر اخليها كذا

local myTable = { 
"Test1", -- حذفنا المفتاح من القيمه , ف بالتالي راح يكون المفتاح الافتراضي لها 1 
"Test2" -- نفس الشي هنا لاكن المفتاح الافتراضي لها 2 
} 
  
for k,v in ipairs (myTable) do 
outputChatBox (k, 255, 0, 0) 
end 

بيطلع لك في الشات

1

2

--------

مثال اخر

مثلا لو ابي اطلع المفتاح مع القيمه

local myTable = { 
[1] = "Hello" 
} 
  
for k,v in ipairs (myTable) do 
outputChatBox ("Key: " .. k .. ", Value: " .. v, 255, 0, 0) 
end 

بيطلع لك في الشات

Key: 1, Value: Hello

------

بالنسبه للي سواها ززاحف

i, #table

هي يجيب لك عدد القيم الي في جدول

اضافة على استخراج القيمه مع العدد

يعني زي كأنك تسويها كذا

table [1]

table [2]

لاكن بطريقة اسرع فهو سواها كذا

for i = 1, #table do 
outputChatBox (table [i]) 
end 

يعني هي هي نفسها لو سويتها كذا

local myTable = { 
"One", 
"Two", 
"Three" 
} 
  
outputChatBox (myTable [1], 255, 0, 0) 

بيطلع لك في الشات

One

ليه ؟

لأننا حددنا القيمه الاولى في الجدول فقط

------

بالنسبه للي يسويها كذا

_,v

هذا يعني انه ما يحتاج للمفاتيح فيخفيها

لأنها كذا كذا ما لها فائده عنده

عشان كذا اخفاها

اتمنى يكون فهمت , واي شي ما فهمته تفضل

Link to comment

للحين مو فاهم

local row, col

ذول الاشياء من وين اجيبها

وكيف اسوي اكثر من قيمة في الجدول

يعني مثلا اسم السيارة ورقمها وسعرها

واسمها لوحدة يطلع برو

وسعرها ورقمها تطلع بليبل ؟

Link to comment

وضح ؟

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

اذا تقصد كذا

سوي جدول بهذي الطريقه

اول خانه اسم السياره

ثاني خانه رقم الاي دي

ثالث خانه سعر السياره

تقدر تحط سعر السياره بدون سترنق

وهو افضل يختصر لك

انا حطيته سترنق

وبهذي الحاله تستعمل

tonumber(table[1][3])

local table = { 
{"BMW",500,"20000000"}, 
{"Audi",450,"30000000"} 
} 
  

Link to comment

ذا كيلر ما قصر ..

لكن شف هالمثال زي ما تبي بالضبط لو في شي ما فهمته اسئل

local Cars = {  
  -- [ "Car Name" ] = { id, price }, 
  [ "Camry" ] = { 407, 50000 }, 
  [ "Malibu" ] = { 400, 5000000 },  
} 
  
addEventHandler ( "onClientResourceStart", resourceRoot, function (  )  
     gridlist = guiCreateGridList ( ... ) 
     button   = guiCreateButton ( ... ) --- زر الشراء 
     guiGridListAddColumn ( gridlist, "Car", 1 ) 
     guiGridListAddColumn ( gridlist, "Price", 2 ) 
     guiGridListAddColumn ( gridlist, "ID", 3 ) 
     for k, v in pairs ( Cars ) do 
         local row = guiGridListAddRow ( gridlist )  
         guiGridListSetItemText ( gridlist, row, 1, k, false, false ) -- هنا هو المفتاح يعني اسم السياره لان مفتاح كل قيمة بالجدول هو اسم السيارة k الـ 
         guiGridListSetItemText ( gridlist, row, 2, v [ 1 ], false, false ) -- v [ 1 ] = اول قيمة بالجدول حق قيمة مفتاح اسم السيارة واللي هو الايدي 
         guiGridListSetItemText ( gridlist, row, 3, v [ 2 ], false, false ) -- v [ 2 ] = نفس الامر , السعر 
     end 
end ) 
  
  
addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) 
  if ( source == button ) then 
   if ( guiGridListGetSelectedItem ( gridlist ) ~= -1 ) then -- تحققنا انه مختار شي من اللستة وقت يضغط الزر 
       local vName = guiGridListGetItemText ( gridlist, guiGridListGetSelectedItem ( gridlist ), 1 ) -- جلبنا اللي اختارهـ .. طبعا هنا اخر ارقمنت هو رقم الكولمن حطينا 1  يعني اول كولمن اللي هو اسم السياره 
       -- Cars [ vName ] [ 1 ] = الايدي 
       -- Cars [ vName ] [ 2 ] = السعر 
       triggerServerEvent ( "buyCar", localPlayer, Cars [ vName ] [ 1 ], Cars [ vName ] [ 2 ] ) 
    end 
  end 
end ) 
Link to comment
وضح ؟

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

اذا تقصد كذا

سوي جدول بهذي الطريقه

اول خانه اسم السياره

ثاني خانه رقم الاي دي

ثالث خانه سعر السياره

تقدر تحط سعر السياره بدون سترنق

وهو افضل يختصر لك

انا حطيته سترنق

وبهذي الحاله تستعمل

tonumber(table[1][3])

local table = { 
{"BMW",500,"20000000"}, 
{"Audi",450,"30000000"} 
} 
  

كيف يعني ؟

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

:@

وشوف طلبي مزبوط تفهم قصدي

Link to comment

كيف يعني ؟

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

:@

وشوف طلبي مزبوط تفهم قصدي

هذي متغيرات انت تسويها

وزاحف ماقصر شرح لك كل شيء

المتغيرات هي

مثلا

  
local 6 = 5+1 

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

مثال ثاني

  
local name, age, region = "TZWER", 18, "Muslim" 
  

Link to comment

كيف يعني ؟

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

:@

وشوف طلبي مزبوط تفهم قصدي

هذي متغيرات انت تسويها

وزاحف ماقصر شرح لك كل شيء

المتغيرات هي

مثلا

  
local 6 = 5+1 

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

مثال ثاني

  
local name, age, region = "TZWER", 18, "Muslim" 
  

اعرف وشو المتغير

بس قصدي ليش استخدم لوكل عليه

Link to comment

ياخي شف ردي فوق اولأ

ثانيا اللوكال مالها اي دخل بـ لوكال او لأ

لكن فائدة اللوكال يكون المتغير ما تقدر تستخدمه مثلا ب ملف ثاني فاهم علي

او لوكال داخل فنكشن ما تقدر تستخدمه خارج الفنكشن

Link to comment

ياخي ليه نسخ لصق والكود واضح وشرحت لك النقاط المهمة

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

مثلأ :

Car [ "Camry" ] [ 1 ] 

Car = اسم الجدول

[ "Camry" ] = المفتاح اللي اسمه كامري بالجدول

[ 1 ] = هنا واحد مالها دخل يعني ممكن يكون الجدول بشكل مختلف ما يحتاج نحط 1 .. لكن حطيناه لان قيمة المفتاح جدول والجدول اكثر من قيمة لازم نحدد اي قيمة نبي

و مثلا القيمة الثانية بدال 1 حط 2 .. وهكذا

زي ما سويت بالكود فوق حطيت الاسماء باللستة ويوم يضغط الزر اتحقق لو مختار شي واجيب اللي اختاره

فالنفترض مختار Camry

وسويت كذا انا :

Car [ vName ] [ 1 ] 

يعني

Car [ "Camry" ] [ 1 ] 

ونفس الامر مع القيمة الثانية الرقم فقط تحديد القيمة

Car [ vName ] [ 2 ] 

Car [ "Camry" ] [ 1 ] 

برضو لو في شي ما فهمته اسال .

Link to comment

:@

ما قلت انك انت نسخ ولصق

انا اللي انسخ والصق

شوف انا ايش ابي

1422615244511.png"http://www.up-00.com/"

شوف هذا الجدول يخوي

شلون لما ينغط عليه اقدر اجيب الفاليو الاولى اللي هي اسم المنشد

واطلعها في ليبل

وثانية

بسوي متغير للصوت

لما اضغط على بوتن يجيب الفاليو الثاني للشي المضغوط عليه اللي هو الصوت

ويشغله

شلون ؟

هذا مو عارفه

بالنسبة للكي عرفت كيف اطلعه

Link to comment
:@

ما قلت انك انت نسخ ولصق

انا اللي انسخ والصق

شوف انا ايش ابي

1422615244511.png"http://www.up-00.com/"

شوف هذا الجدول يخوي

شلون لما ينغط عليه اقدر اجيب الفاليو الاولى اللي هي اسم المنشد

واطلعها في ليبل

وثانية

بسوي متغير للصوت

لما اضغط على بوتن يجيب الفاليو الثاني للشي المضغوط عليه اللي هو الصوت

ويشغله

شلون ؟

هذا مو عارفه

بالنسبة للكي عرفت كيف اطلعه

اولأ ما اقصد انا اللي نسخت ولصقت .. لكن القصد من كلامي انه ليه تنسخ وتلصق والكود واضح وشارح لك

بالنسبة لطلبكـ زي مو مسوي انا لكن بسويلك الكود .. :

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 ) 
  
  
addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) 
  if ( source == button ) then 
   if ( guiGridListGetSelectedItem ( gridlist ) ~= -1 ) then -- تحققنا انه مختار شي من اللستة وقت يضغط الزر 
        local vName = guiGridListGetItemText ( gridlist, guiGridListGetSelectedItem ( gridlist ), 1 ) -- جلبنا اللي اختارهـ .. طبعا هنا اخر ارقمنت هو رقم الكولمن حطينا 1  يعني اول كولمن اللي هو اسم الاغنية 
        if ( isElement ( Song ) ) then destroyElement ( Song ) end 
        Song = playSound ( Songs [ vName ] [ 2 ] ) 
    end 
  end 
end ) 
Link to comment

يا ليل

انتم افهموني

الحين التيبل حقي

فيه الكي اسم الشيلة حلو ؟

الحين الفاليو

حاط ثنتين

ابغا الاولى اللي هي اسم المنشد

تروح على ليبل مو كولمن

والثانية

اسويلها متغير

اني لما اضغط تشغيل

يشغل المسار حق الشيلة اللي مختارها

يصلح اسوي كذا ولا لا ؟

وحاب اعرف

ايش يعني

v[1]

وال vName ايش هي

Link to comment
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

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