Wo muss ich ansetzen...

Hallo,

Ich suche einen Ansatz, um in Spells eingreifen zu können um irgendwelche Aktionen auszulösen.

Zum Beispiel:

Es soll eine Chatnachricht ausgegeben werden, wenn ein Player den Druiden Spell

16979 bzw 49376 benutzt?

Es geht mir nur um das Prinzip. Ich finde in den “serverscriptsSpells*.cpp” keine Möglichkeit.

Ist das ganze Datenbank basiert? Wo müsste ich da schauen?

Edit:

Also bei dem Krieger konnte ich es leicht ändern. Dort gibt es nämlich in der spell_warrior.cpp

die Klasse

spell_warr_charge : public SpellScriptLoader
Aber wie ist das nun zum Beispiel bei dem Charge vom Druiden?

LG & Danke

Druiden sind scheinbar ohne Spell funktionell.

Daher müsstest du an sie koppeln. Wobei, ich bin mir nicht sicher, inwiefern ein Chathandler vorhanden ist, um die Nachricht durchzugeben.

Etwa:

// -16979 - Dash
class spell_dru_charge : public SpellScriptLoader
{
public:
spell_dru_charge() : SpellScriptLoader(“spell_dru_charge”) { }

    class spell_dru_charge_AuraScript : public AuraScript
    {
        PrepareAuraScript(spell_dru_charge_AuraScript);

        void Register()
        {
        }
    };

    AuraScript* GetAuraScript() const
    {
        return new spell_dru_charge_AuraScript();
    }

};,
Dann die Spellid mit dem SCriptnamen koppeln.

Hi!

Danke dir Ascathor erstmal für deine Antwort! /emoticons/default_biggrin.png

Ich bin erst seit ein paar Tagen bei Trinity, daher verzeih mir die (vielleicht sehr einfache) Frage:

Muss ich für die Kopplung einfach ein Minus vor die Spell ID von Charge schreiben ( -16979 ) und

dann in der Tabelle “spell_script_names” eine neue Row einfügen mit der negativen Spell-ID

und dem ScriptName? …Klingt zu einfach /emoticons/default_blink.png Oder fehlen dann da noch andere Schritte?

In dem, was ich gepostet habe, fehlt ungefähr noch… alles. Das ist jetzt das eine Script, womit du beides verbinden könntest, aber es würde noch nichts machen.

" void Register()

{

HierwürdejetztirgendwasgemachtdamiteineNachrichtkommt();

}

"

Ansonsten, Zitat aus dem Wiki:

" If it is negative and the first rank of a spell, includes all ranks of the spell specified in spell_ranks table."

Sprich, ein negativer Wert wird automatisch alle nachfolgenden Ränge einer Fähigkeit einbeziehen.

Desweiteren. Was ist den dein genauer Plan ?