From ae01ea01dd80ae40a8289e57908586ec70bfa5b6 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 1 Sep 2016 18:45:59 +0200 Subject: [PATCH] Show error messages when there are no awards --- api.lua | 18 +++++++++++++++--- locale/de.txt | 4 +++- locale/template.txt | 4 +++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/api.lua b/api.lua index 23a9ef9..7d921e1 100644 --- a/api.lua +++ b/api.lua @@ -341,10 +341,17 @@ function awards.getFormspec(name, to, sid) local listofawards = awards._order_awards(name) local playerdata = awards.players[name] + if #listofawards == 0 then + formspec = formspec .. "label[3.9,1.5;"..minetest.formspec_escape(S("Error: No awards available.")).."]" + formspec = formspec .. "button_exit[4.2,2.3;3,1;close;"..minetest.formspec_escape(S("OK")).."]" + return formspec + end + -- Sidebar if sid then local item = listofawards[sid+0] local def = awards.def[item.name] + if def and def.secret and not item.got then formspec = formspec .. "label[1,2.75;"..minetest.formspec_escape(S("(Secret Award)")).."]".. "image[1,0;3,3;awards_unknown.png]" @@ -428,8 +435,12 @@ function awards.show_to(name, to, sid, text) return end if text then - if not awards.players[name] or not awards.players[name].unlocked then - minetest.chat_send_player(to, S("You have not unlocked any awards")) + local listofawards = awards._order_awards(name) + if #listofawards == 0 then + minetest.chat_send_player(to, S("Error: No awards available.")) + return + elseif not awards.players[name] or not awards.players[name].unlocked then + minetest.chat_send_player(to, S("You have not unlocked any awards.")) return end minetest.chat_send_player(to, string.format(S("%s’s awards:"), name)) @@ -454,7 +465,8 @@ function awards.show_to(name, to, sid, text) end -- Show formspec to user minetest.show_formspec(to,"awards:awards", - "size[11,5]" .. awards.getFormspec(name, to, sid)) + "size[11,5]" .. default.gui_bg .. default.gui_bg_img .. + awards.getFormspec(name, to, sid)) end end awards.showto = awards.show_to diff --git a/locale/de.txt b/locale/de.txt index a7fb768..4d58454 100644 --- a/locale/de.txt +++ b/locale/de.txt @@ -143,7 +143,7 @@ Secret Achievement Unlocked! = Geheime Auszeichnung erhalten! Secret Achievement Unlocked: = Geheime Auszeichnung erhalten: Secret Achievement Unlocked: %s = Geheime Auszeichnung erhalten: %s Unlock this award to find out what it is. = Verdienen Sie sich diese Auszeichnung, um herauszufinden, was sie ist. -You have not unlocked any awards = Sie haben noch keine Auszeichnungen. +You have not unlocked any awards. = Sie haben noch keine Auszeichnungen. You've disabled awards. Type /awards enable to reenable. = Sie haben die Auszeichnungen deaktiviert. Geben Sie »/awards enable« ein, um sie wieder zu aktivieren. = = @@ -173,3 +173,5 @@ Place blocks: %d×%s = Platzieren Sie Blöcke: %d×%s Join the game. = Treten Sie dem Spiel bei. Join the game %d times. = Treten Sie dem Spiel %d mal bei. Show details of an achievement = Details einer Auszeichnung anzeigen +OK = OK +Error: No awards available. = Fehler: Keine Auszeichnungen vorhanden. diff --git a/locale/template.txt b/locale/template.txt index 20e4a3d..12a2ed1 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -171,7 +171,9 @@ Write %d chat messages. = Write something in chat. = You have disabled your achievements. = You have enabled your achievements. = -You have not unlocked any awards = +You have not unlocked any awards. = You've disabled awards. Type /awards enable to reenable. = You’re a copper = [c|clear|disable|enable] = +OK = +Error: No awards available. =