Tak jsem vytvořil první script, tady ho máte, doufám že to z něho bude pochopitelné.
Omlouvám se.
Mělo by to být npc které se healuje jakmile mu spadne cooldown, to samé ze spellem ChainLighting, jak bude mít pod 20% životů tak se healne Pomocí spellu GreaterHeal.
/* Creatura
*/
#include "StdAfx.h"
#include "Setup.h"
#define Creature 100000
#define GreaterHeal 48063 // Heal spell
#define ChainLighting 41183 // Spell Chain lighting
class CreatureAI : public ArcScriptCreatureAI
{
ARCSCRIPT_FATCORY_FUNCTION(CreatureAI, ArcScriptCreatureAI);
CreatureAI(Creature *pCrature): ArcScriptCreatureAI(pCreature)
{
AddEmote(Event_OnCombatStart,"Jsi pouhá špína, zemřeš!!!", Text_Yell, 0); //na vstoupení do combatu řekne
//"Jsi pouhá špína zemřeš!!!"
AddEmote(Event_OnTargetDied,"Já to říkal!", Text_Yell);//Kdyz nekoho zabije tak řekne "Já to říkal"
AddEmote(Event_OnDied,"Néé, zklamal jsem svého pána.", Text_Yell);//když zemře řekne "Néé, zklamal jsem svého pána"
AddSpell(GreaterHeal,Target_Self, 50, 3.0f, 10);//Použije spell GreaterHeal sám na sebe, casteni mu zabere 3 vteriny
AddSpell(ChainLighting, Target_Current, 50,0,100);//Použije spell Chain Lighting na zaměřený cíl
//---- Jestliže se vykástí Chain Lighting tak řekne "Doufám že to bolelo", jinak řekne "Počkej až na tebe sešlu blesky!"
if(ChainLighting){
AddEmote(Event_OnTarget, "Doufám že to bolelo!", Text_Yell);
}
else{
AddEmote(Event_OnTarget, "Počkej až na tebe sešlu blesky!", Text_Yell);
}
}
}
//Aktualizovani AI pro získání stavu životů
void AIUpdate()
{
if(Get_HealthPrecent()<=20)//jestliže bude jeho životy menší nebo rovno 20%, tak vykástí GreaterHeal
{
AddSpell(GreaterHeal, Target_Self, 100, 3.0f, 10);
}
ParentClass::AIUpdate();
ParentClass::AIUpdate();
}
void SetupCreatureAI(ScriptMgr * mgr)
{
mgr->register_creature_script(Creature,&CreatureAI::Create);
}
Snad je dobře, zdá se to být složité ze začátku, ale jakmile se nad tím zamyslíte tak je to jednoduché