3DScstf2c17bf2j-ops00
 
Alien Swarm kostenlos über Steam
Half-Life 1 Dedicated Server Be...
Ab sofort: Day of Defeat für Mac
Ab sofort: CS:S für Mac
Config bzw. Buyscript funktionie...
Sehr Starkes Ping-Problem
Schleichentoggel
CS: Source - alte Grafik nicht m...



Random Bender
Bender
Er ist da!
Screen-O-Rama
Screen-O-Rama
ein Fun War mal ganz anders
Unser Shop
Hadouken
section links
.home
.useful scripts
.tutorials
.help
.scriptpacks
.tools
.admin

quick navi



section stats
24 tutorials
25 useful scripts
08 scriptpacks
00 tools



cstrike.de » scripting » /content/general/scripting/tutorials/view bottom

Syntax - by Brute - Druckversion






Generelles


Die beiden wichtigsten Zeichen in der Scriptsprache sind das Semikolon ; und die Anführungsstriche "".
Während das Semikolon immer dann zum Einsatz kommt, wenn man mehrere Befehle aneinander reihen will, werden die Anführungsstriche als eine Art Klammer verwendet, um mehrere Befehle zusammenzufassen. Gibt es also nur einen Befehl, ist es nicht notwendig "" zu benutzen. Generell ist es nicht möglich Anführungsstriche zu verschachteln.

alias falsch "bind taste "befehl;befehl""


ist also NICHT möglich. Es gibt allerdings ein paar nicht weiter nennenswerte Ausnahmen.
Jeglicher Text der nach einem Befehl folgt wird ignoriert, sobald der Befehl abgeschlossen ist. Wenn ein alias beispielsweise aus drei Teilen besteht, wird ein evtl folgender vierter Teil logischer Weise nicht verarbeitet.
Ein Zeilenumbruch wirkt wie ein ;" Er schliesst also den letzten Command ab, weswegen aliase nicht über viele Zeilen verteilt geschrieben werden können, sondern immer in einer Zeile bleiben müssen.






Aliase


Aliase sind aus drei Teilen aufgebaut:
alias "alias name" "befehl;befehl;befehl"

Zu alias gibt es nichts zu sagen.
Der "alias name" ist praktischer Weise nur ein einziges Wort. Das erleichtert den Aufruf eines Aliases ungemein, ausserdem muss der alias name dann nicht zwingend in "" geschrieben werden. Man kann allerdings auch einen Aliasnamen aus 2 oder mehr Wörtern zusammensetzen. Jedoch muss der alias name dann immer in "" stehen, also auch beim Aufruf. Deswegen ist so etwas nicht zu empfehlen.
Der Inhalt des Aliases "befehl;befehl;befehl" kann aus einem oder mehreren Befehlen bestehen. Ist es nur ein Befehl, sind die "" nicht nötig. Ein Befehl kann alles sein, ein command wie +attack, eine cvar wie hud_fastswitch 1, ein bind wie bind Mouse1 +attack, der Aufruf eines anderen Aliases oder sogar das erstellen/ändern eines Aliases wie etwa alias toggle toggleaus. Wichtig ist dabei nur, dass der Befehl in sich keine "" haben darf.

Benutzt man alias "aliasname" bzw alias aliasname , also ohne den eigentlichen Inhalt des Aliases wird der alias geleert. Es hat also den selben Effekt wie alias aliasname ""
Lässt man nun auch noch den alias namen weg, bekommt man eine Liste aller zur Zeit verwendeten Aliase

Hier nochmal eine Liste mit den möglichen Kombinationen:



















alias "meinalias" "befehl;befehl"
alias meinalias "befehl;befehl"
alias "meinalias" "befehl"
alias meinalias befehl


alias "mein alias" "befehl;befehl"
alias "mein alias" "befehl"


alias meinalias ""
alias meinalias


alias







Binds


Binds verhalten sich recht ähnlich wie aliase. Der Aufbau ist nahezu identisch:
bind "taste" "befehl;befehl;befehl"

Zu bind gibt es nichts zu sagen.
Die "taste" ist immer nur ein Wort, weshalb die Anführungsstriche nicht notwendig sind. Einzige Ausnahme bildet die Taste ";" (Ö), diese muss immer in Anführungszeichen stehen. Ist der Tastenname falsch geschrieben, bekommt man eine Fehlermeldung in die Console. Hier gibts die richtigen Bezeichnungen: Link
Die Funktion der Taste "befehl;befehl;befehl" ist üblicher Weise nur ein Command, weswegen man die "" meistens weglassen kann. Wenn es sich jedoch um mehrere Befehle handelt oder um einen Befehl der aus mehreren Teilen besteht (alias, bind, cvar), sind die Anführungsstriche nötig und es gibt auch noch ein paar andere Dinge zu beachten.

Lässt man das Belegen der Taste weg, gibt also nur bind taste ein, erfährt man, welche Funktion(en) auf dieser Taste liegen.
bind taste "" ist identisch mit unbind taste

Hier nochmal eine Liste mit den möglichen Kombinationen:



















bind "taste" "befehl"
bind taste "befehl"
bind "taste" befehl
bind taste befehl


bind "taste" "befehl;befehl"
bind taste "befehl;befehl"


bind taste


bind taste ""
unbind taste







Commands/Cvars


Commands bestehen immer aus nur einem Wort, weswegen nicht viel dazu zu sagen ist:
command

Jeglicher Text der nach einem command kommt wird einfach ignoriert. Beispiel: exit now
Aliasaufrufe verhalten sich völlig identisch.
Cvars bestehen aus zwei Teilen:
cvarname "wert"

Bei den meisten Cvars ist der Wert nur eine Zahl, weshalb die Anführungsstriche unnötig sind. Aber grade bei Strings sind sie die Anführungsstriche ein entscheidendes Detail. Zum Beispiel bei der cvar name muss bei Freizeichen im Namen der ganze Name in Anführungszeichen stehen. Ansonsten würde der erste Teil als Wert erkannt werden und alle folgenden Teile werden ignoriert. Wie immmer gibt es Ausnahmen. Zum Beispiel sind bei say mein toller text nicht zwingend Anführungsstriche nötig.
Lässt man den Wert weg, bekommt man ausgegeben, auf welchen Wert die cvar grade gestellt ist.
Hier die Liste:















command
aliasname


cvarname "wert"
cvarname wert


cvarname







Verschachteln von Anführungsstrichen


Zur Veranschaulichung worum es geht ersteinmal ein Beispiel das NICHT funktioniert:
alias falsch "bind taste "befehl1;befehl2""

Der alias falsch soll eigentlich die beiden Befehle befehl1 und befehl2 auf eine taste binden. Dazu wären verschachtelte Anführungszeichen nötig, was nicht geht. Aushelfen kann man sich folgendermaßen:
Man erstellt eine neue cfg die so aussieht:







neu.cfg:
bind taste "befehl1;befehl2"

und nun schreibt man den alias um:
alias richtig "exec neu.cfg"







Ordnung


Weil viele gerne Ordnung halten möchten, kann man sich die Struktur seiner cfgs nach eigenen Wünschen zurechtrücken. Man kann Zeilen sowohl mit Spaces als auch mit Tabstopps einrücken und sogar mitten drin verschieben. Sowohl vor und auch nach einem Semikolon und eigentlich fast nach jedem Wort. Aufpassen sollte man nur innerhalb der Werte von Cvars, da dort ein paar Freizeichen unbeabsichtigte Effekte haben können.
Auch Freizeilen sind (vermutlich) kein Problem. Um die Ordnung perfekt zu machen kann man überall noch Kommentare ein/anfügen.

Hier noch ein paar Beispiele für Spaces und Tabstopps:











alias meinalias "befehl;befehl"
alias meinalias "befehl; befehl"
alias meinalias "befehl ;befehl"
alias meinalias "befehl ; befehl"
alias meinalias "befehl ; befehl"


alias meinalias "befehl;befehl"
alias meinalias "befehl;befehl"
alias meinalias "befehl;befehl"




Zurück zur Übersicht

© 2002: CSSV-Team
cstrike.de » scripting » /content/general/scripting/tutorials/view top