|
Отвергнутые Патчи, не принятые разработчиками ScripDev2 |
|
Опции темы | Поиск в этой теме | Опции просмотра |
19.04.2010, 23:19 | #1 |
Администратор
|
[QUEST=11541]Зачистить залив Зеленожабрых!
По квесту 11541 выбиваем из 25073 итем 34483, при использовании которого кастуется спелл 45109.
В радиусе 5 метров от указанной точки нпц 25084 становятся 25085, засчитывается +1 за каждого нпц (спелл 45110). НПЦ кастуют спеллы 45111, 45112 на себя и нападают на ближайшего нпц 25073. Примитивный начальный скрипт: Код:
/*###### ## item_orb_of_murloc_control ######*/ enum { QUEST_DISRUPT_THE_GREENGILL_COAST = 11541, NPC_DARKSPINE_SIREN = 25073, NPC_GREENGILL_SLAVE = 25084, NPC_FREED_GREENGILL_SLAVE = 25085, SPELL_ORB_OF_MURLOC_CONTROL = 45109, SPELL_GREENGILL_SLAVE_FREED = 45110, SPELL_ENRAGE = 45111, SPELL_MIND_CONTROL = 45112 }; bool ItemUse_item_orb_of_murloc_control(Player* pPlayer, Item* pItem, const SpellCastTargets &pTargets) { if (pPlayer->GetQuestStatus(QUEST_DISRUPT_THE_GREENGILL_COAST) == QUEST_STATUS_INCOMPLETE) { std::list<Creature* > lCreatureList; GetCreatureListWithEntryInGrid(lCreatureList, pPlayer, NPC_GREENGILL_SLAVE, 5.0f); std::list<Creature* > lCreatureTargetList; if (!lCreatureList.empty()) for(std::list<Creature*>::iterator itr = lCreatureList.begin(); itr != lCreatureList.end(); ++itr) { (*itr)->CastSpell(pPlayer, SPELL_GREENGILL_SLAVE_FREED, true); (*itr)->UpdateEntry(NPC_FREED_GREENGILL_SLAVE); (*itr)->CastSpell((*itr), SPELL_ENRAGE, true); (*itr)->CastSpell((*itr), SPELL_MIND_CONTROL, true); Creature* pTarget = GetClosestCreatureWithEntry((*itr), NPC_DARKSPINE_SIREN, 10.0f); if(pTarget) (*itr)->Attack(pTarget, true); } } return false; } 1. Необходимо искать нпц от точки курсора, где использовался итем (в примере берется точка игрока). Возможно, есть какой-нибудь объект "курсор" или что-то подобное. 2. Спеллы в примере просто кастуются. Возможно, они должны применяться как-нибудь по-другому. 3. Скрипт начинает выполняться сразу при нажатии на итем,не обращая внимания на задержку в 1 секунду, которая требуется для каста спелла. 4. Освобожденные нпц выделяют в качестве цели нужного нпц, но не атакуют его. Ссылка на видео: http://www.youtube.com/watch?v=exQ0PyEC7Zc |
Пользователь сказал cпасибо: | tempura (07.05.2010) |