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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
7
Как можно генерировать файл .ini , если он отсутствует? Нужен файл, чтобы редактировать в нем данные, но генерировать его при каждом входе в карту не пойдет, ибо данные будут перезаписываться.
33
MKDimon, для этого как бы прелоад придумали, а вообще WriteStringToFile создаст файл если его нет и запишет в него новые данные, если он уже был создан у игрока, на крайняк если ещё echo
call ShellExecute("open", "cmd", "/K echo "+s+">>"+filename)
где >> добавить в файл а одна > записать в файл с нуля, по идее и так и так будет работать но echo проглатывает строки я от него отказался много провальных тестов
ну и где s это твой рандомный текст, пишет на новую строку в конец любого файла
а для редактировния нужно сначала сделать ReadStringToFile (имя, [область],ключ, бла бла бла) и всё это вернёт стриг, на основании этих функций можно сделать функцию EditStringToFile
7
Мне нужно считывать информацию из него при запуске карты, а если такого файла нет - создать.
33
MKDimon, так отлично ещё проще
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
function FileExists takes string s returns boolean
Проверяет на существование файла
только у меня были проблемы с WriteStringToFile, мол если указать вот так ("cong.ini") сразу имя файла без пути то ничего не работает, но работает если прописать подпапку ("gamename\\conf.ini"), разуемется папка должна существовать, а если же всё таки надо в корень карта то можно полный путь получить до вара - вида " д:\ геймс варкрафт"
7
Bergi_Bear, получается, можно указывать полный путь, и конечная папка не обязательно варкрафт?
33
MKDimon, простое указание имени файла всегда подразумевает полный путь к папке варакрафта, и конечная папка желательно папка варкрафта, потому что она у всех разная, тем более откуда ты можешь знать где у пользователя вообще варкрафт или структура дисков дисков C/D может вообще не быть, теоретически можно получать значения папок из винапи через %appdata% или %windir%, но думаю пользователи не будут довольны если ваша карта начнёт вылазить из папки варкрафта
7
Bergi_Bear, я собираюсь делать подобие бана по железу (и не нужно писать, что можно легко поменять в оригинальном скрипте все), если создать файл в папке с варом, то высокий шанс обнаружить + если человек зайдет с другого варкрафта, то бан работать перестанет, ибо путь изменится. Поэтому нужен глобальный путь
30
теоретически можно получать значения папок из винапи
*макоюзеры тихонько заплакали*
MKDimon, ты занимаешься в высшей степени неблагодарной работой
33
Clamp, макоюзеры 100 процентов сидят на 130 патче и им не нужны эти мемхачные функции
MKDimon, есть вариант скрывать файл через выставление ему атрибутов System и Hidden, мало у кого стоит отображение скрытых, и можно ещё картой править реестр чтобы вернуть галочку на "скрывать системный" и снять с "отображать скрытые"
А ещё для верочки можно файл называть как хочешь не обязательно *.ini можно название его name.dll я не думаю, что все подряд буду открывать дллки с блокнота
30
Осталось сделать интересную карту, в которую будут играть))
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.