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

Z WoWResource Wiki
Přejít na: navigace, hledání
m (zapomenuta kategorie, NENÍ HOTOVA LINUX SEKCE (MAKEFILES))
m (linux makefile hopefully)
Řádek 11: Řádek 11:
 
=== Linux ===
 
=== Linux ===
  
Dodělejte někdo potřebná přidání do makefiles a smažte tento komentář. Díky, --[[Uživatel:BLuma|BLuma]] 21:10, 18. 3. 2008 (CET)
+
* 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ů ==
 
== Přidání potřebných dat do zdrojových kódů ==

Verze z 19. 3. 2008, 17:34

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;
}
  • 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 ScriptMgr.cpp
  • 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)