26

» WarCraft 3 / Вопросов много...

quq_CCCP:
ой ненадо тралалал...
Дальше даже читать смысла не вижу... Чего ты взорвался то?
26

» WarCraft 3 / Вопросов много...

quq_CCCP:
если вы жасс не осилили даже не заикайтесь про ланд и прочие визуалки
Но есть же огромное число людей, которые пилят шикарные ланды, но при этом ничего не понимают в триггерах... Мб не стоит навязывать своё субъективное мнение всем подряд?
26

» WarCraft 3 / Проглотить (devour)

Принятый ответ
rsfghd:
Как узнать, кушает ли юнит кого-нибудь в данный момент или нет?
По наличию баффа Bdvv у него.
Если есть бафф = он переваривает кого-то.

rsfghd:
а как я найду того самого кодоя, что его съел?
Записывай пары юнитов в момент каста.
26

» WarCraft 3 / Button Manager v1.8.2

Lesnoi troll:
А как вывести иконки из варкрафта?
MPQ архиватором можно выдерать стандартные иконки из игры
26

» WarCraft 3 / Описание юнитов - Ссылки на хп/способности и другие свойства

Принятый ответ
Там на самом деле на много больше функций и правил их вывода, но никто нигде об этом не пишет.
С атакой всё понятно, получилось вывести через
<hfoo,mindmg1>-<hfoo,maxdmg1>
Со здоровьем - попробуй угадай, что вместо HP надо написать realHP
C защитой вроде тоже прокатывает def
Как вывести скорость атаки и движения - ХЗ
Скорее всего придётся тебе вручную всё писать.
Ну или ждать пока близы выложат линки на все нужные макросы.
26

» WarCraft 3 / Заголовок

Принятый ответ
Ну вообще - там юзается "удар грома" без урона, но с эффектом замедления.
Каст идёт с дамми-юнита.
В какой момент это делается? - когда ХП героя достигает отметки в 0 ед., но при этом событие "юнит умер" не отрабатывается. Значит герой упал, но не умер, и будет перерождён.
Но тут один момент - в таком виде это не будет корректно работать при срабатывании другого перерождения. Так что тут надо добавить либо какой-то костыль, либо просто сделать триггерный аналог скилла (отлавливать смертельный урон, паузить, неуязить, проигрывать анимацию смерти, ждать, поднимать юнита).
26

» WarCraft 3 / Дистанция получения цели

Принятый ответ
Lord_Teo:
Я точно знаю, что на 1.26 "Дистанция получения приказа" влияет на радиус агра, но никак не на дальность выстрела.
Дистанция агра урезает дистацию атаки.
Что по сути должно является решением проблемы динамического изменения ренжа атаки.
Но функция на изменение дистанции агра никогда не работала.
Вот и всё.
26

» WarCraft 3 / Способность завод не работает

Принятый ответ
Абилка специфичная, и работает сама по себе.
Может работать на умершем юните (т.е. труп будет спавнить юнитов).
Требование улучшения не блокирует работу абилки.
Если абилку заблокировать для игрока - она всё равно будет работать.
Самый доступный вариант, это вручную выдавать эту абилку в нужный момент конкретным юнитам, тогда не будет такого что она работает до момента её разблокировки улучшенем.
Если таких юнитов много в игре (типа как берсерков в ладдере), то как вариант - дать юнитам пустышку, и свичнуть её на завод после соответсвующего улучшения (через технику, улучшение уровня абилки такое же как у оживления мёртвых у некромантов, когда один скелет заменяется магом).
26

» WarCraft 3 / Пассивка. Таймеры.

Принятый ответ
EviLInside, ну я бы вообще мог сделать отдельный счёт периодичности для каждого юнита, и выдавать дополнительное ХП в зависимости от того, когда это необходимо.
При каждом срабатывании таймера проверить что время периодика меньше такта таймера.
И увеличивать периодик на значение из расчётов, т.е. от 0.5 до 5.0 в зависимости от % ХП.
И каждый раз при этом хилить на 50% от Силы. Вот и всё.
Т.е. тут глобальная группа заменится на массив из связки юнит/время.
26

» WarCraft 3 / Пассивка. Таймеры.

Тут на много проще будет изменить саму формулу подсчёт регена в зависимости от потеряного % здоровья.
для наглядности
При 100% ХП это 50% от Силы раз в 5 сек = 10% от Силы в секунду.
При 90% ХП это 50% от Силы раз в 4,5 сек = 11,(1)% от Силы в секунду.
При 80% ХП это 50% от Силы раз в 4 сек = 12,5% от Силы в секунду.
При 70% ХП это 50% от Силы раз в 3,5 сек = 14,23% от Силы в секунду.
При 60% ХП это 50% от Силы раз в 3 сек = 16,(6)% от Силы в секунду.
При 50% ХП это 50% от Силы раз в 2,5 сек = 20% от Силы в секунду.
При 40% ХП это 50% от Силы раз в 2 сек = 25% от Силы в секунду.
При 30% ХП это 50% от Силы раз в 1,5 сек = 33,(3)% от Силы в секунду.
При 20% ХП это 50% от Силы раз в 1 сек = 50% от Силы в секунду.
При 10% ХП это 50% от Силы раз в 0,5 сек = 100% от Силы в секунду.
И всё это выливается просто в формулу
STR*0.5 / ( cH/mH * mT )
где cH = current HP / текущее здоровье
mH = maxHP / максимально здоровье
mT = maxTIME / максимальное время (5 секунд)
STR * 0.5 = Мощность регена от Силы героя
Тогда всех юнитов с пассивно можно закинуть в глобальную группу и запустить один таймер, который будет с этой группой работать. Вот и всё.
+ стопить таймер, если вдруг все юниты из группы будут дропнуты
+ запускать таймер, если друг в пустую группу будут добавляться ещё юниты
26

