Нужна функция мемхака, принимающая любую способность на основе ауры торнадо и ЗАДАЮЩАЯ ей значение поля СКОРОСТИ ПЕРЕМЕЩЕНИЯ.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
13
7 лет назад
Отредактирован Nelloy
0
Я бы сделал так если для рпг:
Аура 16 уровней, цель - self
Выбираем всех юнитов в группу, считаю коэф-т замедления от брони использовавшего, раздал всей группе ауру с лвлом равным номеру использовавшего способность игрока, через фунцию мемхака редактирую соответствующее (по уровню) поле ауры, по прошествию таймера (TimerEx) с группы записанной в структуру удается аура и ее эффект (так удаление иконки баффа мгновенно)
Есть фукции на редактирование полей абилок, но сейчас не смогу выложить
Here
function SetAbilityRealParam takes unit u, integer id, integer off, real newVal, integer lvl returns nothing
local integer k=GetUnitAbility(u,id)
if Memory[k/4+0x54/4]>0 then
call WMem(RMem(RMem(k+0x54)+0x54)+(lvl-1)*26*4+(8+off)*4,cleanInt(realToIndex(newVal)))
endif
endfunction
function GetAbilityRealParam takes unit u, integer id, integer off, integer lvl returns real
local integer k=GetUnitAbility(u,id)
if RMem(k+0x54)>0 then
return cleanReal(mI2R(RMem(RMem(RMem(k+0x54)+0x54)+(lvl-1)*26*4 + (8+off)*4)))
endif
return .0
endfunction
DataA - off=0, DataB - off=1 etc.
0
21
7 лет назад
0
Nelloy, че-то не переварю, зачем такой ужас.
Дать абилку и сразу сремувить ее каждому и все, зачем еще что-то.
Другое дело, что без мемхака надо несколько абилок или уровней делать, а с мемхаком хватит отредактировать поле.
0
13
7 лет назад
Отредактирован Nelloy
0
А если потом захочется сделать не 4сек а 5?
Как-то нагляднее код становится на мой взгляд, и балансить удобнее если все параметры сразу вынести из функций
а по поводу нескольких уровней, все равно нужно несколько, хотя и намного меньше
Предположим игрок использовал этот навык, в способность пишется число, но через 1 сек другой персонаж тоже использовал ту же способность, при одном лвле получим что у всех юнитов попавших под первое применение будет замедление по цифрам как у 2го
0
21
7 лет назад
0
Nelloy, о, спасибо за функцию! Просто замечательно!
Ну время-то да, но в данном случае обойдусь 4 секундами. Ну а если что, шаблоны захвата в группу и действий с ней у меня-то офк есть.
Нет, обойдусь одним. Просто будет такая формулировка: "Замедление от этой способности зависит от брони последнего применившего ее героя". :D Это в 97% случаев будет не важно, в MOBA ведь довольно редко бывает в бою больше одного героя одного типа.
0
16
7 лет назад
0
можно прямо в бафе отредактировать длительность, при желании, и опять же держать абилку нет никакой нужды, эффект обеспечивается именно бафом
0
13
7 лет назад
Отредактирован Nelloy
0
DracoL1ch, я правильно понимаю, что можно сделать 1 ауру (self) на основе торнадо и меняя ее поле через мемхак, добавлять нужный баф?
Поковыряюсь на досуге, должно сильно ускорить прелоад моей системки бафов на основе торнадо. Не знаешь, в поле абилки хранится ссылка на список бафов или сложнее?
0
16
7 лет назад
0
для ауры торнадо, у других аур примерно так же должно быть, про мультибафы хз
в GetAbilityDataDefAddrById
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.