Scripte

Aus AOWiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Grundlagen

Scripting ist ähnlich dem Macro Schreiben, nur das man bei Scripts mehrere Befehle verarbeiten kann, beim Macro ja nur einen.

Die Vorgehensweise ist immer die gleiche. Man braucht als erstes in seinem AO-Main-Verzeichnis einen Ordner der .../Scripts heisst. In diesen Ordner werden dann alle Scripts reinkopiert. Diese werden

dann IG mit dem Befehl /dateiname.endung aufgerufen.

Ich erstelle folgendes Script:

/ch <<< Shadowmoon Association >>>
Hallo Orger


Dies speicher ich unter greet.txt im Scripts-Ordner. IG brauche ich nur /greet.txt eingeben und das Script wird gestartet. Nenne ich diese Script nur "greet" brauche ich es IG auch nur mit /greet aufrufen, die entsprechende Endung ist wichtig, denn wenn es "greet.txt" heisst (zu Beachten ist das die besetzten Commands von AO wie z.b /tell nicht überschreibbar sind!) funktioniert es nicht wenn ich nur /greet eingebe. Ich kann das Script auch per Macro starten. Das sieht folgendermassen aus:

/macro Greet /greet.txt

Befehle

Es gibt eine vielzahl von Befehlen, ich möchte nur die wichtigsten aufzählen.

/ch Channelname
Wechsel in den Angegebenen Channel, z.B. /ch Clan OOC Der Channelname muss genauso geschrieben sein, wie er wirklich heisst ohne irgendwelche " " oder ' '

/shout Text
Ich schreie den angegebenen Text raus.

/ Text oder /v Text
Ich sage den angegebenen Text im Vicinity

/text Text
Der Text erscheint nur für mich sichtbar im Chatfenster

/tell Name Text
Ich telle den angegebenen Text der Person Name

/o Text
Ich schreibe den angegebenen Text im Orgchannel

/t Text
Ich schreibe den angegebenen Text im Teamchannel

/me Text
Ich schreibe was als Emote

%t
Das Ausgewählte Target wird in das Script übernommen. Wenn ich z.B. Kronos angewählt habe und es steht:

/tell %t Hey Du schmeiss mal Humi und NCR rüber aber ZACKZACK

telle ich Kronos an und sage: Hey Du schmeiss mal Humi und NCR rüber aber ZACKZACK

%f
Ähnlich %t nur das dort mein aktuelles Fightingtarget übernommen wird. Wenn ich z.B. fröhlich Ikolp am aimen bin, und dabei Harry angewählt habe, kann ich mit

/tell %t Hihi, ich lege gerade %f, Mas halten echt nichts aus *G*
telle ich Harrington an, und sage: Hihi, ich lege gerade Ikolp, Mas halten echt nichts aus *G*

%m
Mein Eigener Name wird mit in das Script übernommen.

/delay
Delay ist ein wichtiger Befehl. Er gibt die Wartezeit an, bis der nächste Befehl bearbeitet wird. /delay 3000 heisst, das das Script 3 Sekunden wartet

(Delayzeit ist immer Millisekunden) Den Befehl braucht man, damit man bei unfangreichen Scripts keine Spamm-Warnung in AO verursacht. Auf RK1 und 2 ist die zeit deutlich kleiner als bei uns,

dort kann man alle 1,33 Sekunden was schicken, ohne Spammwarnung zu verursachen bei uns eher 2,5+ Sekunden.

Meist mache ich 3 Sekunden Wartezeit, man kann aber kurzfristig 2 schnell hintereinander schicken.

/ Hallo %t
/delay 3000
/ Kannst du mir Bitte mal Esse und Screen rüberschicken
/delay 1000
/ Bitte
/delay 1000
/ Biiittttte
/delay 3000
/ Danke dir

Man sieht hier, das ich 2 mal 1 Sekunde Wartezeit habe, das geht auch.

%1, %2, ...
Mit %1, %2 usw kann ich bei Scriptaufruf Daten übergeben.

