Jump to content

مساعدة بخصوص الجدول


Recommended Posts

السلام عليكم

شباب , ابي اعرف كيف اغير بقيم الجدول داخل الجدول

مثلآ

في جراند العرب skin فكرة الـ

لما تضغط زر يمين يحولك للسكن اللي بعده ولما تضغط يمين يرجعك

بس كيف اسويه بالجداول

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

  
setCameraMatrix(....) 
skin = createPed(280 ,...) 
  
PoliceSkin = {  
280 , 281 , 
282 , 283 , 
284 , 285 ,  
286 , 287 ,  
288 
} 
  
local num = 1   
  
function NextSkin () 
num = num + 1 
setElementModel(skin , PoliceSkin[num] ) 
if num == 9 then  
num = 1 
end 
end 
  
function PrevSkin ()   
num = num - 1  
setElementModel(skin , PoliceSkin[num] ) 
if num == 0 then  
num = 8 
end 
end 
bindKey("arrow_r" , "up" , NextSkin) 
bindKey("arrow_l" , "up" , PrevSkin) 
  
  

Link to comment
setCameraMatrix (....) 
skin = createPed (280 ,...) 
  
PoliceSkin = { 
    { 280 }; { 281 }; { 282 }; 
    { 283 }; { 284 }; { 285 }; 
    { 286 }; { 287 }; { 288 }; 
} 
  
  
function applyNewSkin ( id ) 
    setElementModel ( skin, id ) 
end 
  
function refreshSkinNumber ( key ) 
    if not num then num = 1 end 
    if key == "arrow_r" then 
        if #PoliceSkin == num then 
            num = 1 
        else 
            num = num +1 
        end 
    elseif key == "arrow_l" then 
        if num == 1 then 
            num = #PoliceSkin 
        else 
            num = num -1 
        end 
    end 
    applyNewSkin ( PoliceSkin[num][1] ) 
end 
  
bindKey ( "arrow_r", "down", refreshSkinNumber ) 
bindKey ( "arrow_l", "down", refreshSkinNumber ) 

كل اللي تحتاجه هو اضافة شخصيات في الجدول بدون تعديل الأكواد

Link to comment

اخوي انا مافهمت لوضع num

لانك تقول اذا ضغطت الزر راح يزود قيمة num

بس كيف بيزودها وهي راح تبدا من رقم 1 يعني لو بيزود بتصير 2 و3 و 4 و5 وهكذا

وارقام الشخصيات الي بل جدول 200 وفوق يبيلك الاف المرات لتوصل القيمة ( نيم ) لرقم 200 مافهمتلها عدل ياليت توضح اكثر وشكرا لتعبك

ووش كنت تقصد في حجم الجدول !

Link to comment
PoliceSkin = { 
    { 280 }; { 281 }; { 282 }; 
    { 283 }; { 284 }; { 285 }; 
    { 286 }; { 287 }; { 288 }; 
} 

في كل جدول كل قيمة تحمل مفتاح

في الفنكشن الـ num = المفتاح الي راح تجيب بواسطته القيمة ..

يعني المفتاح رقم 1 راح يحمل القيمة رقم 280

Link to comment
اخوي انا مافهمت لوضع num

لانك تقول اذا ضغطت الزر راح يزود قيمة num

بس كيف بيزودها وهي راح تبدا من رقم 1 يعني لو بيزود بتصير 2 و3 و 4 و5 وهكذا

وارقام الشخصيات الي بل جدول 200 وفوق يبيلك الاف المرات لتوصل القيمة ( نيم ) لرقم 200 مافهمتلها عدل ياليت توضح اكثر وشكرا لتعبك

ووش كنت تقصد في حجم الجدول !

بالنسبة لـ حجم الجدول .. يقصد عدد قيم الجدول

يوم تفكـ الجدول يجي لك عدد القيم الموجودة فيه

#table

فـ مثلأ عندك جدول فيه 15 قيمةة

وهو سوا كذا

num = #table 

فـ بحط الـ متغير عشان يوم يجلب القيمة ع اخر قيمة بالجدول

يوم تسوي جدول يكون زي كذا مثلأ

table = { "SKin", "Sfa7", "ZA7F" } 

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

table[value] 

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

فـ لو سويت كذا مثلأ

table[1] 

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

ويزود وينقص فيه num فـ هو يسوي المتغير

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

ولو راح يمين يزود ع الـ المتغير ذا 1 .. فـ اذا يصير 2 فالنفترض ذذ

فـ يوم يحط السكين يسوي كذا

table[num] 

يعني جاب قيمة كم ؟ القيمة الثانية من الجدول

