Et-konfig

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Et-konfig as PDF for free.

More details

  • Words: 5,094
  • Pages: 19
stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

stonefred.at » scripting » enemy territory home weblog music digital art web design scripting enemy territory counter strike: source gaming contact

enemy territory scripting Das ist mein Scripting-Tutorial für Return To Castle Wolfenstein: Enemy Territory (ET). Wieso Scripts schreiben? autoexec.cfg erstellen Grundlegende Befehle bind // echo exec set seta tweaking Grafik-Tweaking Maus-Tweaking m_pitch und m_yaw Game-Tweaking Performance-Tweaking Scripts mit vstr Erweitertes Scripting Meine autoexec.cfg Color Codes Vsay List Key List

Wieso Scripts Schreiben? Scripts erlauben viele praktische Funktionen (leider auch einige verbotene). Zum Beispiel ist es mit Scripts möglich, mit Hilfe von 2 tasten, in sekunden-schnelle seinen Nick-Name auf einen vorher festgelegten Fake-Nick zu ändern. Scripts dieser Kategorie sind nicht unbedingt notwendig, aber durchaus praktisch, wenn man nicht erkannt werden will (wenn man zb. gerade einen schlechten Tag hat). Viel sinnvoller hingegen: ein Script, der einen auf Tastendruck Explosions- und Rauch-Effekte ausblenden lässt. Das kann sehr nützlich sein, wenn man auf einem beschädigten Truck oder Tank liegt und durch den Rauch sehen will. Wichtig ist auch, dass man diesen effekt gleich wieder einschalten kann,

1 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

damit man zum Beispiel nicht blindlings in eine Arty läuft! Ein paar eingefleischte ETler werden das vielleicht kennen: man schreibt sich mit viel Arbeit zig Binds und Settings in die Konsole und nach einem Crash vom Spiel, sind alle Binds plötzlich weg. So etwas lässt sich kinderleicht vermeiden, indem man sich eine eigene Config-Datei schreibt. Wie man das alles macht (und noch viel mehr natürlich) lässt sich in diesem Tutorial nachlesen. Eins noch: für das scripten bei Enemy Territory braucht man keine speziellen Vorkenntnisse. Scripten kann jeder! back to top

autoexec.cfg Erstellen Am besten beginnt man mit dem Scripten, indem man sich eine Config-Datei erstellt. Wir gehen wie folgt vor: 1. ins /etmain Verzeichnis wechseln 2. Textdatei erstellen 3. diese aufmachen und abspeichern als autoexec.cfg Damit ist die eigene Config soweit fertig. Zu Testzwecken schreiben wir einmal einen kleinen Code hinein. geht zurück zur autoexec.cfg-Datei und schreibt in die erste Zeile: bind H "vsay_team FTHealMe" (was dieser Befehl genau tut, werde ich später erklären, das ist jetzt noch irrelevant). Als nächstes muss die Datei natürlich gespeichert werden. Ist das getan, steigt ins Spiel ein und connectet auf einen x-beliebigen server. Sobald ihr gespawnt seid, klappt die Konsole mit der taste ^ heruntern (anm.: immer nachdem die Konsole heruntergeklappt wurde 3 mal die rücktaste drücken, sonst habt ihr am Anfang ein ungewolltes ^). Jetzt geben wir folgendes ein: /exec autoexec.cfg und bestätigen mit [enter]. Wenn jetzt die Erfolgsmeldung execing autoexec.cfg

erscheint, ist bis jetzt alles richtig. Als nächstes

testen wir noch den kurzen Code, den wir am Anfang eingegeben haben. Schließt die Konsole mit einem weiteren Druck auf ^ und jetzt drückt einmal auf die Taste H! Jetzt sollte im Chat die meldung "Heal me!" erscheinen. Gleichzeitig hört man im voice-chat die Nachricht gesprochen. Wenn ihr das alles habt, könnt ihr mit dem Tutorial fortfahren! anm.: den befehl /exec autoexec.cfg müsst ihr nur einmal pro Mod eingeben (also einmal bei etmain, etpro, etpub, shrubet). Dann wird dieser bei jedem Spielstart ausgeführt! back to top

Grundlegende Befehle 2 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

bind bind "befehl"

Binds sind unerlässlich für Scripting. Ohne ihnen könnte man keinen Script ausführen. Ein bind ist ein simpler Befehl, mit dem man eine bestimme Aktion auf eine bestimmte Taste legt. Man kann auch eine Aktion auf mehrere Tasten legen oder auf eine Taste mehrere Aktionen. es ist sinnvoll, alle Binds aus dem Spiel in die autoexec.cfg zu schreiben, da man sonst leicht den Überblick verliert und Befehle auf bereits benutzte Tasten legt. Die ganzen "normalen" binds (also zum Beispiel nach vorne gehen, schiessen, nachladen, ...) findet man in der etconfig.cfg-Datei im /etmain Unterverzeichnis des Spieleordners. Am besten man kopiert sich alle Zeilen, die mit "bind" beginnen in seine autoexec.cfg. Die wichtigsten Befehle sind folgende: +forward +back +moveleft +moveright +movedown +moveup +prone

(ducken)

(springen)

(kriechen)

+attack

(Standard-Angriff)

weapalt