Folgendes Script:
/tell taranet exclude
/tell taranet include %1

Ich speicher dieses als "tbid" Rufe ich nun das Script wie folgt auf /tbid 10 macht das Script folgendes:

/tell taranet exclude
/tell taranet include 10


Anders Beispiel dafür:

/tell %t Ich aime dich in %1 Sekunden %2- mal

Das Script nenne ich "aimed". Wenn ich nun folgenden Aufruf mache, /aimed 30 4 telle ich meinem ausgewählten Target (%t) folgendes
Ich aime dich in 30 Sekunden 4-mal

/selectself
Wählt sich selbst als Target aus.



/cc addbuddy Name
Fügt den Spieler "Name" zu eurer Friendslist hinzu.

/cc rembuddy Name
Löscht den Spieler "Name" aus eurer Friendslist.

/cc rembuddy ?
Löscht eure Recent Messages List (alle).

Optionen

In Scripts kann man auch Optionen umstellen lassen. Dabei beschränkt sich AO hier lediglich auf Optionen, die man meist auch unter F10 ingame findet.

Ich möchte hier nur eine Kurzfrom meiner drei PVM/PVP und PVR Scripts wiedergeben. Wenn man sich die Optionen unter F10 anguckt findet man dort die gleichen Einstellungen. Mit Scripts lässt sich das nur um ein vielfaches vereinfachen und verschnellern.

