Jump to content

شرح القريد ليست


Recommended Posts

السلام عليكم

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

الـ dx

و القريد ليست

هذول صاراحه لما اشوف الناس تسويهم ينلحس مخي وما افهم اي شي

ابي مبرمج فااضي يشرحليهام بت التفصيل

لني جديد في برمجتهم

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

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

و

dx

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

مثلا ابي اسوي لوحه فيها اسماء الاعبين وكذا

وللاخر

Link to comment

انا مافهمله اعرف اسوي اشياء ثانيه

بس هو احسه صعب

يعني مثلا بسوي اشتري اسلحه من قريد ليست صععععب

كيف احدد السلاح هذا

ولما اضغط الزر يعطيني وكذا

Link to comment

في وظائف DX

اي نوع ؟ اذا الكتابة

dxDrawText = مثل اللبل ولكن يمتاز بخطوط جميله,

الجريد ليست, هي رائعه نوعا مآ,

تقدر تضيف اسماء اللاعبين او السيارات او الشخصيات او اي شيء,

+ في وظائف كثير للجريد ليست,

Link to comment

طيب اخوي برستيج

ممكن تعطيني مثال بسيط

عشان اتعلم منه !

لاتفكر اني ابي اسوي شوب وباخذ الاكواد جاهزه لا

انا ابي اتعلم طريقت صنعه

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

سولي مثال بسيط وانا بحاول اتعلم منه

Link to comment

كل شي له وظايف محددة عشان تقدر تستفيد منه

guiGridListAddRow > هذي عشان تضيف سطر

guiGridListAddColumn > هذي عشان تضيف عمود

guiGridListSetItemText > هذي عشان تسمي غرض في القريد

guiGridListGetItemText > هذي عشان تجيب إسم غرض في القريد

guiGridListGetSelectedItem > هذي عشان تجيب الغرض المحدد عليه من القريد

guiGridListSetSelectedItem > هذي عشان تحدد الغرض إللي تبيه في القريد

و الوظايف حقته كثيرة بس هذي بعضها

و بعدها سوي جدول بالأشياء إللي تبغى تضيفها GUIEditor سوي القريد بالـ

و بعدين سوي لووب للجدول و أضيف القيم مع سطر لكل قيمة

وبعدين أضيف مع حدث ضغط زر مثلا إنك تجيب العنصر المختار و بعدين تجيب إسمه و تسوي الوظيفة المطلوبة

وترى القريد سهل ما يحتاج له بس إنت لا تحسس نفسك إنه معقد ويمشي معك إن شاء الله ذذ

  • Like 1
Link to comment

اخوي بين يعطيك العاافيه

بس هاذي

guiGridListSetSelectedItem

مثل ماتقول زي

onClientGUIClick

صح ولا انا غلطان ؟

بس الـ

guiGridListSetSelectedItem

تستخجدم للقريد ليست

Link to comment

شفت لمن تضغط على سطر في قريد و يصير محدد لونه أزرق ؟

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

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

Link to comment

-- # Client Side  
        GridList = guiCreateGridList() 
        guiGridListAddColumn() 
        Button = guiCreateButton() 
  
local Weapons = { 1,2,3,4,5,6,7,8,9,10,23,24,30 } -- جدول ايدي للاسلحة # 
 for _,i in ipairs ( Weapons ) do -- نجيب القيم اللي فية 
    row = guiGridListAddRow ( GridList ) -- نظيف الرو # 
    guiGridListSetItemText ( GridList,row,1,getWeaponNameFromID(i),false,false) -- نحط الكلام بالقريد  # 
end 
  
  
addEventHandler("onClientGUIClick",Button, -- الحدث # 
    function ( ) -- وظيفة 
        if ( guiGridListGetSelectedItem ( GridList ) ~= -1 ) then -- شرط اذا ماكان الشيء المختار بالقريد اقل من واحد 
        local WeaponID = guiGridListGetItemText ( GridList, guiGridListGetSelectedItem ( GridList ), 1 ) -- يجيب الكلام اللي بالقريد # 
            if ( WeaponID ) then -- شرط انة قدر يجيبة ذذ 
                triggerServerEvent("GetWeapons",localPlayer,WeaponID) -- ترايقر للسيرفر مع الاسم حق السلاح # 
            end 
        end 
    end,false 
) 

