Vorlage Dokumentationregion
Allgemeines
   Aufruf
   Einleitung
   Installation
   Konfiguration
   Syntax
Einführung
   MetabefehlsAusdruecke
   MetabefehlsSyntax
   RegulaereAusdruecke
   VordefinierteVariablen
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
   #after
   #array
   #break
   #call
   #config
   #const
   #debug
   #default
   #dict
   #else
   #every
   #forever
   #func
   #if
   #ifregion
   #ifunit
   #include
   #input
   #message
   #next
   #notrace
   #proc
   #return
   #sort
   #table
   #tag
   #trace
   #var
   #while
Rückruf-Prozeduren
   CalcUnitCapacities
   CreateRegionHeader
   CreateUnitHeader
   EndRegion
   EndUnit
   OnBuilding
   OnExit
   OnInit
   OnRegion
   OnShip
   OnUnit
   OutputLineFilter
Report-Objekte
   building
   grenze
   partei
   preise
   races
   region
   report
   ship
   things
   unit
Anhang
   Danksagungen
   SkriptDebugger
   VorlageFAQ

region

Beschreibung

Das region Objekt enthält relevante Regions-Informationen aus dem Basisreport, der für die Vorlage verwendet wurde. Hier kann man auf die wichtigsten Infos zugreifen.

Um die Region zu verwenden in der sich die aktuelle Einheit befindet, verwendet man:

region.<Attribut>

Will man auf eine Region zugreifen, deren Koordinaten man kennt, so erfolgt dies (je nachdem ob Standardebene oder nicht) mit:

region[<x>,<y>].<Attribut>
region[<x>,<y>,<ebene>].<Attribut>

Man kann auch eine Region in relativer Position zu einer Einheit verwenden:

unit.region[<dx>,<dy>].<Attribut>
unit[<enr>].region[<dx>,<dy>].<Attribut>

Attribute

Arbeitsplätze Arbeitsplätze insgesamt (also nicht nur freie)
Ausgaben Kosten, die man in dieser Region in einer Runde hat (gemessen an der letzten Runde)
Baeume Anzahl der Bäume, die in der Region zur Zeit stehen
Bauern Bevölkerungszahl der Bauern
Bauwerke Identisch zu building.size, dessen Verwendung vorzuziehen ist
building.Size Anzahl der building Objekte (bzw. Anzahl der Gebäude) in der Region
building[<Index>] Ermöglicht den Zugriff auf die Gebäude in einer Region
Char Kartenzeichen der Region für eine ASCII-Karte
Durchreise.size Anzahl der Durchreise-Meldungen in der Region
Durchreise[<Index>] Die jeweiligen Durchreise-Meldungen
Durchschiffung.size Anzahl der Durchschiffungs-Meldungen in der Region
Durchschiffung[<Index>] Die jeweiligen Durchschiffungs-Meldungen
Effects.size Anzahl der Effekte, die auf die Region wirken
Effects[<Index>] Die jeweiligen Effects-Einträge
Einheiten Identisch zu unit.size, dessen Verwendung vorzuziehen ist
Einnahmen Silbermenge, die man letzte Runde ungefähr eingenommen hat
Eisen Eisenvorrat im Berg, wenn zu sehen (-2 bedeutet die Menge ist unbekannt, -1 es gibt kein Eisen in der Region)
Gewinn Abschöpfbare Silbermenge mit Steuereintreiben oder Unterhalt ohne die Bauernrücklagen zu senken
grenze.Size Anzahl der grenze Objekte in der Region
grenze[<Index>] Zugriff auf die Subobjekte grenze über einen Index
Herb Pseudo-Variable für das in der Region vorkommende Kraut (wird z.B. von -> Magellan geschrieben)
Insel Gibt die Zugehörigkeit zu einer Insel an (falls entsprechende Insel-Infos im -> Mercator bzw. Vorlage-Format gefunden wurden)
Laen Laenvorrat im Berg, wenn zu sehen (-2 bedeutet die Menge ist unbekannt, -1 es gibt kein Laen in der Region)
Land ungleich 0, wenn die Region eine Landregion ist
Lohn Lohn, den die eigenen Einheiten (nicht die Bauern) für die Arbeit bekommen
Mallorn ungleich 0, wenn es sich bei den Bäumen um Mallorn handelt
Message.Size Anzahl der Regionsmeldungen
Message.[<Index>].<Attribut> Ermöglicht den Zugriff auf die Attribute der Regionsmeldungen
Name Name der Region
Personen Anzahl eigener Personen in der Region
Pferde Bestand freilaufender Pferde der Region
Pool.Silber Eigene Silbermenge in der Region
Pool.<Gegenstand> Menge eines bestimmten Gegenstandes (z.B. Holz/Silber/...), die in der Region vorhanden ist
Pool.Size Anzahl der Einträge im Materialpool
Pool.[<Index>].Name Bezeichnung eines Gegenstands im Materialpool
Pool.[<Index>].Anzahl Anzahl des Gegenstands im Materialpool
preise.<luxusgut> Handelsgutspreise des angegebenen Luxusgutes
preise.Size Anzahl der Luxusgüter über die Preisinformationen vorliegen
preise[<Index>].Silber Die Luxusgüterpreise als Array, um eine Bearbeitung ohne Kenntnis der Namen zu ermöglichen
preise[<Index>].Name Die Namen der Luxusgüter zu den indizierbaren Preisen
resource.Size Gibt die Grösse der Resourcenliste an
resource[<Index>].<Attribut> Zugriff auf Attribut der angegebenen Resource. Dabei kann der Index sowohl ein Integer als auch ein String sein.
Rekruten Gibt an wieviele Bauern rekrutiert werden können
Schiffe Identisch zu ship.size, dessen Verwendung vorzuziehen ist
ship.Size Anzahl der ship Objekte (bzw. Schiffe) in der Region
ship[<Index>] Ermöglicht den Zugriff auf die Schiffe in einer Region
Silber Silberreserven der Bauern in der Region
Silberpool Eigene Silbermenge in der Region (d.h. der Wert ist gleichbedeutend mit region.Pool.Silber)
Steine Anzahl der (sichtbar abbaubaren) Steine in der Region
Strasse Prozentuale Fertigstellung der Strassen in der Region (für Spiele/Versionen ohne grenze Blöcke)
Terrain Geländetyp der Region (Ozean, Berge, ...)
unit.Size Anzahl der unit Objekte in der Region (und somit Anzahl der sichtbaren Einheiten)
unit[<Index>] Ermöglicht den Zugriff auf die Einheiten in einer Region
Unterhalt Maximale mit Unterhaltung eintreibbare Silbermenge
Verorkt 1, falls die Region verorkt ist, 0 sonst.
X x-Koordinate der Region
Y y-Koordinate der Region
Z z-Koordinate der Region

