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

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

Ответ
 
Doc

offline
Опыт: 63,163
Активность:
9thNerZul, ухаха, а как по твоему построены все эти системы отлова полученногоурона? делается даже на гуи за 5 минут
Старый 08.01.2010, 21:24
MPI3
Хм...
offline
Опыт: 24,597
Активность:
Переменные:
real m, bool ot;
Во что я предлагаю сделать:

Код:
trig 1
С:получен приказ [юнитом]

Д: -если
     приказ "атаковать", то ot=true
    приказ "стоп", то ot=false

trig 2
С:каждую секунду

Д:-if ot==true, then отнять m маны у [юнита]



Ну как, прокатит?
Старый 08.01.2010, 21:25
Gareth Emery
Passive Progressive^^
offline
Опыт: 9,874
Активность:
MPI3, вряд ли. Опять же при отслеживании атаки возможен промах и мана отнимется зря.
А 9thNerZul, походу первый раз редактор открыл если не знает как отслеживать урон...
Мой вариант - все-таки отследить полученный урон, ведь действие срабатывает только если юнит непосредственно получил дамагу, ведь при промахе урон не получаем, поэтому можно спокойно отнимать МР. Если автор отпишется, то сделаю пример. Хотя может я и ошибаюсь насчет промаха, надо еще проверить.
Старый 08.01.2010, 21:35
3aragka

