Sie sind nicht angemeldet.

1

Mittwoch, 28. Mai 2008, 22:12

Problem mit top_players Script seit Version:2.0.0.247

Hallo!

Hab nun heute die neue Version:2.0.0.247 auf unseren Server geladen...
Schien auch zunächst alles ganz gut zu laufen.
Nun scheint aber folgendes Script, dass wir seit Ewigkeiten auf unserem Server haben, Abstürze zu verursachen:

es_top_players.txt

Spoiler Spoiler

// TOP PLAYERS v2.0
// Modified by ZORROX.COM

block load
{
es_xsetinfo tp_version "TopPlayers v2.0 Modified by ZORROX.COM"
es_xmakepublic tp_version

es_xsetinfo tp_MostKills 0
es_xsetinfo tp_MostDamage 0
es_xsetinfo tp_MostKnifeKills 0
es_xsetinfo tp_MostDamageUserID 0
es_xsetinfo tp_MostKnifeKillsUserID 0

es_xsetinfo tp_TempKills 0
es_xsetinfo tp_TempDamage 0
es_xsetinfo tp_TempKnifeKills 0
es_xsetinfo tp_TempHits 0

es_xsetinfo tp_UserID 0
es_xsetinfo tp_PlayerName " "
es_xsetinfo tp_IsValid 0
es_xsetinfo tp_KnifeKillInd 0

es_keygroupdelete tp_PlayerData
es_keygroupcreate tp_PlayerData
}


block unload
{
es_keygroupdelete tp_PlayerData
}


event player_activate
{
es_keycreate tp_PlayerData event_var(userid)
es_keysetvalue tp_PlayerData event_var(userid) PlayerName event_var(es_username)
es_keysetvalue tp_PlayerData event_var(userid) Kills 0
es_keysetvalue tp_PlayerData event_var(userid) Damage 0
es_keysetvalue tp_PlayerData event_var(userid) KnifeKills 0
es_keysetvalue tp_PlayerData event_var(userid) Hits 0
}


event round_start
{
es_xsetinfo tp_MostKills 0
es_xsetinfo tp_MostDamage 0
es_xsetinfo tp_MostKnifeKills 0
}

event player_spawn
{
es_keysetvalue tp_PlayerData event_var(userid) PlayerName event_var(es_username)
es_keysetvalue tp_PlayerData event_var(userid) Kills 0
es_keysetvalue tp_PlayerData event_var(userid) Damage 0
es_keysetvalue tp_PlayerData event_var(userid) KnifeKills 0
es_keysetvalue tp_PlayerData event_var(userid) Hits 0
}


event player_hurt
{
if (event_var(es_attackerteam) >= 2) do
{
if (event_var(es_attackerteam) != event_var(es_userteam)) do
{

es_xsetinfo tp_TempDamage 0
es_keygetvalue tp_TempDamage tp_PlayerData event_var(attacker) Damage
es_math tp_TempDamage + event_var(dmg_health)
es_keysetvalue tp_PlayerData event_var(attacker) Damage server_var(tp_TempDamage)
if (server_var(tp_TempDamage) > server_var(tp_MostDamage)) do
{
es_setinfo tp_MostDamageUserID event_var(attacker)
es_xcopy tp_MostDamage tp_TempDamage
}

es_xsetinfo tp_TempHits 0
es_keygetvalue tp_TempHits tp_PlayerData event_var(attacker) Hits
es_math tp_TempHits + 1
es_keysetvalue tp_PlayerData event_var(attacker) Hits server_var(tp_TempHits)
}
}
}


