Eigene C++-Erweiterungen mit TrinityCore kompilieren
UPDATE: Tutorial für CMake angepasst.
In diesem Tutorial erfahrt ihr, wie ihr eigene C++-Erweiterungen (z.B. für Bosse, NPCs, Items etc.) mit TrinityCore kompiliert.
Dazu braucht ihr natürlich den Sourcecode von TrinityCore, VC++ zum Kompilieren und den Sourcecode eurer C++-Erweiterung. Wie ihr an den Trinity-Sourcecode kommt, möchte ich hier nicht extra erklären, dazu gibt es genügend Anleitungen.
Ich gehe davon aus, dass ihr eine Datei mit dem Namen "My_Script.cpp" im Ordner "src\server\scripts\Custom" habt. In dieser Datei (meistens ganz unten) findet ihr eine Funktion, die in etwa so aussieht:
Natürlich wird die Funktion in eurer Datei anders aussehen, aber hier kommt es nur auf die ungefähre Form an. Der grün markierte Teil ist besonders wichtig; Am Besten, ihr kopiert ihn in die Zwischenablage. Danach öffnet ihr die Datei "src\server\game\Scripting\ScriptLoader.cpp" und sucht dort nach "//custom". Dann solltet ihr folgende Stelle in der Datei finden:
Unterhalb von "//custom" fügt ihr dann den kopierten Teil aus eurer Datei ein (in diesem Fall also "void AddSC_test()", gefolgt von einem Semikolon. Diese Stelle der Datei sollte dann so aussehen:
Sucht in der selben Datei weiter nach "//custom"; Folgende Stelle muss ebenfalls bearbeitet werden:
Unterhalb von "//custom" fügt ihr wieder den kopierten Teil aus eurerDatei ein (gefolgt von einem Semikolon), dieses Mal allerdings ohne "void". Die Stelle sollte dann so aussehen:
Dank CMake läuft auch der nächste Schritt unter Windows und Linux gleich ab.
Ihr müsst die Datei "src\server\scripts\CMakeLists.txt" bearbeiten:
Und weiter unten:
Dadurch werden automatisch alle Dateien im Ordner "Custom" mit eingebunden. Die nicht benötigten Beispieldateien im Ordner "Custom" solltet ihr dann verschieben bzw. löschen, da sie nicht benötigt werden, veraltet sein können und dadurch Probleme verursachen.
Falls es mit dem Tutorial Probleme geben sollte oder falls irgendwas unklar ist, sagt mir einfach Bescheid.
Viel Spaß,
.S4ncheZz:rolleyes:
UPDATE: Tutorial für CMake angepasst.
In diesem Tutorial erfahrt ihr, wie ihr eigene C++-Erweiterungen (z.B. für Bosse, NPCs, Items etc.) mit TrinityCore kompiliert.
Dazu braucht ihr natürlich den Sourcecode von TrinityCore, VC++ zum Kompilieren und den Sourcecode eurer C++-Erweiterung. Wie ihr an den Trinity-Sourcecode kommt, möchte ich hier nicht extra erklären, dazu gibt es genügend Anleitungen.
Ich gehe davon aus, dass ihr eine Datei mit dem Namen "My_Script.cpp" im Ordner "src\server\scripts\Custom" habt. In dieser Datei (meistens ganz unten) findet ihr eine Funktion, die in etwa so aussieht:
Code:
void AddSC_test()
{
Script *newscript;
newscript = new Script;
newscript->Name="test";
newscript->GetAI = &GetAI_test;
newscript->pGossipHello = &GossipHello_npc_test;
newscript->pGossipSelect = &GossipSelect_npc_test;
newscript->RegisterSelf();
}
Code:
#ifdef DO_SCRIPTS //custom
Code:
#ifdef DO_SCRIPTS //custom void AddSC_test();
Code:
void AddScripts()
{
#ifdef DO_SCRIPTS
//custom
Code:
void AddScripts()
{
#ifdef DO_SCRIPTS
//custom
AddSC_test();
Ihr müsst die Datei "src\server\scripts\CMakeLists.txt" bearbeiten:
Und weiter unten:
Dadurch werden automatisch alle Dateien im Ordner "Custom" mit eingebunden. Die nicht benötigten Beispieldateien im Ordner "Custom" solltet ihr dann verschieben bzw. löschen, da sie nicht benötigt werden, veraltet sein können und dadurch Probleme verursachen.
Falls es mit dem Tutorial Probleme geben sollte oder falls irgendwas unklar ist, sagt mir einfach Bescheid.
Viel Spaß,
.S4ncheZz:rolleyes: