#DaNiLiN Posted November 10, 2018 Share Posted November 10, 2018 Nesse código eu passei um gridlist pra dx, e nesta gridlist minha ideia seria pegar skin, porém skins que está no ID "idskins" porém a gridlist está verificando skins de 1 em diante não os ids que eu adicionei HELP-ME (Não entendo nem um pouco de Grilist) skins={ "Skin J", "Skin JJ", "Skin JJJ" } idskins = {"30", "31", "32"} local screen_size = { guiGetScreenSize( ) } local gridlist = dxGrid:Create ( 434, 304, 280, 370) coluna = gridlist:AddColumn ( "Skin", 100 ) ids = gridlist:AddColumn ( " ID", 160 ) for i=1, #idskins do end for i=1, #skins do TextSkin = gridlist:AddItem ( 1, ""..skins[i].."" ) TextId = gridlist:AddItem ( 2, " "..idskins[i].."" ) end function SelecionarSkinF1 (button, press) if press and button == "mouse1" then Selected = gridlist:GetSelectedItem (TextId) if Selected ~=-1 then local Selections = gridlist:GetSelectedItem (idskins) triggerServerEvent ("Skinf1", getLocalPlayer(), Selections) end end end addEventHandler ( "onClientKey", root, SelecionarSkinF1) Link to comment
Other Languages Moderators Lord Henry Posted November 10, 2018 Other Languages Moderators Share Posted November 10, 2018 Gridlists são elementos GUI e não DX. E no seu código você está usando Programação Orientada a Objetos, você deve deixar OOP habilitado no meta.xml para que ela funcione. <oop>true</oop> Link to comment
crdn Posted November 10, 2018 Share Posted November 10, 2018 (edited) O método GetSelectedItem retorna o índice selecionado: Para obter o texto do índice selecionado você deve usar o metodo GetItemDetails: string, mixed Gridlist:GetItemDetails ( int columnIndex, int itemIndex ) -- retornara o texto do indice itemIndex na coluna columnIndex ou, como você sempre vai ter a tabela com os ids, simplesmente usar seguinte codigo: skinID = tonumber(idskins[Selected]) Dessa forma o código final ficaria da seguinte maneira: function SelecionarSkinF1 (button, press) if press and button == "mouse1" then local Selected = gridlist:GetSelectedItem (TextId) if Selected ~= -1 then local skin = tonumber(idskins[Selected]); triggerServerEvent ("Skinf1", getLocalPlayer(), skin) end end end addEventHandler ( "onClientKey", root, SelecionarSkinF1) Comente caso tenha qualquer duvida. Edited November 10, 2018 by crdn 1 Link to comment
#DaNiLiN Posted November 10, 2018 Author Share Posted November 10, 2018 obrigado crdn funcionou certinho, agora entendi o porque não estava funcionando. e umas das minhas primeira vez a fzr isso então vou ter diversas dificuldades. Obrigado! Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now