Falloutnow! - We drop the bomb!

Modding => Fallout Modding => Modding Tutorials/ Anleitungen => Thema gestartet von: Lexx am 27. Dezember 2005, 23:17:50 Uhr

Titel: [Fallout2] Mapper Tutorial-Sammlung
Beitrag von: Lexx am 27. Dezember 2005, 23:17:50 Uhr
Fallout 2 Mapper Tutorial-Sammlung

Dieser Thread wurde von mir geschlossen, da ich vorhabe hier weitere Tutorials bezüglich des Mappers reinzuschreiben. Und damit es später evtl. nicht zu unübersichtlich wird, ist das Ding zu. Wer Fragen hat, soll doch bitte einen neuen Thread erstellen. :)

WICHTIG: Wenn Ihr die deutsche Fallout 2 Version benutzt, müsst Ihr in der mapper.cfg in eurem FO2 Mapper Verzeichnis den Eintrag "language=english" in "language=german" abändern. Ansonsten startet der Mapper nicht ordnungsgemäß!

Solltet ihr für Killaps Restoration Pack oder einer anderen Mod neue Maps erstellen wollen, benötigt ihr noch die folgenden zwei Patches:
http://www.teamx.ru/files/utils/m2_city_patch.rar
http://www.teamx.ru/files/utils/m2_maps_limit_patch.rar

Inhalt:

Titel: Re: [TUTORIAL] Fallout 2 Mapper
Beitrag von: Lexx am 27. Dezember 2005, 23:18:03 Uhr
Wie erstelle ich eine Leiter?

