Own trees can now be deleted (still a bit buggy)
parent
2d17a3939b
commit
1d8a539708
21
init.lua
21
init.lua
|
@ -122,6 +122,7 @@ function ltool.database(index, playername)
|
|||
if(treestr ~= nil) then
|
||||
return ""..
|
||||
"textlist[0,0;5,6;treelist;"..treestr..";"..tostring(index)..";false]"..
|
||||
"button[2.1,6;2,1;database_delete;Delete tree]"..
|
||||
"button[0,6.5;2,1;database_copy;Copy to editor]"..
|
||||
"button[2.1,6.5;2,1;database_update;Reload database]"
|
||||
else
|
||||
|
@ -390,6 +391,23 @@ function ltool.process_form(player,formname,fields)
|
|||
elseif(fields.database_update) then
|
||||
local formspec = ltool.loadtreeform..ltool.header(2)..ltool.database(ltool.playerinfos[playername].dbsel, playername)
|
||||
minetest.show_formspec(playername, "ltool:treeform", formspec)
|
||||
|
||||
elseif(fields.database_delete) then
|
||||
if(playername == ltool.trees[ltool.playerinfos[playername].dbsel].author) then
|
||||
local remove_id = ltool.playerinfos[playername].dbsel
|
||||
table.remove(ltool.trees, remove_id)
|
||||
for k,v in pairs(ltool.playerinfos) do
|
||||
if(v.dbsel >= remove_id) then
|
||||
v.dbsel = v.dbsel - 1
|
||||
end
|
||||
end
|
||||
local formspec = ltool.loadtreeform..ltool.header(2)..ltool.database(ltool.playerinfos[playername].dbsel, playername)
|
||||
minetest.show_formspec(playername, "ltool:treeform", formspec)
|
||||
else
|
||||
local formspec = "size[6,2;]label[0,0.2;Error: This tree is not your own. You may only delete your own trees.]"..
|
||||
"button[2,1.5;2,1;okay;OK]"
|
||||
minetest.show_formspec(playername, "ltool:treeform_error_delete", formspec)
|
||||
end
|
||||
end
|
||||
elseif(formname == "ltool:treeform_error_badtreedef") then
|
||||
local formspec = ltool.loadtreeform..ltool.header(1)..ltool.edit()
|
||||
|
@ -397,6 +415,9 @@ function ltool.process_form(player,formname,fields)
|
|||
elseif(formname == "ltool:treeform_error_badplantfields") then
|
||||
local formspec = ltool.loadtreeform..ltool.header(3)..ltool.plant(ltool.trees[ltool.playerinfos[playername].dbsel])
|
||||
minetest.show_formspec(playername, "ltool:treeform", formspec)
|
||||
elseif(formname == "ltool:treeform_error_delete") then
|
||||
local formspec = ltool.loadtreeform..ltool.header(2)..ltool.database(ltool.playerinfos[playername].dbsel, playername)
|
||||
minetest.show_formspec(playername, "ltool:treeform", formspec)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue