Haradirki.de

Eine Map bot-lauglich machen:
Dateien: indextut30.zip

Hier will ich dir zeigen, wie man seine Map bot-tauglich macht und wie man sie später noch ein wenig tunen kann. Zunächst benötigen wir dazu natürlich eine Map. Diese wird zuerst compiliert und dann im Spiel geöffnet. Dann öffnest du die Console und tippst "nav_generate" (ohne die Anführungszeichen) ein. Bots und Hostages greifen auf diese Datei zurück, daher wirst du den Vorgang sicher noch von unser hostages-map kennen.

Es gibt auch eine schnelle Möglichkeit an ein Navigations file zu kommen. Dazu gibst du in der Console einfach "nav_quicksave 1" (ohne Anführungszeichen) in die Console ein. Nun hast du zu Testzwecken ein sehr grobes und einfaches Navigations-File. Sobald du die Map allerdings publizieren willst, solltest du den Befehl über "nav_quicksave 0" (ohne Anführungszeichen) wieder deaktivieren und dann eine vollständige Navigationsdatei erstellen. Nur bei nav_generate lohnt es sich dann auch, das man das File selbst noch etwas verbessert.

Nun dauert es ein wenig (kann bei größeren Maps auch mal 5 - 10 Minuten) dauern. Während dieser Zeit entsteh ein Navigations Mesh mit Informationen für das Bewegen der Bots und Hostages in der Map. Übrigens musst du jedesmal, wenn du die Map compilierst, auch ein neues Navigations-File erstellen, sonst kommt die Fehlermeldung: The Navigation mesh was built using a different version of this map.

Nun hätten wir die Navigation grob erstellt. Nun wollen wir das File aber ansehen und noch ein wenig manuell verbessern. Diese Arbeit solltest du dir allerdings nur dann machen, wenn du das Navigation-File über nav_gererate erstellt hast. Dazu geben wir folgendes ein:

nav_edit 1 schaltet den Befehl an
   
nav_edit 0 schaltet den Befehl ab

Für diesen Befehl müssen die Cheats aktiviert sein. Diese kannst du über die Eingabe von sv_cheats 1 aktivieren. Übrigens gibt es in der nav_edit Funktion kein "undo", also solltest du möglichst oft abspeichern. Zum Abspeichern deiner bisherigen Arbeit gibst du einfach "nav_save" (ohne Anführungszeichen) in die Console ein.

Nachdem wir aber nav_edit 1 eingeben haben, sieht es so aus:

Das Fadenkreuz wird nun zu unserem Cursor, mit dem man Oberflächen oder Areas selektieren kann. Über die Console kann man diese dann verändern. Im Bild siehst du, dass das aktuell selektierte Area gelb umrandet ist, während die benachbarten Areas rot umrandet sind. Entfernte Areas vom Spieler werden also nicht sofort dargestellt, sondern nur dann, wenn der Spieler sie auch selektiert.

Knapp überhalb der Pistole siehst du vielleicht den kleinen grünen Strich, der das selektierte Area mit dem Area im Vordergrund verbindet. Dieser Strich gibt an, dass es hier möglich ist, sich hin und her zu bewegen. Übrigens musste ich bei diesem Navigations-File nicht nachhelfen. Jedoch sollte man die Map mal mit diesem Modus ansehen, um etwaiige Fehler auszumerzen. So treten Fehler z.B. gerne bei Leitern auf. Wie man diese behebt, erfährst du am Ende dieses Themas.

 

Kommen wir nun zu ein paar besonderen Areas und deren Eigenschaften:


Hier habe ich dir mal das große Area im Vordergrund selektiert. Die umgebenen Areas sind rot markiert. Jedoch haben wir hier eine erste Besonderheit: In jedem Area befindet sich ein grünes "X". Diese Areas zeigen an, dass hier die Wand noch niedrig genug ist, um hochzuspringen und so auf die höhere Ebene zu gelangen. In dem Bild sieht man auch schön die kurzen hellblauen Verbindungslinien zwischen den vier Areas im Hintergund und dem großen Area im Vordergrund. Das sind Verbindungslinien, die dem Bot sagen, dass er sich frei zwischen den beiden Areas hin und her bewegen kann.

 


Eine weitere Besonderheit gibt es hier zu sehen. Hier kann der Bot nur von der oberen Ebene auf die niedere springen. Zurück kommt er nicht, dafür ist der Abgrund zu hoch. Dargestellt wird dies durch den blauen Strich am Abgrund. Er zeigt an, dass hier nur eine Bewegung in eine Richtung möglich ist (nämlich von oben nach unten).

 

Hier ist das Area im Hintergrund wichtig. Wie du vielleicht im Bild sehen kannst, muss der Spieler hier kriechen um durch diesen Tunnel hindurchzukommen. Dies wird dadurch dargestellt, dass sich hier ein dunkelblauer Strich wie ein Slash über das Area erstreckt.

 

Hier findest du nun eine Liste mit sehr hilfreichen Consolen-Kommandos, wenn man im "nav_edit 1"-Modus ist:

Allgemeine Eingaben:

  • "nav_analyze": Analysiert das aktuelle Mesh und speichert es ab.
  • "nav_mark_warkable": Das aktuelle Area wird als begehbar markiert.
  • "nav_clear_walkable_marks": Löscht alle vorher gesetzten begehbaren Areas
  • "nav_save": Speichert das aktuelle Mesh ab.
  • "nav_load": Läd das Navigations Mesh für die aktuelle Map.

Ändern von Areas:

  • "nav_mark": Markiert das selektierte Area
  • "nav_unmark": deselektiert das selektierte Area (im Prinzip die Undo-Funktion von "nav_mark")
  • "nav_delete": Löscht das selektierte Area
  • "nav_make_sniper_spots": Schneidet das selektierte Area in verschiedene Sniper-Positionen auf
  • "nav_merge": Das 1. Area zuerst über "nav_mark" markieren, dann das zweite selektieren und dann "nav_merge" eingeben. Damit führt man 2 Areas zuammen. Sie müssen jedoch eine gleiche Seitenlänge haben, sonst funktioniert es nicht.
  • "nav_begin_area": Damit kannst du ein eigenes Area erstellen. Dazu markierst du mit dem Cursor einen Punkt. Dann gibst du in der Console "nav_begin_area" ein. Nun fährst du mit dem Cursor zum gegenüberliegenden Ende und gibst dann "nav_end_area" ein.
  • "nav_end_area": Bildet den Schlusspunkt eines selbsterstellten Areas.
  • "nav_connect": Um 2 Areas zu verbinden, markierst du das 1. Area über "nav_mark" und markierst dann das zweite Area und gibst "nav_connect" in die Console ein.
  • "nav_disconnect": Um 2 Areas wieder voneinander zu lösen, markierst du das 1. Area über "nav_mark" und markierst dann das zweite Area. Dann gibst du "nav_disconnect" in die Console ein.
  • nav_splice: ein 1. Area über "nav_mark" markieren und dann das zweite Area markieren und dann "nav_splice" eingeben. Nun wird ein neues Area zwischen den beiden alten Areas erstellt.

 

Bot-Navigation:

  • "nav_crouch": Area markieren, dann "nav_crouch" in die Console eingeben. Danach befindet sich ein blauer Slash auf dem Area. Damit muss sich ein Bot hier kriechen um dieses Area zu überwinden.
  • "nav_jump": Area markieren, dann "nav_jump" in die Console eingeben. Danach befindet sich ein grünes X auf dem Area. Nun muss ein Bot springen, um das Area zu überwinden.
  • "nav_no_jump": Area markieren, dann "nav_no_jump" in die Console eingeben. Danach dürfen die Bots hier nicht mehr springen.
  • "nav_run": Area markieren, dann "nav_run" in die Console eingeben. Nun wird der Bot dieses Area rennend überqueren.
  • "nav_avoid": Area markieren, dann "nav_avoid" in die Console eingeben. Der Bot wird dieses Area meiden, solange es möglich ist.
  • "nav_no_hostages": Area markieren, dann "nav_no_hostages" in die Console eingeben. Hostages werden dieses Area nicht betreten.


Sonstiges:

  • "nav_check_file_consistency": Durchsucht das Map-Verzeichnis und meldet fehlende/alte Navigations-Files.
  • "nav_update_blocked": Aktuallisiert den Status von "blocked/unblocked" von jedem Area.
  • "nav_check_floor": Aktuallisiert den Status von "blocked/unblocked" von jedem Area.
  • "nav_build_ladder": An einer kletterbaren Seite eines Brushs wird eine kletterbares Area erstellt. Wenn die Leiter richtig rum ist, ist das Area grün, wenn die Leiter falsch rum ist, ist das Area rot. Dann "nav_ladder_flip" eingeben.
  • "nav_ladder_flip": Dreht ein Leiter-Area um. Nützlich, wenn das Leiter-Area rot ist.
  • "nav_compress_id": Organisiert die IDs der Areas und Leitern neu.
  • nav_show_ladder_bounds: Alle func_ladders werden dargestellt. Nützlich um Leitern genau zu erstellen.
  • "nav_show_danger": Stellt die Gefahrenstufen der Areas dar.

 

 

 

 

zurück zur Hauptseite

Half-Life 2 Hammer Tutorial, Copyright (c) 2005 Dirk "Haradirki" Marmann, erstellt mit Wordpad

Dieses Tutorial ist grundsätzlich Freeware und darf für den persönlichen Gebrauch weiterkopiert werden. Es darf allerdings NICHT ohne meine Einverständniss auf anderen Homepages als HTML-Datei oder zum Download angeboten werden. Es darf nichts hinzugefügt, verändert oder gelöscht werden. Weiterhin darf es nicht auf digitalen Medien, z.B. CD-Medien veröffentlicht werden, wenn ich nicht ausdrücklich meine Einverständniss dazu gegeben habe. Alle Rechte bleiben beim Autoren. Wird aus diesem Tutorial zitiert, währe ich sehr dankbar, wenn ihr dabei auf eine meiner beiden Homepages http://www.haradirki.de oder http://www.dead-in-bed.net hinweisst.

 

http://www.haradirki.de   http://www.dead-in-bed.net