Dieses Tutorial ist eine "Teilweiseübersetzung" von ColJacks Leiter Tutorial, welches Ihr hier (http://www.coljack.pwp.blueyonder.co.uk/fallout/laddertut.html) finden könnt.

Als erstes brauchst du die Map, in der du die Leiter einfügen willst. Danach fügst du die Leiter oder Treppe in deine Map ein.

(http://www.industrie-musik.de/fallout/tutorial/leiter01.jpg)

Als nächstes drückst du die "M"-Taste um den Cursor in den Pfeil zu ändern. (um ihn wieder zu ändern, einfach noch mal "M" drücken.)
Mit dem Pfeil-Cursor selektierst du jetzt die Leiter und klickst auf den EDIT-Button, um folgendes Fenster zu öffnen:
 
(http://www.industrie-musik.de/fallout/tutorial/leiter02.jpg)

"Dest Tile" gibt an, bei welchem Hexfeld der Spieler in dieser Map ankommt. Wenn du auf das entsprechende Feld in der Map klickst, kannst du die Hexfeld-Nummer in dem kleinen grauen Kasten unten links ablesen.

(http://www.industrie-musik.de/fallout/tutorial/leiter03.jpg)

Bei "Dest Elev" gibt man an, zu welcher Ebene der Spieler in der Map gehen soll, wenn er die Leiter oder Treppe benutzt. (Hier sei anzumerken, dass das Spiel die Ebene 1 als 0 ansieht, die Ebene 2 als 1 und so weiter.)

Bei "Dest Map" wird dann noch angegeben, zu welcher Map der Spieler geschickt werden soll. (Zum Beispiel "059" für die New Reno Map Golgatha)
Die Nummer kann man aus der maps.txt rauslesen. Es ist also auch möglich, den Spieler zu jeder anderen Map auf der Weltkarte zu schicken.

Wenn alles eingestellt wurde, auf DONE klicken, um das Fenster wieder zu schließen.

Fazit: Es muss für jede Leiter in der Map das Zielhexfeld (in dieser Map) sowie die Zielmap (wo der Spieler hingelangt, wenn er die Leiter benutzt) und die Ebene (Standart = 0, für oberste Ebene) festgelegt werden.

Titel: Re: [Fallout2] Mapper Tutorials
Beitrag von: Lexx am 18. März 2006, 19:21:26 Uhr
Wir bauen eine kleine Map - Teil ll


Nachdem wir im letzten Tutorial eine kleine Map in der Roh-Version gebaut haben, geht es jetzt an die kleinen aber feinen Details. Um es im Vorfeld schon mal anzusprechen: Scrollblocker, Secret Blocking Hex, Levelausgänge und das einfügen der Map als eine neue Stadt, die man über die Weltkarte erreichen kann.

Was wir schon haben. Wir haben die Map soweit fertig gestellt, Lichter und Critters platziert. Natürlich ist die Reihenfolge, in der man arbeitet hier relativ egal. Man könnte also auch eine Map in das Spiel einbinden und sie erst dann bauen. Klingt unlogisch? Ist es eigentlich auch...



Wir machen weiter ? Scrollblocker

Zunächst einmal, was sind Scrollblocker? Scrollblocker sind, wie der Name schon erahnen lässt, Objekte die den Scrollradius des Bildausschnittes eingrenzen.

Zu finden in der Kategorie ?Misc?, mit der Nummer 11.

Wie setzen wir jetzt die Scrollblocker? Ganz einfach... wir fahren mit dem Bildschirmausschnitt genau so hin, wie wir meinen, dass der Spieler später auch nur bis dorthin scrollen soll/ darf. Jetzt peilen wir Pi mal Daumen die Mitte des Bildschirmes ab und setzen den ersten Scrollblocker. Warum? Weil der Scrollblocker nicht den Bildschirm da anhält, wo Rand und Blocker aufeinander treffen, sondern genau in der Bildschirmmitte. Das ist unser Ausgangspunkt.  Jetzt gehen wir in Kastenform, wie ein Rahmen um die Map herum. Am besten immer in zweier Reihen, da es vorkommen kann, dass der Bildschirm zwischen zwei Blockern durchrutscht. (wenn man z.B. nicht genau vertikal oder horizontal scrollt.)

Das fummelige an den Scrollblockern ist, dass man sie jeweils nur einzeln in die Map setzen kann und eine Linie schon mal etwas länger dauern kann. Wenn sich dann herausstellt, dass der Spieler noch immer zu viel oder zu wenig vom Spielfeld sehen kann, darf man erst mal wieder alle ein Stückchen verrücken, was wiederum in viel Arbeit ausarten kann.

(http://www.industrie-musik.de/fallout/tutorial/map1.jpg)

Secret Blocking Hex. Du Onkel... wenn der Scrollblocker dafür verantwortlich ist, dass ich den Bildschirm nicht mehr weiterbewegen kann, wofür soll jetzt das ?Secret Blocking Hex? gut sein?

Ganz einfach. Mit dem Secret Blocking Hex (Zu finden unter ?Scenery?, Nummer 66) kannst du dem Spieler sagen, dass er sich nicht zu der entsprechenden Stelle bewegen kann. Gut, jetzt könnte man auch die Walltiles (620,621) benutzen, aber der Unterschied ist, dass das Secret Blocking Hex die Umgebung nicht weiter beeinflusst, eigentlich gar nicht da ist, ?geheim? eben und nur der Spieler und alle anderen Critter sich nicht darauf bewegen können.

Sehr gut geeignet für Spielfeldbegrenzungen, wenn man nicht will, dass Figuren bei der Flucht die Map verlassen.

(http://www.industrie-musik.de/fallout/tutorial/map2.jpg)

Levelausgänge. Nun wollen wir die Map auch verlassen können.
In der Kategorie ?Misc? sind jede menge Ausgangsmarkierungen zu finden. Wir benötigen aber nur die grünen(!). Alle anderen sollten nicht benutzt werden, da diese entweder sowieso nicht funktionieren oder Fehler hervorrufen können.

Es gibt mehrere Versionen der grünen Markierung. Wenn wir eine der Markierungen ausgewählt haben und platzieren wollen, fällt uns dabei auf, dass diese in verschiedene Richtungen zeigen. Jede Markierung zeigt in eine bestimmte Richtung:
-   Norden
-   Nord Osten
-   Osten
-   Süd Ost
-   Süden
-   Süd West
-   Westen
-   Nord West.

(http://www.industrie-musik.de/fallout/tutorial/map3.jpg)

Wichtig (!) beim platzieren ist, dass das rote Feld immer in genau die Richtung zeigt, von der aus der Spieler in die Markierung hineinläuft. Wichtig ist auch, dass die Marker eine ununterbrochene Linie erzeugen, da der Spieler später nur auf diesen (momentan noch) roten Feldern zwischen den Maps wechseln kann. Die roten Felder werden später blau.
 
Jetzt gehen wir nach Tools -> Set Exit-Grid Data. Hier stellen wir die neuen Werte für die Ausgangsmarkierung ein.

Exit Grid Dest Map ? die Zielmap. Bei ?1 gelangt der Spieler zur Weltkarte, was uns erst mal ausreicht.

Exit Grid Dest Tile ? die Hexfeldnummer, bei der der Spieler nach dem Mapwechsel steht. Da wir mit zur Weltkarte wollen, ist es unwichtig, was wir eintragen. Bei ?1 wird immer der Standard Starthex (siehe letztes Tutorial, Wir bauen eine kleine Map) genommen.

Exit Grid Dest Elevation ? die Ebene der Map in der der Spieler startet. 0 steht für die oberste Ebene, 1 für die zweite, und so weiter...

Exit Grid Dest Rotation ? gibt an, in welche Richtung der Spieler nach dem Mapwechsel gucken soll.

Nachdem wir alles eingestellt haben, wie wir es wollen und für richtig halten, geht?s in den ?Mark Exit-Grids Mode? (Tools -> Mark Exit-Grids). Nützlich ist es auch, wenn du das Hexfeld im Editor einschaltest, um die Hexfelder besser zu sehen. Jetzt klickst du nacheinander alle blau umrandeten Hexfelder an, die den Spieler später einen Mapwechsel ausführen lassen sollen.

(http://www.industrie-musik.de/fallout/tutorial/map4.jpg)

Meister, bis jetzt hat alles reibungslos funktioniert und mir brennt´s schon an den Fingern. Ich will die Map endlich im Spiel sehen!

Eine neue Stadt erstellen. Hierfür benötigen wir zuerst mal den Citypatch für die Fallout2.exe und am besten noch den Citypatch für den Mapper.

Links:
Fallout Citypatch (http://www.nma-fallout.com/forum/dload.php?action=file&file_id=75)
Mapper Citypatch (http://www.nma-fallout.com/forum/dload.php?action=file&file_id=76)


Nun wird es wieder etwas komplexer. Falls noch nicht vorhanden, musst du mit einem *.dat Entpacker (z.B. DAT Explorer) die Dateien City.txt und Maps.txt nach dein ?Fallout2\data\data\? Verzeichnis entpacken.

Link:
DAT Explorer (http://www.nma-fallout.com/forum/dload.php?action=file&file_id=94)

Als nächstes musst du unbedingt deine Patch000.dat entfernen oder umbenennen, da die neuen Daten sonst überschrieben werden.

Wir öffnen die Maps.txt und scrollen nach ganz unten, an das Ende der Datei.
Hier finden wir folgenden Eintrag:

[Map 150]
lookup_name=Bess Dead
map_name=rndbess
music=07desert
saved=No

Diesen kopieren wir und fügen ihn direkt darunter wieder neu ein und modifizieren diesen.

[Map 151]
lookup_name=LexxTut
map_name=lexxtut
music=07desert
saved=yes
can_rest_here=Yes,Yes,Yes

Was haben wir jetzt getan?

[Map xxx] hat die nächst folgende Nummer bekommen.
lookup_nama wird später zur Identifizierung benötigt.
map_name ist der Name deiner im Mapper gebauten Map.
music=07desert gibt an, dass 07desert abgespielt werden soll.
Saved=yes bedeutet, dass die Map und alles was passiert, global gespeichert werden soll.
can_rest_here=Yes,Yes,Yes  sagt uns, dass wir uns in jeder Ebene der Map ausruhen können (Pipboy Funktion, ihr wisst schon?)


Jetzt geht?s in die City.txt, wo wir auch wieder nach ganz unten scrollen.
Hier finden wir folgendes:

[Area 48]
area_name=Reno Stables
world_pos=953,882
start_state=Off
;lock_state=on
size=Small
townmap_art_idx=-1
townmap_label_art_idx=-1
entrance_0=On,130,410,New Reno Stables,-1,-1,0

Wieder Copy&Paste, damit wir nicht zu viel schreiben brauchen. Wir wollen uns ja nicht überanstrengen. :P

Wir ändern ab:

[Area 49]
area_name=LexxTut
world_pos=273,222
start_state=on
size=Small
townmap_art_idx=-1
townmap_label_art_idx=-1
entrance_0=On,130,410,LexxTut,-1,-1,0

[Area xx] hat wieder die nächste Nummer bekommen.
area_name ist der Name der Stadt, zu die das Gebiet gehört
world_pos gibt die Position des Ortes auf der Weltkarte an (x, y Koordinaten)
start_state gibt an, ob die Map von anfang an sichtbar sein soll oder nicht.
size ist die größe des grünen Kreises auf der Weltkarte (small, medium, large)
townmap_art_idx ist die Indexnummer für das Bild in der Weltkarte (z.B. die Den Übersichtskarte oder alle anderen eben....)
townmap_label_art_idx ist die Indexnummer für den Schriftzug rechts in der Liste im Weltkartenmodus.
Entrance_0 gibt an, ob die Map von Anfang an betbar ist (eigentlich nur weiter interessant, wenn mehr als eine Map zu einem Ort gehören), 130, 410 sind die Koordinaten für das grüne Dreieck auf der Übersichtskarte (Bild = townmap_art_idx). Als nächstes kommt der ?lookup_name? aus der Maps.txt (!!!) und zum Schluss noch diverse Angaben, für die Map-Ebene, Starthex und Rotation des Spielers.

Jetzt geht es an die Beschriftungen...

Wir öffnen also die Map.msg und scrollen nach ganz unten.
Hinter :
{1548}{}{Stables}

setzen wir:
{1549}{}{Lexxs Tutorial Map}

Ihr müsst wieder auf die laufende Nummer achten.

Jetzt scrollt ihr wieder etwas höher, bis die 1500´er Nummern starten.

Bei
# 150. RndBess
{650}{}{Desert}
{651}{}{Desert}
{652}{}{Desert}

machen wir mal wieder copy&paste.

# 151. LexxTut
{650}{}{A map}
{651}{}{ }
{652}{}{ }

Das sind die Kartenbeschreibungen für die drei Ebenen.

Wir speichern wieder.


Wenn wir jetzt die Dateien speichern und alles richtig gemacht haben, sollten wir eigentlich auch eine neue Stadt eingebaut haben.


Es grüßt,
die Zentrale