From d7454514b1fa20194fe153c00119b2d0f101b6db Mon Sep 17 00:00:00 2001 From: savilli <78875209+savilli@users.noreply.github.com> Date: Sat, 5 Aug 2023 22:55:39 +0200 Subject: [PATCH] Fix outbox too --- ui/events.lua | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ui/events.lua b/ui/events.lua index 14eeb20..b241910 100644 --- a/ui/events.lua +++ b/ui/events.lua @@ -111,6 +111,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) mail.show_mail_menu(name) return true end + local outbox = getOutbox()[evt.row-1] + if not outbox then + mail.show_mail_menu(name) + return true + end if mail.selected_idxs.multipleselection[name] then if not mail.selected_idxs.outbox[name] then mail.selected_idxs.outbox[name] = {} @@ -118,7 +123,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) local selected_id = 0 if mail.selected_idxs.outbox[name] and #mail.selected_idxs.outbox[name] > 0 then for i, selected_msg in ipairs(mail.selected_idxs.outbox[name]) do - if getOutbox()[evt.row-1].id == selected_msg then + if outbox.id == selected_msg then selected_id = i table.remove(mail.selected_idxs.outbox[name], i) break @@ -126,13 +131,13 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end if selected_id == 0 then - table.insert(mail.selected_idxs.outbox[name], getOutbox()[evt.row-1].id) + table.insert(mail.selected_idxs.outbox[name], outbox.id) end else - mail.selected_idxs.outbox[name] = { (getOutbox()[evt.row-1] or {}).id } + mail.selected_idxs.outbox[name] = { outbox.id } end - if evt.type == "DCL" and getOutbox()[evt.row-1] then - mail.show_message(name, getOutbox()[evt.row-1].id) + if evt.type == "DCL" then + mail.show_message(name, outbox.id) else mail.show_mail_menu(name) end