(sekundärer Feuermodus; OHNE +!!!)

+sprint +reload

Ein Bind würde dann etwa wie folgt aussehen: bind W "+forward"

// // Kommentar //kommentiert

alles, das danach steht, komplett aus, dh: wird

vom Programm ignoriert. ein Beispiel: // last modification 2008-01-01 Kommentare sollte man einsetzen um die Config zu gliedern. Meine config ist zum beispiel 250 zeilen lang und ohne Kommentaren würde ich mich überhaupt nicht mehr zurechtfinden. Man kann Kommentare aber auch dazu einsetzen, um den sinn eines Befehls zu kommentieren.

echo

3 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

echo "text"

Mit echo kann man jeden x-beliebigen Text am linken Bildschirmrand ausgeben lassen (in der Konsole erscheint der Text natürlich auch). Am häufigsten findet dieser Befehl seine Anwendung bei Erfolgsmeldungen eines ausgefürten Scripts. Ich schlage vor, ihr schreibt in eure autoexec.cfg die Zeile echo "autoexec.cfg erfolgreich ausgeführt!".

Bei echo können auch

Color-Codes verwendet werden!

exec exec "Dateiname"

Diesen Befehl haben wir bereits beim ersten Test der autoexec.cfg kennengelernt. exec ließt eine gewünschte Datei aus, und schreibt alles in die etconfig.cfg. Diesen Befehl benötigt man natürlich, um die autoexec.cfg zu laden. Allerdings kann man damit auch weitere Dateien laden. Viele Spieler teilen ihre autoexec.cfg in mehrere kleinere Dateien, um eine bessere Übersicht zu erreichen. Man kann auch Dateien in einem Unterordner in /etmain laden. Ein Beispiel: exec "config/binds.cfg".

Damit kann man die Datei binds.cfg im

Ordner config laden. Die exec Befehle schreibt man natürlich in die autoexec.cfg!

set set cvar "wert" set

gibt einer Variable bis zum Beenden des Spiels einen

bestimmten Wert. Ein Beispiel: set name "ETPlayer". Hier wird der cvar name der Wert ETPlayer zugewießen. Damit legt man den Namen im Spiel fest. Auch hier können Color-Codes verwendet werden! set

speichert die Variable nur temporär. Möchte man eine

Variable dauerhaft speichern, sodass sie bereits beim Initialisieren des Spiels geladen wird (sehr sinnvoll bei Grafik-Einstellungen, da diese so schneller laden) verwendet man seta.

seta seta cvar "wert" seta

gibt einer Variable dauerhaft einen bestimmten Wert. Ein

Beispiel: seta r_gamma "2.0". Hier wird der cvar r_gamma der Wert 2.0

zugewießen. Damit wird schon beim Initialisieren des

Spiels der Gamma-Wert auf 2.0 angehoben. back to top

Tweaking 4 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

Unter Tweaking versteht man das Einstellen aller Settings (Grafik, Maus, . . .), sodass sie optimal für den Benutzer angepasst sind. Da wir jetzt die grundlegenden Befehle kennen, wird es Zeit die wichtigsten Einstellungen und ihre Werte kennenzulernen. Damit man diesen Einstellungen (auch Variablen oder cvars genannt) einen Wert geben kann, benötigt man die Befehle set oder seta.

Grafik-Tweaking Bei den Grafik-Settings muss man zu allererst Gamma- und Helligkeits-Werte stark erhöhen, um besser sehen zu können: seta r_gamma "2.0"

ein hoher Wert stellt den Gamma-Wert höher (Wertebereich: 0 - 3 | Standard: 1) seta r_intensity "1.2"

ein hoher Wert stellt den Helligkeits-Wert höher(Wertebereich: 0 - 1.5 | Standard: 1.0) seta r_mapOverBrightBits "2.5"

ein hoher Wert macht Schatten heller (Wertebereich: 1 3 | Standard: 2) Als nächstes legen wir Detailstufe, Auflösung und verschiedene Effekte fest: seta r_customwidth "1280"

stellt die Breite der Auflösung ein seta r_customheight "1024"

stellt die Höhe der Auflösung ein seta r_textureMode "GL_LINEAR"

damit kann man den Texturmodus einstellen (mögliche Werte: GL_NEAREST schlechteste Qualität GL_LINEAR mittlere Qualität GL_LINEAR_MIPMAP_NEAREST gute Qualität (bilinear filtering) GL_LINEAR_MIPMAP_LINEAR beste Qualität (trilinear filtering) | Standard: GL_LINEAR_MIPMAP_NEAREST) seta r_picmip "2"

