From 55704e165732e5115bae82308a2c8876ee53cf4b Mon Sep 17 00:00:00 2001 From: Lejo1 Date: Mon, 25 May 2020 11:34:52 +0200 Subject: [PATCH] fix chrash when using /skinsdb set without parameter or /skinsdb list public --- chatcommands.lua | 13 ++++++++----- locale/skinsdb.de.tr | 1 + locale/template.txt | 1 + skin_meta_api.lua | 5 +++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/chatcommands.lua b/chatcommands.lua index 3d069e0..25e43d0 100644 --- a/chatcommands.lua +++ b/chatcommands.lua @@ -36,11 +36,14 @@ minetest.register_chatcommand("skinsdb", { end if command == "set" then - local success = skins.set_player_skin(player, parameter) - if success then - return true, S("skin set to").." "..parameter - else - return false, S("invalid skin").." "..parameter + if parameter then + local success = skins.set_player_skin(player, parameter) + if success then + return true, S("skin set to").." "..parameter + else + return false, S("invalid skin").." "..parameter + end + else return false, S("Requires skin key") end elseif command == "list" then local list diff --git a/locale/skinsdb.de.tr b/locale/skinsdb.de.tr index 2585624..8813756 100644 --- a/locale/skinsdb.de.tr +++ b/locale/skinsdb.de.tr @@ -16,3 +16,4 @@ skin set to=Skin ist jetzt invalid skin=unbekannter Skin unknown parameter=unbekannter Parameter Skins=Aussehen +Requires skin key=Benötigt Skin-Name diff --git a/locale/template.txt b/locale/template.txt index c5eb981..35d3021 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -17,3 +17,4 @@ unknown parameter= unknown skin= Downloads the specified range of skins and shuts down the server= Skins= +Requires skin key= diff --git a/skin_meta_api.lua b/skin_meta_api.lua index 375905b..29e174b 100644 --- a/skin_meta_api.lua +++ b/skin_meta_api.lua @@ -184,6 +184,7 @@ end function skin_class:is_applicable_for_player(playername) local assigned_player = self:get_meta("playername") - return minetest.check_player_privs(playername, {server=true}) or assigned_player == nil or assigned_player == true or - (assigned_player:lower() == playername:lower()) + return assigned_player == nil or assigned_player == true or + playername and (minetest.check_player_privs(playername, {server=true}) or + assigned_player:lower() == playername:lower()) end