Script PvP (PvP-Script, Charview auf Waffenreichweite, nur Nanoeffekte an (für Roots/Snares usw.)
/option ViewDistance 0.4
/chardist 40
/option BuffsFX 0
/option EnvironmentFX 0
/option MuzzleFlashFX 0
/option NanoEffectFX 1
/option TracersFX 0
/option OthersFX 0
/option Shadows 0
/option SimpleClouds 0
/option RealisticClouds 0
/option RealisticMoons 0
/option StarRotation 0
/option ShowAllNames 0
/option Wildlife 0
/option IsSpaceShipsShown 0
/option FogMode 0
/text Activating PvP-mode.
/text Activating PvP Chat Info


Script PvR (Raidscript für Pande, kpl. alles aus)
/option ViewDistance 0.4
/chardist 40
/option BuffsFX 0
/option EnvironmentFX 0
/option MuzzleFlashFX 0
/option NanoEffectFX 0
/option TracersFX 0
/option OthersFX 0
/option Shadows 0
/option SimpleClouds 0
/option RealisticClouds 0
/option RealisticMoons 0
/option StarRotation 0
/option ShowAllNames 0
/option Wildlife 0
/option IsSpaceShipsShown 0
/option FogMode 0
/text Activating PvR-mode.
/text Activating PvR Chat Info


Script PvM (oder zum Auschalten vom PvP oder PvR Script, kpl. Alles an)
/option ViewDistance 1.0
/chardist 80
/option BuffsFX 1
/option EnvironmentFX 1
/option MuzzleFlashFX 1
/option NanoEffectFX 1
/option TracersFX 1
/option OthersFX 1
/option Shadows 1
/option SimpleClouds 1
/option RealisticClouds 1
/option RealisticMoons 1
/option StarRotation 1
/option ShowAllNames 1
/option Wildlife 1
/option IsSpaceShipsShown 1
/option FogMode 3
/text Activating PvM-mode.
/text Activating PvM Chat Info

Fehlerbehebung


Falls im Spiel selber, nachdem man das Script ausgeführt hat, Fehlermeldungen im Chat zu lesen sind, wie z.B. "Can't find option <CharViewDistance>.", kann man dies ganz einfach beheben. Im Ordner ..\Funcom\Anarchy Online\cd_image\gui\Default\OptionPanel\ gibt es die Datei Root.xml in der alle Befehle bezüglich der grafischen Einstellungsmöglichkeiten stehen.


Nehmen wir an, die oben geschilderte Fehlermeldung erscheint im Chat nach dem Ausführen des Scriptes, dann sucht man in der XML Datei nach der passenden Position.


In unserem Fall:
<OptionSlider label="#CharactViewDistanc" opt_category="Login" opt_type="variant" opt_variable="DisplayCharViewDistance" value_fmt="%.0f m" value_scale="1" />


Der richtige Befehl fürs das Script steht dann immer zwischen den beiden Anführungsstrichen:
<OptionSlider label="#CharactViewDistanc" opt_category="Login" opt_type="variant" opt_variable="DisplayCharViewDistance" value_fmt="%.0f m" value_scale="1" />


So kann man auch bei Custom GUI´s Scripts für die Grafikeinstellungen erstellen oder die Qualität der Bodentexturen geändert werden.

Farbe


Farbiggestaltete Scripts haben meist eine bessere Wirkung. Gerade bei wichtigen Meldungen sollte man auf Farbrige gehen, oder halt einfach, weils schöner ist.
Seit der Umstellung des Chatsystems wird die Farbe nicht mehr über ASCII sondern uber einen Farbcode umgeschaltet. Alle die schonmal eine Homepage programmiert haben, sollten den Code kennen.

#XXXXXX

Nehmen wir das allseits beliebte Orgmeetingscript als Beispiel:

/ch <<< Shadowmoon Association >>> 
/o <font color="#FFFF00"> *** <font color="#00FFFF"> Wichtige Orgmeldung! </font>***</font> 
/delay 3000 
/o <font color="#00FFFF">Was: </font> <font color="#FFFF00">Was soll gemacht werden</font> 
/delay 1000 
/o <font color="#00FFFF">Wo: </font> <font color="#FFFF00">Wo Treffen wir uns</font> 
/delay 1000 
/o <font color="#00FFFF">Wann: </font> <font color="#FFFF00">Uhrzeit und Tag ist natürlich wichtig</font> 
/delay 3000 
/o <font color="#00FFFF">Erläuterungen 


Die Befehle sind die gleichen wie bei Html-Programmierung. Möchte ich also etwas farblich haben muss ich folgendes machen:

/tell Kronos Du hast eine <font color="#FF0066"> rosarote </font> Nase *G*<br />


Kronos bekommt folgendes getellt:
Du hast eine rosarote Nase *G*

Den Farbcode bekommt man aus jedem vernünftigen Html-Proggie oder Grafikprogramm.

Es gibt auch standard farben in AO (zB in Items):


<font color=CCInfoHeadline>Gelb</font>
<font color=CCInfoHeader>Hellgrün</font>
<font color=CCInfoTextBold>Weiß</font>
<font color=CCInfoText>Dunkelgrün</font>


Farbnamen!

Beispiele

Mit Hilfe von Scripts kann man fast alles, was man über Befehle machen kann umsetzen. Angefangen über Emotes, bis hin zu Petrenames oder komplexen Attackscripts. Aktionen die über Tastatur erfolgen kann man nicht in Scripts ausführen, wie z.B. Attack starten, oder nach Links laufen oder Nanocasten.
Petrename

/pet "Rage Materialization" rename "Hauer"
/pet "Valentyia" rename "Healer"
/pet "Distracting Sphere" rename "Calmer"

Bennent die 3 Pets gleichzeitg um

Petheal

/pet "Healer" behind
/delay 250
/pet "Healer" heal



Petattack

/pet "Hauer" behind
/delay 250
/pet "Hauer" attack



Stay-Script

/ch Clan OOC
/delay 250
!stay



Punkte-Anzeige im Acenet

/ch acenet
!members inraid order by points desc
/delay 3000
!next
/delay 3000
!next
/delay 3000
!next
/ch CLAN OOC

Links

AO Scripting Britishflag20pixel.png Englisch

Chat Scripts (Farben)

Quellen

Mit freundlicher Erlaubnis von Wildwolve übernommen aus dem deutschem AO-Forum

Formatierung

Bestimmte Zeichen erfordern seit neustem eine Kodierung, die der von HTML Kodierung entspricht.

Zeichen       Kodierung
< &lt;
> &gt;
& &amp;
Browsererweiterungen