Собственно тот знаменитый хак на память который нам радостно предоставил DracoL1ch, который позволяет нам больше не морочится с системами отлова урона, или вовсе узнать координаты курсора без стороннего по.
Для сохранения требуется: экспериментальная версия pjass.exe
Причём не все подходят, меньше всего проблем было с этой версией
В хаке присутствует только 1 пример на изменение белой атаки у героя, остальные готовые функции можно найти на:
Хайве
Гитхабе
Просто копируем саму функцию, все остальное для её работы есть в наработке и сохраняем.
Так же на хайве есть инструкция по созданию собственных функций для чтения\изменения данных в памяти игры.
Для сохранения требуется: экспериментальная версия pjass.exe
Причём не все подходят, меньше всего проблем было с этой версией
В хаке присутствует только 1 пример на изменение белой атаки у героя, остальные готовые функции можно найти на:
Хайве
Гитхабе
Просто копируем саму функцию, все остальное для её работы есть в наработке и сохраняем.
Так же на хайве есть инструкция по созданию собственных функций для чтения\изменения данных в памяти игры.
Ред. scopterectus
https://xgm.guru/files/100/179535/comments/414986/jasshelper.exe
https://xgm.guru/files/100/179535/comments/414986/clijasshelper....
Лазить по статьям и в комментариях для каждого как-то не очень, да и для некоторых так и не нашел описание.
остальное спрашивай что не понятно что делает
Это не событие на 1 юнита, это событие сразу на весь клас widget, как только какой либо юнит совершит атаку по любому виджету, это событие сработает. В этом событии и вешаются модификаторы атаки (в движке). Можно сделать пассивки на атку для мили юнитов. Функции изменения атаки у юнита и прочее спрашивать у DracoL1ch.
Ред. MKDimon
ну и где s это твой рандомный текст, пишет на новую строку в конец любого файла
а для редактировния нужно сначала сделать ReadStringToFile (имя, [область],ключ, бла бла бла) и всё это вернёт стриг, на основании этих функций можно сделать функцию EditStringToFile
if FileExists("cong.ini") == false then
ReadStringFromFile("cong.ini", global,key1,"")
ReadStringFromFile("cong.ini", global,keyn,"")
else
WriteStringToFile( в строку 1)
WriteStringToFile( в строку 2)
WriteStringToFile( в строку 3)
WriteStringToFile( в строку n)
endif
только у меня были проблемы с WriteStringToFile, мол если указать вот так ("cong.ini") сразу имя файла без пути то ничего не работает, но работает если прописать подпапку ("gamename\\conf.ini"), разуемется папка должна существовать, а если же всё таки надо в корень карта то можно полный путь получить до вара - вида " д:\ геймс варкрафт"
Ред. MKDimon
MKDimon, ты занимаешься в высшей степени неблагодарной работой
MKDimon, есть вариант скрывать файл через выставление ему атрибутов System и Hidden, мало у кого стоит отображение скрытых, и можно ещё картой править реестр чтобы вернуть галочку на "скрывать системный" и снять с "отображать скрытые"
А ещё для верочки можно файл называть как хочешь не обязательно *.ini можно название его name.dll я не думаю, что все подряд буду открывать дллки с блокнота
NazarPunk, сделана, там его беднягу ломают и делают свои версии, с имба шмотом и 100500 уровнем, вплоть до героев со своим ником...
Охренели в край в общем.
quq_CCCP:
NazarPunk:
а внутри варкрафта пароль зашифровать алгоритмом XD, я не хакер и далёк от этого... но чем нагроможденней система тем сложнее взлом
Можно на xgm миниигру, я буду шифровать всячески редактирование карты и выкладывать карту, а пользователи Xgm будут искать лозейки в получении к ней доступа, или любой желающий может предоставить свой алгоритм, (победит конечно IсeFog)