В данном случае отнимание здоровье надо сделать полностью триггерно!
Ты можешь установить здоровье юнита как максимальное число между "1" и его "хп - 200".
Есть функции в математике Min(a,b) и Max(a,b) (т.е. надо макс).
а - число 1
b - ( (текущее ХП юнита) - 200.)
В итоге, если вдруг у твоего юнита будет 165хп, то функция сравнит два числа, 1 и 165-200=(-35) Что больше? 1 или -35 ? в итоге ХП юнита будет выставлено на 1.
Прочитав заголовок темы я сразу подумал про "Веерный Бросок", но дальше вижу что чисто по механике работы он тебе здесь никак не подходит)).
Раз ты работаешь с ядами, тогда я бы предложил тебе сделать их триггерными. Да, это будет сложнее чем использовать стандартные абилки (я не против такого подхода с твоей стороны - каждый делает как ему нравится, и/или как он умеет), но зато ты получишь полный контроль над процессом распространения этих "ядов" (в том числе - проверки на магический иммунитет).
Если интересно, можешь написать мне в ЛС или ещё куда (ссылки в профиле имеются), и тогда я тебе расскажу/покажу что из задумок у меня имеется на эту тематику.
Я тебе сразу скажу, что я тебя понял, но... сделать это... хз даже Нет. Я видел как это реализовывали, но... как именно - даже не задумывался )) Чисто ради фишки из другой игры? Я б не стал заморачиваться так...
При самописном условии определенному игроку дается Defeat и появляется окно о поражении, а также надпись что игра стала на паузу.
Я раньше выдавал игроку "победу", после чего его выбрасывало из текущей игры.
Уже не помню как конкретно это отражалось на остальных в игре, но мне это подходило.
Потом ещё я юзал просто RemovePlayer (который так же есть в внутри бж функции победы), при этом игрок несколько минут вообще не понимал что его выбросили их игры и просто продолжал играть... один... другие игроки числятся живыми (играющими), но никто не подаёт признаков жизни (сообщений нет, юнитами не управляют), т.е. сам игрок отваливается )) может показаться что тебя просто кинули все и игнорят ))
Причин может быть мннннооооого
Надо понимать природу процесса, что именно происходит в момент крита... хотя бы догадки иметь
А так - скинь файл лога с ошибкой (в папке Errors)
И кстати, я делал эту спелку, и всё работало, потом зашел снова, и не работает.
У тебя весь спелл мягко говоря корявый. Ты записываешь юнита как "воронку", которая каждые 0.5 сек будет проверять всех юнитов в очень малом радиусе от себя, и как только хоть кто-то попадётся - ты отключаешь триггер и сдвигаешь юнитов непонятно куда... (тех которые был вокруг воронки в момент каста)
Что ты в идеале хотел сделать? схлопывание юнитов при приближении к эпицентру? ли что?
если не сложно покажи как тригером эту способность организовать
Сейчас набросаю. Будет сложно, но лучше так...
Вот тебе такой пример от меня.
Делал без поддержки JNGP (т.е. должно запускаться в стандартом редакторе).
Наносит 250 урона всем врагам вокруг юнита (в радиусе 275).
Создаёт кучу спецэффектов (4 для взрыва и по одному каждому задетому).
Здания получают 180% урона. Летающие получают 40% урона.
можешь волков фарсира попробовать перебахать на "призыв" мины лол, ток тут вопросик будет с точкой этого самого призыва, - я не уверен, что он будет каждый раз саммонить нужное именно там, где тебе нужно прям вот ТОЧЕЧНО, смещения скорее всего будут так или иначе, хоть и незначительные
Мне почему-то кажется что в стандартом скилле спавна мины можно настроить время жизни. Если же **нет*, то взять за основу скилл знахаря на создание духа-наблюдателя. Но всё же, я бы сделал триггерно всё... но это я...
Чем лепить такую кучу условно-работающих блоков, лучше уже триггерно просто выбрать юнитов и бахнуть урон по ним. Пример нужен? раз уж всё так плохо...
SANTIMEL, ну ты всегда можешь попробовать изменять ВСЕ параметры ))
Если у твоего футмана всегда должно быть 420хп независимо от патча, то ты можешь дать ему 425хп... и проблема будет решена... топорно
Ну можно просто создать триггер на событие смерти мины, и в этот момент выбирать всех находящихся рядом и подходящих для нанесения урона юнитов. А самой мине выдать абилку, которая будет вызывать триггер с действия на убийство "кастера" (юнита инициатора).
Вот тебе и подрыв.
А можно сразу взрыв вставить в каст абилки, но тогда если мину сломают - автоматического взрыва не будет.
SANTIMEL, если у тебя был пехотинец с 420хп и 12-13 атаки, а ты ему поставил 20-30 атаки и в таком видеть используешь в своей карте, то... если близы патчем изменят ему хп с 420 до 600, то у тебя в карте будет пехотинец с 600хп и 20-30 атаки. Понял?
Неужели нельзя сделать так чтобы игра смотрела героев и если у героя есть баф давать ему периодические статы. Игра же проверяет когда кастуются способности, почему она просто не может проверять бафы у всех героев. А если делать переменные можешь поподробнее рассказать как это сделать и как это должно по итогу выглядеть?
В игре есть куча всяких событий и действий, благодаря которым можно сделать всё что ты хочешь.
Для того что бы проверять всех юнитов с баффом, надо их как-то выделить. Для этого можно обратиться ко всем юнитам на карте (тем самым сгруппировав их в отряд), и уже через перебор проверить наличие баффа, и дальше сделать нужные действия - выдать статы.
В идеале лучше отловить появление такого юнита на карте (либо приобретение им способности, если это герой), и по таймеру конкретно с ним (с ними) проводить необходимые манипуляции.
Первая ошибка: У тебя со событию "каждые 2 секунды игры" не будет никакого "триггеринг юнита".
Триггеринг юнит, это юнит инициатор события триггера, т.е. тот юнит который заставил заставил триггер сработать (если таковой может быть). При твоём событии такого юнит попросту нет. Для проверки можешь вывести на экран текст "Имя моего юнита = " + (имя триггернг юнита)
И ты увидишь что там будет пусто.
Скорее всего тебе придётся записать этого юнита в переменную (либо в группу, что тоже является переменной), и каждые 20 секунды обращаться к этому юниту через переменную.
» WarCraft 3 / Бездействие самолётов как в генералах
» WarCraft 3 / Предмет меняющий здоровье на ману. проблема самоубийства им
Есть функции в математике Min(a,b) и Max(a,b) (т.е. надо макс).
а - число 1
b - ( (текущее ХП юнита) - 200.)
Что больше? 1 или -35 ? в итоге ХП юнита будет выставлено на 1.
» WarCraft 3 / Сколько длится день и ночь в варкрафт 3?
то что там стоит - значение в РЕАЛЬНЫХ секундах
я не помню какое там число, надо смотреть
Ред. Extremator
» WarCraft 3 / Подскажите заклинания/способности наносящие не магический урон
» WarCraft 3 / Бездействие самолётов как в генералах
» WarCraft 3 / Бездействие самолётов как в генералах
Нет. Я видел как это реализовывали, но... как именно - даже не задумывался ))
Чисто ради фишки из другой игры? Я б не стал заморачиваться так...
» WarCraft 3 / Есть ли способ сделать дисконнект игроку из карты?
Уже не помню как конкретно это отражалось на остальных в игре, но мне это подходило.
» WarCraft 3 / Как сделать чтобы юнит дольше замахивался?
» WarCraft 3 / Вопрос про UnitDamageTarget?
Герой/Обычный - это будет физический урон
Остальное почти не юзаю.
» WarCraft 3 / FATAL ERROR The memory cannot be 'read'
Надо понимать природу процесса, что именно происходит в момент крита... хотя бы догадки иметь
А так - скинь файл лога с ошибкой (в папке Errors)
» WarCraft 3 / Мистичиский отряд
» WarCraft 3 / Мистичиский отряд
Ред. Extremator
» WarCraft 3 / Мистичиский отряд
Ред. Extremator
» WarCraft 3 / Отловить на jass точку каста
А если тебе нужны координаты, то GetSpellTargetX() / GetSpellTargetY()
» WarCraft 3 / Самоуничтожение юнита.
Делал без поддержки JNGP (т.е. должно запускаться в стандартом редакторе).
Создаёт кучу спецэффектов (4 для взрыва и по одному каждому задетому).
Здания получают 180% урона. Летающие получают 40% урона.
» WarCraft 3 / Reforged – Как работает обновление баланса?
» WarCraft 3 / Как отловить Перерождение?
Хотя вроде отрабатывает событие смерти виджета... надо чекнуть )) я уже не помню
Ред. Extremator
» WarCraft 3 / Reforged – Как работает обновление баланса?
» WarCraft 3 / Самоуничтожение юнита.
» WarCraft 3 / Reforged – Как работает обновление баланса?
Если у твоего футмана всегда должно быть 420хп независимо от патча, то ты можешь дать ему 425хп... и проблема будет решена... топорно
» WarCraft 3 / Reforged – Как работает обновление баланса?
Ред. Extremator
» WarCraft 3 / Самоуничтожение юнита.
А можно сразу взрыв вставить в каст абилки, но тогда если мину сломают - автоматического взрыва не будет.
» WarCraft 3 / Reforged – Как работает обновление баланса?
» WarCraft 3 / Увеличение статов герою с течением времени
» WarCraft 3 / Приобретение статов герою с течением времени
Триггеринг юнит, это юнит инициатор события триггера, т.е. тот юнит который заставил заставил триггер сработать (если таковой может быть). При твоём событии такого юнит попросту нет. Для проверки можешь вывести на экран текст "Имя моего юнита = " + (имя триггернг юнита)
И ты увидишь что там будет пусто.