ein hoher Wert verschlechtert die Qualitär der primären Texturen (Wertebereich: 0 - 3 | Standard: 1 seta r_picmip2 "2"

ein hoher Wert verschlechtert die Qualitär der sekundären Texturen (Wertebereich: 0 - 3 | Standard: 1 seta r_detailtextures "0" Ist diese Variable mit 1 aktiviert,

werden alle Texturen ein zweites mal gerendert. Dadurch sehen sie zwar ein wenig detaillierter aus, das kostet aber viel Leistung! (Wertebereich: 0 oder 1 | Standard: 1 seta r_fastsky "1" Mit 1 wird der Himmel

mit einer einzigen Farbe dargestellt. Sieht zwar hässlich aus, bringt aber ein paar Prozente Leistung (Wertebereich: 0 oder 1 | Standard: 0 seta r_drawsun "0"

Diese Variable zeigt, wenn sie mit 1 aktiviert ist, die Sonne an. Da sie spielerisch unwichtig ist, kann man sie

5 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

ohne Bedenken ausschalten (Wertebereich: 0 oder 1 | Standard: 1 seta cg_shadows "0"

Ist diese Variable aktiviert, wird unter dem Spieler ein Schatten angezeigt. Ist eigentlich unwichtig (und nicht recht schön anzusehen), kann also deaktiviert werden (Wertebereich: 0 oder 1 | Standard: 1 seta r_dynamiclight "1"

Diese cvar kommt ein einziges Mal im Spiel vor, und da ist sie sehr wichtig: das gelbe bzw. rote Leuchten des Dynamits. Deshalb sollte sie nicht ausgeschalten werden (Wertebereich: 0 oder 1 | Standard: 1 Nun folgen die Blut einstellungen. Da Blut spielerisch unwichtig ist, und sogar die Sicht verschlechtert, ist es sinnvoll, alle Blut-Variablen auf 0 zu setzen: seta seta seta seta seta seta seta seta

cg_bloodDamageBlend "0.0" cg_bloodtime "0.0000" cg_showblood "1" cg_bloodFlash "0" cg_drawdamagekick "0" cg_drawfallkick "0" cg_damagekick "0" cg_fallkick "0"

Maus-Tweaking Als nächstes sollte man die Maus so einstellen, um ein optimales Aiming erzielen zu können: seta cl_mouseAccel "0"

Diese Variable legt die Maus-Beschleunigung fest und sollte deshalb unbedingt auf 0 gesetzt werden! Es gibt nichts schlechteres beim Aimen als Maus-Beschleunigung! (Wertebereich: 0 - 1 | Standard: 0) seta sensitivity "8"

Diese cvar stellt die Maus-Empfindlichkeit ein. Hier muss jeder selber entscheiden, wie hoch er diesen Wert setzen will (Wertebereich: 1 - 30 | Standard: 5) seta m_yaw "0.022"

horizontale Maus-Geschwindigkeit - genauere Erklärung im nächsten Kapitel m_pitch und m_yaw (Wertebereich: innerhalb von -0.022 und 0.022 | Standard: 0.022) seta m_pitch "0.015"

vertikale Maus-Geschwindigkeit - genauere Erklärung im nächsten Kapitel m_pitch und m_yaw (Wertebereich: außerhalb von -0.015 und 0.015 | Standard: 0.022)

m_pitch und m_yaw Man muss sich bei der Maussteuerung eine Ellipse vorstellen. Bekanntlich hat eine Ellipse 2 Achsen. Die Hauptachse (horizontal) und die Nebenachse (vertikal). m_yaw wäre dann die Hauptachse (mit der Länge 2a) und m_pitch wäre die Nebenachse (Länge 2b). Sind beide Werte gleich groß, sieht die Ellipse wie ein Kreis aus:

6 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

Wenn man den Wert von m_pitch verkleinert, dann sieht das in etwa so aus:

Das gleiche Ergebnis erreicht man natürlich auch, wenn man m_yaw vergrößert. Allerdings wird die ellipse dann viel größer und man muss die Variable sensitivity reduzieren! Man kann aber auch m_yaw verkleinern. Dann sieht die Ellipse in etwa so aus:

Den gleichen Effekt erhält man durch das Vergrößern von m_pitch, jedoch wird die Ellipse dann wieder sehr groß! Wozu das alles gut ist: Wenn man die Maus so einstellt, dass die Steuerung so reagiert, wie die flache Ellipse darstellt (m_pitch kleiner als m_yaw), dann ist es viel leichter in einem flachen Areal Headshots zu verteilen. Befindet man sich allerdings in einem hügeligen Gebiet, muss man die Maus dafür viel weiter nach oben und unten bewegen. Optimal ist, einen Script zu schreiben, der zwischen dem Kreis und der flachen Ellipse umschaltet (die hohe Ellipse ist unnötig, da man damit nichts treffen würde!). Wie das geht erkläre ich in einem späteren Kapitel.

Game-Tweaking 7 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

Im jedem Spiel gibt es verschiedene Einstellungen, die oft im Menü nicht zu finden sind. Einige sind rein spielerische und andere auch grafische Einstellungen. seta cg_noAmmoAutoSwitch "1" Mit 1 wechselt man sofort zu

einer anderen Waffe, wenn die aktuelle komplett leergeschossen wurde. Eine sinnvolle Variable, deshalb würde ich sie aktiviert lassen! (Wertebereich: 0 oder 1 | Standard: 1 seta cg_autoReload "0"

Ist diese Variable aktiviert, dann lädt man automatisch nach, wenn ein Magazin leer ist. Ich würde diese Option deaktivieren, da man in einem Nahkampf noch schnell zur Pistole wechseln kann, wenn der gegner gerade nachlädt. (Wertebereich: 0 oder 1 | Standard: 1 seta cl_allowdownload "1"

Wenn diese Variable mit 1 aktiviert ist, erlaubt man dem Spiel, Daten von einem Server zu laden, falls diese benötigt werden. Wenn man das nicht will, kann man diese Variable auch mit 0 ausschalten, allerdings kann man dann nur noch auf pure Servern spielen! (Wertebereich: 0 oder 1 | Standard: 1 seta cg_fov "90"

Diese cvar stellt den Winkel des sichtbaren Bereichs ein (field of view). Bei einem Menschen ist das optimal 90° (in beide Richtungen), so auch im Spiel. wenn man diesen Wert hinaufsetzt (zb.: 120) sieht man in der Nähe zwar mehr, allerdings wird alles in größerer Entfernung sehr klein und verzogen (wie wenn man durch ein Fernglas von der falschen Seite sieht). In einem späteren Kapitel werde ich erklören, wie man zwischen 2 Werten bequem umschalten kann. (Standard: 90)

Performance-Tweaking Beim Performance-Tweaking versucht man im Spiel eine möglichst hohe FPS (frames per second / bilder pro sekunde)-Rate zu erreichen. Dabei gibt es 3 Werte, an die es sich lohnt zu gelangen: 43, 76, 125. Warum genau diese Zahlen? wenn man eine stabile Frame-Rate auf einem der 3 Werte hat, gibt es minimale Rundungsfehler im Programmcode. Durch eine der genannten Frame-Raten kann man diese Rundungsfehler ausnutzen und so etwas weiter und schneller springen. Dabei gilt, je höher die Frame-Rate, desto besser. Klingt nach Bug-using, ist es aber nicht. Sogar in Clan-Wars ist das erlaubt! Einen Teil des Performance-Tweakings macht bereits das Grafik-Tweaking aus. Alles andere wird hier beschrieben: seta cg_drawfps "n"

Mit dieser Variable wird ein kleiner Frame-Counter am rechten Bildschirmrand angezeigt, der alle n Millisekunden aktualisiert wird. Wenn man jetzt auf einen Server connectet, kann man bei ein paar Maps nachsehen, wie hoch der Wert ungefähr liegt. seta com_maxfps "76"

Damit setzt man eine Grenze, welche die FPS-Rate nicht überschreiten darf. Wenn man den Wert zb. auf 76 stellt, und die durchschnittlichen Werte aber darunter liegen, hat das keinen Sinn. Dann sollte man com_maxfps auf 43

8 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

stellen. seta com_hunkmegs "256"

Hiermit stellt man dem Spiel Arbeitsspeicher zur verfügung. Die Hunkmegs sollten etwa 1/2 des Arbeitsspeichers bekommen (zb.: 256 bei insgesamt 512MB RAM). seta com_zonemegs "128"

Vergleichbar mit den Hunkmegs, allerdings benötigen die die Zonemegs nur 1/4 des Arbeitsspeichers (zb.: 128 bei insgesamt 512MB RAM). seta com_soundmegs "128"

Wie die Zonemegs brauchen die Soundmegs optimal 1/4 des Arbeitsspeichers (zb.: 128 bei insgesamt 512MB RAM). back to top

Scripts mit vstr vstr

ist ein Befehl, der andere Befehle ausführt. Ein kleines

Beispiel dazu: angenommen, wir wollen einen Selfkill ausführen. Eigentlich genügt es, den Befehl kill mit bind auf eine Taste zu legen (zb.: bind K "kill"). Wir versuchen jetzt eine andere möglichkeit, einen Selfkill zu vollführen. Wir deklarieren eine neue Variable mit set und nennen sie selfkill.

Danach schreibt man unter anführungszeichen einen

Befehl. set selfkill "kill"

Damit haben wir unsere erste, eigene Variable erstellt! Jetzt muss sie nur noch ausgeführt werden: bind K "vstr selfkill"

Ich hoffe, das ist soweit klar. Wenn ja, dann können wir unsere Variable selfkill ausbauen. man könnte zum beispiel mit nur einem tastendruck einen Selfkill machen und gleichzeitig eine Nachricht in den Team-Chat schreiben. Eigentlich ist das recht einfach. Dem Sytax zufolge schreibt man einfach jeden zusätzlichen Befehl dazu und trennt sie durch ;. Bei unserem Beispiel würde das dann so aussehen: set selfkill "kill; vsay_team "Ich mache nun einen Selfkill!""

(der Korrektheit halber auf das 2. Anführungszeichen zum Schluss nicht vergessen!) Wie gesagt, so einfach ist das. Und so kann man beliebig viele Befehle miteinander verketten. Jetzt schreiben wir mit vstr sogenannte "Toggle-Scripts". Mit ihnen kann man praktisch den Wert einer Variable durchschalten. Sehr sinnvoll ist das wenn man zb. com_maxfps durch verschiedene Werte durchschalten will (da verschiedene Maps verschieden hohe Hardwareanforderungen haben und deshalb die FPS-Rate immer verschieden ist).

9 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

Um so einen Toggle-Script zu schreiben, muss man nur eine Reihe von Befehlen mittels vstr ausführen. Klingt komplizierter, als es ist. Wir beginnen damit, eine Variable zu deklarieren, die den namen des Scripts trägt (bei der Benennung von Variablen immer logisch vorgehen, sonst kennt man sich bald nicht mehr aus). Nennen wir ihn einfach einmal FPSswitch. Und diese Variable tut nichts anderes, als eine weitere Variable mittels vstr auszuführen. Dann erstellen wir einen Bind für eine x-beliebige Taste (zb. M) mit dem Befehl vstr FPSswitch. Wir benötigen jetzt 3 weitere Variablen, in deren Namen eine der drei wichtigen FPS-Rate-Zahlen steckt (also 43, 76 und 125). Am besten wir nennen sie FPS43, FPS76 und FPS125. Jede dieser Variablen bekommt einmal den Befehl set com_maxfps mit dem Wert, der dem Variablennamen entspricht (zb. bei FPS45: set com_maxfps "43").

Jetzt nehmen wir einmal an, wir haben einen Highend-Rechner, bei dem 125 FPS keine Frage sind. Da macht es Sinn, dass FPSswitch gleich zu Beginn des Spiels die Variable FPS125

lädt. Also schreiben wir als Befehl für FPSswitch: vstr

FPS125.

Soweit alles klar? Mit der taste M wird die Variable FPSswitch geladen. Diese haben wir darauf eingestellt, von selbst die Variable FPS125 zu laden. Und in der steht drinnen, das com_maxfps

den Wert 125 erhalten soll. Jetzt müssen wir noch

einstellen, was passieren soll, wenn M ein weiteres Mal gedrückt wird. Auch das ist eigentlich ziemlich einfach. Wir schreiben nun in die Variable FPS125 einen weiteren Befehl dazu. Dieser stellt FPSswitch

nun um. Hier passen würde: set FPSswitch vstr FPS43.

Nun macht man das gleiche bei FPS43 und FPS76 (nur dass bei FPS43

als nächstes FPS76 geladen werden soll und bei FPS76

FPS125.

Damit man weiß, auf welchen Wert com_maxfps derzeit eingestllt ist, ist es ratsam, das mittels echo auszugeben. Als fertiger Script sieht das dann so aus: bind M "vstr FPSswitch" set FPSswitch "vstr FPS125" set FPS43 "set com_maxfps 43; set FPSswitch vstr FPS76; echo "FPS set to 43"" set FPS76 "set com_maxfps 76; set FPSswitch vstr FPS125; echo "FPS set to 76"" set FPS125 "set com_maxfps 125; set FPSswitch vstr FPS43; echo "FPS set to 125""

Ich weiß, das ist anfangs sehr verwirrend. Aber sobald ihr so einen Script selber geschrieben habt, werdet ihr das System verstehen. Jetzt gibt es noch eine Erweiterung zu vstr. Es ist nämlich

10 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

auch möglich einen Script auszuführen, wenn man eine Taste drückt (bzw. gedrückt hält) und einen anderen, wenn man diese Taste wieder loslässt. Der Sytax sieht wie folgt aus: bind "+vstr variable_1 variable_2

Wenn man die Taste drückt wird Variable_1 so lange ausgeführt, bis man die Taste loslässt. Dann wird Variable_2 ausgeführt. Ein sinnvolles Beispiel ist die One-Key-Arty. Wie dieser script tut: Wenn man die Taste für diesen script drückt wird mit dem Befehl +zoom in die Fernglasansicht umgeschalten. Diese bleibt solange erhalten, bis man die taste loslässt. Dann wird der eigentliche Script ausgeführt. Mit +attack wird die Arty gelegt und zum Schluss wird noch die Fernglasansicht beendet. Der fertige Script sieht dann so aus: bind Q "+vstr arty1 arty2 set arty1 "+zoom" set arty2 "+attack; -attack; wait 10; -zoom"

Jetzt wird der eine oder andere die frage stellen, warum nach +attack der Befehl -attack steht. Beim Bind für die Maustaste steht ja auch nur +attack. warum ist das so? +attack

ist ein befehl. wenn er auf eine taste gelegt wird, wird

er solange ausgeführt, bis die taste losgelassen wird. wenn man diesen Befehl jedoch in einem Script verwenden, würde dieser befehl endlos lange ausgeführt werden. Deshalb muss man ihn mit -attack wieder deaktivieren. Das gleiche gilt auch bei allen anderen Befehlen wie zb. +forward die ein + vor ihrem Namen haben. back to top

Erweitertes Scripting Nun werde ich einige recht sinnvolle Scripts auflisten. Die meisten kann man überall finden, aber der Strafe-Shot-Script ist (anscheinend) ein Unikat!

Namen Change Script set chooseNick "vstr chooseNick1" set chooseNick1 "set chooseNick "vstr chooseNick2"; set setNick "set name "^1ET^7Player""; echo "^1->^7Nick: ^1ET^7Player"" set chooseNick2 "set chooseNick "vstr chooseNick3"; set setNick "set name "^2Fake^5Nick""; echo "^1->^7Nick: ^2Fake^5Nick"" set chooseNick3 "set chooseNick "vstr chooseNick1"; set setNick "set name "^1NickName03""; echo "^1->^7Nick: ^1NickName03"" set setNick "echo "^1->^7Nick: ^7choose a nick first!"" bind X "vstr setNick" bind Z "vstr chooseNick"

auf einer deutschen Tastatur ist das

dann Y Einfach sooft Y drücken, bis der gewünschte Name als mittels

11 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

echo ausgegeben wird - dann mit der Taste X den Namen übernehmen.

Spawn Script (funktioniert nur bei etPro!) set engi "vstr engi1" set engi1 "vstr recycle; class e 1; set engi vstr engi2; say_team "next spawn: ^1Engi_MP"; echo "^1Engi_MP"" set engi2 "class e 2; set engi vstr engi1; say_team "next spawn: ^1Engi_Rifle"; echo "^1Engi_Rifle"" set fieldop "vstr recycle; class f 1; say_team "next spawn: ^1FieldOp"; echo "^1FieldOp"" set soldier "vstr soldier1" set soldier1 "vstr recycle; class s 4; set soldier vstr soldier2; say_team "next spawn: ^1PanzerPussy"; echo "^PanzerPussy"" set soldier2 "class s 5; set soldier vstr soldier3; say_team "next spawn: ^1Mortar"; echo "^17Mortar"" set soldier3 "class s 2; set soldier vstr soldier4; say_team "next spawn: ^1MG42"; echo "^1MG42"" set soldier4 "class s 3; set soldier vstr soldier1; say_team "next spawn: ^1Flamer"; echo "^1Flamer"" set medic "vstr recycle; class m 1; say_team "next spawn: ^1Medic"; echo "^1Medic"" set covop "vstr covop1" set covop1 "vstr recycle; class c 3; set covop vstr classcovop2; say_team "next spawn: ^1CovOp_Garand"; echo "^1CovOp_Garand>"" set covop2 "class c 2; set covop vstr covop3; say_team "next spawn: ^1CovOp_FG42"; echo "^1CovOp_FG42"" set covop3 "class c 1; set covop vstr covop1; say_team "next spawn: ^1CovOp_Sten"; echo "^1CovOp_Sten"" set recycle "set engi vstr engi1; set covop vstr covop1; set soldier vstr soldier1" bind F5 "vstr soldier" bind F6 "vstr medic" bind F7 "vstr engi" bind F8 "vstr fieldop" bind F9 "vstr covop"

Sooft die Taste für eine Klasse drücken, bis die gewünschte Waffe im Team-Chat und mittels echo ausgegeben wird. Dann spawnt man beim nächsten Spawn als diese Klasse mit der gewählten Waffe.

FOV Switch set fovswitch "vstr near" set far "set cg_fov 110; set fovswitch vstr near; echo "^7FOV: ^1110"" set near "set cg_fov 90; set fovswitch vstr far; echo "^7FOV: ^290"" bind X "vstr fovswitch"

Dehr praktisch, da man mit 110 in der Nähe und mit 90 in der Entfernung besser sehen kann.

12 of 19

Strafe-Shot

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

bind E "+vstr strafeshotright0 strafeshotright1" set strafeshotright0 "+attack; +moveright; +sprint" set strafeshotright1 "-attack; -moveright; -sprint"

bind Q "+vstr strafeshotleft0 strafeshotleft1" set strafeshotleft0 "+attack; +moveleft; +sprint" set strafeshotleft1 "-attack; -moveleft; -sprint" Dieser Script ist =Sony= zu verdanken. Er hat mich in einer Email um einen Script gebeten, bei dem man mit einem Tastendruck in eine Richtung strafet, gleichzeitig sprintet und schießt. Daraus ist dann dieser Script entstanden und ich muss sagen, er ist wirklich praktisch!

Weather Toggle set atmosphere "vstr atmosphere0" set atmosphere0 "set cg_atmosphericeffects 0; set atmosphere vstr atmosphere1; echo "^7cg_atmosphericeffects ^10"" set atmosphere1 "set cg_atmosphericeffects 1; set atmosphere vstr atmosphere0; echo "^7cg_atmosphericeffects ^21"" bind X "vstr atmosphere"

Mit diesem Scipt kann man Regen und Schnee ein- oder ausschalten. Ich würde aber schon aus Performancegründen den Wettereffekt dauerhaft deaktivieren.

Wolfparticles Toggle set nebular "vstr nebular0" set nebular0 "set cg_wolfparticles 0; set nebular vstr nebular1; echo "^7cg_wolfparticles ^10"" set nebular1 "set cg_wolfparticles 1; set nebular vstr nebular0; echo "^7cg_wolfparticles ^21"" bind X "vstr nebular"

Dieser Script schaltet die Wolfparticles ein oder aus. Das sind Effekte wie Explosionen, Rauch bei beschädigten Fahrzeugen, etc., nicht jedoch der Rauch der Rauchgranate des Covert Ops. Die Wolfparticles sollte man nicht ständig ausschalten, da man sonst ahnungslos in Arties oder Airstrikes läuft. Ich schalte diesen Wert per Taste nur auf 0, wenn ich durch den schwarzen Rauch des Panzers sehen will. Erwähnenswert ist auch, dass man von manchen Servern bei der Einstellung 0 vom PunkBuster gekickt wird.

One Key Arty set arty1 "+zoom" set arty2 "+attack; -attack; wait 10; -zoom" bind x "+vstr arty1 afty2"

Diesen Script habe ich bereits im Kapitel Scripts mit vstr genau erklärt. Wenn man Field-Ops ist, kann man, während man eine

13 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

x-beliebige Waffe hält, mit diesem Script sofort eine Arty setzen. Natürlich sollte man schon vorher auf die richtige Stelle zielen. Optional kann man die Taste auch gedrückt halten. Dann sieht man alles mit der Fernglasansicht. Wenn man die Taste loslässt, wird die Arty gelegt.

180° Turn bind X "set com_maxfps 40; set cl_yawspeed 13900; +left; wait 2; -left; set cl_yawspeed 140; com_maxfps 76;"

Auch ein netter Script. Auf Tastendruck dreht man sich (auch während man sich bewegt) um 180°. back to top

Meine Config Das ist meine aktuellste Config. Sie ist sehr aufwendig und umfangreich. Da ich gerne alles beisammen habe, ist alles in einer einzigen Datei. autoexec.cfg downloaden Achtung! Falls jemand die Config verwenden will, müssen auch hier Rechnerspezifische Einstellungen nachbearbeitet und angepasst werden (Auflösung und Speicherzuteilung)! back to top

Color Codes Wenn man irgendeine Programmausgabe (name, echo, im chat: say, say_team) in einer bestimmte Farbe haben will, benötigt man die Color Codes. Diese beginnen grundsätzlich mit ^. Danach kommt eine Ziffer oder ein Buchstabe. hier eine liste aller vorhandenen Color Codes: code....output ^1 ---> rot ^2 ---> grün ^3 ---> gelb ^4 ---> blau ^5 ---> türkis ^6 ---> pink ^7 ---> weiss ^8 ---> orange ^9 ---> grau ^a ---> orange ^b ---> blau-grün ^c ---> violet ^d ---> hell-blau ^e ---> lavendel

14 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

^f ---> hell-blau ^g ---> hell-grün ^h ---> dunkel-grün ^i ---> rot ^j ---> dunkel-rot ^k ---> braun ^l ---> beige ^m ---> dunkel-gelb ^n ---> creme ^o ---> hell-gelb ^p ---> schwarz ^q ---> rot ^r ---> grün ^s ---> gelb ^t ---> blau ^u ---> türkis ^v ---> pink ^w ---> weiss ^x ---> orange ^y ---> grau ^z ---> hell-grau

ACHTUNG: Wenn man im Spiel selbst einen Color Code benutzen will und auf ^ drückt, dann öffnet sich die Konsole. Wenn man diese mit ^ wieder schließt, nicht vergessen auf die Rücktaste zu drücken! back to top

vSay List Manchmal ist es praktisch, sich einige wichtige Einträge aus dem Quick-Chat-Menü auf einige Tasten zu legen. Alle diese Chat-Codes funktionieren mit den Befehlen vsay (für alle hörbar) und vsay_team (nur für das eigene Team hörbar). Außerdem sind einige Quick-Chat-Voices nicht im Voice-Menü enthalten. Deshalb gibts hier eine komplette Liste: Code........................Ausgabe PathCleared --------------> "Path cleared." EnemyWeak ----------------> "The enemy is weakened." AllClear -----------------> "All clear." Incoming -----------------> "Incoming!" FireInTheHole ------------> "Fire in the hole!" OnDefense ----------------> "I'm on defense." OnOffense ----------------> "I'm attacking." TakingFire ---------------> "Taking fire!" MinesCleared -------------> "Mines cleared." NeedBackup ---------------> "I need backup!" CoverMe ------------------> "Cover me!" NeedEngineer -------------> "We need an engineer!" NeedOps ------------------> "We need Covert Ops!" Medic --------------------> "Medic!"

15 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

NeedAmmo -----------------> "I need ammo!" WhereTo ------------------> "Where to?" FollowMe -----------------> "Follow me!" LetsGo -------------------> "Let's go!" Move ---------------------> "Move!" ClearPath ----------------> "Clear the path!" HoldFire -----------------> "Hold fire!" DefendObjective ----------> "Defend our objective!" DisarmDynamite -----------> "Disarm the dynamite!" ClearMines ---------------> "Clear the mines!" ReinforceDefense ---------> "Reinforce the defense!" ReinforceOffense ---------> "Reinforce the offense!" DestroyPrimary -----------> "Destroy the primary objective!" DestroySecondary ---------> "Destroy the secondary objective!" DestroyConstruction ------> "Destroy the construction!" ObjectiveDestroyed -------> "Objective destroyed!" RepairVehicle ------------> "Repair the vehicle!" DestroyVehicle -----------> "Destroy the vehicle!" EscortVehicle ------------> "Escort the vehicle!" FireOnTarget -------------> "Fire on my target!" CommandAcknowledged ------> "Command acknowledged!" CommandDeclined ----------> "Command declined!" CommandCompleted ---------> "Command completed!" ConstructionCommencing ---> "Construction underway!" ConstructionCompleted ----> "Construction completed!" ConstructionDestroyed ----> "Construction destroyed!" Affirmative --------------> "Yes!" Negative -----------------> "No!" Thanks -------------------> "Thanks a lot!" Welcome ------------------> "You're welcome." Oops ---------------------> "Oops!" Sorry --------------------> "Sorry!" Hi -----------------------> "Hi!" Bye ----------------------> "Bye." Cheer --------------------> "Yeah!" GreatShot ----------------> "Great shot!" GoodGame -----------------> "Good game!" IamSoldier ---------------> "I'm a soldier." IamMedic -----------------> "I'm a medic." IamEngineer --------------> "I'm an engineer." IamFieldOps --------------> "I'm a field ops." IamCovertOps -------------> "I'm a covert ops." FTAttack -----------------> "Attack!" FTFallBack ---------------> "Fall back!" FTCoverMe ----------------> "Cover me!" FTCoveringFire -----------> "Covering fire!" FTMortar -----------------> "Deploy mortar!" FTHealSquad --------------> "Heal the squad!" FTHealMe -----------------> "Heal me!" FTReviveTeamMate ---------> "Revive team mate!" FTReviveMe ---------------> "Revive me!" FTDestroyObjective -------> "Destroy objective!" FTRepairObjective --------> "Repair objective!"

16 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

FTConstructObjective -----> "Construct the objective!" FTDisarmDynamite ---------> "Disarm the dynamite!" FTDeployLandmines --------> "Deploy landmines!" FTDisarmLandmines --------> "Disarm landmines!" FTCallAirStrike ----------> "Call airstrike!" FTCallArtillery ----------> "Call artillery!" FTMortarBarrage ----------> "Call mortar barrage!" FTResupplySquad ----------> "Resupply squad!" FTResupplyMe -------------> "Resupply me!" FTExploreArea ------------> "Explore area!" FTExploreAtCoordinates ---> "Explore at co-ordinates!" FTSatchelObjective -------> "Destroy satchel objective!" FTInfiltrate -------------> "Infiltrate!" FTGoUndercover -----------> "Go undercover!" FTProvideSniperCover -----> "Provide sniper cover!"

back to top

Key List Hier ist eine Liste mit allen Tasten und deren Code: Taste.................Code A ------------------> A B ------------------> B C ------------------> C D ------------------> D E ------------------> E F ------------------> F G ------------------> G H ------------------> H I ------------------> I J ------------------> J K ------------------> K L ------------------> L M ------------------> M N ------------------> N O ------------------> O P ------------------> P Q ------------------> Q R ------------------> R S ------------------> S T ------------------> T U ------------------> U V ------------------> V W ------------------> W X ------------------> X Y ------------------> Z Z ------------------> Y 0 ------------------> 0 1 ------------------> 1 2 ------------------> 2 3 ------------------> 3

17 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

4 ------------------> 4 5 ------------------> 5 6 ------------------> 6 7 ------------------> 7 8 ------------------> 8 9 ------------------> 9 F1 -----------------> F1 F2 -----------------> F2 F3 -----------------> F3 F4 -----------------> F4 F5 -----------------> F5 F6 -----------------> F6 F7 -----------------> F7 F8 -----------------> F8 F9 -----------------> F9 F10 ----------------> F10 F11 ----------------> F11 F12 ----------------> F12 Pfeil rauf ---------> UPARROW Pfeil runter -------> DOWNARROW Pfeil links --------> LEFTARROW Pfeil rechts -------> RIGHTARROW linke Maustaste ----> MOUSE1 rechte Maustaste ---> MOUSE2 mittlere Maustaste -> MOUSE3 weitere Maustasten -> MOUSE4/MOUSE5 Mausrad rauf -------> MWHEELUP Mausrad runter -----> MWHEELDOWN Ä ------------------> ' Ö ------------------> ; Ü ------------------> [ ^ ------------------> ~ , ------------------> , . ------------------> . - ------------------> / # ------------------> \ + ------------------> ] ß ------------------> ´ ------------------> = Escape -------------> ESC Tabulator ----------> TAB Caps-Lock ----------> CAPSLOCK Shift --------------> SHIFT Strg ---------------> CTRL Alt ----------------> ALT Leer ---------------> SPACE Enter --------------> ENTER Rücktaste ----------> BACKSPACE Pause --------------> PAUSE Insert -------------> INS Home ---------------> HOME

18 of 19

23.03.2009 07:19

stonefred.at - [scripting]

http://stonefred.at/scripting_et.php?section=scripting&subsection=et

Page Up ------------> PGUP Page Down ----------> PGDN Delete -------------> DEL End ----------------> END Keypad 1 -----------> KP_END Keypad 2 -----------> KP_DOWNARROW Keypad 3 -----------> KP_PGDN Keypad 4 -----------> KP_LEFTARROW Keypad 5 -----------> KP_5 Keypad 6 -----------> KP_RIGHTARROW Keypad 7 -----------> KP_HOME Keypad 8 -----------> KP_UPARROW Keypad 9 -----------> KP_PGUP Keypad 0 -----------> KP_INS Keypad , -----------> KP_DEL Keypad / -----------> KP_SLASH Keypad * -----------> * Keypad - -----------> KP_MINUS Keypad + -----------> KP_PLUS Keypad enter -------> KP_ENTER

back to top So, das war das ganze Tutorial zum Scripten in Enemy Territory. Viel Spaß mit eurer oder meiner Config und good luck & have fun! Wer Fragen zu diesem Thema hat: einfach eine Email schreiben. Ich helfe gerne.

© Stonefred (Wolfgang Magerl) 2005-2009 - last update: 2009-03-13, 00:43

19 of 19

xhtml

css

23.03.2009 07:19