Ja, hatten wir schon mal (wegen chance=); damals war lediglich die Frage, ob man die Variable ändern soll, weil es zwei verschiedene Variablen gibt, die von aussen betrachtet dasselbe bewirken.
Wenn von mir solche Extremvorschläge kommen, dann sind das meist Gedanken für die "grüne Wiese", Optimalvorstellungen, die auf bestehende Strukturen wenig bis gar keine Rücksicht nehmen. Philosophieren wir einfach mal, wie so ein Simutrans aussehen würde, über die Umbaukosten und Machbarkeit können wir immer noch streiten.
Zitat:Eine Fabrik ist KEIN Gebäude, es sieht nur so aus und besteht intern aus aus Gebäuden mit Level null. Bei Fabriken kann deshalb level nicht verwendet werden, da der building_reader_t nicht weiss, das dieses Gebäude ein Teil einer Fabrik ist, da der factory_reader_t erst danach aufgerufen wird.
Philosophie Schritt 1:
Eine Fabrik IST ein Gebäude vom Typ fak, und dieser Typ hat neben dem Passagier- und Postumschlag (paxlevel=) weitere spezielle Eigenschaften (nimmt Güter an, hat eine Produktionsfunktion usw.). Mit der Variable dims= (default dims=1,1, zwingend dims=1,1 für com, ind, res) kann jedem Gebäude (auch vom Typ cur) eine Fläche zugeteilt werden, und da der building_reader diese Variable kennt, oder besser gesagt, kennen muss, weiss er auch, dass da ein Gebäude steht. Kollisionsgefahr mit einem factory_reader besteht keine mehr, ganz einfach, weil es letzteren gar nicht mehr benötigt, jedenfalls nicht für die Bebauung.
Philosophie Schritt 2:
Gebäude mit grösserer Fläche (dims= >1, >1) werden immer voll erschlossen, wenn ein Feld erschlossen ist (der Passagier muss ja eigentlich nur den Eingang erreichen, wie er sich innerhalb einer Burg o.ä. bewegt, ist irrelevant).
Auch Stadtgebäude vom Typ ind oder com können "Fabriken" (Stadtgeschäfte) werden - das wäre dann die totale Dynamik, wenn die Lieferketten jedesmal ändern, wenn an so einem Ort ein Gebäude auf den nächsten paxlevel renoviert wird...jedenfalls wären wachsende Industrien so kaum noch ein Problem, abgesehen von der Programmierung dynamischer Ketten und der speicherzugriffsfehlerfreien Löschung von Gütern ohne Abnehmer:
obj=building
type=com
name=COM_00_02
paxlevel=2
chance=56
productivity=3
inputgood[0]=Gemuese
inputcapacity[0]=5
inputfactor[0]=100
dims=1,1
backimage[][][][][]=...
obj=building
type=com
name=COM_00_05
paxlevel=5
chance=43
productivity=5
inputgood[0]=Gemuese
inputcapacity[0]=6
inputfactor[0]=100
dims=1,1
backimage[][][][][]=...
Bitte diese Zeilen nicht als .dat-Vorlage nutzen!