ولو نقص القيمة اللي قبلها .

اتمنى فهمت .

Link to comment
اخوي انا مافهمت لوضع num

لانك تقول اذا ضغطت الزر راح يزود قيمة num

بس كيف بيزودها وهي راح تبدا من رقم 1 يعني لو بيزود بتصير 2 و3 و 4 و5 وهكذا

وارقام الشخصيات الي بل جدول 200 وفوق يبيلك الاف المرات لتوصل القيمة ( نيم ) لرقم 200 مافهمتلها عدل ياليت توضح اكثر وشكرا لتعبك

ووش كنت تقصد في حجم الجدول !

افرض ان هذا الجدول

PoliceSkin = { 
    { 280 }; { 281 }; { 282 }; 
    { 283 }; { 284 }; { 285 }; 
    { 286 }; { 287 }; { 288 }; 
} 

صاير كذا

PoliceSkin = { 
    [1] = { 280 };  
    [2] = { 281 };  
    [3] = { 282 }; 
    [4] = { 283 }; 
    [5] = { 284 };  
    [6] = { 285 }; 
    [7] = { 286 };  
    [8] = { 287 };  
    [9] = { 288 }; 
} 

يعني ان المفتاح رقم 1 يحمل الآي دي رقم 280

و المفتاح 2 يحمل القيمة رقم 281

هو المفتاح num وبالكود اعتمدت ان

Link to comment

