[HL2:DM] Save Scores
Posted: Mon Apr 11, 2016 1:29 pm
Syntax: Select all
from events import Event
from listeners import OnClientDisconnect
from listeners import OnLevelShutdown
from players.entity import Player
from players.helpers import index_from_userid
scores = dict()
@OnLevelShutdown
def clear_scores():
scores.clear()
@OnClientDisconnect
def save_player_score(index):
player = Player(index)
scores[player.uniqueid] = {
'kills': player.kills,
'deaths': player.deaths,
}
@Event('player_activate')
def reset_player_score(game_event):
player = Player(index_from_userid(game_event['userid']))
if player.uniqueid not in scores:
return
player_scores = scores.pop(player.uniqueid)
player.kills = player_scores['kills']
player.deaths = player_scores['deaths']
Code: Select all
2017-02-20 19:31:45 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/savescore/savescore.py", line 15, in save_player_score
player = Player(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 86, in __init__
super().__init__(index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 94, in __init__
super().__init__(index)
ValueError: Conversion from "Index" (1) to "BaseEntity" failed.
Syntax: Select all
from events import Event
from listeners import OnClientDisconnect, OnLevelShutdown
from players.entity import Player
scores = dict()
@OnLevelShutdown
def clear_scores():
scores.clear()
@OnClientDisconnect
def save_player_score(index):
try:
player = Player(index)
except ValueError:
return
scores[player.uniqueid] = {
'kills': player.kills,
'deaths': player.deaths,
}
@Event('player_activate')
def reset_player_score(game_event):
player = Player.from_userid(game_event['userid'])
if player.uniqueid not in scores:
return
player_scores = scores.pop(player.uniqueid)
player.kills = player_scores['kills']
player.deaths = player_scores['deaths']
Code: Select all
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/savescore/savescore.py", line 15, in save_player_score
player = Player(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 88, in __init__
super().__init__(index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 94, in __init__
super().__init__(index)
ValueError: Conversion from "Index" (2) to "BaseEntity" failed.
Dropped luisdaquixx from server (Disconnect by user.)
L 06/29/2019 - 20:41:03: "sasha.sh181e<6><[U:1:946818002]><>" disconnected (reason "Disconnect by user.")
Spawn/Chat Protection; ClientDisconnect
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/savescore/savescore.py", line 15, in save_player_score
player = Player(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 88, in __init__
super().__init__(index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 94, in __init__
super().__init__(index)
ValueError: Conversion from "Index" (3) to "BaseEntity" failed.