ArhiMEN, ну для абилок, сперва InitCustomAbilityAddressChargesHook( указатель на абилку) чтобы включить для данной абилки возможность отрисовки зарядов, лучше выбрать абилку с кулдауниндикатором (это все активки или 2 пассивки, перерождение или эксгумация труповозки), юнит с абилкой на этот момент должен существовать. EnableCustomUnitAbilityCharges - включить отображение, и так далее.
Создал героя, у него есть абилка - InitCustomAbilityAddressChargesHook(GetUnitAbility(твой юнит, 'A000'))
Ну для начала нужно указать веросию мемхака, какую юзаешь. Вот тут описание функций, ссылка
Предоставил DracoL1ch, в разных версиях немного отличается, но работает одинаково - рисует заряды абилкам, вроде не всем.
Для смены модели в некоторых версиях нужно чтобы юнита не было на карте, а в мемхаке анрайза должно работать на лету - модель меняется, судя по Base это для глобальной смены, до того как юнит созан, ну и для функции Get xxx которая получает эти данные от юнита, можно же посмотреть какая модель у юнита.
JackFastGame, для мемхака из темы с детектом урона функции выложены либо на хайве,либо в этом файле:
unction GetUnitUbertip takes integer id returns string
return GetUnitUIStringParam(id,1,0x268)
endfunction
function SetUnitUbertip takes integer id, string s returns nothing
call SetUnitUIStringParam(id,1,0x268,s)
endfunction
function GetUnitTip takes integer id returns string
return GetUnitUIStringParam(id,1,0x25C)
endfunction
function SetUnitTip takes integer id, string s returns nothing
call SetUnitUIStringParam(id,1,0x25C,s)
endfunction
function GetUnitHotkey takes integer id returns integer
if GetUnitUIIntegerParam(id,0,0x26C)==0 and GetUnitUIIntegerParam(id,0,0x270)==0 then
return 0
endif
return GetUnitUIIntegerParam(id,1,0x274)
endfunction
function SetUnitHotkey takes integer id, integer key returns nothing
call SetUnitUIIntegerParam(id,0,0x26C,1)
call SetUnitUIIntegerParam(id,0,0x270,key)
call SetUnitUIIntegerParam(id,1,0x274,key)
endfunction
function GetHeroPrimaryAttributeById takes integer id returns integer
local integer a=GetUnitDataDefByIdCaching(id)
if a>0 then
return RMem(a + 0x17C)
endif
return 0
endfunction
Ну и для всего прочего были, там не сложно. Смешения где лежат ссылки на строки. В мх анрайза вроде тоже было, покрайней мере для юнитов UnitNormalAPI и UnitBaseAPI, ну можно посмотреть в каких смещених относительно адресса итема лежат строки, предмет и юнит - оба виджеты, возможно прокатит с оффсетами юнита, но это неточно =)
rsfghd, вылетит в любом случае, тег анимации меняем или создаем дамми и крепим к нему модель, пути модели разные. Так же мемхак позволяет менять модели на ходу.
Читали видимо плохо статью, нет нельзя, никак низя, ваще низя. Все глобальные обьекты которые синхронизируются между игроками - нельзя создать локально, мгновенный дисинх, почти все хендлы (кроме псевдохендлов вроде текстага) создавать локально нельзя. Поэтому сразу лесом с юнитом, его абилками, его координатами, его статами, его баффами и тому подобное.
Локально можно менять лишь данные визуализации, такие как всякие строки, модели, звуки, цвета и прозачность.
Полностью юнита невидимым не сделать, но настроить 100% прозрачность можно, подумайте хорошо что еще можно сделать?
Структуры vJassа посути массивы глобальных переменных и код, который управлет выделением ячеек, и все, поэтому твоя забота как разработчика сделать метод очистки и создания таким, чтобы небыло ни мусора ни ошибок.
Тут какое то глупое решение, вейтом ждать, dying unit может быть уже null, что мешать взять таймер на каждого юнита, или проходится по спотам крипов раз в минуту как в доте и если крипов там нет, то создать новых. На сейте выложена система респауна крипов без проблем.
Ну блин очевидно же что подобная ахинея проигрывает нормальным системам вроде того же мемхака, где достаточно просто узнать все необходимое, копировал и вставил - все.
Юнита - стандартными средствами никак, ну если даммик - то ему можно модель сделать где есть анимация поворота на N градусов. Так же мемхак позволяет крутить обьекты по всем осям, но полностью это реализовано в мемхаке 1.5
Смысл мемхака не только в том чтобы добавить че-то невозможное, а так же значительно упростить процесс разработки некоторых вещей, тот же детект урона на мемхаке быстрее и проще чем без него, при этом ничего дефолтного не ломается...
Ну ептить, опен дота же есть, там отвратительный и примитивный код у сфа, пассивка на 32 левела и дающая урон.
Ну а если по человечески, любая пассивка с кулдаун индикатором (перерождение или эксгумация труповозки), система бонусного урона на абилках предметных когтей на атаку, там степени двойки, ну и мемхак. Рисуем на пассивке заряды, а системой вешаем нужный урон. Кстати с самой доты можно стащить, там есть. Абилки на 100500 левелов хреновая идея, (от того при пике вокеров и сфов лаги, ульт вызывает пролаг и так далее). Ну и время загрузки карты увеличивают все абилки выше 4 уровней.
PT153, у него есть лично, он в паблик не выкладывал, делал на заказ рефорджет функционал фулл, спроси его в вк. Я просто недавно брал функции эффектов.
BAT - base attack speed, у юнита есть базовое время перезарядки, ну там 1.8 сек, .1.5 сек, ну и так далее, а все остальное это бонусы от ловкости и способностей. Кстати версия 1.5 готова с новыми функциями эффектом и исправлениеями и дополнениями.
» WarCraft 3 / Функции МемХака2
Создал героя, у него есть абилка - InitCustomAbilityAddressChargesHook(GetUnitAbility(твой юнит, 'A000'))
» WarCraft 3 / Функции МемХака2
Предоставил DracoL1ch, в разных версиях немного отличается, но работает одинаково - рисует заряды абилкам, вроде не всем.
Для смены модели в некоторых версиях нужно чтобы юнита не было на карте, а в мемхаке анрайза должно работать на лету - модель меняется, судя по Base это для глобальной смены, до того как юнит созан, ну и для функции Get xxx которая получает эти данные от юнита, можно же посмотреть какая модель у юнита.
» WarCraft 3 / Вопросы по мемхаку
» WarCraft 3 / Не работает код (jass)
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
» WarCraft 3 / Функция GetLocalPlayer()
» WarCraft 3 / Функция GetLocalPlayer()
Локально можно менять лишь данные визуализации, такие как всякие строки, модели, звуки, цвета и прозачность.
Полностью юнита невидимым не сделать, но настроить 100% прозрачность можно, подумайте хорошо что еще можно сделать?
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
» WarCraft 3 / Респавн крипов
» WarCraft 3 / Карта не отображается в самом варкрафте
» WarCraft 3 / Вопросы по мемхаку
» WarCraft 3 / отлов удара на ГУИ
» WarCraft 3 / Спавн юнитов при входе в область
» WarCraft 3 / Мемхак анрайза v1.5+
» WarCraft 3 / Как повернуть юнита горизонтально или вертикально?
» WarCraft 3 / Функция ForGroup
» WarCraft 3 / Функция ForGroup
» WarCraft 3 / Минусы отлова урон через орб эффект
» WarCraft 3 / Минусы отлова урон через орб эффект
» WarCraft 3 / Функции МемХака
» WarCraft 3 / Функции МемХака
» WarCraft 3 / Добавление зеленого урона.
Ну а если по человечески, любая пассивка с кулдаун индикатором (перерождение или эксгумация труповозки), система бонусного урона на абилках предметных когтей на атаку, там степени двойки, ну и мемхак. Рисуем на пассивке заряды, а системой вешаем нужный урон. Кстати с самой доты можно стащить, там есть. Абилки на 100500 левелов хреновая идея, (от того при пике вокеров и сфов лаги, ульт вызывает пролаг и так далее). Ну и время загрузки карты увеличивают все абилки выше 4 уровней.
» WarCraft 3 / Триггерный урон на ровне с атакой
» WarCraft 3 / Memory hack API v1.4
» WarCraft 3 / Memory hack API v1.4