اها مشكوورين وماقصرتو ( المعلومه وصلت اكثر من زاحف ماقصر

بس هاذي مافهمت ليه بل اخير حطيت [1] ؟

applyNewSkin ( PoliceSkin[num][1] )

ليه ماخليتها كذا

PoliceSkin[num]

لأن القيمة فيها رقم الشخصية ليه حطينا رقم 1

Link to comment

لأن رقم الشخصية يعتبر أول قيمة

يعني لو كان الجدول كذا

Table = {  
    { 280, 282, 284 };  
    { 281, 283, 285 }; 
}; 

تلآحظ ان عندنا جدول يحتوي على مفتاحين

والمفتاحين يحتوون على 3 قيم

فلو جينا بناخذ القيمة الثالثة من المفتاح الثاني .. نسوي كذا

Table[2][3] 
Table --الجدول 
[2] -- المفتاح الثاني 
[3] -- القيمة الثالثة  

النتيجة = 285

ولو سويناها بطريقة أخرى

Table = {  
    ["Skins ID"] = { 280, 282, 284 };  
    ["Vehicles ID"] =  { 281, 283, 285 }; 
}; 

تصير كذا

Table["Skins ID"][2] 

النتيجة = 282

وبطريقة أخرى

Table = {  
    Skins = { 280, 282, 284 };  
    Vehicles { 281, 283, 285 }; 
}; 

تصير كذا

Table.Vehicles[1] 

النتيجة = 281

بطريقة اكثر تعقيد عشان توضح معك

Table = {  
    ["Skins"] = {  
        ID = { 281, 280, 282 }; 
    }; 
    ["Vehicles"] = { 
        ID = { 555, 210, 333 }; 
    } 
}; 

يصير كذا

Table["Skins"].ID[2] 

النتيجة = 280

Link to comment

الله يعطيك العافيه عناد وصلت المعلومة بس ياليت تشرحلي هاذي وش يعني رقم 1 الي باخر الكود ؟ مافهمتلها

applyNewSkin ( PoliceSkin[num][1] ) 

Link to comment
الله يعطيك العافيه عناد وصلت المعلومة بس ياليت تشرحلي هاذي وش يعني رقم 1 الي باخر الكود ؟ مافهمتلها
applyNewSkin ( PoliceSkin[num][1] ) 

num = المفتاح الي اعتمده بالكود

1 = اول قيمة بالجدول

Link to comment

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

مثلا لو علي كلامك مثلا صارت القيمه نيم نقول صارت 4 ماراح تتغير الشخصية

Link to comment
شوف اخوي مع اني موعارفلها ولكن متاكد ان كلامك خطأ لأن القيمة بتكون اكبر من رقم 1 وهذا الكود بكل الحالات بياخذ الرقم 1

مثلا لو علي كلامك مثلا صارت القيمه نيم نقول صارت 4 ماراح تتغير الشخصية

1 = اول قيمة الي هي 280

Link to comment
الله يعطيك العافيه عناد وصلت المعلومة بس ياليت تشرحلي هاذي وش يعني رقم 1 الي باخر الكود ؟ مافهمتلها
applyNewSkin ( PoliceSkin[num][1] ) 

شف .. الجدوال لها اشكال كثيرة

ارقام الشخصيات تعتبر اول قيمة بالجدول

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

مثلأ .. :

local table = {  
  [ "SFA7" ] = { 5, 50 ,13 }, 
  [ "za7f" ] = { 7, 10 ,0 }, 
  [ "Hassan" ] = { 0, 0 ,10 }, 
} 

فـ النفترض بتجيب قيمة سفاح وبتجيب القيمة الثانية من قيمة سفاح اللي هي 50

وش بتسوي ؟ .

table["SFA7"] 

الحين انت جبت قيمة سفاح صحيح .. بس ما جبت القيمة اللي حاملها القيمة نفسها سفاح

وش تسوي ؟

تسوي كذا

table["SFA7"][2] 

جبت القيمة الثانية من قيمة سفاح .

نفس الموضوع لو بتسويه مثلأ ع حسن

table["Hassan"] 

بتجيب القيمة الـ 3 حقه

table["Hassan"][3] 

Link to comment
اهههااا فهمت يعني الحين احنا نحط بل اخير رقم 1 لأن مافيه قيمة ثانيه يحملها ايدي الشخصية الي داخل الجدول صحيح ؟

الحين افترض عندكـ جدول كذا

local table = { "SFA7", "ZA7F" } 

يحتاج هنا تسوي زي كذا

table[2][1] ?

لأ .. لانه هنا القيم او المفاتيح ما تحمل قيم .. هي قيمة واحدة

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

Link to comment

والله ياخوي مابي اسلك واقول اني فهمت انا صراحه مافهمت الحين هذول

  
PoliceSkin = { 
    { 280 }; { 281 }; { 282 }; 
    { 283 }; { 284 }; { 285 }; 
    { 286 }; { 287 }; { 288 }; 
} 

داخل الجدول فيه 9 قيم المفروض نسوي كذا

applyNewSkin ( PoliceSkin[num] )

ليه ضفنا بعدها رقم 1 وليه حطينا كلمة نيم بين القوسين وش وضعها

<< معليش ولكن ابي اعرف فكرتها

Link to comment
والله ياخوي مابي اسلك واقول اني فهمت انا صراحه مافهمت الحين هذول
  
PoliceSkin = { 
    { 280 }; { 281 }; { 282 }; 
    { 283 }; { 284 }; { 285 }; 
    { 286 }; { 287 }; { 288 }; 
} 

داخل الجدول فيه 9 قيم المفروض نسوي كذا

applyNewSkin ( PoliceSkin[num] )

ليه ضفنا بعدها رقم 1 وليه حطينا كلمة نيم بين القوسين وش وضعها

<< معليش ولكن ابي اعرف فكرتها

شكلك نسيت تماما الشرح اللي قبل

قلت لكـ لو تبي تجيب قيمة من الجدول مثلا بدون لوب تسوي كذا

table[1]

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

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

بالنسبة لـ 1 شرح عناد وشرحي اعتقد كافين

بس بشرح لكـ وركز ..

افترض سويت جدول زي كذا

local table = { 
  [ "SFA7" ] = { 5, 50 ,13 }, 
  [ "za7f" ] = { 7, 10 ,0 }, 
  [ "Hassan" ] = { 0, 0 ,10 }, 
} 

وقلت ولله بجيب القيمة الثانية اللي هي زاحف وبجيب رقم 10 منها

تسوي كذا

table["za7f"] 

الحين جلبت قيمة 2 بس جلبت المفتاح حقها او الاندكس حقها .. وش الافائدة ؟ انت تبي تجيب الـ قيمة 10 من المفتاح زاحف

لو حطيت قدام بعد السطر ذا

[2]

تصير انكـ جالس تجلب قيمة زاحف وتجلب القيمة 10 اللي هي حق قيمة زاحف نفسه

تصير كذا

table["za7f"][2] 

يعني فائدة الـ

[2]

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

كـ مثال .. :

local table = {  
  [ "SFA7" ] = { 5, 50 ,13 }, 
  [ "za7f" ] = { 7, 10 ,0 }, 
  [ "Hassan" ] = { 0, 0 ,10 }, 
} 
  
addEventHandler( "onClientResourceStart", resourceRoot, function(   ) 
      outputChatBox ( "* Number:"..table["za7f"][2], 255, 255, 0, true ) 
end ) 

جربه بـ نفسك وبتفهم مية مية

ووش بيجيكـ بالشات ؟ ..

بيجيكـ : 10

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

لو ما فهمت .. او في شي ما فهمته تفضل قول .

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