-- # Server Side 
addEvent("GetWeapons",true) 
addEventHandler("GetWeapons",getRootElement(), 
    function ( ID ) -- نعرف اللي رسلناهـ من الكلنت بـ الترايقر اسم السلاح # 
    local WeaponID = getWeaponIDFromName ( ID )  -- نجيب الايدي حقة من الاسم # 
        if ( WeaponID ) then -- شرط تحقق 
            giveWeapon ( source,WeaponID,100,true ) -- وظيفة اعطاء سلاح ذذ 
            outputChatBox("* You Get a Weapon ( "..ID.." ) ",source) -- مخرج نص بـ اسم السلاح من كلام القريد # 
        end 
    end 
) 

Link to comment

شوف انا فهمت للي فووق

بس ي ليت توضحلي هذوول

مافهمت هنا

getWeaponNameFromID

ليه هضفت في نص الكود Getweapon

وليه حطيت داخلها

i

guiGridListSetItemText ( GridList,row,1,getWeaponNameFromID(i),false,false) 

و

هذوول

if ( guiGridListGetSelectedItem ( GridList ) ~= -1 ) then -- شرط اذا ماكان الشيء المختار بالقريد اقل من واحد 
        local WeaponID = guiGridListGetItemText ( GridList, guiGridListGetSelectedItem ( GridList ), 1 ) -- يجيب الكلام اللي بالقريد # 
            if ( WeaponID ) then 

وكيف يعني

~= -1

كيف يعني اقل من 1

وليه بل اخير ضفت

( GridList, guiGridListGetSelectedItem ( GridList ), 1 )

رقم 1

Link to comment

انا سويت جدول فية ايديات

getWeaponNameFromID = وظيفة تجيب اسم السلاح من الايدي

i = من اللوب

~= -1

يعني اذا ماكان مو مختار شيء عشان مايصير خطأ # بالايدي والخ من القريد !

Link to comment

Dx -- لها وظائف كثيره مثل الكتابه على الشاشه و منها تقدر تسوي كلام فوق رأس الاعب مثلآ

و تقدر تسوي بها صور على الشاشه او فوق راس الاعب

و تقدر تسوي بها ليزر و خط في الشاشه

و لازم ثم لازم ثم لازم

تحطها داخل افنت الي هو

"onClientRender" 

كل الوظائف ذي ما تشتغل الا على ذا الافنت

القريد لست يشرحها لك برستيج

Link to comment

إنت لو تقرأ الويكي تفهم

getWeaponNameFromID > تجيب آيدي السلاح من إسمه إللي جبناه من القريد

GetWeapon > هذا حث هو ضايفه عشان يقدر يستخدم التريقر للسيرفر لأن إعطاء السلاح وظيفة سيرفر فقط

i > هذي معرفة من اللوب على الجدول

-1 > هذي القيمة في القريد تجي لمن يكون ما في شي مختار, يعني لو حددث أول سطر القيمة راح تكون 1

أما 1- يعني مافي سطر محدد عليه

1 > هذا رقم العمود في القريد, غالباً يكون واحد إلى إذا عندك أكثر من عمود

Link to comment
وظيفة تغيير قيَم القريد لست إلى أسماء اللاعبين ..
changeGridListItemToPlayersName = function ( GridList, Column ) 
    if GridList and Column then -- Check Parematers 
        if getElementType ( GridList ) == "gui-gridlist" then -- Check The Type of ' GridList ' 
            if guiGridListClear ( GridList ) then -- Clear GridList 
                for i, v in next, getElementsByType ( "player" ) do -- Get Everything by Type ' player '  
                    local Row = guiGridListAddRow ( GridList ) -- Add Row 
                    guiGridListSetItemText ( GridList, Row, Column, getPlayerName ( v ), false, false ); -- Set New Values 
                end; -- end of ' for ' 
            end; -- end of ' clear gridlist ' 
        end; -- end of ' check gridlist type ' 
    end; -- end of ' check parematers 
end; -- end of ' function ' 

مثآل :

wnd = guiCreateWindow ( 100, 100, 400, 400, "Test", false ); -- Create Window 
grid = guiCreateGridList ( 25, 30, 350, 350, false, wnd ); -- Create Gridlist 
col = guiGridListAddColumn ( grid, "Players", 0.9 ); -- Create Column 
changeGridListItemToPlayersName ( grid, col ); -- Set Gridlist Values 

Link to comment

في طريقه ثآنيه,

بس حق عناد اسهل, وافضل

بالنسبه للثآنيه,

function List() 
Grid = guiCreateGridList(...); 
if ( guiGetVisible(Window) == true ) then 
local Column = guiGridListAddColumn(Grid, "Players List...", 0.85); 
for _,player in ipairs(getElementsByType("player")) do 
local row = guiGridListAddRow(Grid) 
NamePlayer = guiGridListSetItemText(Grid, row, Column, getPlayerName(player), false, false) 
setTimer(List,10000,0) 
       end 
    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...