diff options
author | rubenwardy <rubenwardy@gmail.com> | 2016-08-01 22:39:32 +0100 |
---|---|---|
committer | rubenwardy <rubenwardy@gmail.com> | 2016-08-01 22:39:32 +0100 |
commit | 9308b951635486fdcbca3474e5f5e179be4748b1 (patch) | |
tree | 6627bb92e973d40824a9938e645e8b33932c4ef4 | |
parent | f6515c12b8f042a27763d7542656ad3be1cffb9a (diff) |
Add sfinv support
-rw-r--r-- | api.lua | 9 | ||||
-rw-r--r-- | depends.txt | 1 | ||||
-rw-r--r-- | init.lua | 1 | ||||
-rw-r--r-- | sfinv.lua | 23 |
4 files changed, 30 insertions, 4 deletions
@@ -299,7 +299,7 @@ awards.give_achievement = awards.unlock })]]-- function awards.getFormspec(name, to, sid) - local formspec = "size[11,5]" + local formspec = "" local listofawards = awards._order_awards(name) local playerdata = awards.players[name] @@ -338,8 +338,8 @@ function awards.getFormspec(name, to, sid) if perc > 1 then perc = 1 end - formspec = formspec .. "background[0,4.80;" .. barwidth ..",0.25;awards_progress_gray.png]" - formspec = formspec .. "background[0,4.80;" .. (barwidth * perc) ..",0.25;awards_progress_green.png]" + formspec = formspec .. "background[0,4.80;" .. barwidth ..",0.25;awards_progress_gray.png;false]" + formspec = formspec .. "background[0,4.80;" .. (barwidth * perc) ..",0.25;awards_progress_green.png;false]" if label then formspec = formspec .. "label[1.75,4.63;" .. label .. "]" end @@ -414,7 +414,8 @@ function awards.show_to(name, to, sid, text) sid = 1 end -- Show formspec to user - minetest.show_formspec(to,"awards:awards", awards.getFormspec(name, to, sid)) + minetest.show_formspec(to,"awards:awards", + "size[11,5]" .. awards.getFormspec(name, to, sid)) end end awards.showto = awards.show_to diff --git a/depends.txt b/depends.txt index dad55b5..cffd947 100644 --- a/depends.txt +++ b/depends.txt @@ -1,2 +1,3 @@ intllib? +sfinv? unified_inventory? @@ -25,6 +25,7 @@ end dofile(minetest.get_modpath("awards").."/api.lua") dofile(minetest.get_modpath("awards").."/chat_commands.lua") +dofile(minetest.get_modpath("awards").."/sfinv.lua") dofile(minetest.get_modpath("awards").."/unified_inventory.lua") dofile(minetest.get_modpath("awards").."/triggers.lua") awards.set_intllib(S) diff --git a/sfinv.lua b/sfinv.lua new file mode 100644 index 0000000..b2f96c2 --- /dev/null +++ b/sfinv.lua @@ -0,0 +1,23 @@ +if minetest.get_modpath("sfinv") then + sfinv.register_page("awards:awards", { + title = "Awards", + on_enter = function(self, player, context) + context.awards_idx = 1 + end, + get = function(self, player, context) + local name = player:get_player_name() + return sfinv.make_formspec(player, context, + awards.getFormspec(name, name, context.awards_idx or 1), + false, "size[11,5]") + end, + on_player_receive_fields = function(self, player, context, fields) + if fields.awards then + local event = minetest.explode_textlist_event(fields.awards) + if event.type == "CHG" then + context.awards_idx = event.index + sfinv.set(player, context) + end + end + end + }) +end |