Přidání nového skriptu (ScriptDev2)

Z WoWResource Wiki
Přejít na: navigace, hledání

Tento návod slouží k ručnímu přidání skriptů do ScriptDev2. Pokud se skripty aplikují přes patch soubory je možné, že některé kroky nebo vše je provedeno příslušným patchem.

Přidání potřebných souborů do projektu

Windows

  • Přihrajte skript do příslušné složky v adresáři bindings/ScriptDev2/scripts/...
  • Otevřete projektový soubor ScriptDev2 (ve Visual Studiu)
  • V Solution Explorer (menu View - Solution Explorer) v projektu ScriptDev2 vyhledejte příslušnou složku pro umístění skriptu (zde se jedná o virtuální umístění, ve výsledku je jedno kam je skript zařazen). Na vybranou složku klikněte pravým tlačítkem myši, vyberte Add - Existing item a vyberte nový skript.

Linux

  • Otevřete soubor Makefile.am a pod řádek "libmangosscript_la_SOURCES = \" na vhodné místo zařaďte nový řádek: "scripts/<cesta k souboru>/<název souboru>.cpp \" (bez uvozovek, včetně lomítka na konci)

Přidání potřebných dat do zdrojových kódů

  • Otevřete nový skript a vyhledejte na konci souboru funkci void AddSC_*, metoda může vypadat například takto:
void AddSC_boss_emeriss()
{
    Script *newscript;
    newscript = new Script;
    newscript->Name="boss_emeriss";
    newscript->GetAI = GetAI_boss_emeriss;
    //     m_scripts[nrscripts++] = newscript;
    newscript->RegisterSelf();     
}
  • Potřebné údaje:
    • AddSC_boss_emeriss() - název funkce pro kompilátor
    • boss_emeriss - název skriptu pro zapsání do `creature_template`.`ScriptName` v databázi
  • Otevřete soubor ScriptLoader.cpp (umístěn ve složce System)
  • Vyhledejte sekci (na začátku souboru): // -- Scripts to be added --, v této sekci nalezněte vhodné umístění vašeho skriptu (v praxi je jedno kam to zapíšete, jde o přehlednost pro vás)
  • Vytvořte nový řádek: extern void AddSC_boss_emeriss();
  • Vyhledejte metodu: void ScriptsInit() a příslušné místo pro váš skript (opět nezáleží na umístění, je však nutné, aby se nový řádek nacházel až za řádkem "FillSpellSummary()"
  • Vytvořte nový řádek: AddSC_boss_emeriss();
  • Zkompilujte ScriptDev2 a nastavte skript npc do databáze

Poznámka: V jednom skriptu se může nacházet více metod pro přidání do ScriptMgr.cpp nebo být v jedné metodě více skriptů - poté jsou dostupné všechny skripty v této metodě. (Viz skript go/go_scripts.cpp)