Vorlage Dokumentation#ifregion
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

#ifregion

Ausführung von Befehlen in Abhängigkeit von der Region

Syntax

#ifregion <Regionsname> { Befehl1 [: ...] } [#else { Befehl2 [: ...] }]

Beschreibung

Dieser Metabefehl ermöglicht es, in Abhängigkeit der Region in der sich die Ausführende Einheit befindet, einen Befehlsblock auszuführen oder nicht. Regionsname ist dabei wird dabei mit dem Namen der aktuellen Region verglichen. Sind beide gleich, so wird der direkt folgende Block ausgeführt, anderenfalls der einem #else folgende Block, oder wenn dieser nicht existiert nach dem #ifregion in der Ausführung fortgefahren.

Aufgrund der Abhängigkeit von einem gültigen Regionskontext darf #ifregion nur in Einheiten, also der Zugvorlage, sowie in OnRegion und EndRegion verwendet werden.

Parameter

 Regionsname  Ist die Einheit in dieser Region, so wird der Teil im ersten Klammerblock ausgeführt. Andernfalls wird nach dem #if oder im Klammerblock des #else fortgefahren.

Beispiel

Ein Wagenzug soll zwischen zwei Regionen (Thule und Omsk) auf einer W-NW-SO-O-Route pendeln:

EINHEIT tr3k; Die Schlepper [4,200$]
  // #ifregion 'Thule' { NACH Westen Nordwesten }
  // #ifregion 'Omsk' { NACH Suedosten Osten }
  ... (hier könnten Be- und Entladebefehle folgen)

Man könnte natürlich auch -> ROUTE oder #every benutzen, aber wenn man z.B. mal eine Runde verweilen, oder einen dringenden Abstecher aus der Route heraus machen, so muß man einiges anpassen. Dieses "Skript" aber wirkt ausserhalb der beiden Regionen nicht und setzt seine Arbeit gleich bei wiedereintreffen in einer der beiden Regionen fort, als ob nichts war.

Referenzen

#if, #ifunit

Revision 10 Jun 2003

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