From f09fde89950ef0d7730df90d0774313d9c3e54d7 Mon Sep 17 00:00:00 2001 From: Panquesito7 <51391473+Panquesito7@users.noreply.github.com> Date: Fri, 26 Jul 2019 18:51:52 -0500 Subject: [PATCH] Tell both players (sender... ...and receiver) that the request sent timed out. Tested with MT/MTG 5.0.1 and works fine. The functions "clear_tpr_list" and "clear_tphr_list" are not used due to a crash while sending the message to both players. Sorry for any inconveniences. I'll (soon?) probably create a fix for this. If anyone has a fix for this, it would be greatly appreciated. You may comment on my PR. --- init.lua | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/init.lua b/init.lua index 1e3ebd5..c21c258 100644 --- a/init.lua +++ b/init.lua @@ -113,19 +113,19 @@ end function clear_tpr_list(name) if tpr_list[name] then tpr_list[name] = nil + return end end function clear_tphr_list(name) if tphr_list[name] then tphr_list[name] = nil + return end end function tpr_send(sender, receiver) if minetest.check_player_privs(sender, {tp_admin = true}) then - -- Teleport timeout delay - minetest.after(timeout_delay, clear_tpr_list, receiver) if receiver == "" then minetest.chat_send_player(sender, S("Usage: /tpr ")) return @@ -157,14 +157,19 @@ function tpr_send(sender, receiver) if not minetest.check_player_privs(sender, {tp_admin = true}) then tpr_list[receiver] = sender -- Teleport timeout delay - minetest.after(timeout_delay, clear_tpr_list, receiver) + minetest.after(timeout_delay, function(name) + if tpr_list[name] then + tpr_list[name] = nil + minetest.chat_send_player(sender, S("Request timed-out.")) + minetest.chat_send_player(receiver, S("Request timed-out.")) + return + end + end, receiver) end end function tphr_send(sender, receiver) if minetest.check_player_privs(sender, {tp_admin = true}) then - -- Teleport timeout delay - minetest.after(timeout_delay, clear_tphr_list, receiver) if receiver == "" then minetest.chat_send_player(sender, S("Usage: /tphr ")) return @@ -195,7 +200,14 @@ function tphr_send(sender, receiver) if not minetest.check_player_privs(sender, {tp_admin = true}) then tphr_list[receiver] = sender -- Teleport timeout delay - minetest.after(timeout_delay, clear_tphr_list, receiver) + minetest.after(timeout_delay, function(name) + if tphr_list[name] then + tphr_list[name] = nil + minetest.chat_send_player(sender, S("Request timed-out.")) + minetest.chat_send_player(receiver, S("Request timed-out.")) + return + end + end, receiver) end end