» WarCraft 3 / Разница запуска таймера

Разница лишь в том, что во втором случае конструкция может предполагать динамическое переопрелеление периода.
26

» WarCraft 3 / Команда по определенному нику

Omg_bounty_lord, я конечно всё понимаю, но... зачем ставить МИНУС на комменте, который тебе помог? х) Если ты мисскликнул - повторный клик на минус отменяет его выбор (т.е. сбрасывает).
26

» WarCraft 3 / Команда по определенному нику

Принятый ответ
Имя игрока это "строка / string".
Если хочешь проверить имя игрока, то делай "сравнение строк / string comparison".
Имя игрока (конкретный игрок) == "строка"
26

» WarCraft 3 / Как проверять себя

Qulore:
Ну я хочу проверить способность туман, типа дамми юнит кастует туман и нужно проверить даёт ли он сайленс, замедляет скорость атаки и бега, просто я не знаю какие там допустимые цели ставить.
Делаешь триггер, которым будет создаваться герой (или другие юниты) для вражеского игрока и расшариваться контроль тебе. Таким образом ты будешь управлять врагом и видеть что с ним происходит в процессе (хотя сайленс ты и так увидишь, за счёт баффа).
26

» WarCraft 3 / Order ID , flamingarrowstarg

EviLInside, ну если пофиг на совместимость орбов - можно тупо за счёт отлова урона с баффом от стрелы.
А вот если надо что бы всё работало вместе - нужно делать системку, у которой всё будет орбами на одной базе, тогда по-сути получится что орбов как бы и нет вовсе.
26

» WarCraft 3 / Order ID , flamingarrowstarg

Каст абилки - это одно. Срабатывание эффекта стрел при атаке - это уже другой механизм.
Что конкретно ты пытаешься сделать? свои стрелы с особым эффектом? или просто пустышку-автокастовую для отлова атаки?
26

» WarCraft 3 / Способности и алгоритмы на заказ

Anubius:

Заказ

Название: Дурная кровь (кровотечение)
Метод: Любой удобный для вас
MUI: Обязательно
Цель: Другой юнит
Количество уровней: 5
Описание: При атаке накладывает эффект дурной крови, который наносит существенный урон живым существам. Чем быстрее двигается жертва, тем больше урона она получает.
Технические характеристики: Если в общих чертах, кто вижу это как-то так: Когда наложено кровотечение (ну, вероятно, накладываться как яд какой-нибудь будет) юнит начинает терять свои хп в размере скажем 1% от текущего здоровья (если юнит стоит) Но если он начинает двигаться, то начинает терять значительно больше. Ну допустим за каждые 100 едениц скорости дополнительные 4% хп в секунду. (Ну и еще хотелось чтоб это было вокруб дебафа, который можно снять с помощью предмета (типо зелья что-то)) Спасибо
Как-то так.
В шапке карты пара функций, чисто для упрощение... можно заменить и переделать всё.
Урон раз в 1 секунду, наносит 10/20/30/40 ед. + 5/10/15/20% от дистанции, которую успел пройти за эту секунду (если стоит на месте, то получает только базовые 10/20/30/40 ед. урона).
Дебафф накладывается при авто-атаке, длится 6 сек, обновляется.
Наносимый урон видит только тот, кто его наносит (владелец героя).
Загруженные файлы
26

» WarCraft 3 / Стаки

Qulore, ну блин, в переменную записывай.
Если тебе надо что-то считать - заводишь переменную и считаешь числа.
А в момент каста, например, будешь просто смотреть чему равна переменная.
set damage = ( level * 5 + 15 ) * stack
Типа по 20/25/30/35 урона за стак, при 10 стаках соответственно 200/250/300/350
Сиди и разбирайся как работают переменные и что с ними можно делать вообще
26

» WarCraft 3 / Способности и алгоритмы на заказ

Qulore:
Cпасибо , все норм, но наверное это я что-то не то делаю, я не могу перенести на свою карту. Я сначала переношу войска, потом способности, потом триггеры. Может как-то по другому надо?
Не имеет значения что и как ты переносишь. Главное что бы ты собрал всё правильно.
Там не так уж много данных в РО что бы что-то можно было напутать (два абилки всего и даммик).
Единственное что скорее всего может не получаться - это ошибка функции первого триггера, из-за того что редактор не в том порядке собирает скрипт. Для этого можно скопировать 2й триггер, а старый удалить. Таким образом 1й триггер будет всё равно старше 2го (это в ситуации если у тебя получилось наоборот - сначала читается 2й, потом только 1й).