Jump to content

GridList Count


undefined

Recommended Posts

It's my code:

------------------------------------------------------------ 
-- Upgrade Vehicle Window/Function 
------------------------------------------------------------ 
addEventHandler("onClientResourceStart", resRoot, function() 
    vehUpgradeWindow = guiCreateWindow(sx/2-303/2, sy/2-380/2, 303, 380, "Araç Yükseltmesi", false) 
    guiSetAlpha(vehUpgradeWindow, 0) 
    guiWindowSetSizable(vehUpgradeWindow, false) 
    guiSetVisible(vehUpgradeWindow, false) 
    vehUpgradeGrid = guiCreateGridList(10, 26, 283, 317, false, vehUpgradeWindow) 
    guiGridListAddColumn(vehUpgradeGrid, "Name", 0.90) 
    vehUpgradeRemove = guiCreateButton(10, 353, 67, 19, "Kaldır", false, vehUpgradeWindow) 
    vehUpgradeClose = guiCreateButton(226, 353, 67, 19, "Kapat", false, vehUpgradeWindow) 
    guiGridListSetSortingEnabled ( vehUpgradeGrid, false )   
    guiGridListSetSelectionMode ( vehUpgradeGrid, 0 ) 
     
    local vehicle = getPedOccupiedVehicle(gMe) 
    if vehicle then 
        createUpgradeList(vehicle) 
    end 
end) 
     
addEventHandler("onClientVehicleEnter", gRoot, function(thePlayer, seat) 
    if thePlayer == gMe then 
        createUpgradeList(source) 
    end 
end) 
  
function createUpgradeList(vehicle) 
    local setSelItem 
    local row, col = guiGridListGetSelectedItem(vehUpgradeGrid) 
    local scrollVerPos = guiGridListGetVerticalScrollPosition(vehUpgradeGrid) 
    if row and col and row ~= -1 and col ~= -1 then 
        setSelItem = true 
    else 
        setSelItem = false 
    end 
    guiGridListClear(vehUpgradeGrid) 
    gTable = {} 
    for i,upgrade in ipairs(getVehicleCompatibleUpgrades(vehicle)) do 
        if not gTable[getVehicleUpgradeSlotName(upgrade)] then 
            gTable[getVehicleUpgradeSlotName(upgrade)] = {} 
        end 
        table.insert(gTable[getVehicleUpgradeSlotName(upgrade)], upgrade) 
    end 
    for name, upgrade in pairs(gTable) do 
        if n ~= name and #upgrade > 0 then 
            n = name 
            local row = guiGridListAddRow(vehUpgradeGrid) 
            guiGridListSetItemText(vehUpgradeGrid, row, 1, tostring(name), true, false) 
        end 
        for i, upgrade in ipairs(upgrade) do 
            local row = guiGridListAddRow(vehUpgradeGrid) 
            guiGridListSetItemText(vehUpgradeGrid, row, 1, tostring(upgradeTable[upgrade]), false, false) 
            guiGridListSetItemData(vehUpgradeGrid, row, 1, tostring(upgrade)) 
        end 
    end 
    if setSelItem then 
        guiGridListSetSelectedItem(vehUpgradeGrid, row, col) 
    end 
     
    for k, test1 in pairs(gTable) do 
        for s, test2 in ipairs(test1) do 
            local test3 = getVehicleUpgrades(vehicle) 
            for upgradeKey, upgradeValue in ipairs(test3) do 
                outputChatBox(tostring(upgradeValue).." - "..tostring(test2)) 
                local test = tostring(s) 
                if tostring(upgradeValue) == tostring(test2) then 
                    if guiGridListGetItemData(vehUpgradeGrid, test, 1) == test2 then 
                        guiGridListSetItemColor(vehUpgradeGrid, test, 1, 255, 255, 255) 
                        outputChatBox(test..": 255,255,255") 
                    else 
                        guiGridListSetItemColor(vehUpgradeGrid, test, 1, 0, 255, 0) 
                        outputChatBox(test..": 0,255,0") 
                    end 
                end 
            end 
        end 
    end 
    guiGridListSetVerticalScrollPosition(vehUpgradeGrid, scrollVerPos) 
end 
  
addEventHandler("onClientVehicleStartExit", gRoot, function( player, seat, door ) 
    if player == gMe then 
        guiGridListClear(vehUpgradeGrid) 
    end 
end) 
     
addEventHandler("onClientGUIClick", guiRoot, function() 
    if source == upgradeVehicleButton then 
    local vehicle = getPedOccupiedVehicle(gMe) 
        if guiGetVisible(vehUpgradeWindow) == false then 
            if vehicle then 
                setAlphaGradually(vehUpgradeWindow, 50, number, true, alpha, true) 
            end 
        elseif guiGetVisible(vehUpgradeWindow) == true then 
            setAlphaGradually(vehUpgradeWindow, 50, number, false, alpha, true) 
            triggerServerEvent("vehUpgradeWindowAyar", localPlayer) 
        end 
    elseif source == vehUpgradeClose then 
        setAlphaGradually(vehUpgradeWindow, 50, number, false, alpha, true) 
        triggerServerEvent("vehUpgradeWindowAyar", localPlayer) 
    elseif source == vehUpgradeRemove then 
        local vehicle = getPedOccupiedVehicle(gMe) 
        if not vehicle then return end 
        local row, col = guiGridListGetSelectedItem(vehUpgradeGrid) 
        if row and col and row ~= -1 and col ~= -1 then 
            local vehUpgrade = guiGridListGetItemData(vehUpgradeGrid, row, 1) 
            removeVehicleUpgrade(vehicle, vehUpgrade) 
        end 
    end 
end) 
  
addEventHandler( "onClientGUIDoubleClick", gRoot, function(selUpgrade) 
    if source == vehUpgradeGrid then 
    local vehicle = getPedOccupiedVehicle(gMe) 
    if not vehicle then return end 
    local row, col = guiGridListGetSelectedItem ( vehUpgradeGrid ) 
        if ( row and col and row ~= -1 and col ~= -1 ) then 
            local vehUpgrade = guiGridListGetItemData ( vehUpgradeGrid, row, 1 ) 
            addVehicleUpgrade(vehicle, vehUpgrade) 
            createUpgradeList(vehicle) 
        end 
    end 
end) 

When the double clicked on gridlist, createUpgradeList() was active. It's work perfectly first group (for example: Whells). But when the clicked second group, guiGridListSetItemColor function is set Whells group child.

Where is the problem?

Srry for my bad English!

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