event player_death
{
if (event_var(es_attackerteam) >= 2) do
{
if (event_var(es_attackerteam) != event_var(es_userteam)) do
{

es_xsetinfo tp_TempKills 0
es_keygetvalue tp_TempKills tp_PlayerData event_var(attacker) Kills
es_math tp_TempKills + 1
es_keysetvalue tp_PlayerData event_var(attacker) Kills server_var(tp_TempKills)
if (server_var(tp_TempKills) > server_var(tp_MostKills) ) do
{
es_setinfo tp_MostKillsUserID event_var(attacker)
es_xcopy tp_MostKills tp_TempKills
}

if (event_var(es_attackerweapon) = "weapon_knife") do
{
es_xsetinfo tp_KnifeKillInd 0
es_xsetinfo tp_TempKnifeKills 0
es_keygetvalue tp_TempKnifeKills tp_PlayerData event_var(attacker) KnifeKills
es_math tp_TempKnifeKills + 1
es_keysetvalue tp_PlayerData event_var(attacker) KnifeKills server_var(tp_TempKnifeKills)
if (server_var(tp_TempKnifeKills) > server_var(tp_MostKnifeKills) ) do
{
es_setinfo tp_MostKnifeKillsUserID event_var(attacker)
es_xcopy tp_MostKnifeKills tp_TempKnifeKills
}
}
}
}
}


event round_end
{
if(server_var(tp_MostKills) > 0) do
{
es_keygetvalue tp_PlayerName tp_PlayerData server_var(tp_MostKillsUserID) PlayerName
es_keygetvalue tp_TempHits tp_PlayerData server_var(tp_MostKillsUserID) Hits
es_msg #multi #green[MOST KILLS]#lightgreen server_var(tp_PlayerName) server_var(tp_MostKills) kills (server_var(tp_TempHits) hits)
}


if(server_var(tp_MostDamage) > 0) do
{
es_keygetvalue tp_PlayerName tp_PlayerData server_var(tp_MostDamageUserID) PlayerName
es_keygetvalue tp_TempHits tp_PlayerData server_var(tp_MostDamageUserID) Hits
es_msg #multi #green[MOST DAMAGE]#lightgreen server_var(tp_PlayerName) server_var(tp_MostDamage) damage (server_var(tp_TempHits) hits)
}


if(server_var(tp_MostKnifeKills) > 0) do
{
es_keygetvalue tp_PlayerName tp_PlayerData server_var(tp_MostKnifeKillsUserID) PlayerName
es_msg #multi #green[MOST KNIFE KILLS]#lightgreen server_var(tp_PlayerName) server_var(tp_MostKnifeKills) knife kills
}
}


event player_disconnect
{
es_keydelete tp_PlayerData event_var(userid)
}



Es veruracht folgende Fehler:

<@XG1|KhAoS> ERROR: Eventscripts cannot find/create the 23 key!
<@XG1|KhAoS> Error source es_top_players.txt: es_keysetvalue tp_PlayerData event_var(userid) PlayerName event_var(es_username)
<@XG1|KhAoS> ERROR: Eventscripts cannot find/create the 23 key!
<@XG1|KhAoS> Error source es_top_players.txt: es_keysetvalue tp_PlayerData event_var(userid) Kills 0
<@XG1|KhAoS> ERROR: Eventscripts cannot find/create the 23 key!
<@XG1|KhAoS> Error source es_top_players.txt: es_keysetvalue tp_PlayerData event_var(userid) Damage 0
<@XG1|KhAoS> ERROR: Eventscripts cannot find/create the 23 key!
<@XG1|KhAoS> Error source es_top_players.txt: es_keysetvalue tp_PlayerData event_var(userid) KnifeKills 0
<@XG1|KhAoS> ERROR: Eventscripts cannot find/create the 23 key!


Kann mir da jemand helfen?
Kann es sein dass das Script nicht mehr mit der aktuellen ES Version funktioniert?
Wenn ja, was muss ich ändern? Oder gibts es alternative Scripte für eine Most Kills und Most Damage Anzeige am Rundenende!

Vielen Dank schonmal!!!

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

2

Donnerstag, 29. Mai 2008, 18:44

Re: Problem mit top_players Script seit Version:2.0.0.247

