Привет ребят
Решил сделать парочку небольших скриптов, но столкнулся с проблемами.
1)Скрипты компилится, но не работает в игре.
2) Скрипт на босса, собственно в этот же инст)
Решил сделать парочку небольших скриптов, но столкнулся с проблемами.
1)Скрипты компилится, но не работает в игре.
C++:
#include "ScriptMgr.h"
#include "Chat.h"
#include "InstanceScript.h"
#define instance_customScriptName "instance_custom"
// Скрипты на картах и боссов
enum
{
QUEST_START = 25502
};
class instance_custom : public InstanceMapScript
{
public:
instance_custom() : InstanceMapScript(instance_customScriptName, 543) { }
struct instance_custom_InstanceMapScript : public InstanceScript
{
instance_custom_InstanceMapScript(Map* map) : InstanceScript(map) { }
void OnPlayerEnter(Map* map, Player* player)
{
ChatHandler handler(player->GetSession());
if (player->GetQuestStatus(QUEST_START) == QUEST_STATUS_COMPLETE)
{
handler.SendSysMessage("|cff9932CCДобро пожаловать в стартовое подземелье|r");
return;
}
else
{
player->TeleportTo(560, 1348.836670f, 2146.367676f, 100.552673f, 3.478260f);
handler.SendSysMessage("|cff9932CCВам нужно завершить тренировку|r");
return;
}
}
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_custom_InstanceMapScript(map);
}
};
void AddSC_instance_custom()
{
new instance_custom();
}
C++:
#include "ScriptMgr.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
enum Spells
{
SPELL_PROKOL = 56090,
SPELL_NITE = 57369,
};
class start_boss : public CreatureScript
{
public:
start_boss() : CreatureScript("start_boss") { }
struct start_boss : public ScriptedAI
{
start_bossAI(Creature* creature) : ScriptedAI(creature)
{
Initialize();
}
void Initialize()
{
SPELL_PROKOL_Timer = 25000;
SPELL_NITE_Timer = 17000;
}
uint32 SPELL_PROKOL_Timer
uint32 SPELL_NITE_Timer
void Reset() override
{
Initialize();
}
void EnterCombat(Unit* creature) override
{
creature->Say("Ты выбрал не того противника, салага!", LANG_UNIVERSAL, 0);
}
void JustDied(Unit* creature) override
{
creature->Say("Я ещё вернусь в этот мир.", LANG_UNIVERSAL, 0);
}
void KilledUnit(Unit* creature) override
{
creature->Say("Встречай смерть, щенок!", LANG_UNIVERSAL, 0);
}
void UpdateAI(uint32 diff) override;
{
if(SPELL_PROKOL_Timer <= diff)
{
if (Unit* target = SELECT_TARGET_RANDOM)
{
DoCast(Unit* target, SPELL_PROKOL);
SPELL_PROKOL_Timer = 25000;
}
else
{
SPELL_PROKOL_Timer _= diff;
}
}
if(SPELL_NITE_Timer <= diff)
{
if (Unit* target = SELECT_TARGET_TOPAGGRO)
{
DoCast(Unit* target, SPELL_NITE);
SPELL_NITE_Timer = 17000;
}
else
{
SPELL_NITE_Timer _= diff;
}
}
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const override
{
return new start_bossAI(creature);
}
};
void AddSC_start_boss()
{
new start_boss();
}