From 6574179872d693b38227327754ab130b536c98d8 Mon Sep 17 00:00:00 2001 From: PanFritz Date: Mon, 17 Aug 2015 04:54:02 +0200 Subject: [PATCH] Multiple bug fixes, loginsecurity fully functioning --- loginsecurity.py | 30 ++++++++++++++++++------------ main.py | 2 +- player.py | 19 ++++++++----------- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/loginsecurity.py b/loginsecurity.py index dd3375b..88f5fec 100644 --- a/loginsecurity.py +++ b/loginsecurity.py @@ -31,8 +31,7 @@ def matches_thread(password, user): else: if py_player.logging_in: msg(user, "&cInvalid password!") - else: - msg(user,"&cAlready logged in!") + @@ -69,6 +68,11 @@ def change_pass_command(sender, command, label, args): senderLimit = 0, helpNoargs = True) def login_command(sender, command, label, args): + py_player = get_py_player(sender) + + if not py_player.logging_in: + msg(sender,"&cAlready logged in!") + password = args[0] matches(password, sender) @@ -128,6 +132,7 @@ def rmpass_command(sender, command, label, args): @simplecommand("rmotherpass", aliases = ["lacrmpass"], usage = "", + senderLimit = -1, description = "Removes password of and sends them a notification", helpNoargs = True) def rmotherpass_command(sender, command, label, args): @@ -198,7 +203,7 @@ def delete_pass(uuid): curs.close() conn.close() -@hook.event("player.PlayerJoinEvent", "high") +@hook.event("player.PlayerJoinEvent", "low") def on_join(event): user = event.getPlayer() py_player = get_py_player(event.getPlayer()) @@ -235,16 +240,17 @@ def kick_thread(): time.sleep(1) now = time.time() for py_player in py_players: - if now - py_player.login_time > wait_time: - player = py_player.player - kick = kick_class(player) - server.getScheduler().runTask(server.getPluginManager().getPlugin("RedstonerUtils"), kick) - + if py_player.logging_in: + if now - py_player.login_time > wait_time: + player = py_player.player + kick = kick_class(player) + server.getScheduler().runTask(server.getPluginManager().getPlugin("RedstonerUtils"), kick) + - """if name in logging_in: - del logging_in[name] - break - """ + """if name in logging_in: + del logging_in[name] + break + """ thread = threading.Thread(target = kick_thread) diff --git a/main.py b/main.py index 6fadbc2..8df483d 100644 --- a/main.py +++ b/main.py @@ -79,7 +79,7 @@ shared["load_modules"] = [ # Replacement for LoginSecurity "loginsecurity", # Centralized Player class - "playermanager" + "player" ] shared["modules"] = {} for module in shared["load_modules"]: diff --git a/player.py b/player.py index 6ba74ec..187f94e 100644 --- a/player.py +++ b/player.py @@ -3,29 +3,26 @@ from helpers import * py_players = [] class py_player: - def __init__(self,player): self.player = player - - """ - Player properties, please add a short description of the property when adding a new one. - - - """ self.logging_in = False self.login_time = 0 def get_py_player(player): - py_player = players[players.index(player)] - return py_player + #py_player = py_players[py_players.index(player)] + + for py_player in py_players: + if py_player.player.getName() == player.getName(): + return py_player @hook.event("player.PlayerJoinEvent","lowest") def on_join(event): player = py_player(event.getPlayer()) - players.append(player) + py_players.append(player) + print str(len(py_players))+event.getPlayer().getName() @hook.event("player.PlayerQuitEvent","highest") def on_leave(event): - players.remove(get_py_player(event.getPlayer())) + py_players.remove(get_py_player(event.getPlayer()))