Привет всем, хочу сделать что бы когда бьет юнит или атакован(это не важно) то у юнита срабатывает дабл шот(дополнительный удар) с определенным шансом(каким тоже не важно) Я пытался реализовать, прикладываю скрин. Но из-за большой скорости атаки юнита, ничего не происходит
Я взял за основу кровожадность и установил в ней множитель скорости 10.00, но результата это не дает если у юнита изначальная скорость атаки большая.

Так рассказываю, чтобы сделать эхо сейбер, для этого нужен или мемхак или рефордж патч. Потому что чтобы сделать, сделать 2 удара подряд такие, нужно сократить BAT (БАТ) - базовое время атаки. Увеличение скорость на 1 удар - не даст нужного эффекта.
А о том когда сократить время атаки уже сказали - в момент получения урона
Есть моя карта где есть предмет эхосайбер (В игре это двочной ключ, он делает двойную атаку каждый 5й удар с руки)
Но это мемхак, на чистом 126 - забудьте про саблю, сделайте простой крит (если ваша цель - просто двойной урон), ну или переходите на рефордж
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
Ну я хз

возможно где-то что-то пропустил, да и сделать можно намного лучше и проще
Загруженные файлы
8
Нужно же проверять предмет у атакующего, а не у атакованного. Плюс в доте эффект сабли срабатывает при ударе, а не при атаке. Нужно проверять событие получения урона, вешать бафф и уходить в кд.
2
А не проще повесить крит с двойным уроном и шансом выпадения?
28
Дмитрий Ларионов, у него может быть уже крит + оно не накладывает эффекты при попадании

build, там, как я понял, юнит становится яростным когда его атакуют
8
Ну тогда надо определиться будет ли это пассивка легионки или же сабля. И оба варианта подразумевают кд. Можно присвоить логическую переменную каждому игроку. Если она true, то эффект проходит, она становится false, дальше стартует таймер, который по истечению опять присвоит ей true.
26
Дмитрий Ларионов:
А не проще повесить крит с двойным уроном и шансом выпадения?
Нет не проще, потому что суть (смысл) предмета как раз не в том что бы удвоить урон, а в том что бы провести повторную активацию (или возможность) всех атакующих эффектов.
Если у тебя на первый удар не сработал баш, но сработала сабля, то на второй удар (от сабли) уже может сработать баш. Например у Урсы это вызовет получение целью 2-го стека от пассивки. А при такой атаке Сларк может ДВА раза спереть статы врага, и смысл даже не в уроне (хотя урон имеет смысл всегда). И таких примеров куча.
В идеале, надо в момент замаха проверять шанс на срабатывание эффекта (если предмет есть), и делать пометку для этой атаки что она будет двойной. После нанесения урона такой атакой надо сбросить КД атаки (в идеале) или просто повысить скорость атаки героя (через абилку перчатки с +9999% AS). После чего нужно дождаться 2й атаки (с этим бонусом скорости) и забрать его, либо выждать около секунды и снять бонус (что бы он не мог сработать на другую атаку спустя время, если эту прервать специально). При этом КД предмета считать нужно (отдельно). И ещё, если я не ошибаюсь, в момент выдачи ускорения нужно обездвижить цель (эффект там такой).
В части случаев этого будет более чем достаточно, но не всегда.
У меня этот момент решается по своему (как вариант): сделана своя система орбов, в которой индификатор атаки с руки можно повесить специально перед нанесением любого урона, тем самым заставляя всякие паувер-вэйвы башить/вампириться от причиняемого урона. Таким образом я могу просто посчитать шанс (как для башера) и специально нанести сверху 0 урона с галочкой модификатора атаки (т.е. что этот урон якобы от руки героя наносится), и таким образом если у героя будет Башер, то игра будет ДВА раза считать его шанс.
28
build, наверное автор не хочет кд

в принципе, если автору нужно кд, пусть настроит таймер
Загруженные файлы
33
Так рассказываю, чтобы сделать эхо сейбер, для этого нужен или мемхак или рефордж патч. Потому что чтобы сделать, сделать 2 удара подряд такие, нужно сократить BAT (БАТ) - базовое время атаки. Увеличение скорость на 1 удар - не даст нужного эффекта.
А о том когда сократить время атаки уже сказали - в момент получения урона
Есть моя карта где есть предмет эхосайбер (В игре это двочной ключ, он делает двойную атаку каждый 5й удар с руки)
Но это мемхак, на чистом 126 - забудьте про саблю, сделайте простой крит (если ваша цель - просто двойной урон), ну или переходите на рефордж
Принятый ответ
28
упс, точно, я событие не то сделал, получает бафф когда атакован и теряет стаки когда наносит урон

