assuming you had already named all the items in the saved list.
maybe you can try this :
function setPos(x, y, z)
local saved = gg.getListItems()
local edited = {}
for i, v in ipairs(saved) do
if v.name == "posX" then
v.value = x
v.freeze = true
table.insert(edited, v)
elseif v.name == "posY" then
v.value = y
v.freeze = true
table.insert(edited, v)
elseif v.name == "posZ" then
v.value = z
v.freeze = true
table.insert(edited, v)
end
end
if #edited > 0 then
gg.setValues(edited)
gg.addListItems(edited)
gg.toast("Position updated and frozen.")
else
gg.toast("No matching posX/posY/posZ found.")
end
end
while true do
if gg.isVisible() then
gg.setVisible(false)
local menu = gg.choice({
"Value 1 [x:100, y:50, z:1]",
"Value 2 [x:200, y:150, z:1]",
"Value 3 [x:300, y:200, z:1]",
"EXIT"},
nil,"Select value")
if menu == nil then
elseif menu == 1 then
setPos(100, 50, 1)
elseif menu == 2 then
setPos(200, 150, 1)
elseif menu == 3 then
setPos(300, 200, 1)
elseif menu == 4 then
gg.toast("Exiting..")
os.exit()
end
end
gg.sleep(100)
end