Python Version - wie immer ungetestet ;)

addons/eventscripts/topplayer/topplayer.py:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import es

db = {}
mostkills = [0, 0]
mostdamage = [0, 0]
mostknkills = [0, 0]

def load():
	es.ServerVar("tp_version", "TopPlayers v2.0 Python by Chrisber").makepublic()

def player_disconnect(event_var):
	global db
	
	if db.has_key(event_var["userid"]):
		del db[event_var["userid"]]

def player_activate(event_var):
	zuruecksetzen(event_var["userid"], event_var["es_username"])

def player_spawn(event_var):
	zuruecksetzen(event_var["userid"], event_var["es_username"])

def zuruecksetzen(username):
	global db
	
	db[userid] = {
		"name":username,
		"kills":0,
		"damage":0,
		"knkills":0,
		"hits":0
	}

def validteam(event_var):
	if int(event_var["es_attackerteam"]) > 1 and event_var["es_attackerteam"] != event_var["es_userteam"] and event_var["userid"] != 0 and event_var["userid"] != event_var["attacker"]:
		return 1
	
	return 0

def player_hurt(event_var):
	if validteam(event_var):
		global db, mostdamage
		
		db[event_var["userid"]]["damage"] += int(event_var["dmg_health"])
		
		if db[event_var["userid"]]["damage"] > mostdamage[1]:
			mostdamage[0] = event_var["userid"]
			mostdamage[1] = db[event_var["userid"]]["damage"]
		
		db[event_var["userid"]]["hits"] += 1

def player_death(event_var):
	if validteam(event_var):
		global db, mostkills, mostknkills
		
		db[event_var["attacker"]]["kills"] += 1
		
		if db[event_var["attacker"]]["kills"] > mostkills[1]:
			mostkills[0] = event_var["userid"]
			mostkills[1] = db[event_var["attacker"]]["kills"]
		
		if event_var["weapon"] == "weapon_knife":
			db[event_var["attacker"]]["knkills"] += 1
			
			if db[event_var["attacker"]]["knkills"] > mostknkills[1]:
				mostknkills[0] = event_var["userid"]
				mostknkills[1] = db[event_var["attacker"]]["knkills"]

def round_end(event_var):
	if mostkills[1] > 0:
		es.msg("#multi", "#green[MOST KILLS]#lightgreen %s: %i Kills und %i Hits" % (es.getplayername(db[mostkills[0]]), mostkills[1], db[str(db[mostkills[0]]["hits"])]))
	
	if mostdamage[1] > 0:
		es.msg("#multi", "#green[MOST DAMAGE]#lightgreen %s: %i Damage und %i Hits" % (es.getplayername(db[mostdamage[0]]), mostdamage[1], db[str(db[mostdamage[0]]["hits"])]))
	
	if mostknkills[1] > 0:
		es.msg("#multi", "#green[MOST KNIFE KILLS]#lightgreen %s: %i Knife Kills" % (es.getplayername(db[mostknkills[0]]), mostknkills[1]))
	
	
	global mostkills, mostdamage, mostknkills
	mostkills = [0, 0]
	mostdamage = [0, 0]
	mostknkills = [0, 0]


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

3

Freitag, 30. Mai 2008, 13:51

Re: Problem mit top_players Script seit Version:2.0.0.247

danke dir!
bist echt der beste...! bestteam

werds am Wochenende gleich mal testen

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

4

Freitag, 30. Mai 2008, 13:54

Re: Problem mit top_players Script seit Version:2.0.0.247

Jo,
kein Ding :)

Wenn es nicht läuft oder ich einen logischen Fehler gemacht habe, sag bitte bescheid.
Ich habe das Script eigentlich nur übersetzt so gut ich konnte und nicht weiter über die Funktionsweise nachgedacht ;)

So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

5

Montag, 2. Juni 2008, 01:05

Re: Problem mit top_players Script seit Version:2.0.0.247

