Anzo Posted July 3, 2016 Share Posted July 3, 2016 (edited) Hola, estoy haciendo una gridlist donde puedas comprar tus armas, solo para probar, pero tengo un problema, al precionar el boton 'usar' me da el arma pero solo me quita 2$ de dinero, cuando me tendría que quitar 1000$ o 500$, otra cosa es que solo no deja comprar el arma cuando tienes 0$ de dinero, pero si tienes 100$ podrás comprar el arma valiendo 1000$. -Client armas = { {31, 500}, {38, 1000}, {8, 500}, } Windows7 = guiCreateWindow(254, 96, 267, 362, "test", false) guiWindowSetSizable(Windows7, false) guiSetVisible(Windows7,false) MyGrid = guiCreateGridList(23, 37, 220, 256, false, Windows7) guiGridListAddColumn(MyGrid, "Armas", 0.7) price = guiGridListAddColumn(MyGrid, "Precio", 0.4) guiGridListSetItemText(MyGrid, 0, 1, "M4", false, false) usar = guiCreateButton(23, 310, 220, 37, "Usar", false, Windows7) for i,v in ipairs (armas) do local wep = getWeaponNameFromID(v[1]) local row = guiGridListAddRow(MyGrid) local row = guiGridListAddRow(MyGrid) guiGridListSetItemText (MyGrid, row, 1, wep, false, true) guiGridListSetItemText(MyGrid, row, price, v[2].."$", false, false) guiGridListSetItemData (MyGrid, row, 1, v[1] ) guiGridListSetItemData (MyGrid, row, 1, v[2] ) end local player = getLocalPlayer() addEventHandler("onClientGUIClick", root, function() if source == usar then local row, column = guiGridListGetSelectedItem(MyGrid) if ( row ~= guiGridListGetRowCount ( MyGrid ) and column ~= 0 ) then local weaponID = guiGridListGetItemText ( MyGrid, row, 1 ) local money = getPlayerMoney(player) local precioWeap = price if money > precioWeap then triggerServerEvent("onWeapon", player, weaponID,precioWeap) outputChatBox("Haz elegido una: " ..weaponID.. "Por :" ) else outputChatBox("No tienes dinero") end end end end) -Server addEvent("onWeapon", true) addEventHandler("onWeapon", root, function( weapon, precio) if weapon and precio then local weaponID = getWeaponIDFromName(weapon) takePlayerMoney(source, precio) TestWep = giveWeapon(source,weaponID, 5000 ) return true; end end) Edited July 27, 2016 by Guest Link to comment
Bc# Posted July 4, 2016 Share Posted July 4, 2016 Linea 40: local precioWeap = price Claro que te quita $2, ya que price tiene el int de la columna 2. Reemplaza eso por: local precioWeap = tonumber(guiGridListGetItemText ( MyGrid, row, 2 )) Link to comment
Tomas Posted July 4, 2016 Share Posted July 4, 2016 Linea 40: local precioWeap = price Claro que te quita $2, ya que price tiene el int de la columna 2. Reemplaza eso por: local precioWeap = tonumber(guiGridListGetItemText ( MyGrid, row, 2 )) Tiene que ser guiGridListGetItemData, ya que el texto contiene el "$". Link to comment
Anzo Posted July 4, 2016 Author Share Posted July 4, 2016 Gracias a los dos, pero ahora tengo otra pregunta, ¿cómo puedo poner las armas que llevas en una gridlist? yo intente con getPedWeapon y lo hice de la misma forma que tome las id de las armas, pero no sirvió. Link to comment
Tomas Posted July 4, 2016 Share Posted July 4, 2016 Gracias a los dos, pero ahora tengo otra pregunta, ¿cómo puedo poner las armas que llevas en una gridlist? yo intente con getPedWeapon y lo hice de la misma forma que tome las id de las armas, pero no sirvió. for slot=0, 12 do if ( getPedWeapon(localPlayer, slot) ) then guiGridListAddRow(...) end end Link to comment
Anzo Posted July 4, 2016 Author Share Posted July 4, 2016 No funciona, solo le agrege el nombre de la grid en el addRow pero no me aparece en la gridlist el nombre de las armas Link to comment
Tomas Posted July 5, 2016 Share Posted July 5, 2016 No funciona, solo le agrege el nombre de la grid en el addRow pero no me aparece en la gridlist el nombre de las armas El nombre se obtiene con getWeaponNameFromID. Link to comment
Recommended Posts