From da66780a569712c23ae4f2996cfb4608a9f9d69d Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 1 Apr 2016 20:02:19 -0400 Subject: copy all standard Dreambuilder mods in from the old subgame (exactly as last supplied there, updates to these mods will follow later) --- notice/init.lua | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 notice/init.lua (limited to 'notice') diff --git a/notice/init.lua b/notice/init.lua new file mode 100644 index 0000000..9f703c8 --- /dev/null +++ b/notice/init.lua @@ -0,0 +1,53 @@ + +notice = { } + +function notice.send(target, text) + local player = minetest.get_player_by_name(target) + if not player then + return false, ("There's no player named '%s'."):format(target) + end + local fs = { } + --[[ + for _, line in ipairs(text:split("|")) do + table.insert(fs, ("label[1,%f;%s]"):format(y+1, minetest.formspec_escape(line))) + y = y + 0.5 + end + --]] + local lines = { } + for i, line in ipairs(text:split("|")) do + local lt = { } + for i = 1, #line, 40 do + table.insert(lt, line:sub(i, i+39)) + end + lines[i] = table.concat(lt, "\n") + end + text = table.concat(lines, "\n") + text = minetest.formspec_escape(text) + table.insert(fs, "size[8,4]") + table.insert(fs, "label[1,.2;"..text.."]") + table.insert(fs, "button_exit[3,3.2;2,0.5;ok;OK]") + fs = table.concat(fs) + minetest.after(0.5, function() + minetest.show_formspec(target, "notice:notice", fs) + end) + return true +end + +minetest.register_privilege("notice", "Send notices to players.") + +minetest.register_chatcommand("notice", { + params = " ", + privs = { notice=true, }, + description = "Show a notice to a player.", + func = function(name, params) + local target, text = params:match("(%S+)%s+(.+)") + if not (target and text) then + return false, "Usage: /notice " + end + local ok, err = notice.send(target, text) + if not ok then + return false, err + end + return true, "Notice sent!" + end, +}) \ No newline at end of file -- cgit v1.2.3