hmm... also irgendwie geht es nicht...

Console zeigt zwar an dass es läuft:
TopPlayers v2.0 Python by Chrisber

Aber im Spiel wird garnichts angezeigt.

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

6

Montag, 2. Juni 2008, 12:59

Re: Problem mit top_players Script seit Version:2.0.0.247

Hi.
Sry, dummer Fehler.
Falls es immer noch nicht geht, bitte die Fehler posten.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import es

db = {}
mostkills = [0, 0]
mostdamage = [0, 0]
mostknkills = [0, 0]

def load():
   es.ServerVar("tp_version", "TopPlayers v2.0 Python by Chrisber").makepublic()

def player_disconnect(event_var):
   global db
   
   if db.has_key(event_var["userid"]):
      del db[event_var["userid"]]

def player_activate(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def player_spawn(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def zuruecksetzen(userid, username):
   global db
   
   db[userid] = {
      "name":username,
      "kills":0,
      "damage":0,
      "knkills":0,
      "hits":0
   }

def validteam(event_var):
   if int(event_var["es_attackerteam"]) > 1 and event_var["es_attackerteam"] != event_var["es_userteam"] and event_var["userid"] != 0 and event_var["userid"] != event_var["attacker"]:
      return 1
   
   return 0

def player_hurt(event_var):
   if validteam(event_var):
      global db, mostdamage
      
      db[event_var["userid"]]["damage"] += int(event_var["dmg_health"])
      
      if db[event_var["userid"]]["damage"] > mostdamage[1]:
         mostdamage[0] = event_var["userid"]
         mostdamage[1] = db[event_var["userid"]]["damage"]
      
      db[event_var["userid"]]["hits"] += 1

def player_death(event_var):
   if validteam(event_var):
      global db, mostkills, mostknkills
      
      db[event_var["attacker"]]["kills"] += 1
      
      if db[event_var["attacker"]]["kills"] > mostkills[1]:
         mostkills[0] = event_var["userid"]
         mostkills[1] = db[event_var["attacker"]]["kills"]
      
      if event_var["weapon"] == "weapon_knife":
         db[event_var["attacker"]]["knkills"] += 1
         
         if db[event_var["attacker"]]["knkills"] > mostknkills[1]:
            mostknkills[0] = event_var["userid"]
            mostknkills[1] = db[event_var["attacker"]]["knkills"]

def round_end(event_var):
   if mostkills[1] > 0:
      es.msg("#multi", "#green[MOST KILLS]#lightgreen %s: %i Kills und %i Hits" % (es.getplayername(db[mostkills[0]]), mostkills[1], db[str(db[mostkills[0]]["hits"])]))
   
   if mostdamage[1] > 0:
      es.msg("#multi", "#green[MOST DAMAGE]#lightgreen %s: %i Damage und %i Hits" % (es.getplayername(db[mostdamage[0]]), mostdamage[1], db[str(db[mostdamage[0]]["hits"])]))
   
   if mostknkills[1] > 0:
      es.msg("#multi", "#green[MOST KNIFE KILLS]#lightgreen %s: %i Knife Kills" % (es.getplayername(db[mostknkills[0]]), mostknkills[1]))
   
   
   global mostkills, mostdamage, mostknkills
   mostkills = [0, 0]
   mostdamage = [0, 0]
   mostknkills = [0, 0]


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

7

Dienstag, 3. Juni 2008, 02:43

Re: Problem mit top_players Script seit Version:2.0.0.247

Danke für deine Mühe Chrisber...

Aber es wird leider weiterhin einfach nichts angezeigt...
Das Skript wird zwar geladen, aner es passiert einfach nix :-(

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

8

Dienstag, 3. Juni 2008, 15:48

Re: Problem mit top_players Script seit Version:2.0.0.247

Soooo, ^^
Immer diese dummen Fehler, man vergisst ein " hier und ne ) da ^^
Falls es jetzt nicht geht, bitte per HLSW prüfen, ob im Log "TopPlayers: Validteam ok/fails" steht.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import es

db = {}
mostkills = [0, 0]
mostdamage = [0, 0]
mostknkills = [0, 0]

def load():
   es.ServerVar("tp_version", "TopPlayers v2.0 Python by Chrisber").makepublic()

def player_disconnect(event_var):
   global db
   
   if db.has_key(event_var["userid"]):
      del db[event_var["userid"]]

def player_activate(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def player_spawn(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def zuruecksetzen(userid, username):
   global db
   
   db[userid] = {
      "name":username,
      "kills":0,
      "damage":0,
      "knkills":0,
      "hits":0
   }

def validteam(event_var):
   if int(event_var["es_attackerteam"]) > 1 and event_var["es_attackerteam"] != event_var["es_userteam"] and event_var["userid"] != "0" and event_var["userid"] != event_var["attacker"]:
      es.dbgmsg(0, "TopPlayers: Validteam ok")
      return 1
   
  es.dbgmsg(0, "TopPlayers: Validteam fails")
   return 0

def player_hurt(event_var):
   if validteam(event_var):
      global db, mostdamage
      
      db[event_var["userid"]]["damage"] += int(event_var["dmg_health"])
      
      if db[event_var["userid"]]["damage"] > mostdamage[1]:
         mostdamage[0] = event_var["userid"]
         mostdamage[1] = db[event_var["userid"]]["damage"]
      
      db[event_var["userid"]]["hits"] += 1

def player_death(event_var):
   if validteam(event_var):
      global db, mostkills, mostknkills
      
      db[event_var["attacker"]]["kills"] += 1
      
      if db[event_var["attacker"]]["kills"] > mostkills[1]:
         mostkills[0] = event_var["userid"]
         mostkills[1] = db[event_var["attacker"]]["kills"]
      
      if event_var["weapon"] == "weapon_knife":
         db[event_var["attacker"]]["knkills"] += 1
         
         if db[event_var["attacker"]]["knkills"] > mostknkills[1]:
            mostknkills[0] = event_var["userid"]
            mostknkills[1] = db[event_var["attacker"]]["knkills"]

def round_end(event_var):
   if mostkills[1] > 0:
      es.msg("#multi", "#green[MOST KILLS]#lightgreen %s: %i Kills und %i Hits" % (es.getplayername(db[mostkills[0]]), mostkills[1], db[str(db[mostkills[0]]["hits"])]))
   
   if mostdamage[1] > 0:
      es.msg("#multi", "#green[MOST DAMAGE]#lightgreen %s: %i Damage und %i Hits" % (es.getplayername(db[mostdamage[0]]), mostdamage[1], db[str(db[mostdamage[0]]["hits"])]))
   
   if mostknkills[1] > 0:
      es.msg("#multi", "#green[MOST KNIFE KILLS]#lightgreen %s: %i Knife Kills" % (es.getplayername(db[mostknkills[0]]), mostknkills[1]))
   
   
   global mostkills, mostdamage, mostknkills
   mostkills = [0, 0]
   mostdamage = [0, 0]
   mostknkills = [0, 0]


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

9

Dienstag, 3. Juni 2008, 16:19

Re: Problem mit top_players Script seit Version:2.0.0.247

ohman, tut mir ja echt schon leid Chrisber:

Aber das kommt nun wenn ich das script laden möchte:

16:10:58 L 06/03/2008 - 16:47:21: Rcon: "es_load topplayer"
16:10:58 Traceback (most recent call last):
File "/home/b52192/xg1/cstrike/addons/eventscripts/es.py", line 321, in loadModuleAddon
newaddon = __import__(importname)
File "/home/b52192/xg1/cstrike/addons/eventscripts/topplayer/topplayer.py", line 39
es.dbgmsg(0, "TopPlayers: Validteam fails")

^
IndentationError: unindent does not match any outer indentation level
Could not open script for addons/eventscripts/topplayer/es_topplayer.txt
Error source (console): (no script)
16:10:58 L 06/03/2008 - 16:47:21: Rcon: "es_load topplayer"

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

10

Dienstag, 3. Juni 2008, 16:51

Re: Problem mit top_players Script seit Version:2.0.0.247

Leerzeichen vergess0rn.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import es

db = {}
mostkills = [0, 0]
mostdamage = [0, 0]
mostknkills = [0, 0]

def load():
   es.ServerVar("tp_version", "TopPlayers v2.0 Python by Chrisber").makepublic()

def player_disconnect(event_var):
   global db
   
   if db.has_key(event_var["userid"]):
      del db[event_var["userid"]]

def player_activate(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def player_spawn(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def zuruecksetzen(userid, username):
   global db
   
   db[userid] = {
      "name":username,
      "kills":0,
      "damage":0,
      "knkills":0,
      "hits":0
   }

def validteam(event_var):
   if int(event_var["es_attackerteam"]) > 1 and event_var["es_attackerteam"] != event_var["es_userteam"] and event_var["userid"] != "0" and event_var["userid"] != event_var["attacker"]:
      es.dbgmsg(0, "TopPlayers: Validteam ok")
      return 1
   
   es.dbgmsg(0, "TopPlayers: Validteam fails")
   return 0

def player_hurt(event_var):
   if validteam(event_var):
      global db, mostdamage
     
      db[event_var["userid"]]["damage"] += int(event_var["dmg_health"])
     
      if db[event_var["userid"]]["damage"] > mostdamage[1]:
         mostdamage[0] = event_var["userid"]
         mostdamage[1] = db[event_var["userid"]]["damage"]
     
      db[event_var["userid"]]["hits"] += 1

def player_death(event_var):
   if validteam(event_var):
      global db, mostkills, mostknkills
     
      db[event_var["attacker"]]["kills"] += 1
     
      if db[event_var["attacker"]]["kills"] > mostkills[1]:
         mostkills[0] = event_var["userid"]
         mostkills[1] = db[event_var["attacker"]]["kills"]
     
      if event_var["weapon"] == "weapon_knife":
         db[event_var["attacker"]]["knkills"] += 1
         
         if db[event_var["attacker"]]["knkills"] > mostknkills[1]:
            mostknkills[0] = event_var["userid"]
            mostknkills[1] = db[event_var["attacker"]]["knkills"]

def round_end(event_var):
   if mostkills[1] > 0:
      es.msg("#multi", "#green[MOST KILLS]#lightgreen %s: %i Kills und %i Hits" % (es.getplayername(db[mostkills[0]]), mostkills[1], db[str(db[mostkills[0]]["hits"])]))
   
   if mostdamage[1] > 0:
      es.msg("#multi", "#green[MOST DAMAGE]#lightgreen %s: %i Damage und %i Hits" % (es.getplayername(db[mostdamage[0]]), mostdamage[1], db[str(db[mostdamage[0]]["hits"])]))
   
   if mostknkills[1] > 0:
      es.msg("#multi", "#green[MOST KNIFE KILLS]#lightgreen %s: %i Knife Kills" % (es.getplayername(db[mostknkills[0]]), mostknkills[1]))
   
   
   global mostkills, mostdamage, mostknkills
   mostkills = [0, 0]
   mostdamage = [0, 0]
   mostknkills = [0, 0]


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

11

Mittwoch, 4. Juni 2008, 12:37

Re: Problem mit top_players Script seit Version:2.0.0.247

schäm mich ja schon langsam das wieder schreiben zu müssen:
aber es tut sich leider immer noch nix :-(

Gibt nun keinen Fehler mehr beim Laden des Skripts, es wird aber einfach nichts am Rundenende angezeigt

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

12

Mittwoch, 4. Juni 2008, 15:39

Re: Problem mit top_players Script seit Version:2.0.0.247

[Testmodus]

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import es

db = {}
mostkills = [0, 0]
mostdamage = [0, 0]
mostknkills = [0, 0]

def load():
   es.ServerVar("tp_version", "TopPlayers v2.0 Python by Chrisber").makepublic()

def player_disconnect(event_var):
   global db
   
   if db.has_key(event_var["userid"]):
      del db[event_var["userid"]]

def player_activate(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def player_spawn(event_var):
   zuruecksetzen(event_var["userid"], event_var["es_username"])

def zuruecksetzen(userid, username):
   global db
   
   db[userid] = {
      "name":username,
      "kills":0,
      "damage":0,
      "knkills":0,
      "hits":0
   }

def validteam(event_var):
   if int(event_var["es_attackerteam"]) > 1 and event_var["es_attackerteam"] != event_var["es_userteam"] and event_var["userid"] != "0" and event_var["userid"] != event_var["attacker"]:
      es.dbgmsg(0, "TopPlayers: Validteam ok")
      return 1
   
   es.dbgmsg(0, "TopPlayers: Validteam fails")
   return 0

def player_hurt(event_var):
   if validteam(event_var):
      global db, mostdamage
     
      db[event_var["userid"]]["damage"] += int(event_var["dmg_health"])
     
      if db[event_var["userid"]]["damage"] > mostdamage[1]:
         mostdamage[0] = event_var["userid"]
         mostdamage[1] = db[event_var["userid"]]["damage"]
     
      db[event_var["userid"]]["hits"] += 1

def player_death(event_var):
   if validteam(event_var):
      global db, mostkills, mostknkills
     
      db[event_var["attacker"]]["kills"] += 1
     
      if db[event_var["attacker"]]["kills"] > mostkills[1]:
         mostkills[0] = event_var["userid"]
         mostkills[1] = db[event_var["attacker"]]["kills"]
     
      if event_var["weapon"] == "weapon_knife":
         db[event_var["attacker"]]["knkills"] += 1
         
         if db[event_var["attacker"]]["knkills"] > mostknkills[1]:
            mostknkills[0] = event_var["userid"]
            mostknkills[1] = db[event_var["attacker"]]["knkills"]

def round_end(event_var):
   es.msg(mostkills[1])
   if mostkills[1] > 0:
      es.msg("#multi", "#green[MOST KILLS]#lightgreen %s: %i Kills und %i Hits" % (es.getplayername(db[mostkills[0]]), mostkills[1], db[str(db[mostkills[0]]["hits"])]))
   
   es.msg(mostdamage[1])
   if mostdamage[1] > 0:
      es.msg("#multi", "#green[MOST DAMAGE]#lightgreen %s: %i Damage und %i Hits" % (es.getplayername(db[mostdamage[0]]), mostdamage[1], db[str(db[mostdamage[0]]["hits"])]))
   
   es.msg(mostknkills[1])
   if mostknkills[1] > 0:
      es.msg("#multi", "#green[MOST KNIFE KILLS]#lightgreen %s: %i Knife Kills" % (es.getplayername(db[mostknkills[0]]), mostknkills[1]))
   
   
   global mostkills, mostdamage, mostknkills
   mostkills = [0, 0]
   mostdamage = [0, 0]
   mostknkills = [0, 0]
[/Testmodus]

Dort müsste dann pro Rundenende 3 Zahlen im Chat stehen.

So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

13

Dienstag, 17. Juni 2008, 08:59

Re: Problem mit top_players Script seit Version:2.0.0.247

Huhu!

War leider nicht mehr zum testen gekommen, da sich nacheinander erst meine GraKa und dann mein TFT verabschiedet hatten... :-(

Mein Kollege hatte zwischenzeitlich das alte top_players Script wieder geladen und dies funktioniert nun schon seit einigen Tagen ohne Abstürze...

Das soll mal einer verstehen atak