Добавлен , опубликован
Алгоритмы, Наработки и Способности
Способ реализации:
vJass
Тип:
Наработка
Версия Warcraft:
1.26 и ниже
Собственно тот знаменитый хак на память который нам радостно предоставил DracoL1ch, который позволяет нам больше не морочится с системами отлова урона, или вовсе узнать координаты курсора без стороннего по.
Для сохранения требуется: экспериментальная версия pjass.exe
Причём не все подходят, меньше всего проблем было с этой версией
В хаке присутствует только 1 пример на изменение белой атаки у героя, остальные готовые функции можно найти на:
Хайве
Гитхабе
Просто копируем саму функцию, все остальное для её работы есть в наработке и сохраняем.
Так же на хайве есть инструкция по созданию собственных функций для чтения\изменения данных в памяти игры.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
7
7 лет назад
0
Что-то до меня не очень доходит, как этот хак использовать, точнее импортировать в карту.
0
32
7 лет назад
0
ELB359:
Что-то до меня не очень доходит, как этот хак использовать, точнее импортировать в карту.
Прочитать внимательно инструкцию.
0
5
7 лет назад
0
фатал когда пытаюсь запустить спелл в кд,как лечится?
и можно ли запустить спелл в кд для конкретного юнита?
или я пытаюсь заюзать нету функцию?, StartAbilityCD
0
32
7 лет назад
Отредактирован quq_CCCP
0
А какой спел ты в кд запускаешь? Написано же юзать:
 function StartAbilityCooldown takes unit whichUnit, integer abilityId, real cd returns boolean
        local integer pAbility = 0
        if whichUnit == null or GetUnitAbilityLevel( whichUnit, abilityId  ) < 1 or cd == 0.00  then
            return false
        endif
        set pAbility = GetUnitAbility(whichUnit, abilityId)
        if pAbility < 1 then
            return false
        else
            if ReadRealMemory(pAbility+0x134)==-1 and ReadRealMemory(pAbility+0x138)==-1 then
                call WriteRealMemory(pAbility+0x134,0)
                call WriteRealMemory(pAbility+0x138,0)
            endif
            set Memory[pReserverdIntArg1 / 4] = SetRealIntoMemory(cd)
            call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
            return IsAbilityOnCooldown( pAbility )
        endif
        return false
    endfunction
Тут защита от неверных аргументов или баганых абликов, пассивки в кд не пускает...
0
5
7 лет назад
0
в данном случае скачок,ну пассивки ясное дело.Просто делаю свою систему блок заклинания,принцип работы как у линкен сфер в доте,только по шансам а не по времени
сразу не заметил эту функцию,спасибо
2
32
7 лет назад
2
Что мешает вешать дефолт руну спелл нигейшина, отследить срабатывания руны негейшина можно по урону в 0.00 ед и наличию баффа нигейшина, а потом запустить таймер на 0.00 сек, если баффа по истечению таймера не будет - спеллнигейшин сработал (блокнул некий спелл).
0
5
7 лет назад
Отредактирован l_Avenger_l
0
попробую, но я сперва возился со способностью, со временем когда в юнита одновременно кастуют несколько юнитов включая стан замедление, проклятие и тд. но этот юнит не выполнял приказы, т.е. такой же баг как с морфом
с руной думал не парится, потому что думал такой же портак будет, поэтому решил через мемхак
порядок события ведь такой:
Юнит применяет способность
У цели есть способность или же определенные предметы (в условии просматривается наличие предметов у этого юнита и просчет шансов исходя из наличия предметов в инве)
затем я добавлял цели способность нейтрализации и удалял по событию, когда наша цель применяет эту самую способность нейтрализации
0
5
7 лет назад
0
Всем привет еще раз, хотел бы узнать. Есть ли возможность отловить событие получение урона дикорациями. И как спрятать хпбар юнита используя мемхак?
Затея, отловить событие когда декорация получает урон, событие такого не нашел, решил делать через дамика. Т.е. катапульта стреляет по местности и наносит урон декорациям, решил поставить дамиков возле этих декораций и отлавливать полученный урон от катапульты.
1
32
7 лет назад
1
Этого не было реализовано близзардами и придется пилить свою ддлку.
А хп бар юнита скрывается с помощью 2 флагов записанных в структурую юнита:
адресс:5с, значения : 0x8000000 и 0x10000
Функция call SetUnitFlags_2( targ, 0x8000000 ) дает эффект похожий на москитов, юнита совсем низя выделить, низя кастануть таргет спелл, но его будут бить автоатакой враги.
2
24
7 лет назад
2
спрятать хпбар юнита
Отрицательный размер выборки
1
16
7 лет назад
1
самый элементарный способ прятать хп - круг выделения = -5
все остальные, известные мне, включают в себя неуязвимость
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.