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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
3
16
6 лет назад
3

function GetAbilityBaseID takes integer a returns integer
	return RMem(RMem(a+0x54)+0x30)
endfunction

function IsAbilityUsable takes integer a returns boolean
	return CallThisCallWith1Args(RMem(RMem(a)+0x1D8),a)==1 or (RMem(a+0x6C)!=0 and GetAbilityBaseID(a)=='ANcl')
	//always false for ANcl
endfunction
0
32
6 лет назад
0
DracoL1ch, полезная функция.
2
21
6 лет назад
2
А можно через мх переименовать конкретную боевую единицу (примем, что пока не героя), оставив всем остальным и вновь создаваемым единицам того же типа обычное имя?
Например, у всех бугаев при выделении название "Бугай", а у конкретного заменить его на "Пеликан".
2
28
6 лет назад
2
ClotPh, мх даёт прямой доступ к памяти
так что через него можно сделать всё что угодно
надо только найти нужные участки памяти и записать в них правильные данные
2
16
6 лет назад
2
имена юнитов берутся через GetObjectName, так что только если совместишь с событиями выделениями или хуков своих напишешь
2
37
6 лет назад
2
В 1.29 ptr есть SetUnitName, так что имя для каждого юнита лежит в отдельном участке памяти. Ну или они это сделали только в 1.29 ptr
0
16
6 лет назад
0
Чем докажешь? глобально имя меняется
0
37
6 лет назад
Отредактирован ScorpioT1000
0
Или ты о том, что передаем мы конкретного юнита, а имя меняется для типа юнита?
0
16
6 лет назад
Отредактирован DracoL1ch
0
так лениво было второго юнита такого же создать рядом?) именно
0
23
6 лет назад
0
DracoL1ch, он правда пишет... я тестировал можно создать тот же юнит но на разных именах... а вот предмет накосячили что все предметы заменяет если 1 предмет выбрано
0
37
6 лет назад
0
Функция бы тип принимала, они же не совсем конченные. Если надо что-то сделать, какой смысл брать у юнита тип и делать что-то с ним, если можно просто передать тип.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.