AoM
Tutorials
Scripts
Tools


aoe2
Tutorials
Scripts
Tools


Comunuty
Links
Board

Impressum


Site
Datei Senden

 
 
Seite als Startseite festlegenE-Mail an den Webmaster Gästebuch
 

 

Random Map Script Helpsheet V 1.0

Last Update: --.--.--

 

Kapitel 1
Allgemeines zum RMS Scripten

RMS Scripting ähnelt nun mehr einer Programmiersprache als bei AoE2 deshalb ist es praktisch einen geigneten Editor zu haben der den Syntax in farben darstellt. Da es noch keinen RMS Editor gibt habe ich mir Editor PROTON(Freeware) von Meybohm.de runtergeladen. Wenn man dort die RMS farbig darstellen will muss man die RMS mti PROTON öffnen und dann im Menüpunkt Syntaxhighlighting C auswählen(Diese Programmiersprache ähnelt RMS am meisten) Dadurch wird der RMS Code übersichtlicher.

Das Script ist case-sensitive. Dies bedeutet das das Script zwischen Groß- und Kleinschreibung unterscheidet.

1,1 Kommentare

Kommentare sind helfer um die RMS übersichtlicher zu halten. AoM überspringt die Kommentare beim generieren der Karte. Es gibt 2 Verschiedene arten von Kommentarenman man kann // oder /* */ verwenden.

Bei // wird die nachfolgende Zeile als Kommentar angesehen
Bei /* */ wird der Text der zwischen /* und */ steht als Kommentar angesehen. Aber Achtung! wenn sie das Kommentar nicht mit */ abschließen wird AoM alle nachfolgenden Zeilen als Kommentar ansehen!

1,2 Variablen

Alle Variablen müssen zuerst mit int oder float gesetzt werden bevor sie benutzt oder neu
definiert werden.

int Variablen sind Ganzzählige Nummern (z.B.: 1 2 3 4 5 ... aber auch -1 -2 -3 -4 ... usw.)
float sind Kommazahlen (z.B.: 1,3215 2,4 3,69 30,1 ... aber auch -1,9 -7,3161941113 ... usw.)

Um Variablen zu setzen muss man folgenden Syntax verwenden:


int/float Variablenname = Zahl;

also z.B.

int pigsPPl = 5;

um später einen anderen wert zu setzen nurnoch:

pigsPPl = 3;


1,3 Script Ordnung

Das Script muss richtig geordnet sein! Du musst z.B. erst land generieren bevor du Objekte auf das land setzt. Du kannst nur Variablen benutzten die du schon gesetzt hast. Stellt euch das wie ein Haus vor. Ohne Grundstück kann man keine Mauern Setzen ohne Mauern kann man keine Tapeten tapezieren usw.

1,4 Gitter

Die Karte ist in ein X, Z Netz aufgeteilt, Y ist die Höhe.
Wenn man Fraktionen benutzt ist:
0, 0 am Grund der Karte
0.5, 0.5 in der Mitte der Karte
1, 1 Kopf der Karte
Das Netz benutzt 2m² große Kacheln(tiles). Eine Karte für 4 Spieler ist vermutlich 400 m an den Seiten lang. Kleine Gebäude belegen 2m² und kleine Einheiten belegen 1m² an platz.

1,5 Einheitennamen

Einheiten haben im Script nicht die gleichen namen wie Im Spiel! Ein Town Center heisst z. B. "Settlement Level 1." und der name eines ägyptischen Dorfbewohners ist beispielsweise "Villager Egyptian". Eine Liste aller Objektnamen findet ihr ab der Zeile 40 in der "aom ai script help file.rtf" in dem Docs Verzeichniss eures AoM Ordners.

1,6 XML Datei

Die RMS Datei mit der Endung *.xs braucht eine gleichnamige Datei mit der Endung *.xml. Diese XML Datei wird dann in der Liste der Karten angezeigt. XML Daten kann man beispielsweise mit dem Editor von Windows schreiben. Jedoch empfehle ich hier auch wieder Proton. Man kann nämlich unter Syntaxhighlighting XML auswählen wodurch der XML Code übersichtlicher angezeigt wird.

Syntax der XML Datei:

<?xml version = "1.0" encoding = "UTF-8"?>
<mapinfo details = "Mapname: Beschreibung der Karte" imagepath = "***" displayNameID="Name der angezeigt werden soll" cannotReplace=""/>

