Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Новичкам

Важная информация

Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.06.2011, 10:22   #1
Zamir
Гость
 
Сообщений: n/a
По умолчанию

Здравствуйте. Я совсем еще новичек, недавно скачал чистые исходники и начал копаться в коде. Нашел в сд2 пустой скрипт малигоса, решил потренироваться на нем, добавить ему дыхание и текст от лоскутика. Текст при пуле и смерти босса срабатывал исправно, но вот дыхание почему-то не работало. Ид спелла 56272 я взял из скрипта малигоса из исходников rsa.
Гугл, ytdb вики о таблицах базы и поиск по форуму ничего не дали. Возможно я пропустил что-то важное. Например, добавить указанный спелл в базу или что-то подобное. Помогите
Код:
#include "precompiled.h"
enum
{
	SPELL_ARCANE_BREATH             = 56272, // Дыхание

	SAY_AGGRO						= -1533017, // пул лоскутика
	SAY_DEATH						= -1533020, // смерть лоскутика
};

struct MANGOS_DLL_DECL boss_malygosAI : public ScriptedAI
{
    boss_malygosAI(Creature* pCreature) : ScriptedAI(pCreature)
    {
        Reset();
    }
	uint32 m_uiArcaneBreathTimer;

	void Reset()
	{
		m_uiArcaneBreathTimer = 10000;
	}

	void Aggro(Unit* pWho)
    {
        DoScriptText(SAY_AGGRO, m_creature);
	// m_creature->RemoveSplineFlag(SPLINEFLAG_FLYING);
    }

    void JustDied(Unit* pKiller)
    {
        DoScriptText(SAY_DEATH, m_creature);
    }
	
	void UpdateAI(const uint32 uiDiff)
    {
        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
            return;

        // Дыхание
        if (m_uiArcaneBreathTimer < uiDiff)
        {
			if (DoCastSpellIfCan(m_creature->getVictim(), SPELL_ARCANE_BREATH) == CAST_OK)
			{
				m_uiArcaneBreathTimer = 10000;
				DoScriptText(SAY_DEATH, m_creature); // проверка, срабатывает ли код вообще
			}
        }
		else
			m_uiArcaneBreathTimer -= uiDiff;

		// Мили атака
        DoMeleeAttackIfReady();
    }
};
CreatureAI* GetAI_boss_malygos(Creature* pCreature)
{
    return new boss_malygosAI(pCreature);
}
void AddSC_boss_malygos()
{
	Script *newscript;

    newscript = new Script;
    newscript->Name = "boss_malygos";
    newscript->GetAI = &GetAI_boss_malygos;
    newscript->RegisterSelf();
}
Вставлял другие спеллы вроде дыхания ониксии, халиона и синдрагосы - кастует. Но вот именно собственный 56272 не хочет никак.
  Ответить с цитированием
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с инетом Йоха Флудильня 30 25.05.2011 16:36
Проблема чата Onfus Баг-репорты 6 08.12.2010 16:34
Проблема с обновлениями snowlynx Корзина 0 04.08.2010 21:55
Проблема с авторизацией snowlynx Корзина 4 02.08.2010 12:41


Текущее время: 00:14. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot