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

Без ответа.


Просмотров: 272

8gabriel8 #1 - 2 недели назад 2
По идее надо модель снаряда новую делать из двух топоров, каждый из которых летит из своей руки, либо хитрый триггерный костыль, когда невидимый дамми во время атаки запускает топор из нужной точки с уроном 0, а при получении этого урона будет триггерно наносится урон от лица тролля.
Naadir #2 - 2 недели назад 0
8gabriel8, если урон 0, то не надо. Пусть урон наносится первым топором. В схватке этого не заметно.
Умка #3 - 2 недели назад 0
8gabriel8, я пока совсем новичок. можешь пжл более подробно рассказать как это дело провернуть? снаряд ведь к модели отношения не имеет
8gabriel8 #4 - 2 недели назад 1
Naadir, да, так даже лучше)
Умка, пока времени не хватает, если только позже. Интересует создание новой модели снаряда или триггерный костыль?
Extremator #5 - 2 недели назад 0
я бы вообще предложил отредактировать модель так, что бы это были две разные анимации атаки - одна левой рукой, другая - правой (их просто разделить по таймингу надо, и посмотреть что получится).
8gabriel8 #6 - 2 недели назад 0
Extremator, имеешь ввиду Attack-1 и Attack-2 сделать из нынешней? Там всё равно надо будет делать разные точки начала атаки для снаряда и разные интервалы типа обратный ход броска. Тогда уж следует полностью переделать эти две новые анимации.
Hate #7 - 2 недели назад 0
Там всё равно надо будет делать разные точки начала атаки для снаряда и разные интервалы типа обратный ход броска.
так сложно отбалансить точку броска в разных анимациях?
8gabriel8 #8 - 2 недели назад 0
В РО для одного юнита.
pro100master #9 - 2 недели назад 0
юнит атакован если атакуюший являет троль то морфим сразу если шанс сработал и появит другой анимация с топор точки и возврашать исходный
хотя это бред =)
Умка #10 - 2 недели назад 0
8gabriel8:
Naadir, да, так даже лучше)
Умка, пока времени не хватает, если только позже. Интересует создание новой модели снаряда или триггерный костыль?
честно говоря я даже не понял вопроса)
Extremator:
я бы вообще предложил отредактировать модель так, что бы это были две разные анимации атаки - одна левой рукой, другая - правой (их просто разделить по таймингу надо, и посмотреть что получится).
я пробовал. разделил анимацию на attack 1 и 2 по кадрам через mdlvis шляпа какая то получается. во первых при attack 2 отображаются всякие не нужные детали с других анимок: кости, сетка и тд, хотя я это все выключил в анимации(ну это наверное я уже че то упустил). а второе тролль бьет с разных рук рендомно и не очень. мне б хотелось сделать модель такую чтобы он так же четко закидывал правой левой но вылетало по топору с каждого броска и желательно чтобы каждый наносил свой урон
bazeba #11 - 2 недели назад 0
кстати а нельзя ли у модели отследить координаты аттачей? всмысле такие как Weapon. поскольку у троля 2 оружия по стандарту там weapon left и right?
8gabriel8 #12 - 2 недели назад 0
Умка, ты спросил:
8gabriel8, я пока совсем новичок. можешь пжл более подробно рассказать как это дело провернуть? снаряд ведь к модели отношения не имеет
Рассказать про создание новой модели снаряда ИЛИ о триггерном костыле, который будет второй топор выпускать?
bazeba:
кстати а нельзя ли у модели отследить координаты аттачей? всмысле такие как Weapon. поскольку у троля 2 оружия по стандарту там weapon left и right?
Нельзя в обычном редакторе, но может быть с помощью мемхака.
Умка #13 - 2 недели назад 0
8gabriel8, да я имею ввиду я не знаю что такое триггерный костыль и в чем разница между ним первым вариантом. я нулевой прям реально вот только начинаю прикалываться. в общем я не знаю что лучше и как просто хочу исправить эту оплошность близзардов и по ходу научиться
bazeba #14 - 2 недели назад 2
Умка:
8gabriel8, да я имею ввиду я не знаю что такое триггерный костыль и в чем разница между ним первым вариантом. я нулевой прям реально вот только начинаю прикалываться. в общем я не знаю что лучше и как просто хочу исправить эту оплошность близзардов и по ходу научиться
по сути триггернрый костыль такой. при атаке с условием на нужного (нужных юнитов) создавать дамми (невидимый) со смещением по коорданатам, чтобы совпадала с другой рукой, и чтобы этот дамми начал атаковать того же юнита с такой же моделью снаряда, можно даже такой же урон поставить, и тогда летят 2 топора, и каждая наносит урон, правда для баланса лучше бы в 2 раза понизить урон тогда, чтобы суммарно было как у классики. В триггерах сам не шарю
8gabriel8 #15 - 2 недели назад 0
bazeba верно описал, если вкратце. Тем более всё равно сейчас не буду уточнять некоторые моменты в редактировании модели, чтобы нормально это описать, а триггерный костыль мне по памяти отлично знаком, то подробно:
  • Нужно сделать в РО (Редакторе объектов) такого же тролля, лучше делать на новой маленькой карте, так как по идее придётся много тестировать, потом скопируешь тролля в РО, откроешь свою карту и вставишь туда. Этому троллю надо переделать метание топора на другую руку, для этого в РО найди в категории Атака 1 два типа значений - время начала атаки и точку вылета снаряда. К сожалению, запамятовал их точные названия, помню только, что первая категория состоит из двух строк, вторая называется Обратный ход броска и находятся они где-то в начале категории Атака 1. Суть в том, что это для дальнего боя момент вылета снаряда во время анимации Attack, а для ближнего момент нанесения урона, там 2 дробных значения, которые в сумме дают единицу. Так вот смотри эти значения обычного тролля, в предыдущем значении перед Обратный ход броска по сути кадр анимации Attack, например, если значение 0.5, значит 500 кадр, если значение 0.33, значит 330 кадр. Надо в mdlvis посмотреть положение одной руки во время этого кадра, потом найти кадр с таким же положением другой руки, прописав его в РО, а в Обратной ход броска занести значение 1-найденный_кадр. Далее надо отрегулировать точку вылета снаряда, но сперва проверь получившегося тролля в игре, протестировав карту, что топор теперь начинает полёт во время броска другой рукой. Если нет, то снова прочитай инструкцию, всё ли сделал правильно, если да, то продолжай. Точка вылета снаряда представляет собой три строки координат X, Y, Z, о них помню только, что в категории Атака 1 они точно не в самом начале и не в самом конце. Они представляют собой координаты относительно тролля, а не игры, X - вперёд/назад, Y - вправо/влево, Z - вверх/вниз, так как мы меняем лишь руку, то скорее всего понадобится лишь по оси Y поменять значение на обратное, например, стояло 3, поставить -3. Проверь после этого в игре, тролль должен метать топор другой рукой;
  • Если всё получилось, пора приступать к триггерному костылю, его суть выше описал bazeba. Сначала надо сделать тролля неосязаемым, для этого дать ему способность Москиты. В обычном редакторе их нет в списке способностей Воина (но в JNGP есть), поэтому в РО выдели строку, где у юнита способности, и нажми Shift+Enter, введи туда Aloc, соблюдая заглавные и маленькие буквы. Потом поставь в строке Графика - Отображение тени вроде значение Нет. Модель тоже нужно убрать, предпочитаю ставить невидимую модель вместо никакой, для этого переключаюсь на вкладку Разрушаемых объектов (с изображением ёлки), в блокираторах пути копирую значение строки Графика - Файл модели, возвращаюсь к юниту и вставляю значение в его Графика - Файл модели. Так как могут быть разные варианты триггерного костыля, опишу лишь тот, с которым теоретически не должно быть проблем из-за поворота юнита во время совершения атаки, так как возможна задержка, если тролль и его невидимый клон смотрят во время начала атаки в разные стороны. Для этого будем каждый раз создавать нового невидимого тролля для атаки. В РО поставь отрицательное восстановление жизни в размере здоровья, например, если здоровье у тролля 600, то ставь восстановление здоровья -600. Ещё надо убрать убрать галку в Отображать на мини-карте. После этого открывай Редактор триггеров и создавай триггер: Событие: Боевая единица - Юнит Атакует (Generic unit), Условие: (Unit-type comparsion) Unit-type of (Attacking unit) равно Видимый_Тролль, Действия: Боевая единица - (Create unit facing angle) Create 1 Невидимый_тролль for Owner of (Attacked unit) in Position of (Attacking unit) facing Боевая единица - facing of (Attacking unit), Боевая единица - (Issue order targeting on unit) (Last created unit) Атаковать (Attacked unit). Готово, но надо уточнить три момента - этот простой способ для обычного юнита, а не героя, так как у героя скорость атаки меняется от ловкости, предметов и заклинаний, а также отрицательное восстановление здоровья должно снимать больше; заклинания на изменение скорости атаки могут быть и на обычного юнита наложены, например, Кровожадность, Замедление, Аура Вождя тауренов, с ними отдельно надо будет решать; нужно устранить утечки, но пока не буду о них рассказывать, если это твой первый триггер;
  • В данном случае невидимый тролль принадлежит атакуемому врагом игроку, чтобы противник не затупил от атаки неуязвимого юнита и не начал убегать. Это может вызывать проблемы, когда атаку отменяют, либо цель была убита до того, как её успел атаковать невидимый тролль, либо цель стала неуязвимой для невидимого тролля. Ещё видимому троллю не будет засчитываться убийство, если цель погибла от топора невидимого тролля. А также звук попадающих в цель топоров, вроде бы он двойной, если попадает в цель один топор, а значит и с ним придётся разобраться, чтобы не было звуков попадания четырёх топоров, но просто не очень помню этот момент.
