Jump to content

[Help] Sistema De Inventario GUI (Duvidas)


Recommended Posts

Estou tentando desenvolver um sistema de inventario pela gui go mta mesmo

estou com duvida de como passo os valores da tabela para o Grid

--[[
 __                      __      __                                     __         
/\ \                    /\ \    /\ \__                                 /\ \        
\ \ \        ___     ___\ \ \/'\\ \ ,_\   ___   __  __     __      ____\ \ \/'\    
 \ \ \  __  / __`\  / __`\ \ , < \ \ \/  / __`\/\ \/\ \  /'__`\   /',__\\ \ , <    
  \ \ \L\ \/\ \L\ \/\ \L\ \ \ \\`\\ \ \_/\ \L\ \ \ \_/ |/\ \L\.\_/\__, `\\ \ \\`\  
   \ \____/\ \____/\ \____/\ \_\ \_\ \__\ \____/\ \___/ \ \__/.\_\/\____/ \ \_\ \_\
    \/___/  \/___/  \/___/  \/_/\/_/\/__/\/___/  \/__/   \/__/\/_/\/___/   \/_/\/_/
                                                                                   
                               
 By Looktovask, Mantenha os creditos!
 --]]

addEventHandler("onClientResourceStart", resourceRoot, function ()
        JanelaInventario = guiCreateWindow(0.80, 0.56, 0.19, 0.42, "Inventario", true)
        guiWindowSetSizable(JanelaInventario, false)
        guiSetAlpha(JanelaInventario, 0.90)

        ListaInventario = guiCreateGridList(0.03, 0.07, 0.94, 0.79, true, JanelaInventario)
        guiGridListAddColumn(ListaInventario, "Items", 0.9)
        for i = 1, 23 do
            guiGridListAddRow(ListaInventario)
        end
        --guiGridListSetItemText(ListaInventario, 0, 1, "Items", false, false)
        --preciso listar os items aqui

        guiSetAlpha(ListaInventario, 0.90)
        BotaoUsar = guiCreateButton(0.03, 0.87, 0.45, 0.11, "Usar", true, JanelaInventario)
        guiSetAlpha(BotaoUsar, 0.90)
        BotaoLixo = guiCreateButton(0.52, 0.87, 0.45, 0.11, "Jogar Fora", true, JanelaInventario)
        guiSetAlpha(BotaoLixo, 0.90) 
        guiSetVisible(JanelaInventario,false) -- importante pra não iniciar ligada 
    end)

-- esse codigo é pica pra mostrar a tela
bindKey ( "f1", "down", function( )
        local tostate = not guiGetVisible ( JanelaInventario )
        guiSetVisible ( JanelaInventario, tostate )
        showCursor ( tostate )
end
)
-- função dos botões
addEventHandler ("onClientGUIClick",root, function ()
	if ( source == BotaoUsar ) then 
         triggerServerEvent("Usar", localPlayer) -- chama função Usar
	elseif ( source == BotaoLixo ) then 
         triggerServerEvent("Lixo", localPlayer) -- Chama Função Lixo (Jogar Fora)
    end
end)

 

minha duvida é como posso fazer para a tabela atualizar os valores

        --guiGridListSetItemText(ListaInventario, 0, 1, "Items", false, false)
        --preciso listar os items aqui

 

estou usando uma tabela em um arquivos server, ainda não desenvolvi o sistema para salvar e carregar os items de cada personagem,

--[[
 __                      __      __                                     __         
/\ \                    /\ \    /\ \__                                 /\ \        
\ \ \        ___     ___\ \ \/'\\ \ ,_\   ___   __  __     __      ____\ \ \/'\    
 \ \ \  __  / __`\  / __`\ \ , < \ \ \/  / __`\/\ \/\ \  /'__`\   /',__\\ \ , <    
  \ \ \L\ \/\ \L\ \/\ \L\ \ \ \\`\\ \ \_/\ \L\ \ \ \_/ |/\ \L\.\_/\__, `\\ \ \\`\  
   \ \____/\ \____/\ \____/\ \_\ \_\ \__\ \____/\ \___/ \ \__/.\_\/\____/ \ \_\ \_\
    \/___/  \/___/  \/___/  \/_/\/_/\/__/\/___/  \/__/   \/__/\/_/\/___/   \/_/\/_/
                                                                                   
                               
 By Looktovask, Mantenha os creditos!
 --]]

Items =  {
	{"Cachorro Quente"},
	{"Pizza"},
	{"Biscoitos"},
	{"Marmitex"},
	{"Agua Mineral"},
	{"Refrigerante"},
	{"Primeiros Socorros"},
}

function SalvarItems()
	-- função
end

function CarregarItems()
	-- função
end

 

de qual forma posso passar os valores da tabela para a gridlist?

Link to comment
Items =  {
	{"Cachorro Quente"},
	{"Pizza"},
	{"Biscoitos"},
	{"Marmitex"},
	{"Agua Mineral"},
	{"Refrigerante"},
	{"Primeiros Socorros"},
}

addEventHandler("onClientResourceStart", resourceRoot, function ()
        JanelaInventario = guiCreateWindow(0.80, 0.56, 0.19, 0.42, "Inventario", true)
        guiWindowSetSizable(JanelaInventario, false)
        guiSetAlpha(JanelaInventario, 0.90)

        ListaInventario = guiCreateGridList(0.03, 0.07, 0.94, 0.79, true, JanelaInventario)
        guiGridListAddColumn(ListaInventario, "Items", 0.9)
        for i = 1, 23 do
            guiGridListAddRow(ListaInventario)
        end
        for key,Name in ipairs(Items) do
        for i = 1, #Items do
        	local Nome = Items[i][1]
        	local row = guiGridListAddRow ( ListaInventario )
        	guiGridListSetItemText ( ListaInventario, row, 1, ""..tostring(Nome).."", false, false )
    	end
    end

        guiSetAlpha(ListaInventario, 0.90)
        BotaoUsar = guiCreateButton(0.03, 0.87, 0.45, 0.11, "Usar", true, JanelaInventario)
        guiSetAlpha(BotaoUsar, 0.90)
        BotaoLixo = guiCreateButton(0.52, 0.87, 0.45, 0.11, "Jogar Fora", true, JanelaInventario)
        guiSetAlpha(BotaoLixo, 0.90) 
        guiSetVisible(JanelaInventario,false) -- importante pra não iniciar ligada 
    end)

desta forma conseguir lista os items, porem eles repetem varias vezes

spacer.png

Edited by Looktovask
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...