Hallo,
ich versuche heute hier zu erklären wie man eine Illumination erstellt,bisher habe ich das ganze nur bei repaints angewendet daher erkläre ich es auch an Hand dieses Beispiel's
wie man das dann auf seine Bedürfnisse anwendet müsst ihr bisschen probieren,falls es Probleme gibt nutzt dieses Thread hier.
Ich erkläre es an Hand der BR480 aus dem S-BahnMod von Mediziner.
1.Schritt.: Erstellen & Anpassen der Grundstruckur
Wir erstellen uns einen Ordner wie der Mod dann heißen soll,ich habe hier gewählt Pandora
(weil ich dort meine ganzen Repaints etc einfüge)
In diesen habe ich dann für Fahrzeuge den Ordner "vehicles" erstellt, außerdem benötigen wir noch einen
Ornder Namens "scripts" und eine ".modinfo" Datei
Zum erstellen der .modinfo Datei stellen wir unser System so ein das wir Dateiendungen angezeigt bekommen,
wer nicht weiß wie das geht Googled es kurz.
Wir nennen die .modinfo datei genauso wie unseren Modordner also Pandora.modinfo
In die .modinfo fügen wir folgendes ein
$mod = map [
"version", [1, 0, 0], //aktuelle Version unseres Mods
"name", "Wie heißt der Mod",
"description", map ["en_US", "Englische Kurzbeschreibung um was es in dem Mod geht", "de", "Deutsche Kurzbeschreibung um was es in dem Mod geht"],
"modmanagerversion", [0, 7], //Welche Modmanager verison wird mindestens benötigen
"requires", map["United Night World", map[], "United Day World", map[]], //Hier können wir angeben auf welche Mods unser eigener Mod angewiesen ist damit er funktioniert
"conflicts", map["Lastwagenmod", map[], "TranspropsComplete", map[]], //Hier können wir angeben ob es mit anderen Mods Konflikte gibt
"homepage", "http://www.meinehomepage.de",
"installto", 2,
"author" , "Author Ersteller des Mod's",
"changelog", [
"1.0.0",["Hier können wir einen Channelog erstellen"]
]
];
Alles anzeigen
Und passen uns natürlich alles (// Hinweistexte können inkl. // danach entfernt werden ist nur für euch zur Erklärung gedacht)
Sollte es keine Konflikte oder Vorrausetzungen geben könnt ihr die komplette Zeile entfernen.
[imgintern]http://www.citiesinmotion.net/…d27d2a5e1ee0f6b144faeb726[/imgintern]
2.Schritt.: Fahrzeugordner Erstellen & Anpassen
Nun nehmen wir unser Fahrzeug welches wir erstellen wollen und geben dem ganzen einen Namen,da ich von der BR480
aus Mediziner's S-BahnMod einen Repaint gemacht habe nenne ich mein Fahrzeug nun "BR480UB"
sämtliche Dateien im Ordner müssen nun ebenfalls auf unseren neuen Ordner Namen angepasst werden.
[imgintern]http://www.citiesinmotion.net/…f6e9037e74de8be7eaf4c1684[/imgintern]
Jetzt müssen wir sämtliche Texturverlinkungen erneuern hier zu öffnen wir Dateien wie .material und .object
mit einem Hex-Editor und passen die Namen der Texturen an.
[imgintern]http://www.citiesinmotion.net/…c7de69bfac4fd184ab9b58d9f[/imgintern]
Ab jetzt wäre unser Fahrzeug ein Duplikat des Orginal's damit es anders Ausschaut bearbeitet man die Texturen.
Gleichzeitig könnt ihr eure Dateien für Tageslicht und Nachtlicht mit entwerfen.
3.Schritt.: Ladeanweisung
Wir begeben uns in den Ordner "scripts" und erstellen eine "environment.script" Datei
in diese schreiben wir nun wasdas Spiel laden soll und wo es sich befindet.
echo "Loading " +this.scriptFilename;
$grid = MAIN.$grid;
$level = MAIN.$level;
$level.loadPlayerVehicle("br480uba", "/addons/Pandora/vehicles/BR480UB/br480uba", mkdate(1,1,1986), mkdate(31,12,2012));
$grid.loadGridObject("br480ubb", "addons/Pandora/vehicles/BR480UB/br480ubb.object");
4.Schritt.: Verlinkung von Tag- und Nachtbeleuchtung
Wir haben also unsere Tagesbeleuchtungstextur und Nachtbeleuchtungstextur erstellt welche ebenfalls im Ordner des Fahrzeuges liegen,
nun begeben wir uns zurück in den Ordner "scripts" und erstellen eine datei Namens "game.script" mit folgendem Inhalt
$grid = MAIN.$grid;
$level = MAIN.$level;
//Repaintsbeleuchtung
//Tagesbeleuchtung
if (MAIN.$sun.light.magnitude >= 1.5)
{
echo "Tagesbeleuchtung der Fahrzeuge wird einschaltet";
injectIllumination("br480uba", "br480ub", "BR480UB/br480ub_ti.dds");
injectIllumination("br480ubb", "br480ub", "BR480UB/br480ub_ti.dds");
}
//Nachtbeleuchtung
if (MAIN.$sun.light.magnitude < 1.5)
{
echo "Nachtbeleuchtung der Fahrzeuge wird einschaltet";
injectIllumination("br480uba", "br480ub", "BR480UB/br480ub_i.dds");
injectIllumination("br480ubb", "br480ub", "BR480UB/br480ub_i.dds");
}
function injectIllumination($id, $m, $texture) {
if ($object = MAIN.$grid.getGridObject($id)) {
if ($material = $object.getMaterial($m)) {
$material.setTexture(4, "textures/envmap.dds");
$material.setTexture(3, "addons/Pandora/vehicles/"+$texture);
$material.illumination = 0xFFFFFFFF;
$material.brightness = 3.0;
$material.flags |= MATERIAL_ILLUMINATIONMAP;
}
}
}
Alles anzeigen
Achtung!!! Für sämtliche Teile des Fahrzeuges muss man eine Zuweisung über das Basemodell machen,
br480ubb läuft also über br480ub
Den Modordner oder als .gs-Datei gepackt, in den addons Ordner packen und per MM freischalten/aktivieren.
5. Zusätzliches
Für Scripte die keine Anweisungen für den FM enthalten muss folgendes unter den Trailer's geadded werden
$price = 356000;
$trailers = [
["br480ubb", true],
["br480uba", false],
["br480ubb", true]
];
//Das hier also unter die Trailer
$coupleopt = [];
// 1. Eintrag
$coupleopt[] = map[
"self", true,
"description", "U-Bahnfahrzeug BR480",
"color_version_name", "BSL UB-Lack",
"color_version_id", "bslublack",
"base_vehicle", "br480uba"
];
$pfad = extractFilePath(extractFileDir(this.scriptFilename));
$icon = MAIN.$window.video.new_texture("/addons/s-bahn/objects/vehicles/br480/480-icon.dds");
$rendering = "addons/s-bahn/objects/vehicles/br480/480-render.dds";
$reliability = 0.65;
$fuelConsumption = 0;
$electricityConsumption = 25;
$attractiveness = 0.85;
$speed = 95;
$type = 2;
//$subtype = 1; //Entfernt die Ausklammerung damit das Fahrzeug in die S-Bahnabteilung im kaufmenü kommt
$infoText = "Informationstext im Renderfenster";
Alles anzeigen