Banner nachträglich in eine Map bauen

Dieses Tutorial beschreibt kurz, wie man nachträglich einen Banner, bzw. pointbased-entities in eine Map einfügt. Man benötigt folgende Dateien:

-
Tools [Decompiler+Compiler] ~200k
-
Mapeditor [VHE] ~ 2MB

Den Mapeditor installiert man einfach wie jedes andere Programm auch, spielt eigentlich keine Rolle wohin. Einrichten kann (muss) man den auch, wie, steht beispielsweise auf Gimlis Seite, das spreche ich hier mal nicht an, da das sonst wieder den Rahmen sprengt.

Wenn Du das gemacht hast, erstellst Du irgendwo einen Ordner für das "Projekt". In meinem Beispiel nehme ich mal: B:\test. Dort extrahierst Du jetzt den Inhalt der tools.zip rein, weiterhin noch die *.bsp der Map, die verändert werden soll. (Also müsste sich in dem Verzeichnis jetzt BSPTwoMAP.exe, hlcsg.exe und eine xxxx.bsp befinden)

Nun wird die Map decompiled, dazu: Start|Ausführen|"cmd" eingeben. (Oder: Windowstaste+R). In der nun erscheinenden Eingabeaufforderung wechselst Du in dein Verzeichnis (B:\test). (Befehle dazu müsstest du ja kennen). Dann folgt: bsptwomap xxxx.bsp. Müsste ohne Probleme verlaufen, es sei denn, die Map ist vor dem Decompilen geschützt, afaik kann man dann nichts machen. (?)

So, wenn man dann eine *.map aus der *.bsp gemacht hat, kann man VHE starten und diese öffnen. (bei Dateityp Gamemaps *.map auswählen ...)

Jetzt kann man sein Entity platzieren. Dies wird meiner Meinung nach aber in genügend Anfänger-Tutorials schon beschrieben, deshalb lasse ich auch diesen Schritt außen vor.

Wenn man damit fertig ist, speichert man die Map (Wieder als *.map, nicht rmf) Am besten einfach die vorhandene überschreiben.

Jetzt fehlt eigentlich nur noch das Compilen. Also aus *.map -> *.bsp. Dazu geht man wieder in die Eingabeaufforderung (siehe oben) und gebe: hlcsg -onlyents "B:\xxxx" ein. Wenn der Compile erfolgreich war steht dort sowas in der Art:

 


B:\>hlcsg -onlyents "B:\xxxx"
hlcsg v2.5.4 rel (May 30 2001)
Based on Valve's version, modified with permission.
Submit detailed bug reports to (zoner@gearboxsoftware.com)
----- BEGIN hlcsg -----
Command line: hlcsg -onlyents B:\xxxx

-= Current hlcsg Settings =-
Name | Setting | Default
---------------------|-----------|-------------------------
threads [ 2 ] [ Varies ]
verbose [ off ] [ off ]
log [ on ] [ on ]
developer [ 0 ] [ 0 ]
chart [ off ] [ off ]
estimate [ off ] [ off ]
max texture memory [ 4194304 ] [ 4194304 ]
priority [ Normal ] [ Normal ]

noclip [ off ] [ off ]
onlyents [ on ] [ off ]
wadtextures [ on ] [ on ]
skyclip [ on ] [ on ]
hullfile [ None ] [ None ]
min surface area [ 0.500 ] [ 0.500 ]
brush union threshold [ 0.000 ] [ 0.000 ]

Wadinclude list :
[zhlt.wad]


Warning: WadInclude file B:\xxxx.wic does not exist
entering B:\xxxx.map
Using WAD File: \cstrike.wad
0.45 seconds elapsed

----- END hlcsg -----
 


Das war's eigentlich schon, die bsp, die man in seinem Verzeichnis hatte, wird dann quasi "aktualisiert". Diese kopiert man nur noch in sein maps Verzeichnis und kann das Ergebnis später ingame betrachten.

An dieser Stelle wollte ich noch mal hinzufügen: Streng genommen braucht man für diese Aktion die Erlaubnis des Mappers, denn man decompiled seine Map und verändert diese auch noch. Also lieber davor den Mapper kontaktieren.

Kleine Ergänzung: Wenn man nun die neue, fertige bsp der Map hat, bekommt nur der Server die neue Version. Nehmen wir mal an wir haben in de_dust einen Werbebanner (als Sprite) eingefügt. Nun muss nur noch eine *.res (trägt den Namen der Map und hat die Endung *.res, in dieser Textdatei wird die verwendete Sprite eingetragen, z.B. "sprites/mysprite.spr") angelegt werden. Diese kommt ebenfalls mit der neuen bsp in das Mapverzeichnis des Servers. Wenn nun ein Client connected wird automatisch die Sprite (die Map nicht!) davor herunter geladen und er sieht diese in der Map, da der Server die Entityliste übernimmt.