Если делать по-хорошему, то надо ещё правок внести в такой костыль, но уже после того, как сделаешь его и сообщишь о возможных проблемах.
bazeba #16 - 2 недели назад 0
8gabriel8:
bazeba верно описал, если вкратце. Тем более всё равно сейчас не буду уточнять некоторые моменты в редактировании модели, чтобы нормально это описать, а триггерный костыль мне по памяти отлично знаком, то подробно:
  • Нужно сделать в РО (Редакторе объектов) такого же тролля, лучше делать на новой маленькой карте, так как по идее придётся много тестировать, потом скопируешь тролля в РО, откроешь свою карту и вставишь туда. Этому троллю надо переделать метание топора на другую руку, для этого в РО найди в категории Атака 1 два типа значений - время начала атаки и точку вылета снаряда. К сожалению, запамятовал их точные названия, помню только, что первая категория состоит из двух строк, вторая называется Обратный ход броска и находятся они где-то в начале категории Атака 1. Суть в том, что это для дальнего боя момент вылета снаряда во время анимации Attack, а для ближнего момент нанесения урона, там 2 дробных значения, которые в сумме дают единицу. Так вот смотри эти значения обычного тролля, в предыдущем значении перед Обратный ход броска по сути кадр анимации Attack, например, если значение 0.5, значит 500 кадр, если значение 0.33, значит 330 кадр. Надо в mdlvis посмотреть положение одной руки во время этого кадра, потом найти кадр с таким же положением другой руки, прописав его в РО, а в Обратной ход броска занести значение 1-найденный_кадр. Далее надо отрегулировать точку вылета снаряда, но сперва проверь получившегося тролля в игре, протестировав карту, что топор теперь начинает полёт во время броска другой рукой. Если нет, то снова прочитай инструкцию, всё ли сделал правильно, если да, то продолжай. Точка вылета снаряда представляет собой три строки координат X, Y, Z, о них помню только, что в категории Атака 1 они точно не в самом начале и не в самом конце. Они представляют собой координаты относительно тролля, а не игры, X - вперёд/назад, Y - вправо/влево, Z - вверх/вниз, так как мы меняем лишь руку, то скорее всего понадобится лишь по оси Y поменять значение на обратное, например, стояло 3, поставить -3. Проверь после этого в игре, тролль должен метать топор другой рукой;
  • Если всё получилось, пора приступать к триггерному костылю, его суть выше описал bazeba. Сначала надо сделать тролля неосязаемым, для этого дать ему способность Москиты. В обычном редакторе их нет в списке способностей Воина (но в JNGP есть), поэтому в РО выдели строку, где у юнита способности, и нажми Shift+Enter, введи туда Aloc, соблюдая заглавные и маленькие буквы. Потом поставь в строке Графика - Отображение тени вроде значение Нет. Модель тоже нужно убрать, предпочитаю ставить невидимую модель вместо никакой, для этого переключаюсь на вкладку Разрушаемых объектов (с изображением ёлки), в блокираторах пути копирую значение строки Графика - Файл модели, возвращаюсь к юниту и вставляю значение в его Графика - Файл модели. Так как могут быть разные варианты триггерного костыля, опишу лишь тот, с которым теоретически не должно быть проблем из-за поворота юнита во время совершения атаки, так как возможна задержка, если тролль и его невидимый клон смотрят во время начала атаки в разные стороны. Для этого будем каждый раз создавать нового невидимого тролля для атаки. В РО поставь отрицательное восстановление жизни в размере здоровья, например, если здоровье у тролля 600, то ставь восстановление здоровья -600. Ещё надо убрать убрать галку в Отображать на мини-карте. После этого открывай Редактор триггеров и создавай триггер: Событие: Боевая единица - Юнит Атакует (Generic unit), Условие: (Unit-type comparsion) Unit-type of (Attacking unit) равно Видимый_Тролль, Действия: Боевая единица - (Create unit facing angle) Create 1 Невидимый_тролль for Owner of (Attacked unit) in Position of (Attacking unit) facing Боевая единица - facing of (Attacking unit), Боевая единица - (Issue order targeting on unit) (Last created unit) Атаковать (Attacked unit). Готово, но надо уточнить три момента - этот простой способ для обычного юнита, а не героя, так как у героя скорость атаки меняется от ловкости, предметов и заклинаний, а также отрицательное восстановление здоровья должно снимать больше; заклинания на изменение скорости атаки могут быть и на обычного юнита наложены, например, Кровожадность, Замедление, Аура Вождя тауренов, с ними отдельно надо будет решать; нужно устранить утечки, но пока не буду о них рассказывать, если это твой первый триггер;
  • В данном случае невидимый тролль принадлежит атакуемому врагом игроку, чтобы противник не затупил от атаки неуязвимого юнита и не начал убегать. Это может вызывать проблемы, когда атаку отменяют, либо цель была убита до того, как её успел атаковать невидимый тролль, либо цель стала неуязвимой для невидимого тролля. Ещё видимому троллю не будет засчитываться убийство, если цель погибла от топора невидимого тролля. А также звук попадающих в цель топоров, вроде бы он двойной, если попадает в цель один топор, а значит и с ним придётся разобраться, чтобы не было звуков попадания четырёх топоров, но просто не очень помню этот момент.
