Многим требуется сделать способность так, чтобы был шанс чего то при атаке. Но почти все знают, что можно просто замахнуться и тут же отменить приказ герою, и снова отдать приказ атаковать, таким образом получая этот самый шанс на что-то на халяву. Вот небольшая наработочка, как избежать багования. (не абсолютно, сразу говорю, но достаточно чтобы желание багать пропало)
Для использования достаточно обычного редактора, нестандартного кода нет. Всё на GUI.
Сделано для всех юнитов, но для АОС и арен можно влепить во 2 триггер условие triggering unit is герой. Можно задать время формулой при желании и задать список заклинаний-исключений - не прерывающих действия(безумие, божественный щит и т.п.).
На каждый раз когда вы вызываете событие атаки - вам покажут состоялся ли удар или нет на эту атаку. Соответственно вашу способность вы можете пришпандорить туда где стоит действие "Показать текст УДАР БЫЛ". При копировании триггеров в карту не забудьте указать размерность таймера.
Attacktime - время "анимации точки повреждения", брать то, что стоит в РО у юнита - не совсем правильно, оно модифицируется ловкостью, бафами и прочим, но менее всего будет погрешность если взять на 15-20% меньший интервал от значения в РО. (Действительная) GameUnit - массив юнитов, вошедших в игру. Важно - юниты стоявшие на карте изначально не учитываются, их следует занести дополнительно. (Юнит) Tmie - индивидуальный таймер юнита, использующий интервал Attacktime, ну или формулу. (Действительная) UnitCount - число вошедших в игру юнитов. .(Целая) Zamah - текущее состоянее юнита - замахнулся или нет. (Логическая)
Как уже ясно наверное - МУИшность тут сделана благодаря драгоценной custom value of unit. Для АоС и арен, повторяю, достаточно будет МПИ и Player number of owner of attacking unit. Ну и размер таймера в случае ненадобности МУИ будет гораздо меньшим.
АХХАХААХ!!!!!!! а я забагал её!!!!! XDDD замах... потом написано "удар был" но я то успел отдать приказ отойти и не было звука удара и урон не вошёл хД
Добавлено (11 Июня 2013, 15:18:58) --------------------------------------------- да ну в опу эти проверки... даёшь баф плейсер и все дела
тут же можн ои свою систему орбов построить, если так принцииально
Но тебе ведь пришлось ждать время, чтобы вызвать баг, специально выжидать и вылавливать, даже если наловчишься - время всё равно пропускать надо будет. Проще полноценную атаку делать чем такой баг
Добавлено (11 Июня 2013, 15:22:03) ---------------------------------------------
Цитата (Extremator)
да ну в опу эти проверки... даёшь баф плейсер и все дела тут же можн ои свою систему орбов построить, если так принцииально
ну не, это уж слишком. Тут по крайней мере ты не сможешь с бешеной скоростью щёлкать А и ЛКМ чтобы десяток раз в секунду вызвать вероятность. А 1 раз в секунду - это туфта, если так хочется багать ради лишнего 1 выкатывания случайного числа - ради Бога, задроть. =)
Добавлено (11 Июня 2013, 15:24:58) ---------------------------------------------
Цитата (Extremator)
да ну в опу эти проверки... даёшь баф плейсер и все дела тут же можн ои свою систему орбов построить, если так принцииально
Это тоже не идеально, миссы учёл? То есть ты завёл БП ради того чтобы игроки не багали событие атаки, а юнит миссит - а-ха?
Ty3uK, и ещё раз говорю основную цль этой наработки - чтобы нельзя было без труда багать событие атаки. А если уж доходить до Jass и всяких систем, то лучше сразу вот отсюда использовать.
Attacktime - время "анимации точки повреждения", брать то, что стоит в РО у юнита - не совсем правильно, оно модифицируется ловкостью, бафами и прочим, но менее всего будет погрешность если взять на 15-20% меньший интервал от значения в РО. (Действительная)
вот тут форумулы пытались выводить http://xgm.ru/forum/showthread.php?t=6111
Можно просто отлавливать урон.... Поймал - значит это рука
А все спеллы наносящие урон делать триггерно ... при этом перед нанесением уронадавать герою спелл-пустышку ... ... при получении урона проверять на наличие этого спелла ... ... ... если его нету - урон был от руки, если есть - то мы его дали перед нанесением урона от магии х) ... ... можно будет наносить якобы урон от руки, если не выдать спелл
Идея конечно не проста, ибо это основа для своеобразной системы... Ну т.е. для закономерности что все спеллы будут триггерными, а это уже проверяет умения создателя . . .
Сообщение отредактировал Extremator - Среда, 12 Июня 2013, 17:05:25
Diabfall, где-то была тема Бородача с выводом формулы зависимости анимации атаки от бонуса скорости атаки, но почему то внимания к теме было мало Extremator, это опять-таки слишком. Можно извратиться до детального изменения урона, создавая дамик определённого типа на каждый каст, но это слишком муторно.
Extremator, В твоем алгоритме один изъян: если заклинания с периодическим уроном, типа яда то установить где с руки, а где с ядом не получится. Я лично вижу другой вариант, немного измененное твое решение: урон от триггерных заклинаний наносить от лица дамми-юнита, а не героя. И при событии отлова урона проверять, кто нанес урон. Если герой, значит с руки, иначе это было сделано заклинанием и ничего не делаем. Так будет даже полегче, чем давать заклинание-пустышку.
ну он это имел в виду вроде бы =) а мб у меня и сдвиг, мб он чисто визуальное имел в виду, просто он вроде отлов урона после этого выложил, вот я чет и подумал что он что-то существенное рассматривал, а не визуальное.
Добавлено (12 Июня 2013, 19:03:37) ---------------------------------------------
Цитата (Diabfall)
тоже кстати косячно
если очень сильно стараться вызвать баг как картостроитель - да, косячно. Но вполне работоспособно.
Я про то, что вариант Extremator'а + sumert'а норм.
этот вариант имеет баги? такое отделение типов урона уже ло мозолей всем глаза натёрло, в теме не об отделении урона речь. Ипочему ты говоришь "Раз.... то...."? Этот вариант отделения типа урона чист как ладонь в плане волос.
А вообще что за баги с орбами? Ну кроме того, что я уже упомянул. У меня всё норм, даже если 3 козы в игре и мочат копьями в перемешку, ну не знаю, с дагоном.Наверняка если сильно стараться, то можно какой-то баг там устроить, но я как то до сих пор не замечал. Кто замечал - рассказывайте =).