From 73b3fb300de70b2ceb9555be0426a9311b6051c1 Mon Sep 17 00:00:00 2001 From: Coder12a <38924418+Coder12a@users.noreply.github.com> Date: Fri, 2 Nov 2018 13:37:51 -0500 Subject: [PATCH] Power-per-player bug fix. It was not checking ips. --- factions.lua | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/factions.lua b/factions.lua index 6f7164e..bb34901 100644 --- a/factions.lua +++ b/factions.lua @@ -301,7 +301,7 @@ function factions.Faction.check_power(self) local ip = factions_ip.player_ips[player] local notsame = true for i,k in pairs(self.players) do - local other_ip = factions_ip.player_ips[k] + local other_ip = factions_ip.player_ips[i] if other_ip == ip then notsame = false break @@ -328,14 +328,11 @@ end) function factions.Faction.add_player(self, player, rank) self:on_player_join(player) - self.players[player] = rank or self.default_rank - factions.players[player] = self.name - self.invited_players[player] = nil if factions_config.enable_power_per_player then local ip = factions_ip.player_ips[player] local notsame = true for i,k in pairs(self.players) do - local other_ip = factions_ip.player_ips[k] + local other_ip = factions_ip.player_ips[i] if other_ip == ip then notsame = false break @@ -345,6 +342,9 @@ function factions.Faction.add_player(self, player, rank) self:increase_maxpower(factions_config.powermax_per_player) end end + self.players[player] = rank or self.default_rank + factions.players[player] = self.name + self.invited_players[player] = nil local pdata = minetest.get_player_by_name(player) local ipc = pdata:is_player_connected(player) if ipc then @@ -376,7 +376,7 @@ function factions.Faction.remove_player(self, player) local ip = factions_ip.player_ips[player] local notsame = true for i,k in pairs(self.players) do - local other_ip = factions_ip.player_ips[k] + local other_ip = factions_ip.player_ips[i] if other_ip == ip then notsame = false break @@ -777,9 +777,7 @@ end --! @brief checks whether a faction has at least one connected player function factions.Faction.is_online(self) for playername, _ in pairs(self.onlineplayers) do - if minetest.get_player_by_name(playername) then - return true - end + return true end return false end