Models in Map einbinden

» Siedler Map Source Forum » Siedler DEdK Script Forum » Models in Map einbinden

Seiten: 1

Kantelo
#1
18.01.2014 14:22
Beiträge: 357

Models in Map einbinden

Als uns bobby vor einem halben Jahr das BBA-Tool zur Verfügung gestellt hat, schaffte ich es nur, andere Models in das Spiel zu integrieren, indem ich die BBA Dateien veränderte.
Jetzt habe ich doch noch eine Lösung gefunden, wie man nur durch die Map eigene Models einbinden kann:

Die normale s5x Map besteht, wenn man sie entpackt aus den Ordnern "graphics" und "maps". In "graphics" ist das Mapvorschaubild gespeichert, in "maps" die eigentlichen Mapdateien.
Nun gibt es in der data.bba Datei auch diese zwei Ordner.
Das tolle ist, dass das Spiel keinen Unterschied zwischen den Ordnern macht. D.h. ich kann auch ein Model und Grafikdateien (die sich alle im Ornder graphics befinden) in der Map speichern und es befindet sich alles am richtigen Ort.
Da aber der außer dem graphics und dem map Ordner in der s5x Datei nichts geladen wird, gibt es keine Möglichkeit, dieses Model zu konfigurieren, also dem Spiel zu sagen es gibt eine neue Entity, sie hat folgendes Blocking etc.
Aber man kann eine bereits konfigurierte Entity überschreiben, indem man beispielsweise die cb_grange.dff (Model) Datei umbenennt in cb_folkungcastle. Dasselbe macht man mit den Grafikdateien (dds).
Wenn man die Map anschließend wieder in s5x format packt und die Map startet, hat man anstelle des Folklung Castles ein CB_Grange.

Drei Nachteile hat die Sache aber:
1. Die Map darf nicht erneut im Mapeditor abgespeichert werden.
2. Wenn man aus dem Spiel heraus andere Maps mit dem Folklung Castle startet, dann sehen diese ebenfalls wie das CB_Grange aus; umgekehrt darf man die Map mit dem CB_Grange nicht aus einem anderen Spiel heraus laden, da sonst wieder das Folklung Castle angezeigt wird.
Startet man dagegen das Spiel neu und lädt die Map, dann muss nur in Mission_OnSaveGameLoaded ein Display.LoadAllModels() stehen und der CB_Grange wird wieder angezeigt.
3. Ich habe es bis jetzt nur mit Gebäuden und Doodads geschafft; nicht aber mit Einheiten wegen den Animationen. Ich werde versuchen das Problem noch irgendwie zu beheben.

Im Einzelnen geht das ganze jetzt so:
Man sucht sich in der entpackten data.bba Datei eine Entity raus, die man in seiner Map nicht benötigt und merkt sich von dieser Entity den Model-Dateinamen und den Textur-Dateinamen.
Man entpackt mit dem bba-Tool (Ob Vollversion oder Demo ist egal) seine fertiggestellte Map, nachdem man auf jeden Fall davor eine Sicherungskopie angelegt hat.
Dann erstellt man anschließend im Ordner graphics einen Unterordner models in den man die dff-Datei seines Models einfügt und sie umbenennt den vorher herausgesuchten Model-Dateinamen einer nicht benötigten Entity; z.B. cb_grange.dff in cb_camp01.dff umbenennen.
Dann fügt man jeweils eine Textur seines Models in die Ordner textures; texturesmed; textureslow ein und bennennt diese ebenfalls um (cb_grange.dds in cb_camp1.dds)
Im Mapscript Mission_OnSaveGameLoaded überschreiben und Display.LoadAllModels() einfügen und dann wieder in eine s5x Datei packen.
Ab jetzt darf die Map nicht mehr gespeichert werden, sonst fliegen alle zusätzlichen Dateien raus!
Die Models übernehmen Blocking, evtl. Lebenspunkte etc. des überschriebenen Models!
Es empfiehlt sich, den "Spiel laden" Button im Spiel zu deaktivieren und beim Klick auf Spiel verlassen das Spiel mit Framework.ExitGame() komplett zu beenden aus oben genannten Gründen...

Bisschen komplex das ganze, aber ich hoffe ein paar von euch verstehen das Zeug, was ich da erklärt habe

Vielleicht nützt es dem ein oder andern noch, oder hilft beim geplanten Mod.

Gruß
Kantelo

Seiten: 1

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum