Rose Posted January 11, 2017 Share Posted January 11, 2017 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
Tomas Posted January 14, 2017 Share Posted January 14, 2017 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
Recommended Posts