28

» WarCraft 3 / Enrage

ты просто не тестил на моментальном уроне, превышающем макс. запас здоровья
для этого абилка и нужна
чтобы атаки которые больше макс хп не убивали цель
добавь дебаг и кинь результат
28

» WarCraft 3 / Moving System, перенос данных.

Doc, а теперь посмотри во что это компилируется
если ты считаешь что плодить триггеры лишь для того чтобы использовать малую часть их возможностей это нормально то мне тебя жаль
в общем все ответы даны и тема закрыта
хватит разводить срач
28

» WarCraft 3 / Enrage

TeX13, у всех работает у одного тебя проблемы и сразу виноват весь мир
дебаг добавь
и да
на гуи такие системы не стоит делать
юзай джасс
либо скачай готовую систему если сам написать не можешь
специально глянул свой старый код
всё работает так как я написал
так что ошибка либо в условии либо ты не смог правильно создать абилку
хотя я и не понимаю как можно было не правильно заменить число 300 на число 99999
в любом случае нужен дебаг
первый в самом начале действий (чтобы проверить что выполняется общее условие)
второй в ифе
третий после хила выводит максимальное и текущее хп юнита
28

» WarCraft 3 / Moving System, перенос данных.

Doc, если хочешь чтото возразить то предоставь пруф
если же зашёл чтобы тупо пофлудить то кыш отсюда
тут один из немногих нормальных вопросов в академии
Clamp:
В варкрафте нет ООП, одна видимость. Кроме того, реализация такого добавления методов принципам ООП номинально не противоречит.
это нарушает модульность кода т.к. использование класса требует его редактирования
хотя в вар3 на это всем пофиг как правило
Clamp:
а полиморфизм при работе с варкрафтом считай и не нужен.
просто хотел реализовать шаблон наблюдатель или хотя бы его подобие
хотя можно реализовать и через модули
28

» WarCraft 3 / Enrage

Принятый ответ
Кристофер, способность потом убирать надо
TeX13, умножаем полученный урон на 0,2 и получаем сниженный урон
проверяем хватает ли этого чтобы убить юнита (сниженный урон >= хп юнита)
если хватает то ничего не делаем
если не хватает то запоминаем (текущие хп юнита - сниженный урон)
даём камень и полностью хилим юнита
запускаем таймер на 0,0 секунд
по окончанию таймера удаляем камень и устанавливаем хп юнита равное запомненному значению
а вообще тема поднималась 1000 раз и есть куча готовых систем
28

» WarCraft 3 / Enrage

любого это и магического и физического?
тогда триггерно
отлавливаем полученный урон и восстанавливаем 80% хп от полученного урона
28

» WarCraft 3 / Heroes of the arena

для характеристик есть поля в редактировании ресурса
используй их
вот правила по оформлению в которых сказано как правильно заполнять эти поля
так же добавь скриншотов игрового процесса (бои и прочее)
и заполни краткое описание ресурса (2-3 строки)
28

» WarCraft 3 / Сохрани себе жизнь! v1.72

скриншоты сделай с игровой камеры
т.е. без всяких приближений и обрезания(скрин должен быть всего экрана)
основная задача скриншотов показать игровой процесс с точки зрения обычного игрока
так же желательно добавить список особенностей чтобы знать чем отличается твоя карта от 100500 других
28

» WarCraft 3 / Moving System, перенос данных.

через добавление методов напрямую
нарушает принципы ооп
Clamp:
через наследование
в vjass наследование кривое и нету нормального полиморфизма
про модули не понял
28

» WarCraft 3 / Moving System, перенос данных.

Принятый ответ
способ 1
вешать структуру на таймер с помощью эксплойта (для тех кто не знает структура это число) а потом этим таймером вызывать нужную функцию спустя 0 секунд
плюсы:
простота
минусы:
требует добавлять иф на каждую новую функцию
второй способ
тоже самое что и 1 только на таймер вешается вдобавок название функции и таймер вызывает её экзекутом
вот моя библиотека по 2 способу и карта с примером
в библиотеке в самом верху есть небольшой док по 3 функциям
Загруженные файлы
28

» WarCraft 3 / Конвентировать 0x65304555 на 4-ое число из редактора?

Steal nerves, 0x убери из числа которое вводишь
т.е. вместо 0x65304555 вводи 65304555
там просто ограничение на количество символов стоит чтобы числа больше инта(4 байта) не вводили
с десятичными оно кстати криво работает
попробуй ввести 5 000 000 000 в dex и он выдаст неправильный результат