Anzo Posted July 3, 2016 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
Bc# Posted July 4, 2016 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 ))
Tomas Posted July 4, 2016 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 "$".
Anzo Posted July 4, 2016 Author 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ó.
Tomas Posted July 4, 2016 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
Anzo Posted July 4, 2016 Author 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
Tomas Posted July 5, 2016 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.
Recommended Posts