Jump to content

Necesito que me expliquen algo, por favor


Rose

Recommended Posts

Tengo una duda y espero la entiendan.  Tengo un inventario (gridlist) donde hay 4 slots (rows), y lo qur quiero es crear un objeto para cada row, o sea, si selecciono la row 1 se crea un objeto, luego puedo mover ese objeto con WASD hacia cualquier lado; mi duda es que, al crear el objeto de la row 2 y lo trato de mover con WASD, seguro se bugeara y no se moverá un objeto, sé que se debe usar tablas pero no se me ocurre nada. 

Si entendieron lo que digo les agradecería si pueden darme un ejemplo, porque me confundo mucho a veces con el uso de tablas.

Y para resumir: que el objeto A no interfiera con el B, y el B no interfiera con el A, C, D, etc. 

Link to comment

Te hago el core, del dragging te encargas tú.

local modelIDs = { ["roca"] = 1234, ["montana"] = 1234, ["oceano"] = 1234, ["rascacielos"] = 1234}
local cacheItems = {}

for i, v in pairs(modelIDs)
  guiGridListSetItemText(gridlist, guiGridListAddRow(gridlist), 1, i, false, false)
end

addEventHandler("onClientGUIDoubleClick", resourceRoot,
  function ()
    if (source == gridlist) then
      local row, col = guiGridListGetSelectedItem(gridlist)
      if (row ~= -1 and col ~= -1) then
        local name = guiGridListGetItemText(gridlist, row, col)
        local model = modelIDs[name]
      	if (not cacheItems[name]) then
           cacheItems[name] = createObject(model, unpack({getElementPosition(localPlayer)}))
        else
           processDragging(cacheItems[name]) -- AQUI ES LO QUE TIENES QUE ADAPTAR A TU CODIGO, SI YA EXISTE, NO LO CREARA.
        end
      end
    end
  end
)

 

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...