хотя если дать змеиную ловкость то стаки сбрасываться не будут, короче пофигу, фигню какую-то делаю, выше уже ответили
Загруженные файлы
32
увеличение скорости атаки не сбросит кд, атаки, без мемхака не сделать двойной удар как у вивера чтобы работали орбы.
26
А его и не надо сбрасывать, просто нужно минимизировать задержку перед следующим ударом. Это и делается за счёт накрутки скорости атаки. Но причём здесь Вивер - вообще не понятно, ибо там изначально другая механика.
3
rsfghd:
упс, точно, я событие не то сделал, получает бафф когда атакован и теряет стаки когда наносит урон

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

Мемхак не вариант, так как айсикап не пропускает карты на мемхаке. Bergi_Bear:
Так рассказываю, что сделать эхо сейбер, для этого нужен или мемхак или рефордж патч. Потому что чтобы сделать, сделать 2 удара подряд такие, нужно сократить BAT (БАТ) - базовое время атаки. Увеличение скорость на 1 удар - не даст нужного эффекта.
А о том когда сократить время атаки уже сказали - в момент получения урона
Есть моя карта где есть предмет эхосайбер (В игре это двочной ключ, он делает двойную атаку каждый 5й удар с руки)
Но это мемхак, на чистом 126 - забудьте про саблю, сделайте простой крит (если ваша цель - просто двойной урон), ну или переходите на рефордж
28
sLIL MID, я тебя наверное удивлю, но эти параметры так же влияют на скорость атаки
Загруженные файлы
26
sLIL MID:
Мемхак не вариант
Ты лучше определись с тем что тебе в данной ситуации больше подходит.
Тупо завысить урон в 2 раза? или баффнуть скорость на 1 удар?
28
Поэтому если хочешь, чтобы система работала на высоком аткс, то ставь на 0 эти параметры
33
Мемхак не вариант, так как айсикап не пропускает карты на мемхаке.Bergi_Bear:
Вот эта карта что я скинул, работает на айкапе, она полностью сделана на детекте урона от quq_CCCP, и засчет этого детекта и сделан предмет дающий свойства эхосейбера
32
У кого руки из жопы растут - у того ниче на айкапе не работает, инфа есть, и прекрасно гуглится, было бы желание. Стоит посмотреть мою карту.
33
У меня есть код даже, он топорный на него особо не смотрите, тут стоит обратить на 2 момента...
if WeaponType==1 and UnitHasItemOfType(u,'I01I')   then // есть сабля и урон идёт с руки
	set it=GetItemOfTypeFromUnit(u,'I01I')
	if  DBU(u,c)>=200 then // урон дальнего боя не засчитывает
		call SetItemCharges(it,3)
		call SetUnitBATByIndex(u,0,2.130)
	endif
	if GetItemCharges(it)==1 then
		call SetUnitBATByIndex(u,0,2.130)
	endif
	if GetUnitBATByIndex(u,0)>=2 then
		call SetItemCharges(it,GetItemCharges(it)+1)
	endif
	if GetItemCharges(it)>=6 then
		call SetUnitBATByIndex(u,0,0.3)
		call SetItemCharges(it,1)
	endif
endif
...на 2 момента
call SetUnitBATByIndex(u,0,0.3) это ускорение перезарядки
и на это
call SetUnitBATByIndex(u,0,2.130) возврат нормальной скорости
Значение 2.130 значение из РО, можно хранить его, хоть в структуре, хоть в хештаблице, у меня был всего 1 тип юнита, и мне не нужно было это
А вот и самая главная функция
//ПЕРЕЗАРЯДКА, БАЗОВОЕ ВРЕМЯ АТАКИ base attack time (BAT)
function SetUnitBATByIndex takes unit u, integer index, real r returns nothing
	if index==1 or index==0 then
		call SetUnitAttackOffsetValue(u,0x158 + 8*index, mR2I(r))
	endif
endfunction
function GetUnitBATByIndex takes unit u, integer index returns real
	if index==1 or index==0 then
		return mI2R(GetUnitAttackOffsetValue(u,0x158 + 8*index))
	endif
	return 0.
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.