Мне требуется пассивная способность, которая увеличивает скорость атаки с каждым ударом по одному противнику, скорость сбрасывается при смене цели. Как мне сообщили, аналогичная способность Рвение (Fervor) у Тролля из DotA. Попробовал найти в карте OpenDotA на сайте её наработку, но этой способности там нет, да и многого другого тоже. Может у кого есть открытая DotA с этой наработкой, либо представляет хорошо, как сделать?

Рунные браслеты давать тем, на ком хочешь распознать тип урона(лучше всем сразу). Нет не надо... просто событие на отлов урона с проверкой что урон меньше 0 и сразу нанести такой же урон только больше 0( так как все заклинания с нанесением урона будут исцелять).
Проще говоря "браслеты", это как детект на то, что урон не может исцелять, а поскольку браслеты реагируют только на маг урон, соответсвенно любой "исцеляющий урон" и есть магическим.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
22
8gabriel8, таймер для тех если ты долго не бил цель то обнуляет оно...
26
pro100master, в DotA это очень нужно, конечно, невероятно просто! Там все атакуют юнита один раз, потом часик где-то бегают, никого не атакуя, потом возвращаются к атакованному юниту, чтобы снова драться)))
43
...боже...
Прочитал вопрос и ответы к нему, понять не могу в чём проблема то запилить такую способность? Всё просто как дважды два, только нужно делать через отлов, так как если атака будет не удачной, то будет бредово как то... Прирост можно сделать почти через любую способность (кроме предмет (можно, но придется делать много копий для прироста)). Даже можно лучше сделать чем в доте.
26
molot39, ещё один гениальный коммент?
Чего-то нынче вопросы и ответы хгм тухнут, уже человек со стороны просто скинул мне ссылку на реализацию способностей тролля в DotA:
32
8gabriel8, Ты зря надеяшся слепить в 3 гуи дейсвия с вейтами такую способность, либо из опен доты бери либо пили сам дикими костылями, отлов физ урона на гуи то еще удовольствие не говоря про хештаблицу и прочее.
43
8gabriel8:
molot39, ещё один гениальный коммент?
Чего-то нынче вопросы и ответы хгм тухнут, уже человек со стороны просто скинул мне ссылку на реализацию способностей тролля в DotA:
лол
quq_CCCP:
8gabriel8, Ты зря надеяшся слепить в 3 гуи дейсвия с вейтами такую способность, либо из опен доты бери либо пили сам дикими костылями, отлов физ урона на гуи то еще удовольствие не говоря про хештаблицу и прочее.
А я сделал, только не на скорость, на gui, всё работает как часы и без всяких заморочек
26
quq_CCCP, я раньше просил только на GUI триггеры, в этот раз не знаю, понадобятся ли они.
32
molot39, уже не первый раз такое слышу, но не дале, баги, работает ваще не так как описано в примере и так далее...
Хочешь похвастаться - код в студию
32
8gabriel8, ты знаешь ГУИ меньше всего подходит для создание нестандартных способностей героя, а больше всего подходит под создание карт кампаний и роликов.
// OpenDota 6.41 deprotected by NETRAT and DioD
// inspired by everyone who posted on forum threads and feedback page
// based on OpenDota 6.32b, deprotected by DimonT, NETRAT and TheBloodiest
// http://dimon.xgm.ru/opendota/
// Visit our modmaking community at http://xgm.ru/

// Objects used:
// 'A0O0' = Beast Rage (Beastmaster : Rexxar)
// 'A0NZ' = Beast Rage

// DEBUG Trigger Number : 12
function SafeAddSpell takes unit pEU,integer pfV,integer pfw returns nothing
	if GetUnitAbilityLevel(pEU,pfV)==0 then
		call UnitAddAbility(pEU,pfV)
	endif
	call SetUnitAbilityLevel(pEU,pfV,pfw)
endfunction

function BeastRageMain takes nothing returns nothing
	local unit lKg=GetAttacker()
	local unit lFB=GetTriggerUnit()
	local string lf5=H2Tx(lKg)
	local unit lMd=GetUnit(lf5,"BeastRage|PreviousTarget")
	local integer lMa=ReturnMax(GetInteger(lf5,"BeastRage|Counter"),0)
	local integer lmZ=GetUnitAbilityLevel(lKg,'A0O0')
	if lMd!=lFB then
		set lMa=lMa/2
	else
		set lMa=ReturnMin(lMa+1,21)
	endif
	call SafeAddSpell(lKg,'A0NZ',lMa*lmZ)
	call SetInteger(lf5,"BeastRage|Counter",lMa)
	call SetHandle(lf5,"BeastRage|PreviousTarget",lFB)
	call SetBoolean(lf5,"BeastRage|Wait",true)
	call PolledWait(.4)
	call SetBoolean(lf5,"BeastRage|Wait",false)
endfunction

function BeastRageCheck takes nothing returns boolean
	return GetUnitAbilityLevel(GetAttacker(),'A0O0')>0 and GetBoolean(H2Tx(GetAttacker()),"BeastRage|Wait")==false and IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE)==false
endfunction

function BeastRageInit takes nothing returns nothing
	local trigger ltt=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_UNIT_ATTACKED)
	call TriggerAddCondition(ltt,Condition(function BeastRageCheck))
	call TriggerAddAction(ltt,function BeastRageMain)
	call SpellPreload('A0NZ')
endfunction
вот код из опен доты, примитив но с геймкешем.
8gabriel8, Это то что я чаще всего вижу в ГУИ - когда вейты пихают везде, даже там где они не нужны, если герой дальнего боя то вместо того чтобы отлавливать урон, ждут пока он замахнется и ставят вейт на мнимое время полёта снаряда, совсем забывая что можно промазать, цель может умереть и так далее.
43
quq_CCCP:
molot39, уже не первый раз такое слышу, но не дале, баги, работает ваще не так как описано в примере и так далее...
Хочешь похвастаться - код в студию
Думаю это не к месту, скоро будет новая версия робот сити, там будет реализация.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.