Jump to content

شباب ادخلو


Recommended Posts

السلام عليكم

شباب عملت قريد ليست وفيه row

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

local Skins = { 
-- {"skin" , "ID"} 
  { "Skin1", 1 }, 
  { "Skin2", 1 }, 
  { "Skin3", 55 }, 
  
}   
addEventHandler("onClientResourceStart", resourceRoot, 
    function () 
Grid = guiCreateGridList(16, 71, 277, 400, false, win) 
        for k,v in ipairs(Skins) do 
        local row = guiGridListAddRow(Grid) 
        guiGridListSetItemText(Grid,row,1, v[1],false,false) 
        guiGridListSetItemText(Grid,row,2, v[2],false,false) 
end 
    end) 
  
    --------------------------------------------------------------- 
    addEventHandler("onClientGUIClick", root , 
function() 
    if source == Buy then 
        SKIN = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 2 ) 
            ID = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 3 ) 
                 
end 
end) 
------------------------------------------------------------------------ 
  
addEventHandler('onClientGUIClick',root, 
    function ( ) 
        if ( source == GUIEditor.gridlist[1] ) then 
            triggerServerEvent ( 'skin1',localPlayer ) 
        end 
    end 
) 
---------------------------------------- 
  

addEvent ("SS",true) 
addEventHandler ("SS",root, 
function (   ) 
setElementModel ( Player , 1 ) 
outputChatBox("You Have Skin " 1 "", source, 255, 0, 0) 
spawnPlayer ( source , x , y , z ) 
outputChatBox("تم نقلك الى البداية ", source, 255, 0, 0) 
 end 
) 
  

Link to comment
السلام عليكم

شباب عملت قريد ليست وفيه row

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

local Skins = { 
-- {"skin" , "ID"} 
  { "Skin1", 1 }, 
  { "Skin2", 1 }, 
  { "Skin3", 55 }, 
  
}   
addEventHandler("onClientResourceStart", resourceRoot, 
    function () 
  
  
حط الكلاينت كامل 
Grid = guiCreateGridList(16, 71, 277, 400, false, win) 
        for k,v in ipairs(Skins) do 
        local row = guiGridListAddRow(Grid) 
        guiGridListSetItemText(Grid,row,1, v[1],false,false) 
        guiGridListSetItemText(Grid,row,2, v[2],false,false) 
end 
    end) 
  
    --------------------------------------------------------------- 
    addEventHandler("onClientGUIClick", root , 
function() 
    if source == Buy then 
        SKIN = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 2 ) 
            ID = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 3 ) 
                 
end 
end) 
------------------------------------------------------------------------ 
  
addEventHandler('onClientGUIClick',root, 
    function ( ) 
        if ( source == GUIEditor.gridlist[1] ) then 
            triggerServerEvent ( 'skin1',localPlayer ) 
        end 
    end 
) 
---------------------------------------- 
  

addEvent ("SS",true) 
addEventHandler ("SS",root, 
function (   ) 
setElementModel ( Player , 1 ) 
outputChatBox("You Have Skin " 1 "", source, 255, 0, 0) 
spawnPlayer ( source , x , y , z ) 
outputChatBox("تم نقلك الى البداية ", source, 255, 0, 0) 
 end 
) 
  

Link to comment

تمام حلو بس فيه غلطات كتابة الاكواد صح بس الاوامر غلط يعني مانك كاتب الليي انت تبيه

و الجدول انت تبي تحط في الجريد ليست سترينق و معه رقم :shock:

لازم كله سترينق فأستعمال

tostring و tonumber

tostring : تحولك متغيرات تانية ل ستريينق

مثال

tostring(77)

راح تطلع لك

"77"

و tonumber

تحول لك لرقم مثال

tonumber("55")

راح تطلع لك

55

و هنا

addEventHandler("onClientGUIClick", root , 
function() 
    if source == Buy then 
        SKIN = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 2 ) 
        ID = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 3 )      
    end 
end) 

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

بس ما سوا فيهم شيء

addEventHandler('onClientGUIClick',root, 
    function () 
        if ( source == GUIEditor.gridlist[1] ) then 
            triggerServerEvent ( 'skin1',localPlayer ) 
        end 
    end 
) 

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

addEvent ("SS",true) 
addEventHandler ("SS",root, 
function () 
setElementModel ( Player , 1 ) 
outputChatBox("You Have Skin " 1 "", source, 255, 0, 0) 
spawnPlayer ( source , x , y , z ) 
outputChatBox("تم نقلك الى البداية ", source, 255, 0, 0) 
 end 
) 

و هنا الايفينت ذا ما في شيء سوا له تريقر

و لو تبي تخليها تظهر لما يسجل دخول استعمل

onPlayerLogin--Event 
triggerClientEvent 
guiSetVisible 
showCursor 

Link to comment
نفترض ان عندنا جدول فيه

اسم السلاح + الايدي + السعر حقه

كيف احطه قريد ليست

اول شئ تجتاجه تسوي الجدول مثل كذا

  
Weapons { 
-- {"WeaponName" , "WeaponID" ,"WeaponAmmo" ,"WeaponPrice"} 
{"AK-47" ,"30","4000" ,"6000"} , 
{"M4" ,"31","4000" ,"7000"}, 
{"TEC-9" ,"32","4000" ,"4500"}, 
{"Country Rifle" ,"33","800" ,"8000"}, 
{"Sniper Rifle" ,"34","800" ,"10000"}, 
{"Rocket Launcher" ,"35","10" ,"50000"} 
} 

