Inhaltsverzeichnis

Grundlagen

Die hier behandelten Themen sollte (muß) eigendlich jeder wissen, der eine Map erstellen will.

Variablen

Einige Arten

Art Beschreibung
Boolesche Variablen Sind Elemente einer booleschen Algebra, die immer einen von zwei Werten annehmen. Dieses Wertepaar wird je nach Anwendung u.a. als „wahr / falsch“, „true / false“(bei uns) oder „1 / 0“(für einige Funktionen) bezeichnet.
Numerische Variablen Hierin werden alle Zahlen abgelegt.
Text Variablen Hierin werden beliebige Texte abgelegt.
Tables Sind Variablen die wiederum Variablen enthalten.
FunktionenJa, Variablen konnen komplette Funktionen beinhalten. Sehr praktisch!

Variablen können mittels des Gleichheitszeichen „=„ Werte zugewiesen werden. Ein Wert kann eine Zahl, ein String oder ein Table sein. Zahl und String werden gleich erklärt, Tables in einem anderen Tutorial.

allgemein:

Variable = Wert

Beispiele:

mit Logik mit Strings mit Zahlen table Funktionen
istTot   = true 
nichtTot = false
_foo    = "bar" 
Chromix = "Gott" 
Nummer5 = "lebt"
page = 1 
zahl = 0.5
Briefing = {}
 vari = function(_a, _b)
            return _a + _b; 
        end

Hat man einer Variablen einen Wert zugewiesen, kann man diesen Wert an anderer Stelle durch Angabe des Variablennamen einsetzen. Einfaches Beispiel:

Zahlen

Eine Zahl kann ganzzahlig oder eine Fließkommazahl sein. Eine Kommazahl schreibt man aber nicht mit einem Komma sondern mit einem Punkt (z.B.: 6.25, 0.123456789, 12.5).

Mit Zahlen kann man aber auch rechnen. Das beste Bespiel kennt ihr bereits aus den BB Tutorials bei Briefings: page = page + 1 Dort wird zur aktuellen Seite 1 addiert. Auch die anderen Grundrechnenarten - * und / kann man verwenden.

Strings

Bei einem String muss man beachten, diesen in Anführungszeichen (“) zu setzen, da er sonst als Variable angesehen würde (z.B.: „Hallo Welt!“, „Dario“, „Zehn zahme Ziegen zogen zwanzig Zentner Zucker zum Zug“). Normalerweise sind alle möglichen Zeichen in Strings möglich. Allerdings gibt es zwei Ausnahmen: Das Anführungszeichen (“) und der Backslash (\). Möchtet ihr eine dieser Zeichen in einem String verwenden, stellt ihm wiederum einen Backslash voran. Klingt kompliziert, ist es aber nicht.
Darum hier wieder ein Beispiel:

Die Sätze: Siedler DEdK Maps kommen in das Verzeichnis: „C:\Programme\Ubisoft\Blue Byte\Die Siedler - Das Erbe der Könige\extra1\shr\maps\user“. Man muss aber das AddOn besitzen wäre als String:

MeinString = "Siedler DEdK Maps kommen in das Verzeichnis: \"C:\\Programme\\Ubisoft\\Blue Byte\\Die Siedler - Das Erbe der Könige\\extra1\\shr\\maps\\user\". Man muss aber das AddOn besitzen"

Strings lassen sich untereinander oder mit Variablen durch 2 Punkte verknüpfen, also ..

Nehmen wir an, wir haben eine Variable counter, welche durch einen Job jede Sekunde um 1 nach oben gezählt wird. Nun könnte man in einem weiteren Job oder einer Funktion den Wert von counter als Message ausgeben.

Die Aufruf Message(„Es wurden bereits “..counter..„ Sekunden gespielt“) lässt also nach 200 Sekunden die Nachricht „Es wurden bereits 200 Sekunden gespielt“ erscheinen. Es wurden hier also ein String, eine Variable und noch ein String zu einem Satz verknüpft.

Oder Ihr zählt den counter von einem bestimmten Wert an herunter und gebt dann auf dem Bildschirm aus: „Noch xx Sekunden bis zum nächsten Angriff“ durch den Aufruf Message(„Noch “..counter..„ Sekunden bis zum nächsten Angriff“)

Bei so einer Verkettung solltet Ihr aber am Anfang bzw. Ende jedes Strings noch ein Leerzeichen platzieren, da sonst das Verkettete direkt dran geklatscht wird.

Funktionen

Im Editor werdet ihr ständig mit ihnen konfrontiert und weil die deshalb so wichtig sind, kommen sie nochmal ein einem eigenen Tutorial vor. Vorab nochmal das Aussehen eine Funktion:

-- hier beginnt die Funktion foo
function foo()
     -- hier steht alles was die Funktion machen soll
end
 
 
oder auch so möglich:
 
-- hier beginnt die Funktion foo
foo = function()
     -- hier steht alles was die Funktion machen soll
end
-- jetzt ist die Funktion zuende


Die zuletzt genannte Form der Deklaration einer Funktion findet man z.B. bei der sog. Finished-Funktion eines Briefings

-- hier beginnt die Finished-Funktion eines Briefings
briefing.finished = function()
                       -- was auch immer nach dem Briefing passieren soll
                    end
                    -- Ende der Funktion


Konstanten

Konstanten sollen hier auch noch ihre Erwähnung finden. Im Gegensatz zu Variablen kann man Konstanten nur benutzen und nicht verändern. Wo kämen wir auch hin, wenn jeder sein eigenes PI hätte. Stark gerundet ist das:

math.pi = 3,1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679



Zur Tutorial-Übersicht

1)
Manche Wörter werden vom Programm schon gebraucht und dürfen nicht verwendet werden.
Z.B. end, do, for, while, assert, und viele mehr