Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

1

Freitag, 19. September 2008, 01:07

Kann mir jemand ein Script schreiben?

Ich habs noch nicht so mit dem eigenen Scripten, deshalb frage ich mal hier an.

Und zwar möchte ich, das auf meinem Gungame Server zu bestimmten Events
des Spiels, diverse Scripte geladen/gestoppt werden. Da ich nicht oder ungern
im Gungame Code selber rumpfuschen möchte, müsste das Ganze per externem
Script geregelt werden.

Das sähe dann folgendermaßen aus:

Wenn sv_friendlyfire 1, dann: es_load omgot_ammo
Wenn gg_win, dann: es_unload omgot_ammo, es_unload anticamp

Das wars auch schon. Das Script selber könnte man ja gungame_addons
nennen so das ich es in der autoexec mit es_load gungame_addons immer
mitlaufen lassen kann.

THX für jegliche Hilfe right

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

2

Freitag, 19. September 2008, 14:22

Re: Kann mir jemand ein Script schreiben?

Hi.
Kopieren nach addons/eventscripts/eventmanager/eventmanager.py (erstellen) und es_xload eventmanager in die cfg/server.cfg oder cfg/autoexec.cfg[i] kopieren.

Code:

Quellcode

1
2
3
4
5
6
7
8
9
import es

def server_cvar(event_var):
	if event_var["cvarname"] == "sv_friendlyfire" and event_var["cvarvalue"] == "1":
		es.load("omgot_ammo")

def gg_win(event_var):
	es.unload("omgot_ammo")
	es.unload("anticamp")


Falls du noch mehr Events brauchst, sag bescheid ;)

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

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

3

Freitag, 19. September 2008, 18:09

Re: Kann mir jemand ein Script schreiben?

Ja geil, vielen Dank. Ich schau erstmal ob das alles funktioniert ( hoffe mal das dem Server das mittem im Gungame Getümmel nicht zu viel ist, mehrere Plugins auf einmal zu laden/stoppen. Aber wenn noch was dazukommt melde ich mich einfach. right

PS: Eine Frage noch: Du schreibst es_xload und nicht es_load....macht das einen Unterschied? Muss das sein?

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

4

Freitag, 19. September 2008, 18:35

Re: Kann mir jemand ein Script schreiben?

Hehe :D
Ja, also es_x Kommandos sind schneller als es_ Kommandos, habe es mir halt früher so angewöhnt, als ich noch mit EventScripts Shell geschrieben habe, und anscheinend habe ich es bis heute nicht vergessen ;)

Ist aber eigentlich egal beim Laden eines Scriptes, da dass Kommando nur einmal ausgeführt wird, ob du nun "es_xload" oder "es_load" schreibst merkst du in der Praxis einfach nicht mehr (besonders seit EventScripts 2.0.X, da alle Kommandos nun direkt durch den Sourcewrapper laufen, der Unterschied ist theorethisch = NULL).

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

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

5

Freitag, 19. September 2008, 21:29

Re: Kann mir jemand ein Script schreiben?

Hmm scheint leider nicht zu klappen. Hab im HLSW manuell gestartet und es hiess auch "Loaded:Eventmanager".
Aber Ingame tut sich leider nix. Ich habe mal gehört, das Gungame3 keine Events benutzt. Kann es also daran
liegen das das Script gar nicht erkennt, wenn Gungame ab dem letzten Waffenlevel sv_friendlyfire auf 1 setzt?

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

6

Freitag, 19. September 2008, 23:34

Re: Kann mir jemand ein Script schreiben?

Hi.
Achso, du benutzt GG3.
Dann würd ich es so machen - funktionieren tut es btw. nicht, da die Variable "mp_"- und nicht "sv_friendlyfire" heißt ;)

Quellcode

1
2
3
4
5
6
7
8
9
import es

def game_end(event_var):
   es.unload("omgot_ammo")
   es.unload("anticamp")

def server_cvar(event_var):
   if event_var["cvarname"] == "mp_friendlyfire" and event_var["cvarvalue"] == "1":
      es.load("omgot_ammo")


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

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

7

Freitag, 19. September 2008, 23:56

Re: Kann mir jemand ein Script schreiben?

Sorry, hätte ich vielleicht eher erwähnen sollen. War mir auch nicht sicher ob das nun stimmt mit den Events oder nicht. Ich probiers jedenfalls gleich mal aus. Danke dir nochmal für den Moment.

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

8

Samstag, 20. September 2008, 00:22

Re: Kann mir jemand ein Script schreiben?

Also:
-----------
Das ENTladen von Anticamp klappt nicht. Wenn ich mir das von dir gepostete Script anschaue,
sehe ich als "Event" game_end. Vielleicht liege ich falsch aber bei gungame3 ist es gg_win.
Es soll schliesslich der Gewinn einer Map der Ausschlaggebende Zeitpunkt sein. Bei der
nächsten Map würde anticamp dann wieder automatisch per autoexec gestartet werden.

Das Laden von omgot_ammo klappt super. Ich habe zwar vergessen zu erwähnen, das ich ab Ende
der Map das auch sofort wieder entladen haben möchte, aber das dürfte doch per es_unload omgot_ammo
Eintrag in der autoexec auch zu bewerkstelligen sein oder? Somit würde es nur ab mp_friendlyfire 1 laufen
und ab der nächsten Map wieder entladen sein.

Nochmal zu Verdeutlichung:
-------------------------

- Ab mp_friendlyfire 1 soll

omgot_ammo geladen werden ( klappt )

- Ab gg_win sollen

anticamp und omgot_ammo entladen werden ( klappt nicht )

- Ab der nächsten Map würde NUR

anticamp wieder per autoexec Eintrag wieder laufen. ( läuft, aber omgot_ammo auch )

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

9

Samstag, 20. September 2008, 02:03

Re: Kann mir jemand ein Script schreiben?

Hi.
Naja, ich habe es doch schon gesagt, GunGame3 versendet kein gg_win Event :/
Also müssetest du es entweder so machen, dass wir "est_map_end" benutzen, oder wir müssen direkt ins GunGame Script eingreifen..

Teste dass hier noch einmal (ES_TOOLS sollte ja installiert sein, richtig?):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
import es

def est_map_end(event_var):
   es.unload("omgot_ammo")
   es.unload("anticamp")

def gg_win():
   es.unload("omgot_ammo")
   es.unload("anticamp")

def server_cvar(event_var):
   if event_var["cvarname"] == "mp_friendlyfire" and event_var["cvarvalue"] == "1":
      es.load("omgot_ammo")


Wenn dass nicht geht, mache folgendes:
1. Öffne addons/eventscripts/gungame3/es_gungame3.txt
2. Gehe zu Zeile 1586,

Quellcode

1
				es_xdoblock gungame3/winner_reset

3. Erstelle nach der Zeile 1586 eine neue Zeile und schreibe folgendes hinein:

Quellcode

1
				es_xdoblock eventmanager/gg_win

4. Speichern, hochladen.

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

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

10

Samstag, 20. September 2008, 03:30

Re: Kann mir jemand ein Script schreiben?

Alles klar, ich werd das mal versuchen. Ich seh schon wenn das nicht klappt, klappt´s halt nicht.
ES Tools ist übrigens korrekt installiert. Ich danke dir auf jeden Fall für deine Mühen, und ich
werd dir morgen mal schreiben, ob´s denn nun geklappt hat. bigsmile

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

11

Sonntag, 21. September 2008, 04:01

Re: Kann mir jemand ein Script schreiben?

So, letzter Zwischenstand:

- Das Laden/Entladen von omgot_ammo funktioniert perfekt
- Anticamp wird durch das map_end Event natürlich auch erst direkt am Mapende entladen und nicht wie geplant in
der 15sekündigen Phase von gg_win/mapende ( also die Zeit in der die Spieler das Scoreboard betrachten können ).

Das liegt natürlich nicht an deinem Script sondern halt an der Tatsache, das das Entladen beider Addons erst bei
map_end möglich ist und nicht ab gg_win, da es ja kein Event ist. Ich werde also in Zukunft nur das omgot_ammo
Addon Laden/Entladen lassen, denn erst bei Mapende bringts ja auch nix wenn noch mal schnell das Anticamp Addon
entladen wird.

Ich denke ich werde mich noch bis zum offiziellen Release von Gungame Python gedulden müssen, denn dort
kann man sicherlich viel besser mit Events arbeiten als bei GG3. Dir jedenfalls trotzdem ganz großen Dank für
deine Mühen, du hast mir sehr geholfen. right

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

12

Sonntag, 21. September 2008, 05:26

Re: Kann mir jemand ein Script schreiben?

Zitat von »Chrisber«

Wenn dass nicht geht, mache folgendes:
1. Öffne addons/eventscripts/gungame3/es_gungame3.txt
2. Gehe zu Zeile 1586,

Quellcode

1
				es_xdoblock gungame3/winner_reset

3. Erstelle nach der Zeile 1586 eine neue Zeile und schreibe folgendes hinein:

Quellcode

1
				es_xdoblock eventmanager/gg_win

4. Speichern, hochladen.


Das hast du aber noch nicht gemacht lovu

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

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

13

Sonntag, 21. September 2008, 13:11

Re: Kann mir jemand ein Script schreiben?

Ach stimmt, hatte ich jetzt völlig verbaselt. Also, auf ein neues... alco

EDIT: Bin grad ein wenig verwirrt. Muss jetzt trotzdem noch es_load eventmanager
in der autoexec.cfg stehen oder nicht? :?:

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

14

Montag, 22. September 2008, 14:17

Re: Kann mir jemand ein Script schreiben?

Es klappt einfach nicht...

Wie zuvor wird Anticamp nicht wieder geladen. Omgot_ammo funzt wieder super. Ich werde also wie gehabt, nur Omgot_ammo über das Plugin laden/entladen. keinahn

Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

15

Montag, 22. September 2008, 15:31

Re: Kann mir jemand ein Script schreiben?

Hehe - da kommt mir noch eine Idee!
Dann mache doch einfach

Quellcode

1
es_xunload anticamp
in den "unload"-Block von dem Omgot_Ammo Script - wie wäre das :D?

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

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

16

Montag, 22. September 2008, 17:58

Re: Kann mir jemand ein Script schreiben?

Das könnte klappen, aber ich werde erstmal wieder etwas warten bis ich das ausprobiere denn ich hab ehrlich gesagt etwas Schiss. Der Server ist mir heute bei laufendem Plugin und 25 Leuten zwei mal bei Mapende abgeschmiert... :(