You are not logged in.

speddy

Trainee

  • "speddy" started this thread

Posts: 64

Location: Ansbach

  • Send private message

1

Monday, February 9th 2009, 4:41pm

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

Beginner

Posts: 16

Location: Eschwege

Occupation: Verfahrensmechaniker

  • Send private message

2

Tuesday, February 10th 2009, 7:45am

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ß


speddy

Trainee

  • "speddy" started this thread

Posts: 64

Location: Ansbach

  • Send private message

3

Tuesday, February 10th 2009, 11:29am

Re: Spec zeit Anzeigen

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

Anubis

Professional

Posts: 769

Location: Ulm

  • Send private message

4

Tuesday, February 10th 2009, 2:15pm

Re: Spec zeit Anzeigen

Quoted from ""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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

5

Tuesday, February 10th 2009, 3:34pm

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.

speddy

Trainee

  • "speddy" started this thread

Posts: 64

Location: Ansbach

  • Send private message

6

Tuesday, February 10th 2009, 4:35pm

Re: Spec zeit Anzeigen

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

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

7

Tuesday, February 10th 2009, 8:09pm

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.

speddy

Trainee

  • "speddy" started this thread

Posts: 64

Location: Ansbach

  • Send private message

8

Tuesday, February 10th 2009, 8:32pm

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 :)

speddy

Trainee

  • "speddy" started this thread

Posts: 64

Location: Ansbach

  • Send private message

9

Saturday, February 14th 2009, 11:34am

Re: Spec zeit Anzeigen

Kann mir keiner helfen ? zwinker

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

10

Saturday, February 14th 2009, 3:13pm

Re: Spec zeit Anzeigen

Hi.
Hatte ich ganz vergessen, Sorry :P

Source code

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:

Source code

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.

speddy

Trainee

  • "speddy" started this thread

Posts: 64

Location: Ansbach

  • Send private message

11

Saturday, February 14th 2009, 4:02pm

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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

12

Saturday, February 14th 2009, 5:03pm

Re: Spec zeit Anzeigen

:P
SteamIDs deiner Admins bitte oben eintragen.

Source code

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.