SAS_Deco, а способность Укреплённые логова 'Arbr'? Только что проверил, если башня улучшается после исследования, визуальный эффект остаётся, но тип защиты возвращается на указанный в РО у башни, видимо зашито в движке.
Создаётся даммик, либо по одному на каждого игрока при инициализации, либо непосредственно во время каста (и после удаляется); при событии SPELL_CAST - Начинает применять способность вызывается UnitDamagePoint - Боевая единица-Damage Area в позицию кастера, указывается нужный дамми-юнит, радиус, урон, тип урона, задержку в ноль. При событии SPELL_EFFECT - Приводит способность в действие ровно то же самое, только в точку каста.
ttoni, как ты можешь стартовать за синего, если на скриншоте видно, что за красного? Зайди в одиночную игру, в любую melee карту, например Места боевой славы, убери автоматически поставленного компьютера и посмотри, что будет
Этого можно добиться разными способами, первый - корректировка самой почвы через slk, в JNPG есть удобный интерфейс для редактирования, при этом на ней можно будет строить любые здания; второй - в редакторе объектов у нужного здания отредактировать поле Пути-Требования к расположению, снять Можно построить и поставить Наземный.
Не у всех способностей приказ имеет строковой эквивалент, как например у рёва: "roar"=852164, способности предметов как раз к таким относятся, соответственно, как сказал quq_CCCP, нужно сначала узнать нужный id и использовать вышеупомянутую функцию в custom script или jass. Таким образом, для свитка защиты это будет IssueImmediateOrderById(unit, 852269)
Изменить состояние фиксированного слота вряд-ли возможно, главное зачем это делать, если на слоте всегда будет один и тот же ИИ? Просто при инициализации запускаешь нужный скрипт и всё
nazarpunk, всё верно, равкод обычно содержит ограниченный набор символов, и подобрать его можно за долю секунды, касательно строк, в большинстве случаев нет необходимости находить оригинальную строку, достаточно коллизии, подобрать которую тоже не займет много времени. Помню когда-то давно сам писал такой брутфорсер, на одноядерном 4 пне штук 20 хэш коллизий нашлись буквально за 5 минут.
МрачныйВорон, goodlyhero, если бы всё было так просто, я бы не задавал таких вопросов; возможность именно чинить или атаковать здание определяется его картой путей, если юнит стоит около розового пикселя карты путей, он может это делать, а авто ремонт или атака срабатывает на расстоянии обоих физических размеров + дистанция самого ремонта (или атаки). В карте некоторые здания имеют не квадратную карту путей.
МрачныйВорон, вся проблема в том, что у работника propWin=0, соответственно он физически не перемещается, а только пытается, и отследить нужно именно repair в зоне досягаемости; просто сравнивать расстояние не получится, так как здания имеют не квадратную карту путей, думал хоть через выполнение приказа получится...
Как вариант, установить юниту Prop Window Angle на 0 (юнит не сможет ходить, только поворачиваться), приказать ему двигаться в направлении поворота, и вернуть всё на место. Установить prop angle в ноль можно только в jass или с помощью custom script:
call SetUnitPropWindow(unit, 0)
// здесь приказ юниту двигаться
// задержка на время поворота
// приказ юниту остановиться
call SetUnitPropWindow(unit, GetUnitDefaultPropWindow(unit)). // возврат исходного значения
Время поворота можно регулировать меняя скорость поворота юнита.
Также можно использовать функцию SetUnitAnimationByIndex(unit, 9) где 9 - номер анимации, например у паладина анимация ходьбы под номером 9, у каждой модели он свой. Функцию вызывать перед поворотом, после анимацию сбрасывать, либо добавлять "stand" в очередь.
quq_CCCP, об этом и спрашиваю, каким образом посмотреть "чем занят работник в данный момент". Есть ссылка на конкретную версию доты, и по каким словам искать в скрипте?
nazarpunk, а нештатно, с помощью мх или ещё чего-нибудь?
Poma, это очень кривая и ненадежная реализация, но особо пофиг каким скиллом убили или не убили. Полезнее для игроков в таблицу или стату писать нанесенный и полученный урон., кто в игре был самым прогрессивным по урону.
А чем убили - не все ли равно, главное кто.
Не знаю, сколько в эту карту играл, всё нормально было, с самых ранних версий, когда эта система появилась.
Порылся в коде карты, там система из нескольких триггеров: первый при применении заклинания записывает этому игроку (не конкретному юниту) название спелла; второй при атаке мыши обнуляет эту переменную у владельца атакера, и третий при убийстве мыши, если переменная пустая, значит не писать, если не пустая тогда писать название скилла.
Проблема очень просто решилась, я там рельеф чуть-чуть поменял, после того как поднял и опустил обратно всё исчезло. Странно, я раньше так пробовал, не получалось.
Можно создать отдельный триггер, где записывать последний использованный спел в переменную. Потом выводим ее в триггере, который отслеживает убийство.
А если убил именно юнит, не скиллом, тогда что? Я никак не пойму, как отследить это
Плюс ещё, если просто другой юнит на секунду раньше заюзал скилл какой-нибудь, его имя напишет
» WarCraft 3 / Помогите с улучшением
» WarCraft 3 / Помогите с улучшением
» WarCraft 3 / Как триггерно, или по умолчанию, установить сложность ИИ?
Ред. Poma
» WarCraft 3 / Как добавить урон в способность скачка
Ред. Poma
» WarCraft 3 / Багнулся worldeditor
» WarCraft 3 / Багнулся worldeditor
» WarCraft 3 / Посмтроить здание на почве
» WarCraft 3 / Тройной выстрел
» WarCraft 3 / Как сделать пассивную способность активной?
» WarCraft 3 / IssueImmediateOrderById
» WarCraft 3 / IssueImmediateOrderById
» WarCraft 3 / Как установить сложность компьютера?
» WarCraft 3 / Работа с StringHash
Ред. Poma
» WarCraft 3 / Работа с StringHash
Ред. Poma
» WarCraft 3 / Работа с StringHash
Centyrion:
» WarCraft 3 / Отслеживание статуса выполнения приказа юнита
» WarCraft 3 / Отслеживание статуса выполнения приказа юнита
» WarCraft 3 / Отслеживание статуса выполнения приказа юнита
» WarCraft 3 / Отслеживание статуса выполнения приказа юнита
» WarCraft 3 / Повернуть юнита с анимацией движения
» WarCraft 3 / Отслеживание статуса выполнения приказа юнита
» WarCraft 3 / Определение скилла, которым убили юнита
» WarCraft 3 / Определение скилла, которым убили юнита
» WarCraft 3 / Неправильный рельеф в карте
» WarCraft 3 / Определение скилла, которым убили юнита
Плюс ещё, если просто другой юнит на секунду раньше заюзал скилл какой-нибудь, его имя напишет