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.