-
Notifications
You must be signed in to change notification settings - Fork 2
VorlageDokuKonfiguration
Vorlage verwendet zum Ablegen von Konfigurationsdaten eine Textdatei in der die Daten in Kapiteln gegliedert abgelegt sind. Der Aufbau dieser Dateien ist Zeilenorientiert, d.h. eine Zeile kann nicht umgebrochen werden.
Zeilen die mit einem Semikolon beginnen sind Kommentarzeilen und werden ebenso wie Leerzeilen ignoriert und können zur Strukturierung und Dokumentation der Konfigurationsdatei verwendet werden.
Kapitel zeichnen sich durch einen Kapitelnamen in eckigen Klammern aus. Der Name muss dabei ohne weitere Kommentare oder Leerzeichen solo in einer Zeile stehen.
Je nach Art des Kapitels können danach eine oder mehrere Zeilen mit Nutzdaten folgen.
Um den Ansprüchen verschiedener Konfigurationsdaten gerecht zu werden können die Daten in den Kapiteln auf unterschiedliche Weise strukturiert werden. Dabei werden im Allgemeinen folgende Typen unterschieden:
Zuweisungskapitel ist ein Kapitel das zur Zeit nur für das Kapitel [Options] Verwendung findet. Hier wird dann in jeder Zeile ein Konfigurationswert gesetzt. So wird zum Beispiel mit
Passwort = "Foobar"
ein Default-Passowort für Computer-Reporte ohne Passwort festgelegt (z.B. Eressea). Folgende Einträge sind zur Zeit möglich:
Passwort
- Default-Passwort für Reports ohne gesetztes Passwort. (Der Wert muss in Anführungszeichen angegeben werden)
EBase
- Zahlenbasis für Einheitennummern (wird i.d.R. automatisch ermittelt)
BBase
- Zahlenbasis für Gebäudenummern sowie Schiffsnummern (normalerweise ebenfalls automatisch)
PBase
- Zahlenbasis für Parteinummern (s.o.)
TABH ist eine Objekt-Tabelle die auf eine horizontale Anordnung der Objekte spezialisiert ist. Jede Spalte enthält dabei ein bestimmtes Attribut und jede Zeile ein Objekt. In der Standard-Konfiguration ist [Terrains] ein Beispiel für diese Art von Tabellen. Die Namen der Attribute werden dabei nicht aus der Datei gelesen, sondern intern vergeben, bzw. beim Einlesen mittels #config als Parameter übergeben. Die erste Spalte dient als Index bzw. Schlüssel für die Tabelle.
TABV ist eine Objekt-Tabelle, bei der jede Spalte ein Objekt darstellt und die Zeilen die Attribute enthalten. Hierbei sind die Objektschlüssel die Einträge in der ersten Zeile, d.h. das erste Attribut eines Objektes ist sein Schlüssel und auch als Attribut NAME zu erreichen. Die erste Spalte enthält die Namen der Attribute, so dass hier alle Information in der Tabelle untergebracht sind.
NESTED ist eine Objekt-Tabelle die komplexere Objekte abbildet, indem sie eine Schachtelung in einer Ebene ermöglicht. Jede Zeile enthält ein Objekt, Spalten gibt es in dem Sinne keine. Der Aufbau einer Objektzeile ist dabei:
Schlüssel| numer. Attribute | 1. Subobjekt mit Attributen | etc.
---------+--------------------+--------------------------------+-----
"<Key>", [<num>, "Name", ...] ["SubObj", <num>, "Name", [...]] [...]
Vorlage liest bei der Ausführung spielspezifische Daten aus Konfigurationsdateien deren Name sich nach dem Spiel richtet. Der Name wird i.d.R. aus dem Computer-Report ermittelt. Die Konventionen haben sich dabei inzwischen etwas geändert:
-
**Vorlage bis V1.6rc4**
**Win**
**Unix**
Eressea
`eressea.cfg`
`.eressearc`
Sitanleta
`gav62mod.cfg`
`.gav62modrc`
Vinyambar I
`vinyambar i.cfg`
`.vinyambar irc`
Vinyambar II
`vinyambar ii.cfg`
`.vinyambar iirc`
-
**Vorlage ab V1.6rc5**
**Win default**
**Win user**
Eressea
`eressea.cfg`
`eressea-user.cfg`
Sitanleta
`gav62mod.cfg`
`gav62mod-user.cfg`
Vinyambar I
`vinyambari.cfg`
`vinyambari-user.cfg`
Vinyambar II
`vinyambarii.cfg`
`vinyambarii-user.cfg`
**Unix default**
**Unix user**
Eressea
`.eressearc`
`.eressea-user-rc`
Sitanleta
`.gav62modarc`
`.gav62mod-user-rc`
Vinyambar I
`.vinyambarirc`
`.vinyambari-user-rc`
Vinyambar II
`.vinyambariirc`
`.vinyambarii-user-rc`
Dabei wird ab V16.rc5 immer erst geschaut, ob es das entsprechende Kapitel in der User-Datei gibt, und wenn das nicht der Fall ist, oder es diese User-Datei nicht gibt, wird die Default-Datei verwendet. Auf diese Weise kann man dann Änderungen in der User-Datei machen und sie werden nicht durch neue Versionen der Default-Dateien überschrieben und diese müssen nicht immer wieder auf die eigenen Bedürfnisse angepasst werden.
- Allgemeines
- Einführung
-
Funktionen
- abs()
- after()
- and()
- antoi()
- before()
- ceil()
- change()
- close()
- crop()
- equals()
- exp()
- flatten()
- float()
- floor()
- int()
- isnothing()
- itoan()
- length()
- log()
- log10()
- match()
- not()
- open()
- or()
- random()
- read()
- readline()
- sign()
- status()
- statustext()
- substr()
- system()
- time()
- tolower()
- toupper()
- typeof()
- write()
- writeline()
- xname()
- xor()
- Metabefehle
- Rückruf-Prozeduren
- Report-Objekte
- Anhang