Если делать по-хорошему, то надо ещё правок внести в такой костыль, но уже после того, как сделаешь его и сообщишь о возможных проблемах.
решил для себя попробовать сделать, но вышло очень костыльно, не могу отменять атаку у дамми когда я не позволяю атаковать тролю, или же выходит так что после того как я совершил атаку тролем, снаряд долетел и я отвожу его, и другой топор летит уже из того места где был раньше троль. вот как там поменять я не знаю, а это еще я бафы не учел, мда уж, я думаю можно же копировать бафы с троля на дамми?
TheSkriptComp #17 - 2 недели назад (отредактировано ) 0
8gabriel8, да я имею ввиду я не знаю что такое триггерный костыль и в чем разница между ним первым вариантом. я нулевой прям реально вот только начинаю прикалываться. в общем я не знаю что лучше и как просто хочу исправить эту оплошность близзардов и по ходу научиться
P.S если не разбираешься в триггерах, тебе сюда: xgm.guru/p/wc3/articles
решил для себя попробовать сделать, но вышло очень костыльно, не могу отменять атаку у дамми когда я не позволяю атаковать тролю, или же выходит так что после того как я совершил атаку тролем, снаряд долетел и я отвожу его, и другой топор летит уже из того места где был раньше троль. вот как там поменять я не знаю, а это еще я бафы не учел, мда уж, я думаю можно же копировать бафы с троля на дамми?
Может через спелл-пассивку попробовать? Хотя наверное вариант тот ещё
bazeba #18 - 2 недели назад 0
не, думаю лучше делать дамми снаряд, и его уже двигать к цели, но надо вычислить скорость снаряда у троля, чтобы совпадали, и так же наносить триггерно урон, тогда не надо будет дополнительно думать о наложении эффектов на дамми, для скорости или урона
8gabriel8 #19 - 2 недели назад 0
bazeba, триггер очень примитивный просто. А костыль ведь хитрый! Если делать для одного тролля, то надо заносить видимого и невидимого в переменные, например, troll и dummy, сделать триггер с событиями Юнит Отдаёт приказы цель-объект/точка/без цели, условие (Unit comparison) (Ordered unit) равно troll, действие Kill dummy. Если троллей много, то либо хэш-таблица нужна, либо чере Custom Value формировать пары.
Но нужно проверить, чтобы не было конфликта, когда при указании цели атаки мышкой не погибал новый дамми вместо старого.
NerthreZhul #20 - 2 недели назад 0
А не проще триггерно настроить абилку какую-то, и запускать её из точки?
8gabriel8 #21 - 2 недели назад 0
А как настроить положение этой точки?
Bergi_Bear #22 - 2 недели назад 0
В триггерном варианте самое сложное, это определиться с событием при котором будет происходить второй бросок топора
По событию юнит атакован, черед задержку таймера кидать топор даммиком, тут вроде бы всё легко, а если абузить событие? то сколько же много настреляет нам даммик =),
Сделать кд атаки даммика, но всё равно он будет прокать реже и будет глючить, задача конечно интересная и можно сделать, но с дикой кучей багов =(
Hate #23 - 2 недели назад 0
засекать атаку, и отслеживать любые приказы как вариант, с таймером на атаку даммиком или кастомным снарядом
Arkser #24 - 2 недели назад 0
имеешь ввиду Attack-1 и Attack-2 сделать из нынешней? Там всё равно надо будет делать разные точки начала атаки для снаряда и разные интервалы типа обратный ход броска.
Но теоретически настроить Attack-2 реально? Насколько помню, в редакторе есть "Бой-Анимация 1" и "Бой-Анимация 2", или что-то типа того.
То есть можно настроить второй тип атаки так, чтобы топор вылетал со второй руки?
8gabriel8 #25 - 2 недели назад 0
Arkser, не припоминаю такого. Есть две атаки, которые настраиваются, типа ближнего и дальнего боя у героя со сферой, либо атака по зданиям и юнитам у химер, но как их настроить на разные анимации? При этом для переключения на другой тип атаки нужно менять классификацию цели, если один тролль будет атаковать, то может будет нормально, если в полёте топор не будет исчезать при смене классификации цели, но если одновременно два или больше троллей будут атаковать цель, то может глючить.
По идее можно давать для второй атаки 100% крит, а её саму переименовать в Attack Slam.
Arkser #26 - 2 недели назад 0
8gabriel8, понятно, то бишь тип атаки-2 это уже другое.
Просто вспоминаю одного героя, с моделью паучка (кажется в Доте был такой), у него была пассивка, которая автоматом запускала ещё одну атаку по той же цели. Думал, может через такой триггер можно выкрутиться, типа запустить повторную атаку с другой точкой начала атаки и без анимации.
Bergi_Bear #27 - 2 недели назад 0
Ладно не обещаю, но попробую сегодня сделать карту-пример, на которой троль будет атаковать обеих рук
8gabriel8 #28 - 2 недели назад 0
Сделал пример, как описывал, но в описании сделал несколько ошибок. Во-первых, анимация точки обратного хода и анимация точки повреждения иначе работают. В первой указано до какого момента должна воспроизводится анимация атаки, прежде чем можно будет её прервать для преследования жертвы, например. А во второй указан момент вылета снаряда. Во-вторых, точка начала атаки находится в категории строк Графика, а не Бой - Атака. В случае Тролля там для X и Y стоит 0, поэтому ничего менять не требуется. В-третьих, следует поставить невидимому Троллю тип движения Нет, чтобы он ровно в позиции видимого Тролля появлялся, а не где-то рядом.
Но иногда атаки получаются не совсем ровно, например, первый топор Тролль запускает в одного юнита, а второй летит в другого, хоть и довольно редко это происходит. Ещё иногда при атаке убегающего юнита может сбиться периодичность атак, они почти одновременно могут лететь.
Это просто демонстрационный триггер, в нём не убрал утечки не делал MUI.
Сделал видимому Троллю анимацию точки обратного хода 670 вместо 300, так как у невидимого анимация точки повреждения установлена на 650.
То есть Тролль будет воспроизводить анимацию атаки обеими руками перед преследованием жертвы, а не бросок лишь одной рукой, как раньше.
прикреплены файлы