XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Aizen

offline
Опыт: 45
Активность:
Завершение "Жар преисподней"
Хочу сделать новую способность на его основе чтоб постоянно жрал ману когда игрок использует его. Надо сделать так, чтобы при включении "Жара присподней" герой получал заодно некую другую способность(например повышение силы), а при выключении соответственно эта способность убиралась. Или можно как то по другому решить этот вопрос?
P.S. проверка событий "прекращает применение способности" и "завершает применение способности" не работает.
Старый 16.12.2008, 11:41
agentex

offline
Опыт: 34,834
Активность:
юнит отдает приказ "unimmolation"

agentex добавил:
ну и immolation соответсвенно
Старый 16.12.2008, 12:15
Integro
старожило
offline
Опыт: 630
Активность:
Приказ юниту или группе является же типом string, исходя из этого по текущему приказу делать проверку, если приказ=="unimmolation", то произвести определенное действие. Или по событию указанному выше.
Старый 16.12.2008, 12:33
agentex

offline
Опыт: 34,834
Активность:
нет, Integro, ловить надо именно событие. если просто в какой то момент юзнуть GetUnitCurrentOrder, она вернет не immolation даже если жар включен
Старый 16.12.2008, 12:56
ExArt

offline
Опыт: 13,634
Активность:
agentex Надо ещё событие на ману, если маны нет спел выключается без приказа.
Старый 16.12.2008, 13:29
Aizen

offline
Опыт: 45
Активность:
Сэнкс работает. А то неделю угробил на это дело.
Старый 16.12.2008, 13:34
agentex

offline
Опыт: 34,834
Активность:
ExArt, я думаю при авто выключении спела приказ все равно отдастся, хотя надо проверить.
Старый 16.12.2008, 13:55
MegaPhoenix

offline
Опыт: 2,932
Активность:
agentex
Там не спелл нужно выключать, а делать проверку
Если маны > 0 тогда
<триггерный эффект способности>
иначе
<ничего не делать>

В этом случае, если маны стало 0, а игрок не выключил жар...допустим мана восстановилась и заклинание снова работает, т.к. жар не выключали.
Старый 16.12.2008, 14:15
agentex

offline
Опыт: 34,834
Активность:
MegaPhoenix, я вообщето на об этом говорю, где я говорил что спел нужно выключать? о_О
я просто хотел сказать что проверка на ману не понадобится, если при нехватки маны отдастся приказ unimmolation.
Старый 16.12.2008, 14:24
Elemental
Element Of Water
offline
Опыт: 1,072
Активность:
Есть и другой вариант-заюзать пустую абилку-ее включаешь когда-заменить на другую 2 пустую, дать силу например и способность с отрицательной регой маны, новая (2 пустая) способность делает обратный эффект:) все легко и просто:)
Старый 16.12.2008, 17:02
MegaPhoenix

offline
Опыт: 2,932
Активность:
Elemental
Так в доте сделаны некоторые спеллы
Старый 16.12.2008, 17:59
ExArt

offline
Опыт: 13,634
Активность:
agentex при нехватке маны приказ на выключение не отдастся. Наверное надо сначала проверить а потом постить...
Старый 16.12.2008, 21:54
agentex

offline
Опыт: 34,834
Активность:
а ты чо типа проверял?
Старый 16.12.2008, 22:17
ExArt

offline
Опыт: 13,634
Активность:
agentex Да, проверил, потом запостил. Это меньше минуты заняло...
Старый 16.12.2008, 22:21
agentex

offline
Опыт: 34,834
Активность:
ну вот, а мне влом было, поэтому я чисто теорию запостил, что в этом такого
Старый 16.12.2008, 22:26
ExArt

offline
Опыт: 13,634
Активность:
agentex это деза
Старый 16.12.2008, 22:30
agentex

offline
Опыт: 34,834
Активность:
нет, это предположение
Старый 16.12.2008, 22:36
ScorpioT1000
Работаем
online
Опыт: отключен
Перенес в академию.
Старый 17.12.2008, 00:56
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
я уже делал что-то подобное ну вообщем вот
Код:
С: Юнит получает приказ без цели
У:UnitTypeOfUnit(OrderedUnit) == Твой юнит(эта строка нужна только если у тя не один спелл с таким приказом)
Д:
если приказ == immolation
   then
   DisableAbilityForPlayer(SpellBook, OwnerOfUnit(OrderedUnit)
   AddAbilityForUnit(SpellBook,OrderedUnit)
   SetLevelOfAbilityForUnit(Ability,OrderedUit,(LevelOfAbilityForUnit(YourAbility,O  rderedUnit)))
если приказ == unimmolation
   then
   RemoveAbilityFromUnit(SpellBook,OrderedUnit)


Ability - это абилка в спеллбуке уровень которого надо повысить
YourAbility - это абилка с приказом
SpellBook - спелл бук с нужными пассивками

ELDAR добавил:
Цитата:
Сообщение от ExArt
agentex при нехватке маны приказ на выключение не отдастся. Наверное надо сначала проверить а потом постить...



если это прада то каждые 0.5 сек проверяй кол-во маны у юнита и отдавай приказ
Старый 17.12.2008, 04:40
ScorpioT1000
Работаем
online
Опыт: отключен
ну это неоптимально. проверять на приказ лучше в условии, т.к. это будет только при нем вызываться, а у тебя вызывается при любом приказе
Старый 17.12.2008, 04:57
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:06.