Sie sind nicht angemeldet.

1

Montag, 9. Februar 2009, 16:41

Spec zeit Anzeigen

Hallo

Bei uns am Server können die Leute in den Spec gehen nur manche übertreiben es und übernachten da drin. Nun meine Frage ist gibt es mit Eventscript eine möglich keit hinter den Leuten die Zeit anzuzeigen wie lange diese schon im Spec sind ? muss ja nicht sekunden ganau gehen.
Oder einfach anzeigen wie viele runden sie schon im spec sind ?

mfg speddy

KeLcO

Anfänger

Beiträge: 16

Wohnort: Eschwege

Beruf: Verfahrensmechaniker

  • Nachricht senden

2

Dienstag, 10. Februar 2009, 07:45

Re: Spec zeit Anzeigen

Hab ich noch nichts von gehört das es so etwas gibt, warum lässt du sie denn nicht einfach nach X Runden oder X Minuten vom Server kicken, dafür gibt es einige AFK-Manager für Eventscript und Sourcemod!

Gruß


3

Dienstag, 10. Februar 2009, 11:29

Re: Spec zeit Anzeigen

Ja das weis ich das es sowas gibt, das wollte ich aber nicht. Ich wollte sowas mit Zeitanzeige. zwinker

4

Dienstag, 10. Februar 2009, 14:15

Re: Spec zeit Anzeigen

Zitat von »"speddy"«

Ja das weis ich das es sowas gibt, das wollte ich aber nicht. Ich wollte sowas mit Zeitanzeige. zwinker


Was verstehst du unter Zeitanzeige?
Meinst du damit, wie lange er schon AFK ist oder bis wann er gekickt wird??


Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

5

Dienstag, 10. Februar 2009, 15:34

Re: Spec zeit Anzeigen

Hi.
Nein, dann müsste man sekündlich seinen Namen ändern, geht nicht.
Man könnte nen Popup anzeigen lassen was sekündlich geupdatet wird, wenn man z.B. !Zeit in den Chat schreibt.

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

6

Dienstag, 10. Februar 2009, 16:35

Re: Spec zeit Anzeigen

Und wie würde das den ungefähr aussehen mit den Popup ?

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

7

Dienstag, 10. Februar 2009, 20:09

Re: Spec zeit Anzeigen

Links wird halt ein Fenster angezeigt, welches du kennen solltest (aus Votes, Deathmatch oder RPG z.B.).

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

8

Dienstag, 10. Februar 2009, 20:32

Re: Spec zeit Anzeigen

bin in Sachen eventscript nicht mehr so gut könntest mir bitte ne kleine Hilfe geben beim code aber nicht in Python :)

9

Samstag, 14. Februar 2009, 11:34

Re: Spec zeit Anzeigen

Kann mir keiner helfen ? zwinker

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

10

Samstag, 14. Februar 2009, 15:13

Re: Spec zeit Anzeigen

Hi.
Hatte ich ganz vergessen, Sorry :P

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, time, gamethread



#
# Konfiguration
#
# Zum anzeigen des Popups der Spieler inklusive Zeit (alles kleinschreiben!!!)
kommando = "!spec"
# Titel des Popups
titel = "Zuschauer Zeitanzeige"
# Trenner der Liste im Popup
trenner = "---------------"
# Update-Timer - bestimmt, nach wie vielen Sekunden das Popup geupdatet werden soll
timer = 1




#
# Code - nichts veraendern!
#
def load():
	global db, opened, text
	db = {}
	opened = []
	text = ""
	
	gamethread.delayed(timer, updatePopup)

def player_team(event_var):
	userid = int(event_var["userid"])
	
	if event_var["team"] == "1":
		db[userid] = time.time()
	elif userid in db:
		del db[userid]

def player_disconnect(event_var):
	userid = int(event_var["userid"])
	
	if userid in db:
		del db[userid]
	
	if userid in opened:
		opened.remove(userid)

def player_say(event_var):
	userid = int(event_var["userid"])
	
	if event_var["text"].lower().strip() == kommando and userid not in opened:
		opened.append(userid)
		sendPopup(userid)

def es_client_command(event_var):
	if event_var["command"] != "menuselect" or not event_var["commandstring"].isdigit():
		return
	
	userid = int(event_var["userid"])
	
	if userid in opened:
		choice = int(event_var["commandstring"])
		
		if choice != 9:
			sendPopup(userid)
		elif choice == 9:
			opened.remove(userid)

def updatePopup():
	global text
	text = "%s\n%s\n" % (titel, trenner)
	
	for userid in db:
		dauer = time.time() - db[userid]
		text += "%s - %0.2i:%0.2i\n" % (es.getplayername(userid), dauer / 60, dauer % 60)
	
	text += "%s\n->9. Schliessen" % trenner
	
	for userid in opened:
		sendPopup(userid)
	
	gamethread.delayed(timer, updatePopup)

def sendPopup(userid):
	es.menu(timer, userid, text, "9")


Konfiguration wie immer oben.
Einfach nach addons/eventscripts/spectime/spectime.py kopieren (neue Dateien / Ordner erstellen) und nun noch folgendes in die cfg/autoexec.cfg _oder_ in die cfg/server.cfg packen:

Quellcode

1
es_xload spectime

Mindest ES-Version: 2.0.242
Nun können deine Benutzer mit dem angegebenen Kommando die Speczeit in der Form Minuten:Sekunden ansehen.

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

11

Samstag, 14. Februar 2009, 16:02

Re: Spec zeit Anzeigen

hey Danke schön meinen besten Dank

Ist es für dich noch viel arbeit das nur für admins zu zulassen ?

greetz speddy

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

12

Samstag, 14. Februar 2009, 17:03

Re: Spec zeit Anzeigen

:P
SteamIDs deiner Admins bitte oben eintragen.

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
89
90
91
import es, time, gamethread



#
# Konfiguration
#
# Zum anzeigen des Popups der Spieler inklusive Zeit (alles kleinschreiben!!!)
kommando = "!spec"
# Titel des Popups
titel = "Zuschauer Zeitanzeige"
# Trenner der Liste im Popup
trenner = "---------------"
# Update-Timer - bestimmt, nach wie vielen Sekunden das Popup geupdatet werden soll
timer = 1
# Adminliste - alle SteamIDs deiner Admins hier eintragen
admins = ["STEAM_A:A:AAAAAAAA", "STEAM_B:B:BBBBBBBB"]




#
# Code - nichts veraendern!
#
def load():
   global db, opened, text
   db = {}
   opened = []
   text = ""
   
   gamethread.delayed(timer, updatePopup)

def player_team(event_var):
   userid = int(event_var["userid"])
   
   if event_var["team"] == "1":
      db[userid] = time.time()
   elif userid in db:
      del db[userid]

def player_disconnect(event_var):
   userid = int(event_var["userid"])
   
   if userid in db:
      del db[userid]
   
   if userid in opened:
      opened.remove(userid)

def player_say(event_var):
   userid = int(event_var["userid"])
   
   if event_var["es_steamid"] not in admins:
      es.tell(userid, "#multi", "#lightgreenDu hast keinen Zugriff als normaler Benutzer auf #greenSpecTime#lightgreen!")
      return
   
   if event_var["text"].lower().strip() == kommando and userid not in opened:
      opened.append(userid)
      sendPopup(userid)

def es_client_command(event_var):
   if event_var["command"] != "menuselect" or not event_var["commandstring"].isdigit():
      return
   
   userid = int(event_var["userid"])
   
   if userid in opened:
      choice = int(event_var["commandstring"])
      
      if choice != 9:
         sendPopup(userid)
      elif choice == 9:
         opened.remove(userid)

def updatePopup():
   global text
   text = "%s\n%s\n" % (titel, trenner)
   
   for userid in db:
      dauer = time.time() - db[userid]
      text += "%s - %0.2i:%0.2i\n" % (es.getplayername(userid), dauer / 60, dauer % 60)
   
   text += "%s\n->9. Schliessen" % trenner
   
   for userid in opened:
      sendPopup(userid)
   
   gamethread.delayed(timer, updatePopup)

def sendPopup(userid):
   es.menu(timer, userid, text, "9")


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