diff --git a/VERSION b/VERSION index 1d0ba9e..267577d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.4.0 +0.4.1 diff --git a/locale/en/locale.cfg b/locale/en/locale.cfg index ab8293d..b4221d9 100644 --- a/locale/en/locale.cfg +++ b/locale/en/locale.cfg @@ -9,6 +9,7 @@ sensor.play_time.format=Play time: __1__. sensor.player_locations.name=Player locations sensor.player_locations.format=Players: +sensor.player_locations.err_no_name=You have no multiplayer username, player list disabled. sensor.player_locations.surface_fragment=on __1__ sensor.player_locations.settings.title=Player location settings sensor.player_locations.settings.show_player_index=Show player index diff --git a/value_sensors/player_locations.lua b/value_sensors/player_locations.lua index dfef0f1..1af662e 100644 --- a/value_sensors/player_locations.lua +++ b/value_sensors/player_locations.lua @@ -115,10 +115,20 @@ end function sensor:update_ui(owner) local player = game.get_player(owner.player_index) local sensor_settings = global.evogui[player.name].sensor_settings[self.name] + local gui_list = owner[self.name].player_list for _, p in ipairs(game.players) do - if owner[self.name].player_list[p.name] == nil then - owner[self.name].player_list.add{type="label", name=p.name} + if not p.name or p.name == '' then + if gui_list.error == nil then + gui_list.add{type="label", name="error", caption={"sensor.player_locations.err_no_name"}} + end + break + end + + if gui_list.error ~= nil then gui_list.error.destroy() end + + if gui_list[p.name] == nil then + gui_list.add{type="label", name=p.name} end local direction = '?' @@ -154,7 +164,7 @@ function sensor:update_ui(owner) table.insert(desc, ' ' .. direction) end - owner[self.name].player_list[p.name].caption = desc + gui_list[p.name].caption = desc end end