Multiple bug fixes, loginsecurity fully functioning

This commit is contained in:
PanFritz
2015-08-17 04:54:02 +02:00
parent 2ae64488ad
commit 6574179872
3 changed files with 27 additions and 24 deletions

View File

@@ -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 = "<user>",
senderLimit = -1,
description = "Removes password of <user> 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,6 +240,7 @@ def kick_thread():
time.sleep(1)
now = time.time()
for py_player in py_players:
if py_player.logging_in:
if now - py_player.login_time > wait_time:
player = py_player.player
kick = kick_class(player)

View File

@@ -79,7 +79,7 @@ shared["load_modules"] = [
# Replacement for LoginSecurity
"loginsecurity",
# Centralized Player class
"playermanager"
"player"
]
shared["modules"] = {}
for module in shared["load_modules"]:

View File

@@ -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)]
#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()))