Das Spiel sucht an 3 Positionen nach Addons:
1. Im Installationsverzeichnis von CiM ("X:\Steam\steamapps\common\cities in motion\")
2. Im Ordner "metro" im Installationsverzeichnis ("X:\Steam\steamapps\common\cities in motion\metro\")
3. In den Eigenen Dateien ("C:\Users\DeinNameHier\Documents\Cities In Motion\")
Sobald CiM einen Ordner namens "addons" an einer dieser Positionen findet, läuft es dort jeden Ordner durch und wertet den aus.
Auszug aus "addons.script":
function init() {
if (MAIN.$build.$demo || MAIN.$build.$beta) return;
foreach (list_dirs("addons")) {
initAddon("addons/"+current);
}
foreach (list_dirs("metro/addons")) {
initAddon("metro/addons/"+current);
}
foreach (list_dirs("userdata/addons")) {
initAddon("userdata/addons/"+current);
}
}
Alles anzeigen
Ihr könnt also in "addons" euren eigenen Ordner kreieren - der kann heißen, wie er will (Sonderzeichen am besten nicht benutzen). Dort packt ihr dann all eure Sachen rein. In jedem Ordner schafft ihr die gleiche Struktur wie in "metro" auch, also "scripts", "strings" und so weiter. Jetzt baut ihr in "environment.script" eure Objekte rein, die geladen werden sollen und zeigt auf den Ordner, in dem sich eure Mod befindet.
Wie das aussieht, kann man in der entpackten vehiclepack01.gs für die Bonusfahrzeuge sehen.
$grid = MAIN.$grid;
$level = MAIN.$level;
$level.loadPlayerVehicle("x01-bus01", "/addons/vehiclepack01/bus01/bus15", mkdate(1,1,1920), mkdate(31,12,9999));
$level.loadPlayerVehicle("x01-tram01", "/addons/vehiclepack01/tram01/tram_dlc01", mkdate(1,1,1920), mkdate(31,12,9999));
$level.loadPlayerVehicle("x01-metro01", "/addons/vehiclepack01/metro01/metro_dlc", mkdate(1,1,1920), mkdate(31,12,9999));
$grid.loadGridObject("x01-metro01b", "addons/vehiclepack01/metro01/metro_dlc_b.object");
$level.loadPlayerVehicle("x01-waterbus01", "/addons/vehiclepack01/waterbus01/waterbus04", mkdate(1,1,1920), mkdate(31,12,9999));
$level.loadPlayerVehicle("x01-heli01", "/addons/vehiclepack01/helicopter01/helicopter04", mkdate(1,1,1957), mkdate(31,12,9999));
Alle Ordner werden alphabetisch geladen, d.h. z.B. die Realismus-Mod sollte als Ordnernamen sowas wie "ZZ_RealismusMod" haben. Solange jeder seinen eigenen Ordner nutzt, sollte es keine Probleme mit Addons geben. Schwieriger wirds, wenn bestimmte Sachen in bestimmter Reihenfolge geladen werden müssen. Da muss man dann womöglich Ordnernamen umbenennen - was dann auch dazu führt, dass man seine Scripts umbauen muss, da die ja auf den Ordner zeigen.
Ihr könnt das ja mal ausprobieren. Es gibt eine Log-Datei in den eigenen Dateien ("C:\Users\DeinNameHier\Documents\Cities In Motion\"), die euch gut zeigt, wenn was schief läuft.
EDIT:
Hier als Beispiel Ricci's Straßenbahnen als Addon:
http://ben.s15224373.onlinehom…empel/riccis_vehicles.zip
Einfach das ZIP in den Ordner "addons" entpacken. So werden aus den 12 MB, die das "normale" Addon von Ricci braucht, nur knapp 500kB als ZIP.