Extend callback

This commit is contained in:
Wuzzy 2016-09-23 03:54:41 +02:00
parent 08e15359d9
commit 910a352c79

View File

@ -55,7 +55,7 @@ select_item.select_item = function(playername, filter, page)
form = form .. "button[0,"..ynav..";1,1;previous;<]"
form = form .. "button[1,"..ynav..";1,1;next;>]"
form = form .. "button_exit["..(xsize-4)..","..ynav..";2,1;cancel;Cancel]"
form = form .. "button["..(xsize-2)..","..ynav..";2,1;done;OK]"
form = form .. "button_exit["..(xsize-2)..","..ynav..";2,1;done;OK]"
minetest.show_formspec(playername, "select_item:page"..page, form)
end
@ -67,6 +67,16 @@ end
minetest.register_on_player_receive_fields(function(player, formname, fields)
if string.sub(formname, 1, 16) == "select_item:page" then
local playername = player:get_player_name()
local item
for field,_ in pairs(fields) do
if string.sub(field, 1, 5) == "item_" then
item = string.sub(field, 6, string.len(field))
break
end
end
if item then
player_selections[playername] = item
end
local page = tonumber(string.sub(formname, 17, string.len(formname)))
if page ~= nil then
if fields.previous and page > 1 then
@ -82,7 +92,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if fields.done then
if player_selections[playername] then
for i=1,#callbacks do
callbacks[i](playername)
callbacks[i](playername, player_selections[playername])
end
end
end