Показать сообщение отдельно
Старый 11.06.2011, 22:26   #6
Zamir
Гость
 
Сообщений: n/a
По умолчанию

Хм, спасибо всем.
У меня возник другой вопрос. Писал скрипт для саурфанга, застрял на спелле Boiling Blood (72385), босс его использует не на одну цель, а на всех в радиусе видимости. Через .cast в игре то же самое.
В dbc написано Targets (22,15) (TARGET_CASTER_COORDINATES,TARGET_ALL_ENEMY_IN_ARE A). Перечитал кучу информации, но так и не узнал, как исправить скилл. В готовых скриптах саурфанга тоже ничего не нашел, код в функции UpdateUI идентичен. Искал в разных исходниках файлы, в которых упоминается 72385, не нашел. Но как-то у других этот скилл работает на одну цель. Пожалуйста, объясните)

Код:
	void UpdateAI(const uint32 uiDiff)
       {

		//Spell Boiling Blood
		if (m_uiBoilingBloodTimer <= uiDiff)
		{
			if (Unit *pTargetBB = m_creature->SelectAttackingTarget(ATTACKING_TARGET_RANDOM, 1))
			{
				DoCast(pTargetBB, SPELL_BOILING_BLOOD_1);
				m_uiBoilingBloodTimer = 16000;
			}

		}
		else
			m_uiBoilingBloodTimer -= uiDiff;

	m_uipower = m_creature->GetPower(POWER_ENERGY);
	DoMeleeAttackIfReady();
	}

Покопался в англоязычном гугле, обнаружил несколько переделанных файлов Spellmgr.cpp, где делалось что-то вроде

SpellEntry* spellinfo = sSpellStore.LookupEntry(i);

spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ENEMY;
spellInfo->EffectImplicitTargetB[0] = 0;

У меня такое сделать не получается, тк spellinfo можно сделать только константой.

Последний раз редактировалось Zamir; 12.06.2011 в 02:31.
  Ответить с цитированием