You are not logged in.

  • "TempletonPeck" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

1

Friday, September 19th 2008, 1:07am

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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

2

Friday, September 19th 2008, 2:22pm

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:

Source code

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

3

Friday, September 19th 2008, 6:09pm

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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

4

Friday, September 19th 2008, 6:35pm

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

5

Friday, September 19th 2008, 9:29pm

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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

6

Friday, September 19th 2008, 11:34pm

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

Source code

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

7

Friday, September 19th 2008, 11:56pm

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

8

Saturday, September 20th 2008, 12:22am

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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

9

Saturday, September 20th 2008, 2:03am

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

Source code

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,

Source code

1
				es_xdoblock gungame3/winner_reset

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

Source code

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

10

Saturday, September 20th 2008, 3:30am

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

11

Sunday, September 21st 2008, 4:01am

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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

12

Sunday, September 21st 2008, 5:26am

Re: Kann mir jemand ein Script schreiben?

Quoted from "Chrisber"

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

Source code

1
				es_xdoblock gungame3/winner_reset

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

Source code

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

13

Sunday, September 21st 2008, 1:11pm

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

14

Monday, September 22nd 2008, 2:17pm

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

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

15

Monday, September 22nd 2008, 3:31pm

Re: Kann mir jemand ein Script schreiben?

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

Source code

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" started this thread

Posts: 2,498

Location: Schwelm

Occupation: Immobilien-Verwalter / Serveradministrator

wcf.user.option.userOption53: Nein

  • Send private message

16

Monday, September 22nd 2008, 5:58pm

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... :(