WeaponName = اسم السلاح

WeaponID = رقم السلاح

WeaponAmmo = عدد طلقات السلاح

WeaponPrice = سعر السلاح

الحين خلصنا من الجدول

نجي الحين للقريد ليست

نسوي القريد ليست

 Grid = guiCreateGridList(......) 

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

بالفنكشن ذا

guiGridListAddColumn 

راح يكون كذا

        guiGridListAddColumn(Grid, "name", 0.2) 
        guiGridListAddColumn(Grid, "id", 0.2) 
        guiGridListAddColumn(Grid, "ammo", 0.2) 
        guiGridListAddColumn(Grid, "price", 0.2)  

الحين سوينا جدول وقريد ليست واعمده للقريد ليست وش نسوي ؟

راح نسوي لوب عشان نجيب اللي داخل الجدول

for _,d in ipairs(Weapons) do 

طبعا كل هذا الاشياء تحطها بنفس الحدث اللي مسويه مود guieditor

الحين سوينا لوب وش باقي ؟

الحين تسوي رو = صف

طبعا تحت اللوب

        local row = guiGridListAddRow(Grid) 
  

الحين جا وقت اننا نحط الاغراض اللي بالجدول داخل القريد ليست

باستخدام فنكشن

guiGridListSetItemText 

يصبح كذا

        guiGridListSetItemText(Grid,row,1, v[1],false,false) 
        guiGridListSetItemText(Grid,row,2, v[2],false,false) 
        guiGridListSetItemText(Grid,row,3, v[3],false,false) 
        guiGridListSetItemText(Grid,row,4, v[4],false,false) 

Grid = اسم القريد ليست

row = الصف اللي سويناه فوق

V[1] = اول قيمه اللي هيا اسم اسم السلاح

false ,false معرف معاناه صراحة لاكن دائما احطها فولس وتظبط ض1

الحين نقفل اللوب باند

ليصبح الشكل النهائي للكود كذا

         
addEventHandler("onClientResourceStart", resourceRoot, 
    function () 
Grid = guiCreateGridList(16, 71, 277, 400, false, win) 
        for k,v in ipairs(Weapons) do 
        local row = guiGridListAddRow(Grid) 
        guiGridListSetItemText(Grid,row,1, v[1],false,false) 
        guiGridListSetItemText(Grid,row,2, v[2],false,false) 
        guiGridListSetItemText(Grid,row,3, v[3],false,false) 
        guiGridListSetItemText(Grid,row,4, v[4],false,false) 
end 
    end) 

الحين خلصنا اننا نحط اللي بالجدول داخل القريد ليست

الحين عندنا ذا الزر

اللي هوا باي

        Buy = guiCreateStaticImage(320, 95, 200, 60, "s/Buy.png", false, win) 

كيف نخليه اذا الاعب ظغطه وحدد السلاح يشتري

اول شئ نتحقق ان الاعب دق زر باي

    if source == Buy then 

طبعا داخل حدث

onClientGUIClick

نستكمل

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

هذا الفنكشن

guiGridListGetSelectedItem 

وهذا الفنكشن يجيب الشئ المكتوب

guiGridListGetItemText 

طبعا الحين نحط له متغير عشان نرسله مع التريقر

ليصبح الكود

addEventHandler("onClientGUIClick", root , 
function() 
    if source == Buy then 
        GetItem = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 2 ) 
            ammo = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 3 ) 
                price = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem ( Grid ), 4 ) 
end 
end) 

Grid = اسم القريد

guiGridListGetSelectedItem ( Grid ) = عشان نجيب واللي داق عليه الاعب

2 = العامود الثاني اللي هوا حق اي دي السلاح

الحين جا الوقت اللي نسوي فيه تريقر

ونرسل معه المتغيرات اللي فوق

بالطريقة هذي

                    triggerServerEvent("Weapons", localPlayer , GetItem ,ammo ,price) 

الحين هذا كله كلاينت

نجي للسه والفله

تروح تفتح ملف سيرفر

راح يكون الشكل النهائي كذا

addEvent("Weapons",true) -- عشان نجيب التريقر 
addEventHandler("Weapons",root, -- نضيف الحدث 
    function (GetItem ,ammo ,price) -- المتغيرات اللي رسلناها مع التريقر لايهم الاسم لاكن يهم الترتيب كلام تابل   
        pm = getPlayerMoney(source) -- هنا نجيب فلوس الاعب 
            if ( pm >= tonumber(price) ) then -- هنا نتحقق من ان فلوس الاعب اكبر او تساب سعر السلاح 
                giveWeapon ( source, tonumber(GetItem), tonumber(ammo)) -- هنا نعطيه سلاح وطلقات 
                    takePlayerMoney(source , tonumber(price)) -- هنا نسحب فلوس منه ليش تبيه ياخذ بلاش ؟ 
                        Name = getWeaponNameFromID(tonumber(GetItem)) --  هنا جبت اسم السلاح عن طريق الايدي حقه عشان  اطلعه بالشات 
                    outputChatBox("#a00000*#ffffff[#a00000You#ffffff] ##2E2E2EHave New Weapon#ffffff : [#ff0000"..Name.."#ffffff]" ,source, 0, 255, 0 ,true) 
                else 
        outputChatBox("#a00000*#ffffff[#a00000You#ffffff] ##2E2E2EDon't Have Enough#ffffff Money" ,source, 0, 255, 0 ,true) 
    end 
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...