Own trees can now be deleted (still a bit buggy)

master
Wuzzy 2014-07-25 17:42:42 +02:00
parent 2d17a3939b
commit 1d8a539708
1 changed files with 21 additions and 0 deletions

View File

@ -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