*** = Pfad zum Bild beispielsweise "ui\ui map goatunheim 256x256" Bild muss sich aber im ui ordner befinden. Praktisch ist für das bild auch der "Random Map Icon Generator" den ihr auf AoMFiles.org runterladen könnt.

Das sieht dann besipielsweise so aus:

<?xml version = "1.0" encoding = "UTF-8"?>
<mapinfo details = "Goatunheim: Fight your way through evil Goats to reach the enemy player" imagepath = "ui\ui map goatunheim 256x256" displayNameID="Goatunheim" cannotReplace=""/>


1,7 Hilfe

Hier bekommt ihr Hilfe:

    1. Schaut euch die offiziellen RMS Scripts von ES an!
    2. Benutzt den XS Debuger. Um Ihn anzuschalten müsst ihr in der user.cfg in eurem startup Ordnerim AoM Verzeichnis +debugRandomMaps einfügen. Falls diese Datei noch nicht existiert müsst ihr diese Datei neu anlegen. Der XS Debugger wird sich immer beim generieren der RMS melden wenn fehler auftauchen.
    3. Benutzt die Suchen Funktion im Forum
    4. Eröffnet einen Thread im Mapdesignforum(aber erst nachdem ihr Punkt 3 erledigt habt)
    5. Schreibt mir ne Mail oder Piepst mich in ICQ an(aber erst nachdem ihr alle 4 Punkte erledigt habt )

     

Kapitel 2
RMS Befehle

Ich beschreibe hier nur kurz die wichtigsten Befehle! Um mehr informationen über die Befehle zu erhalten müsst ihr euch die "aom random map help file.rtf" im Docs Ordner durchlesen.

1,1 Globale Befehle

rmEchoInfo( string echoString, int level );

Benutzen um Informationen über die RMS beim Debuggen auszusortieren(Der spieler sieht dies nicht)

Beispiel:

rmEchoInfo("Large map");

______________________________

rmRandFloat(float min, float max);

Zufallszahlengenerator (als Float!)

Beispiel:

rmRandFloat(0, 1);

Gibt eine Zahl zwischen 0 und 1 an.(z.B.: 0,124468 0,56 0,787 0,99)

______________________________

rmRandInt(int min, int max):

Zufallszahlengenerator (als Int!)

Beispiel:

rmRandInt(0, 10)

Gibt eine Zahl zwischen 0 und 10 an.(0 1 2 3 4 5 6 7 8 9 10)

______________________________

rmSetMapSize( int x, int z );

Setzt die Kartengröße

Beispiel:

rmSetMapSize( 60000, 60000);

Setzt die Kartengröße zu 60000 x 60000 tiles(Kacheln)

______________________________

rmSetSeaType(string name);


Setzt den Wassertyp. MUSS vor dem setzen des Wassers auf der Map definiert werden.

Beispiel:

rmSetSeaType("mediterranean sea");

Setzt den Wassertyp als Mittelmeer

______________________________

rmSetLightingSet(string name);


Setzt die lichtquelle in der RMS. Dieser Befehl muss nach der Formatierung des Terrains gesetzt werden.

Beispiel:

rmSetLightingSet("alfheim");

Setzt das Lichtschema von Alfheim. Btw. Ihr könnt auch selber Lichtschemen setzen. Tools dazu findet ihr auf Nocheineaoe

______________________________

rmSetStatusText(status, progress);

Beschreibung von ES: Sets the friendly cool loading screen text.
Das wichtige is das progress bei 0 anfängt und bei 1 aufhört! Btw. Das mit dem Text habe ich nicht geschafft würde mich freuen wenn mir das mal jemand erklären würde

Beispiel:

rmSetStatusText("", 0.40);

Der Ladebalken geht auf 40%

1,2 Spieler Befehle

rmGetPlayerCiv(int playerID)

Empfängt Spieler Civilisation (Civ = Hauptgott)

______________________________

rmGetPlayerCulture(int playerID)

Empfängt Spieler Culture = Wikinger, Griechen oder Ägypter

______________________________

rmGetNumberPlayersOnTeam(int teamID)

Empfängt die nummer der Spieler im Team

______________________________

rmSetTeamSpacingModifier(float modifier)

Setzt Entfernung zum Teammate beste Ergebnisse mit 0.3-0.5

______________________________

rmPlacePlayersCircular(float minFraction, float maxFraction, float angleVariation)

Setzt Spieler in einen Kreis

______________________________

