Autor Thema: [Fallout2] Mapper Tutorial-Sammlung  (Gelesen 7444 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.615
[Fallout2] Mapper Tutorial-Sammlung
« 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:

  • 1. Grundlagen ~ FO 2 Mapper (in diesem Post, weiter unten)
  • 2. Wir bauen eine kleine Map - Teil l (in diesem Post, weiter unten)
  • 3. Wie erstelle ich eine Leiter?
  • 4. Wir bauen eine kleine Map - Teil ll



    1. Grundlagen ~ FO 2 Mapper

    Was kann ich mit dem Mapper alles anstellen?

      -   Mit dem FO2 Mapper kannst du neue Maps bauen (logisch, daher auch der Name)
      -   Critters, Scenerey, ect. platzieren
      -   den Critters (Spielfiguren) ihre Scripte zuweisen
      -   der Map ein spezielles Script zuweisen
      -   vorhanden Proto´s editieren
      -   neue Proto´s erstellen


    Die wichtigsten Tastenbelegung im Mapper:

    F: Schaltet FPS / aus
    D: Ändert die Beleuchtung (Tag, Nacht, usw)
    L: Tür verschließen, im Testmodus bekommt der Spieler 500EXP.
    M: Mauscursor in Pfeil ändern/ in normalen Cursor ändern
    O: Optionen
    Q: Macht die Wände transparent
    U: öffne/ schließe Tür
    Z: Rest
    ?: zeigt die Spielzeit

    Alt-N: Löscht die Map
    Alt-O: Öffnet Map
    Alt-S: Speichern
    Alt-V: Tools Menü
    Alt-Y: "Use pattern"

    F12: Screenshot
    Alt-F7: Mehrere Screens auf einmal machen.

    Shift-L: Spielerlevel erhöhen
    Shift-K: Töte Critter und tot auswählen/ Critter wiederbeleben

    Es gibt noch weitaus mehr, aber die sollten für´s Erste ausreichen.




    Wir bauen eine kleine Map - Teil l

    Nichts besonderes, nur um zu zeigen, wie die grundlegenden Sachen so ablaufen. Schwierigere Dinge wie Mapwechsel u.ä. kommen später. Und schon mal sorry für die miese Bildqualität, aber Webspace wächst leider auch nicht auf Bäumen. ;)

    1.   Wir sehen ein großes schwarzes Fenster. Da wir ja eine neue Map bauen wollen, wählen wir erst mal die Floor-Tiles aus. (Rechtsklick auf ein Tile um es auszuwählen und dann mit Linksklick in die Map setzen.) Entweder man klickt manuell jedes Tile an oder man benutz die "Use Pattern" -Funktion (Tools -> Use Pattern). Pattern sind vorgefertigte Floor- Stücke, welche man ganz einfach auf den Boden malen kann. Dabei wird nicht immer nur ein Tile benutzt, sondern alle für diese Pattern gespeicherten Tiles, was uns die Suche/ Arbeit ziemlich erleichtert. Mit der + und - Taste kann man die Größe der zu "bemalenden Felder" bestimmen.



    2.   Wenn wir den Boden fertig haben, sind die Wände an der Reihe. Wir stellen in dem kleinen grauen Kästchen unten links das Tileset auf "Walls" um. Das Suchen der richtigen Wandstücke kann manchmal etwas Arbeit erfordern. Vor allem, wenn man noch nicht genau weis, wo sich welche Wandstücke befinden. Ich habe mich für die lässigen Wellblech-Wände entschieden. Wenn wir unten links die Hexfelder aktivieren, sehen wir anhand der roten Felder, wo sich der Spieler und andere Figuren nicht bewegen können. Wenn wir uns jetzt unser Haus ansehen, merken wir, dass an einigen Ecken keine roten Hexfelder zu sehen sind. D.h. wir können durchlaufen. Um dies zu verhindern, gibt es spezielle "Blocking Hex" -Felder. Zu finden unter "Walls" Tile Nummer 620.



    3.   Jetzt kommt das Dach. Wieder unten links auf Tiles umstellen UND bei "Roof" das rote Häkchen wegmachen. Das ist sehr wichtig, da wir uns sonst noch in der Floor- Ebene befinden. Das Dach setzen wir ansonsten genauso wie die normalen Tiles. Aber halt - Ich hab mich verklickt und jetzt ist ein Stück Dach zu viel. Aber dafür gibt es auch eine Lösung. Tile Nummer 1 (ganz am Anfang) ist die "Löschkachel" mit dieser kann man die falschen Tiles wieder löschen.



    4.   Unsere Map in der Grundgestallt sollte jetzt fertig sein. Nun kommen die Objekte (Scenery). Wir platzieren einige Objekte, von denen wir denken, dass diese in die Aktuelle Szene passen. Aber Vorsicht.. hier gilt, weniger ist manchmal mehr! Versucht nicht, die gleichen Scenery-Elemente mehrmals so in die Karte zu packen, dass man sie auf einen Bildschirm bekommt. Sonst wird der Eindruck geweckt, dass sich alles immer wiederholt. Und das schaut meist hässlich oder langweilig aus.
       


    5.   Critters platzieren. Wir wählen unten links im grauen Kästchen "Critters" aus. Jetzt können wir die vorhandenen Critter in die Map setzen. (wie man selber neue erstellt, verrate ich später) Mit den Pfeilen am unteren Bildschirmrand gibt man an, in welche Richtung die Figur gucken soll. Wenn wir eine Person platziert haben, drücken wir die Taste M um den Pfeilcursor zu bekommen. Wir klicken die Figur an und klicken unten auf EDIT. Jetzt können wir diverse Einstellungen  vornehmen, wie z.B. das Inventar festlegen oder der Figur ein Script zuweisen.



    6.   Nun kommen die restlichen Details, wie zum Beispiel das setzen von Lichtquellen. Einige Sceneryobjekte strahlen von alleine Licht aus, wie die brennenden Fässer. Das reicht uns jetzt aber noch nicht aus, also setzen wir selber noch Lichter. Dazu  gehen wir unten links wieder auf "Scenery" und wandern bis zur Tile Nummer 135. Das ist unsere Lichtquelle. Mit rechter Maustaste auswählen und in die Map an gewünschter Position setzen und fertig. WICHTIG: Es muss vorher "Toggle Block Obj View" (Tools -> Toggle Block Obj View) eingeschaltet werden, da man die Lichtquelle sonst nicht sehen kann!

    Unter Scripts -> Set Start Hex bestimmen wir dann noch den Startort des Spielers.



    Wenn wir jetzt F8 drücken (default_f8_as_game= muss in der mapper.cfg auf 1 gestellt sein), gelangen wir ins Test-Spiel und wir können umherlaufen. Noch machen die Critters nicht viel, da wir ihnen kein Script zugewiesen haben. Wenn wir die Taste D drücken, verändern wir die Tageszeit und können uns ansehen, wie unsere platzierten Lichtquellen wirken. Die Map ist noch nicht zu 100% fertig. Es fehlen noch die sog. "Scrollblocker", mit denen der Scrollradius des Spielers eingeschränkt wird und die Austrittspunkte, die den Spieler auf die Weltkarte bringen usw. das folgt im nächsten Tutorial.
« Letzte Änderung: 07. April 2008, 08:40:28 Uhr von Lexx »
only when you no-life you can exist forever, because what does not live cannot die

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.615
Re: [TUTORIAL] Fallout 2 Mapper
« Antwort #1 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 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.



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:
 


"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.



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.

« Letzte Änderung: 20. Dezember 2007, 12:46:18 Uhr von Lexx »
only when you no-life you can exist forever, because what does not live cannot die

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.615
Re: [Fallout2] Mapper Tutorials
« Antwort #2 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.



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.



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.



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.



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
Mapper Citypatch


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

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
« Letzte Änderung: 27. Juli 2008, 00:09:16 Uhr von Lexx »
only when you no-life you can exist forever, because what does not live cannot die