My First Mod
Einführung
Diese Anleitung soll zeigen, wie man eine eigene simple HL2 MOD erstellt und einrichtet. Wir werden in dieser MOD die Geschwindigkeit der Raketen des Rocket Launchers aus Half-Life 2 verändern.
Das MOD Projekt erstellen
Der Einfachheit halber werden wir unsere erste MOD "MyMod" nennen. Wenn du eine eigene MOD erstellst, kannst du ihr einen beliebigen Namen geben (z.B. "QuickMod", "TreasureTroll", etc.)
Um das MOD Projekt zu erstellen:
- Starte das Source SDK aus dem Tools Menü der Steam-Spieleliste.
- Klicke auf Create A Mod in der Gruppe Applications
- Wähle die Option Modify Half-Life 2 aus.
- Gib das Verzeichnis an, in das die Mod-Projekt-Daten kopiert werden sollen (z.B.
C:\MyMod
). - Gib den Namen deiner Mod ein. In diesem Tutorial verwenden wir "MyMod".
Die Steam-Anwendung wird dann alle benötigten Dateien in das angegebene Ziel-Verzeichnis kopieren. Danach hast du eine Kopie des Half-Life-2-Source-Codes in besagtem Ordner, welcher nun verändert werden kann.
Öffne das MOD Projekt
- Starte Microsoft Visual C++ .NET 2003 v7.1. Falls du nur Microsoft Visual C++ .NET 2002 installiert hast lies den Artikel Compiling under VS2002 (Englisch), der beschreibt wie die Projekt-Dateien konvertiert werden können.
- Wähle nun Datei->Projektmappe öffnen aus dem Menü aus und öffne die Game_SDK Projekt-Datei aus dem Ordner
src
, welche sich in deinem Mod-Projekt-Verzeichnis befinden müsste.
Die Geschwindigkeit der Raketen des RPG ändern
Öffne die Quellcode-Datei hl2_dll/weapon_rpg.cpp
Ziemlich am Anfang der Datei müsste sich folgende Zeile befinden:
#define RPG_SPEED 1500
Ändere diese Zeile in:
#define RPG_SPEED 400
Durch Verändern dieser Zahl wird die Rakete nun mit 400 Einheiten pro Sekunde (das sind ungefähr 36 km/h) fliegen. Vorher flog die Rakete mit 1500 Einheiten pro Sekunde (entspricht in etwa 140 km/h). Der Unterschied zu vorher wird im Spiel sofort auffallen, sobald wir die MOD kompiliert und gestartet haben.
Die aktive Konfiguration einstellen
Wir müssen nun die aktive Konfiguration auf "Release HL2" stellen.
Dazu gehen wir wie folgt vor:
- Öffne Erstellen->Konfigurations-Manager...
- Wähle in der Auswahl Konfiguration der aktuellen Projektmappe "Release HL2" aus.
- Klicke auf Schließen.
Projekt kompilieren
Nun können wir das Projekt kompilieren, d.h. die Binär-Dateien (DLLs) für die MOD erstellen. Wähle dazu Erstellen->Projektmappe erstellen aus. Wenn die Kompilierung abgeschlossen ist, müsstest du eine server.dll
und eine client.dll
Datei in deinem MyMod/bin
Verzeichnis vorfinden (z.B. in C:\MyMod\MyMod\bin
). Diese sind nun unsere DLL-Dateien für unsere MOD, die man auch mit der MOD veröffentlichen müsste, sofern man die MOD weitergibt.
Die MOD starten
Jetzt, bevor du die Mod startest, musst du sichergehen, dass du etwas zum starten hast. Normalerweiße verwenden neue Mods die Appid 215. Das lädt das Source SDK Base . Das ist nicht schlecht; es ist die beste verfügbare Version der Engine. Das einzige Problem welches es hat, ist, dass es keinen Spiel spezifischen Inhalt hat. Globale ressourcen wie Texturen und Models welche allen Spielen zur Verfügung stehen werden existent sein; wie auch immer, Levels werden es nicht sein. Du wirst entweder die Appid ändern müssen um eine andere Engine zu wählen, oder stattdessen den Inhalt von diesem Spiel in deine Mod kopieren müssen. Mit GCFScape kannst du den Inhalt in deine Mod kopieren, allerdings kann dieser Inhalt nicht legal mit deiner Mod vertrieben werden. Der andere Ansatz ist es, einfach deine .../steamapps/sourcemods/MyMod/gameinfo.txt
zu finden und den Inhalt zu 220 für den Einzelspielermodus und 320 für den Mehrspielermodus zu ändern, obwohl es ratsam ist, es später wieder in 215 zu ändern.
In dem Verzeichnis, in welchem du die Mod erstellt hast, wird eine Batch-Datei mit dem Namen run_mod.bat
. Benutze die bat Datei nicht um deine Mod zu starten, weil es noch nicht auf das SDK Base geupdatet wurde. Der beste Weg, deine Mod zu starten, ist, Steam neuzustarten und es dann von der "Meine Spiele" Liste zu starten (wo es hoffentlich erscheint) oder die Debugging Funktion in vis (lies, wie man den Quellcode debuggt).
Nun, wo wir Inhalt zu laden haben, starte das Spiel. Wenn die Engine geladen wurde, wirst du zum Titelbildschirm gebracht. Wenn du wegen fehlendem Inhalt Warnungen erhältst wirst, wie zum Beispiel maplist.txt
, ignoriere sie.
In deinem MOD-Verzeichnis das du erstellt hast müsste sich eine Batch-Datei namens run_mod.bat
befinden. Diese einfach doppelklicken um die MOD zu starten. Wenn die Engine geladen wurde müsste das Hauptmenü erscheinen. Öffne nun die Console . Mit Hilfe der Console kannst du verschiedene Dinge der Source Engine im Spiel steuern und hilft dir dabei, deine MOD zu testen. Lade nun eine Map und gib in die Console "impulse 101
" ein, um alle Waffen zu bekommen. Wenn du nun den Rocket Launcher (RPG) auswählst und schießt, müsste die Rakete nun merklich langsamer fliegen, so wie wir es im Quellcode geändert haben.
Deine erste MOD ist fertig
Du hast nun deine erste eigene MOD für Half-Life 2 erstellt. In der Kategorie Category:Programming (Englisch) findest du eine Reihe von Dokumentationen die dir helfen eine MOD zu erstellen und eigene Features hinzuzufügen.