Inseln

Um Inselzugehörigkeit festzulegen, empfiehlt sich ein zusätzlicher Karten-CR mit einem Insel-Tag pro Insel, sprich in irgend einer Region der zusammenhängenden Landmasse.

Man besorgt sich also einen Karten-CR mit passendem Ursprung oder erzeugt ihn sich (z.B. mit '-map karte.cr' bei Vorlage, oder einfach mit irgendeinem der vielen anderen Tools) und markiert z.B. die Heimat-Region auf der eigenen Insel im Computer-Report mit einem Editor im REGION Block von

REGION 0 0
"Heimatregion";Name
"Ebene";Terrain
...

ergänzen zu

REGION 0 0
"Heimatregion";Name
"Ebene";Terrain
"Schatzinsel";Insel
...

Wenn man nun diesen Karten-CR dem nächsten Aufruf mitgibt, so wird dieses Tag von Vorlage auch in alle mit dieser Region verbundenen Land-Regionen übertragen, so das für alle Regionen der Insel gilt: region.insel=='Schatzinsel'

Komplizierter wird es nur, wenn man eine z.B. Halbinsel mit einem eigenen Namen haben will. Dabei hilft aber, das dieses "Auslaufen" der Insel-Namen nur in angrenzende Landregionen ohne Insel-Namen erfolgt. Beispiel:

   . . . . . . . .
  . . . . . . . . 
   . a a . b b . .
  . a a a b b b . 
   . . a b . b b .
  . . . . b . . .
   . . . b b . . .
  . . . . . . . .

Hier soll der eine Teil der Insel (a) "Kierill", der andere (b) "Targarn" heissen. Dann muß man halt nur die Grenzregionen mit Insel-Tags markieren, der Rest läuft dann automatisch. Also reicht es aus, alle im folgenden groß geschrieben Regionen mit entsprechenden Namen zu versehen:

   . . . . . . . .
  . . . . . . . . 
   . a a . b b . .
  . a a A B b b . 
   . . A B . b b .
  . . . . b . . .
   . . . b b . . .
  . . . . . . . .

Referenzen

-

Revision 08 Oct 2005

Page design, graphics and contents (c) copyright 1999-2004
by S.Schümann and contributing authors