Place Buildings

Im folgenden schauen wir wie man möglichst effektiv Gebäude setzten kann ohne jedes Gebäude selbst per Hand einzutippen. Wir reduzieren den Prozess auf ein Minimum indem nur noch die entsprechenden Koordinaten in ein Array einzutragen sind und per Funktion gesetzt werden. Zuerst legen wir ein Array an :

buildings={
{}, --WOODCUTTERHUT1
{}, --FORESTERHUT2
{}, --SAWMILL 3
{}, --STONECUTTERHUT4
{}, --WATERWORKHUT5
{}, --FISHERHUT6
{}, --HUNTERHUT7
{}, --SLAUGHTERHOUSE8
{}, --MILL9
{}, --BAKERY10
{}, --GRAINFARM11
{}, --ANIMALRANCH12
{}, --DONKEYRANCH13
{}, --STONEMINE14
{}, --IRONMINE15
{}, --GOLDMINE16
{}, --COALMINE17
{}, --SULFURMINE18
{}, --SMELTGOLD19
{}, --SMELTIRON20
{}, --TOOLSMITH21
{}, --WEAPONSMITH22
{}, --VEHICLEHALL23
{}, --BARRACKS24
{}, --CHARCOALMAKER25
{}, --TRAININGCENTER26
{}, --HEALERHUT27
{}, --AMMOMAKERHUT28
{}, --GUNPOWDERMAKERHUT29
{}, --LANDSCAPEMAKERHUT30
{}, --SHIPYARD31
{}, --PORT32
{}, --MARKETPLACE33
{}, --STORAGEAREA34
{}, --VINYARD,35
{}, --AGAVEFARMERHUT36
{}, --TEQUILAMAKERHUT37
{}, --BEEKEEPERHUT38
{}, --MEADMAKERHUT39
{}, --RESIDENCESMALL40
{}, --RESIDENCEMEDIUM41
{}, --RESIDENCEBIG42
{}, --SMALLTEMPLE43
{}, --BIGTEMPLE44
{}, --LOOKOUTTOWER45
{{350,300},{380,293},{410,307},{350,270}, --GUARDTOWERSMALL46
{350,240}}, -- "
{}, --GUARDTOWERBIG47
{}, --CASTLE48
{}, --MUSHROOMFARM49
{}, --DARKTEMPLE50
{}, --FORTRESS51
{}, --PORTA52
{}, --PORTB53
{}, --PORTC54
{}, --PORTD55
{}, --PORTE56
{}, --PORTF57
{}, --SHIPYARDA58
{}, --SHIPYARDB59
{}, --SHIPYARDC60
{}, --SHIPYARDD61
{}, --SHIPYARDE62
{}, --SHIPYARDF63
{}, --EYECATCHER0164
{{350,290}}, --EYECATCHER0265
{{350,285}}, --EYECATCHER0367
{{350,280}}, --EYECATCHER0468
{{355,300}}, --EYECATCHER0569
{}, --EYECATCHER0670
{}, --EYECATCHER0771
{}, --EYECATCHER0872
{}, --EYECATCHER0973
{}, --EYECATCHER1074
{}, --EYECATCHER1175
{}, --EYECATCHER1276
{}, --SHIPYARDG77
{}, --SHIPYARDH78
{}, --PORTG79
{}, --PORTH80
{}, --MANACOPTERHALL81
{}, --SUNFLOWEROILMAKERHUT82
{} --SUNFLOWERFARMERHUT83
}


In dem Array werden beispielshalber einige kleine Türme gesetzt und ein paar Zierobjekte. Möchte man also ein Gebäude an einer Stelle hinzufügen trägt man sie an die richtige Stelle mit Koordinaten in das Arrays ein.

Damit aus dem Array auch die entsprechenden Gebäude gebaut werden brauchen wir noch eine Funktion. Diese sieht so aus:


Pastebin :https://pastebin.com/gs6acm43

Die Funktion läuft über das Array und setzt zuerst die Grundgebäude und danach die restlichen Gebäude in Reihenfolge ihrer Nummer.

Die Funktion wird mit dem Parameter der entsprechenden Partei wie folgt aufgerufen:
placebuildings(1) 
Ausnahmen unter den Gebäuden ist Nummer 32 PORT Nummer 36 SHIPYARD, Nummer 30 LANDSCAPEMAKERHUT und Nummer 26 TRAININGSCENTER. Diese können nicht gesetzt werden da sie im aktuellen Spiel nicht mehr existieren.

Abschließend sei gesagt, dass das Spiel abstürzt falls Gebäude in Wasser und außerhalb der Grenzen gesetzt werden. Will man ein Gebäude bauen welches nicht dem passenden Volk entspricht kommt es ebenfalls zum Fatal Error.