|
Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь |
|
Опции темы | Поиск в этой теме | Опции просмотра |
31.05.2010, 14:03 | #1 |
Гость
Сообщений: n/a
|
Помощь в написании условия в SD2
Добрый день, прошу вашей помощи, я хочу написать скрипт для рунического оружия (может и кривой, но сам факт в работе )
У меня есть персонаж, owner, его пет - руническое оружие. Как написать проверку типа "Если owner использует спелл *ид*", ну а дальше всё понятно. Примерно такую проверочку бы, но ф-ция CastSpell типа void, поэтому проверку нельзя сделать . Код:
if( owner->CastSpell(owner->getVictim(),H_STRIKE, true)) Код:
void Reset() { Unit * owner = m_creature->GetOwner(); if (!owner || owner->GetTypeId() != TYPEID_PLAYER) return; // Cannot be Selected or Attacked m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); m_creature->SetDisplayId(20024); if (owner && !m_creature->hasUnitState(UNIT_STAT_FOLLOW)) { m_creature->GetMotionMaster()->Clear(false); m_creature->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE); } // Add visible weapon if (Item const * item = ((Player *)owner)->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND)) m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, item->GetProto()->ItemId); // Add stats scaling int32 damageDone=owner->CalculateDamage(BASE_ATTACK, true); // might be average damage instead ? int32 meleeSpeed=owner->m_modAttackSpeedPct[BASE_ATTACK]; m_creature->CastCustomSpell(m_creature, 51906, &damageDone, &meleeSpeed, NULL, true); //тут проверка на спелл if( owner->CastSpell(owner->getVictim(),H_STRIKE, true)) if(owner->getVictim()->isAlive()) { m_creature->CastSpell(owner->getVictim(),H_STRIKE, true); }else{ return; } // Visual Glow m_creature->CastSpell(m_creature, 53160, true); } Код:
enum { H_STRIKE = 55262, ICY_TOUCH = 49909, OBLITERATE = 51425, DEATH_COIL = 49895, DEATH_STRIKE = 49924, PLAGUE_STRIKE = 49921 }; |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помощь по scriptdev2 | Alexes | Корзина | 7 | 06.10.2010 21:11 |
Условия завершения квестов | deadangel | Баг-репорты | 4 | 30.09.2010 16:47 |
WWW Помощь с Капчей | terrible | Новичкам | 13 | 28.09.2010 12:29 |
Нужна помощь | koly2000 | Корзина | 0 | 12.04.2010 12:49 |
помощь id инстас | frenk | Баг-репорты | 1 | 15.03.2010 09:19 |