rmPlacePlayersSquare(float dist, float distVariation, float spacingVariationfloat)

Setzt Spieler in ein Viereck

______________________________

rmPlacePlayersLine(float x1, float z1, float x2, float z2, float distVariation, float spacingVariation)

Setzt Spieler auf Linie

______________________________

rmPlacePlayer(int playerID, float xFraction, float zFraction);

Setzt Spieler an eine Stelle.

Dies kann man alles damit anstellen:

Erstes Team in die mitte, den rest drarum:

rmSetPlacementTeam(0);
rmSetPlayerPlacementArea(0.3, 0.3, 0.7, 0.7);
rmPlacePlayersCircular(0.4,0.3,rmDegreesToRadians(5.0));

rmSetPlacementTeam(-1);
rmSetPlayerPlacementArea(0, 0, 1, 1);
rmPlacePlayersCircular(0.4,0.3,rmDegreesToRadians(5.0));

Setze Spieler 1 in die untere Ecke, Spieler 3 in die rechte ecke und die restlichen Spieler in
eine linie von der linken ecke zur oberen Ecke.

rmPlacePlayer(1, 0.2, 0.2);
rmPlacePlayer(2, 0.8, 0.2);
rmPlacePlayersLine(0.2, 0.8, 0.8, 0.8, 20, 10);

______________________________

rmSetPlayerArea(int playerID, int areaID);


Setzt das "offizielle" Gebiet eines spielers

______________________________

rmPlayerLocXFraction(int playerID);


Empfängt die X Position des Spielers

______________________________

rmPlayerLocZFraction(int playerID);


Empfängt die Z Position des Spielers

1,3 Zonen(Area)

Zonen sind Regionen auf einer Karte. Sie sind öffters ungewöhnlich geformt, aber sie können auch recheckig geformt sein. Manche Gebiete werden benutzt um bestimmte Terrainarten drauf zu setzen. Manche werden aber auch einfach nur als Abgrenzung genutzt. Spezielle arten sind Spielerzonen, welche einem bestimmten Spieler "gehören", oder Teamzonen die einem Team "gehören".

rmCreateArea(string name, int parentAreaID);

Erstellt eine Zone.

______________________________

rmSetAreaSize(float minFraction, float maxFraction);

Setzt die größe einer Zone

______________________________

rmSetAreaLocation(int areaID, float xFraction, float zFraction);

Setzt die Position einer Zone. Wird z. B. benötigt um einen See in die mitte der Karte(Du erinnerst dich 0.5,0.5 ) zu setzen

______________________________

rmBuildArea(int areaID);

Baut die bestimmte Zone auf.

______________________________

rmBuildAllAreas();

Baut alle Zonen die noch nich aufgebaut wurden auf.

______________________________

rmSetAreaTerrainType(int areaID, string terrainTypeName):;

Setzt das Terrain einer Zone.

______________________________

rmSetAreaForestType(int areaID, string forestName);

Setzt den Waldtyp einer Zone

______________________________

rmSetAreaWaterType(int areaID, string waterName);

Setzt den Wassertyp einer Zone

______________________________

rmSetAreaCliffType(int areaID, string cliffName);

Setzt den Klippentyp einer Zone

______________________________

rmSetAreaCliffHeight(int areaID, float val, float variance, float ramp);

Setzt die Höhe der Klippen einer Zone

______________________________

rmAddAreaTerrainLayer(int areaID, string terrain, float minDist, float maxDist);

Füght eine Terrain Ebene einer Zone hinzu.

Terrain Ebenen(Layer) erlauben dir einen Ramen von einer oder mehreren Texturen um eine Zone zu setzen. Zum Besipiel: Du kannst du grassDirt50 und grassDirt75 um eine Zone mit grass legen. Man kann mehrere Ebenen für eine Zone bestimmen solange die minDistance von einem Startet und maxDistance von einem anderen endet. Weil sich dann verschiedene Ebenen überlappen können. Hier ist ein Beispiel.

rmSetAreaTerrainType(bonusIslandID, "GrassA");
rmAddAreaTerrainLayer(bonusIslandID, "SnowGrass75", 13, 20);
rmAddAreaTerrainLayer(bonusIslandID, "SnowGrass50", 6, 13);
rmAddAreaTerrainLayer(bonusIslandID, "SnowGrass25", 0, 6);

______________________________

rmAreaID(string name)


Empfängt die ID für einen vergebenen Zonennamen

1,4 Verbindungen(Connections)
Verbindungen sind spezielle arten von Zonen die benutzt werden um Zonen zu verbinden. Sie werden z.B für Landbrücken und Bergpassagen benutzt. Verbindungen müssen nach den Zonen die sie Verbinden gesetzt werden.

rmCreateConnection(string name);

Erstellt eine Verbindung

______________________________

rmSetConnectionType(int connectionID, int connectionType, bool connectAll, float connectPercentage)

Setzt den Typ der Verbindung
Dieser befehl bestimmt welche Spieler verbunden werden. Gültige Werte für connectionType sind:

  • cConnectAreas: Dies ist der Standardwert der verwendet wird wenn man nicht rmSetConnectionType aufruft.
  • cConnectAllies: Verbindet alle Verbündeten Spieler
  • cConnectEnemies: Verbindet den Spiler mit den Gegnern.

Setz den connectAll parameter zu true(wahr) wenn du willst das alle Zonen verbunden werden. Setze es false(falsch) damit die Zonen aufeinander folgend Verbunden werden. Die erste Zone wird mit der zweiten Verbunden, diese wird mit der 3. Verbunden usw.

Du kannst den connectPercentage Parameter verwenden um die Nummer der Verbindungen zu reduzieren. Besipsielsweise, Wenn du es zu 0.5 setzt werden die hälfte der Verbindungen Generiert. Die, die generiert werden, werden zufällig ausgewählt.

______________________________

rmSetConnectionWidth(int connectionID, float width, float variance):

Setzt die Breite einer Verbindung

______________________________

rmAddConnectionTerrainReplacement(int connectionID, string terrainTypeName, string newTypeName);

Fügt eine Terrain Austausch Regel hinzu.

______________________________

rmSetConnectionTerrainCost(int connectionID, string terrainTypeName, float cost);

Setzt die Kosten für eine Verbindung.
Wenn du willst das die Verbindung entfernt von einem Terrain verläuft sollte dieser wert gesetzt werden. Wenn du z.B. willst das eine Straße nicht durch Wasser geht muss der wert größer oder gleich 1 sein, du kannst es auch zu 1 setzen das bedeutet das das Terrain unpassierbar ist.

______________________________

rmSetConnectionBaseTerrainCost(int connectionID, float cost);

Setzt das Terrain für die Verbindung

______________________________

rmBuildConnection(int connectionID)

Baut die Verbindung auf

1,5 Objekte

Objekte sind Gebäude, Einheiten und Resourcen. Objekte können sogar Sammlungen von mehreren Einheiten sein. Objekte werden immer als Bündel plaziert.

rmCreateObjectDef(string name);

Definiert eine neue Einheit

______________________________

rmSetObjectDefMinDistance(int defID, float dist);

Setzt die Mindest Distanz

______________________________

rmSetObjectDefMaxDistance(int defID, float dist);

Setzt die Maximale Distanz

______________________________

rmAddObjectDefItem(int defID, string unitName, int count, float clusterDistance)

Fügt eine Einheit zu der Objekt Definition

Objekte werden im Random Map Script definiert und können beliebig benannt werden. Einehiten, im gegensatz, benutzen besteimmte namen vom Spiel, wie Villager Greek, Palm oder Settelment Level 1(Der name für Town Center). Gruppen Distanz ist nur das Maximum das das Objekt von der Lokalisierung entfernt gesetzt werden kann, und es wird nach der min und max Distanz angewendet. (Beispielsweise: Die maxDistance ist 10 und die Gruppendistanz(clusterDistance) ist 5. In diesen fall kann die Einheit 15 m von der einheit entfernt sein. Wenn man eine einzige Einheit setzt kann die Gruppendistanz(clusterDistance) 0 sein. Wenn mehrere einheiten an das Objekt hinzugefügt sind, sollten sie eine Gruppendistanz(clusterDistance) > als 0 benuten oder sie werden alle aufeinander gesetzt *g*. Hier sind 2 Beispiele

Beispiel 1

int farGoatsID=rmCreateObjectDef("far goats");
rmAddObjectDefItem(farGoatsID, "goat", 1, 0.0);

Beispiel 2

int rock2ID=rmCreateObjectDef("rock2");
rmAddObjectDefItem(rock2ID, "rock limestone small", 1, 1.0);
rmAddObjectDefItem(rock2ID, "rock limestone sprite", 3, 3.0);

______________________________

rmPlaceObjectDefAtLoc(int defID, int playerID, float xFraction, float zFraction, long placeCount);

Platziert Objekt Definition auf einer bestimmten Lokalization für einen bestimmten Spieler Solch ein platzieren ist sehr nützlich wenn man nicht will das die Einheit für jeden Spieler erstellt wird. z.B.: wenn man verschiedene Einheiten für verschiedene civs. will. Du kannst playerID zu 0 setzen um sicher zu seien das die Einheit niemanden gehört. Hier ist eine kleine

Abkürzung:


for(i=0; <cNumberPlayers)
{
if(rmGetPlayerCulture(i) == cCultureGreek)
rmPlaceObjectDefAtLoc(transportGreekID, i, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i));
else if(rmGetPlayerCulture(i) == cCultureNorse)
rmPlaceObjectDefAtLoc(transportNorseID, i, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i));
else if(rmGetPlayerCulture(i) == cCultureEgyptian)
rmPlaceObjectDefAtLoc(transportEgyptianID, i, rmPlayerLocXFraction(i), rmPlayerLocZFraction(i));
}

