From 9cd97d14f9f81b55f232a0c516578dc6e22b0bf5 Mon Sep 17 00:00:00 2001 From: LoneWolfHT Date: Mon, 12 Jul 2021 16:26:33 +0000 Subject: [PATCH 1/2] Update for 3.0 use --- .luacheckrc | 3 +-- restart_gift/init.lua | 35 ----------------------------------- restart_gift/mod.conf | 2 -- score_award/init.lua | 35 ----------------------------------- score_award/mod.conf | 2 -- spectator_mode/init.lua | 4 ---- 6 files changed, 1 insertion(+), 80 deletions(-) delete mode 100644 restart_gift/init.lua delete mode 100644 restart_gift/mod.conf delete mode 100644 score_award/init.lua delete mode 100644 score_award/mod.conf diff --git a/.luacheckrc b/.luacheckrc index a6107bd..6fbf911 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -3,7 +3,7 @@ allow_defined_top = true max_line_length = 999 globals = { - "ctf", "minetest", + "minetest", "irc", "ctf_playertag", "gauges", } @@ -18,5 +18,4 @@ read_globals = { "dump", } -files["spectator_mode/init.lua"].globals = { "ctf_map" } files["spectator_mode/init.lua"].ignore = { "player" } diff --git a/restart_gift/init.lua b/restart_gift/init.lua deleted file mode 100644 index 0dacdb0..0000000 --- a/restart_gift/init.lua +++ /dev/null @@ -1,35 +0,0 @@ -local can_gift = true -local GIFT_AMOUNT = 50 -local gifted = {} - -minetest.after(60, function() can_gift = false end) - -minetest.register_on_joinplayer(function(player) - if not can_gift then return end - - local pname = player:get_player_name() - minetest.after(2, function() - player = minetest.get_player_by_name(pname) - - if player and not gifted[pname] then - local main, match = ctf_stats.player(pname) - - if main and match then - main.score = main.score + GIFT_AMOUNT - match.score = match.score + GIFT_AMOUNT - - ctf_stats.request_save() - - hud_score.new(pname, { - name = "restart_gift:gift", - color = 0xc000cd, - value = GIFT_AMOUNT - }) - - gifted[pname] = true - end - - minetest.chat_send_player(pname, "Thanks for staying with us through that restart!") - end - end) -end) diff --git a/restart_gift/mod.conf b/restart_gift/mod.conf deleted file mode 100644 index 90e3f07..0000000 --- a/restart_gift/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = restart_gift -depends = hud_score diff --git a/score_award/init.lua b/score_award/init.lua deleted file mode 100644 index 2cde589..0000000 --- a/score_award/init.lua +++ /dev/null @@ -1,35 +0,0 @@ -minetest.register_chatcommand("give_score", { - description = "Give score to player", - params = " ", - privs = {ctf_admin = true}, - func = function(name, params) - params = string.split(params, " ") - - if not params or #params < 2 then - return false, "Please provide a player name and the amount of score to give" - end - - if minetest.get_player_by_name(params[1]) then - local main = ctf_stats.player(params[1]) - - if main then - main.score = main.score + tonumber(params[2]) - - hud_score.new(params[1], { - name = "score_award:score", - color = 0xc000cd, - value = tonumber(params[2]) - }) - - ctf_stats.request_save() - - minetest.chat_send_player(params[1], string.format("%s gave you %d score!", name, params[2])) - return true, string.format("Gave player %s %d score", params[1], tonumber(params[2])) - else - return false, "Something went wrong when awarding the score" - end - else - return false, string.format("Player %s not found!", params[1]) - end - end -}) diff --git a/score_award/mod.conf b/score_award/mod.conf deleted file mode 100644 index 21200b9..0000000 --- a/score_award/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = score_award -depends = ctf_stats diff --git a/spectator_mode/init.lua b/spectator_mode/init.lua index 8458dd6..3d49a8c 100644 --- a/spectator_mode/init.lua +++ b/spectator_mode/init.lua @@ -150,10 +150,6 @@ minetest.register_on_joinplayer(function(player) end, player:get_player_name()) end) -ctf_map.can_cross = function(player) - return minetest.check_player_privs(player, {spectate = true}) -end - -- /whereis chat-command minetest.register_chatcommand("whereis", { params = "", From de7b3ef63d027ccbc2837903ebd9210f09670280 Mon Sep 17 00:00:00 2001 From: olliy <55839810+olliy1or@users.noreply.github.com> Date: Fri, 3 Dec 2021 01:22:03 +0500 Subject: [PATCH 2/2] Fix spectator mode (#24) * fix spectator mode * Update mod.conf * Update init.lua * Update .luacheckrc * Update init.lua * Update init.lua * Update init.lua * Update init.lua * Update init.lua --- .luacheckrc | 3 +- spectator_mode/init.lua | 65 +++++++++++++++++++++-------------------- spectator_mode/mod.conf | 2 +- 3 files changed, 37 insertions(+), 33 deletions(-) diff --git a/.luacheckrc b/.luacheckrc index 6fbf911..79f512c 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -5,7 +5,8 @@ max_line_length = 999 globals = { "minetest", "irc", "ctf_playertag", - "gauges", + "gauges", "ctf_hpbar", + "ctf_teams", "PlayerName", } read_globals = { diff --git a/spectator_mode/init.lua b/spectator_mode/init.lua index 3d49a8c..9165998 100644 --- a/spectator_mode/init.lua +++ b/spectator_mode/init.lua @@ -101,23 +101,6 @@ minetest.register_on_leaveplayer(function(player) end end) -local old_set = ctf_playertag.set -function ctf_playertag.set(player, type, color) - local privs = minetest.get_player_privs(player:get_player_name()) - if not privs.spectate then - return old_set(player, type, color) - end -end - -local old_add_gauge = gauges.add_HP_gauge -function gauges.add_HP_gauge(name) - local privs = minetest.get_player_privs(name) - if not privs.spectate then - return old_add_gauge(name) - end -end - - local function hide_player(player) local prop = { pointable = false, @@ -129,26 +112,46 @@ local function hide_player(player) player:set_properties(prop) player:set_armor_groups({ immortal = 1 }) - player:set_nametag_attributes({color = {a = 0, r = 255, g = 255, b = 255}}) + player:set_nametag_attributes({color = {a = 0, r = 255, g = 255, b = 255}, text = ""}) end minetest.register_on_joinplayer(function(player) - minetest.after(3, function(name) - local player = minetest.get_player_by_name(name) - if not player then - return - end + if not minetest.check_player_privs(player:get_player_name(), { spectate = true }) then + return + end - if not minetest.check_player_privs(name, { spectate = true }) then - return - end + hide_player(player) +end) - player:set_armor_groups({immortal = 1}) - old_set(player, ctf_playertag.TYPE_BUILTIN, { a=0, r=255, g=255, b=255 }) +local old_can_show = ctf_hpbar.can_show +function ctf_hpbar.can_show(player, ...) + if minetest.check_player_privs(player:get_player_name(), { spectate = true }) then + return false + end + return old_can_show(player, ...) +end - hide_player(player) - end, player:get_player_name()) -end) +local old_join_func = minetest.send_join_message +local old_leave_func = minetest.send_leave_message + +function minetest.send_join_message(player_name, ...) + if not minetest.check_player_privs(player_name, { spectate = true }) then + old_join_func(player_name, ...) + end +end + +function minetest.send_leave_message(player_name, ...) + if not minetest.check_player_privs(player_name, { spectate = true }) then + old_leave_func(player_name, ...) + end +end + +local old_allocate_player = ctf_teams.allocate_player +function ctf_teams.allocate_player(player, on_join, ...) + if not minetest.check_player_privs(player:get_player_name(), {spectate=true}) then + old_allocate_player(player, on_join, ...) + end +end -- /whereis chat-command minetest.register_chatcommand("whereis", { diff --git a/spectator_mode/mod.conf b/spectator_mode/mod.conf index 5a411b2..1dd098b 100644 --- a/spectator_mode/mod.conf +++ b/spectator_mode/mod.conf @@ -1,2 +1,2 @@ name = spectator_mode -depends = ctf_map_core, ctf_playertag, gauges +depends = ctf_playertag, ctf_hpbar, ctf_modebase, ctf_teams