offline
Опыт: 7,141
Активность:
почему это при промахе зря? ... атака то была... как факт
промах на то и промах
Старый 09.01.2010, 13:31
avatarDr
Neophyte
offline
Опыт: 6,474
Активность:
тем более в жассе!
Ясное дело, жасс ведь надстройка для ГУИ. А вообще лучшие умы уже много бились над этим, и кое-что даже придумали. Например добавлять для каждого из 300 юнитов динамический эвент.
Старый 09.01.2010, 14:18
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Gareth_Emery:
MPI3, вряд ли. Опять же при отслеживании атаки возможен промах и мана отнимется зря.
А 9thNerZul, походу первый раз редактор открыл если не знает как отслеживать урон...
Мой вариант - все-таки отследить полученный урон, ведь действие срабатывает только если юнит непосредственно получил дамагу, ведь при промахе урон не получаем, поэтому можно спокойно отнимать МР. Если автор отпишется, то сделаю пример. Хотя может я и ошибаюсь насчет промаха, надо еще проверить.
А я бы не переходил на крайности^^ давай сделай мне пример с отлавливанием урона для любого юнита на каре на гуи хаха посмотрим на тебе, (заране лучше проверяй когда пишешь)
9thNerZul добавил:
avatarDr:
тем более в жассе!
Ясное дело, жасс ведь надстройка для ГУИ. А вообще лучшие умы уже много бились над этим, и кое-что даже придумали. Например добавлять для каждого из 300 юнитов динамический эвент.
Вот именно гуи, умные люди у нас просто есть((
Старый 09.01.2010, 19:20
avatarDr
Neophyte
offline
Опыт: 6,474
Активность:
9thNerZul, есть такой. (Про утечность мы помолчим, да, нам важен принцип.)
С: юнит появился.
У:
Д: добавить в триггер "УДАРИЛИ" событие "Triggering Unit получает урон"
Кончаем оффтоп, народ.
Автору темы: делай через юнит атакован, лучше не получится. (Особенно если юнит, который атакует - мили.)
Старый 09.01.2010, 19:39
Moon Hunter
Elemental arena v 2.0
offline
Опыт: 660
Активность:
9thNerZul, на не важно сколько урона нанес нам важен сам факт что нанесен а в гуи есть такое событие: *Боевая Единица - A Unit Атакован* и благодаря этому событию запросто отслеживается как отследить урон и отнимаем ману у атакуюшего юнита:
(Боевая Еденица - Set mana of (Attacking unit) to ((Мана of (Attacking unit)) - 20.00)*

Moon Hunter добавил:
не сор эта штука не прет если отменяеш атаку мана тратится((
Старый 09.01.2010, 19:48
avatarDr
Neophyte
offline
Опыт: 6,474
Активность:
Moon_Hunter, 9thNerZul, простите, что рушу ваш волшебный мир, но если юнит-рангер атакует цель, и пока летит снаряд, если цель получит урон любым способом (Источник урона как фильтр тоже не катит, ибо атакующий может до этого кинуть яд по цели), то ничего хорошего из этой идеи не выйдет.
Старый 09.01.2010, 20:19
Moon Hunter
Elemental arena v 2.0
offline
Опыт: 660
Активность:
avatarDr, тогда только через огненные стрелы !? все другое не подходит только запрет на атаку поставить и все будет аке
Старый 09.01.2010, 20:26
avatarDr
Neophyte
offline
Опыт: 6,474
Активность:
Moon_Hunter, я, кстати, пытался сделать. Плохо работает с изменением целей. Вот способности сфер подходят, они милишникам дают возможность бить рангеров.
Старый 09.01.2010, 20:48
Moon Hunter
Elemental arena v 2.0
offline
Опыт: 660
Активность:
Ksan, читать не умееш здесь ты т.к. мы тут уже 2-ой день обсуждаем что способ с Юнит Атакован не подходит т.к. если отменить атаку мана уйдет а атаки не будет ! советую потавь на свою карту ранжа так нагляднее. Да и твое условие не подходит оно просто убирает ману если у юнита её больше 0 если меньше триггер просто ничего не делает!
Старый 09.01.2010, 21:21
Ksan

offline
Опыт: 13,248
Активность:
Moon_Hunter, Вот именно - ничего, то есть он не может атаковать. Главная просьба выполнена. А если отменить атаку мана не уйдет, тк уходит только когда юнит атакован, а если отменить атаку - он не будет атакован. Логически учись мыслить =\
Старый 09.01.2010, 21:31
Moon Hunter
Elemental arena v 2.0
offline
Опыт: 660
Активность:
Ksan, Оо........... твое условие ставит запрет только на вычитание маны если ты в условии поставишь 100, то если у тебя маны меньше 100-а то он просто вычитать её не будет а атака то произойдет! тогда надо ставить в Else не Do Nothing а Issue Order: Stop(Отдать приказ прекратить атаку)

Moon Hunter добавил:
Ksan, тогда что по втоему способу сделать с: сидит игрок нажимает атаковать и потом нажимает стоп или двигаться??? Мана тратится а атаки нет! сам пробовал могу мапу закинуть!

Moon Hunter добавил:
когда я имел ввиду нажимает атаковать а потом стоп => юнит подходит замахивается и потом ему отдается приказ прекратить действие в этом случае мана тратится а удара нет

Moon Hunter добавил:
вот исправленная версия: PS баг с стопом атаки так и не исправлен!(юнит теряет ману если во время атаки нажать Стоп(S))
Прикрепленные файлы
Тип файла: w3x -10mana per atack.w3x (13.2 Кбайт, 8 просмотров )
Старый 09.01.2010, 21:55
Ksan

offline
Опыт: 13,248
Активность:
Если поставить в иначе - то при всех других случаях он стопать будет. Слишком большая утечка. Да и зачем ставить 100? Я лично проверял - все работает
Старый 09.01.2010, 22:12
Doc

offline
Опыт: 63,163
Активность:
Сори что не скринами
Переменные:
Группа - DamageGroup

Первый триггер:

Событие:
Every 0.10 seconds of game-time

Условия:

Действия:
Pick Every unit in(Units in (Playable Map Area)) and do (Actions)
If/Then/Else
	Если - Условия
	 ((Picked unit) is in DamageGroup) равно Нет
	То - Действия
	 Add (Picked unit) in DamageGroup
	 Add to Второй триггер <gen> the event (Боевая единица - (Picked unit) получает урон)
	Иначе - Действия

Второй триггер

Твои действия
DoctorGester добавил:
Вот и все гуи-решение

Отредактировано DoctorGester, 09.01.2010 в 22:23.
Старый 09.01.2010, 22:15
Moon Hunter
Elemental arena v 2.0
offline
Опыт: 660
Активность:
Ksan, да странно.... а у меня стопает если только поставить Issue Order в других случаях атака есть, дамаг есть, а мана НЕ вычитается в моей же карте ограничение на 10 маны, за удар 10. Если маны меньше 10 атаки нет!

Moon Hunter добавил:
DoctorGester, это все неплохо сделано но вот если атакуюший юнит промахивается? дамаг не нанесен => триггер не срабатывает
Старый 09.01.2010, 22:25
Doc

offline
Опыт: 63,163
Активность:
Moon_Hunter, ололо, а как ты хотел? разве так будет хуже?
Старый 09.01.2010, 22:29
Moon Hunter
Elemental arena v 2.0
offline
Опыт: 660
Активность:
DoctorGester, бесспорно лучше) но чтож всетаки сделать если у юнита способность уворота? нам же надо чтоб мана в любом случае тратилась)
Старый 09.01.2010, 22:31
Gareth Emery
Passive Progressive^^
offline
Опыт: 9,874
Активность:
А кто-то еще и говорил что нельзя отслеживать урон...
Старый 09.01.2010, 22:43
Ответ

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

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

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

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



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