______________________________

rmPlaceObjectDefPerPlayer(int defID, bool playerOwned, long placeCount);


Plaziert Objekt Definition pro Spieler

Dieser Befehl ist meistens der schnellste weg um Objekte zu plazieren. Jedoch ist es nicht
geeignet wenn man nicht das Objekt für jeden Spieler erstellen will. Gib als playerOwned false ein wenn du willst das das objekt für den Gaia spieler erzeugt wird.

______________________________

rmPlaceObjectDefInArea(int defID, int playerID, int areaID, long placeCount);

Plaziert Objekt definition für einen Spieler in einer bestimmten Zone.

______________________________

rmGetNumberUnitsPlaced(int objectDefID)
rmGetUnitPlaced(int objectDefID, int index)
rmGetUnitPlacedOfPlayer(int objectDefID, int playerID)

Diese 3 Befehle können benutzt werden um versagte Prozesse beim Platzieren der Objekte zu finden. Vielleicht willst du versuchen das Objekt mit weniger Zwang zu platzieren. Also mit weniger Bedingungen. Hier ist ein Beispiel von Acropolis:

for(i=1; <cNumberPlayers)
{
int startingTowerID=rmCreateObjectDef("Starting tower"+i);
int towerRampConstraint=rmCreateCliffRampConstraint("onCliffRamp"+i, rmAreaID("player"+i));
int towerRampEdgeConstraint=rmCreateCliffEdgeMaxDistan
ceConstraint("nearCliffEdge"+i, rmAreaID("player"+i), 2);
rmAddObjectDefItem(startingTowerID, "tower", 1, 0.0);
rmAddObjectDefConstraint(startingTowerID, avoidTower);
rmAddObjectDefConstraint(startingTowerID, towerRampConstraint);
rmAddObjectDefConstraint(startingTowerID, towerRampEdgeConstraint);
rmAddObjectDefToClass(startingTowerID, classTower);
rmPlaceObjectDefInArea(startingTowerID, i, rmAreaID("player"+i), 6);

/* backup to try again */
if(rmGetNumberUnitsPlaced(startingTowerID) < 4)
{
int startingTowerID2=rmCreateObjectDef("Less Optimal starting tower"+i);
rmAddObjectDefItem(startingTowerID2, "tower", 1, 0.0);
rmAddObjectDefConstraint(startingTowerID2, avoidTower);
rmAddObjectDefConstraint(startingTowerID2, towerRampConstraint);
rmAddObjectDefToClass(startingTowerID2, classTower);
rmPlaceObjectDefInArea(startingTowerID2, i, rmAreaID("player"+i), 1);

}
}


--------------------------------------------------------------------------------


rmSetIgnoreForceToGaia(bool val)

Kann benutzt werden um ein Objekt, sogar eine Resurce einem spieler zugehören

1,6 Bedingungen

Bedingungen werden für Zonen, Verbindungen und Objekte benutzt. Sie versichern das Objekte entfernt von anderen Objekten plaziert werden oder das objekte in bestimmten Zonen gesetzt werden.

int rmCreateBoxConstraint(string name, float startX, float startZ, float endX, float endZ, float bufferFraction);

Erstellte eine Box Bedingung

Box Bedingungen sind simpele Abschnitte mit 4 linien die die Karte aufgliedern. Das erstellen einer Box Bedingung can benutzt werden um Zonen oder Objekte vom Zentrum der Karte ntfernt zu halten.

______________________________

int rmCreateAreaOverlapConstraint(string name, int areaID);

Erstellt eine Bedingung die Überschneidungen von Zonen verhindert.

______________________________

int rmCreateAreaConstraint(string name, int areaID);

Erstellt eine Bedingung die etwas zwingt in der Zone zu bleiben.

______________________________

int rmCreateTypeDistanceConstraint(string name, int classID, float distance);

Erstellt eine typ Distanz Bedingung
Typen können bestimmte Einheiten sein, wie z.B. Hühner

______________________________

bool rmAddAreaConstraint(int areaID, int constraintID);

Fügt eine bestimmte Bedingung einer Zone zu.

______________________________

rmConstraintID(string name);

Empfängt die ID einer bestimmten Bedingung

1,7 Faire Objekte

Diese speziellen Befehle gibt es für kritische recurcen, wie Siedlungen oder manchmal Gold Minen. Deiese Objekte werden sicher auf der Karte Gesetzt.

bool rmPlaceFairLocs();
Setzt fairLoc Lokalizationen.

______________________________

int rmGetNumberFairLocs(int playerID);

Empfängt die anzahl der fairLocs eines Spielers

______________________________

float rmFairLocXFraction(int playerID, int index);

Empfängt die X Fraktrion einer fairLoc von einem Spieler

______________________________

float rmFairLocZFraction(int playerID, int index);

Empfängt die Z Fraktrion einer fairLoc von einem Spieler

______________________________

Fair Loc Beispiel für Siedlungen:


id=rmAddFairLoc("Settlement", true, false, 70, 120, 60, 40); /* forward outside */
rmAddObjectDefConstraint(id, SettlementAvoidImpassableLand);
rmAddObjectDefConstraint(id, playerConstraint);

if(rmPlaceFairLocs())
{
id=rmCreateObjectDef("far settlement2");
rmAddObjectDefItem(id, "Settlement", 1, 0.0);
for(i=1; <cNumberPlayers)
{
for(j=0; <rmGetNumberFairLocs(i))
rmPlaceObjectDefAtLoc(id, i, rmFairLocXFraction(i, j), rmFairLocZFraction(i, j), 1);
}
}


1,8 Schalter

Diese Befehle werden benutzt um schalter vom Editor in ein RMS Script aufzunehmen. Schalter können schnell kompliziert werden und genausogut eine unfaire Map erstellen, also müssen sie mit Vorsicht benutzt werden. Eine vollkommene Erklärung von allen Schaltern kann ich hier nicht einfügen das würde den Ramen sprengen . Aber du kannst eine RMS im Scenario Editor generieren lassen und dort nachschauen wie die Schalter erstellt sind. Du kannst auch in die triggertemp.xs datei in deinem Trigger Verzeichniss für Hilfe mit debuggen deiner RMS schauen. Für weitere Hilfe mit Schaltern würde ich hier Nocheineaoe empfehlen.

rmCreateTrigger(string triggerName)

Erstellt einen Schalter

______________________________

rmSwitchToTrigger(int triggerID)

Dieser befehl ist nützlich um schalter für spieler zu setzen. Du musst davor alle Schalter definieren , aber dann kannst du zwischen verschiedenen schalten um ihre Bedingungen und Effekte zu spezifizieren.

______________________________

rmTriggerID(string triggerName)

Empfängt die ID eines Schalters

______________________________

rmSetTriggerPriority(int priority)

Setzt die Priorität des Schalters

______________________________

rmSetTriggerActive(bool active)

Setzt den Schalter aktiv

______________________________

rmSetTriggerRunImmediately(bool runImmediately)

Schalter tritt sofort in kraft

______________________________

rmSetTriggerLoop(bool loop)

Loop wird für den Trigger eingeschaltet

______________________________

rmAddTriggerCondition(string conditionType)

Fügt einem Schalter eine Bedingung hinzu

______________________________

rmAddTriggerEffect(string effectType)

Fügt einem Schalter einen Effekt hinzu

______________________________

rmSetVCFile(string filename)

Du kannst alaternative Gewinn Bedingungen für deine RMS. Dieses Feature ist recht komplex und sollte nur vone einem fortgeschrittenen RMS Scripter benutzt werden.

So das wars :) Hoffe ich konnte dir weiterhelfen :) Falls du noch Fragen hast schau mal im Forum nach oder schreib mir ne E-Mail.

 

 

 

© 2002 by Death_Maggy