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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
4
7 лет назад
0
quq_CCCP, все равно нет. А что насчет галок в основных настройках? что нужно что нет, мб тут?
1
32
7 лет назад
1
Все ставишь, я не ставлю "оптимизировать прочие скрипты". Все работает, возможно у тебя ошибки в коде.
Блин я забыл описать про антиудаление, оптимизаторы хреновы стирают несипользуемые функции, а в мемхаки есть туча паразитных функций, которые нужны чтобы надурить пасер....
Смотри новый мемхак, где то тут прикреплял...
Вот ссылка на комент с новым мх -http://xgm.guru/p/wc3/memoryhack?postid=345483#comment259
0
22
7 лет назад
0
Подскажите как пользоваться:
function ExportDllFromMpqAndInjectToWarcraft takes string source, string dest returns nothing
function LoadLibrary takes string nDllName returns integer
Хочу использовать отлов клавиш от Alexander12 xgm.guru/p/wc3/160205 но при этом не пихать Key2.mix в корень вар3. Как мне быть?
2
13
7 лет назад
2
Bornikkeny, посмотри, как я делал:
ENAleksey:
awesomesk1ll, да, здесь нет ничего сложного, для начала экспортируем dll из карты, а потом загружаем её с помощью LoadLibraryA. Сейчас скину карту с загрузкой моей библиотеки, в которой реализован Widescreen Fix.

Скачать (поддерживаются версии 1.26a и 1.27а).
Правда, я сделал инициализацию библиотеки с помощью вызова экспортируемой функции из dll, чтобы передать в неё версию варкрафта, но это можно делать и внутри библиотеки: вызывать только LoadLibraryA, а всё остальное делать в теле функции DllMain.
1
22
7 лет назад
1
ENAleksey:
Bornikkeny, посмотри, как я делал:
Ой-ой-ёшеньки ой-ой, ебаный в рот как сложно-то. Наверное весь сегодняшний вечер убью что бы вникнуть.
0
13
7 лет назад
0
Bornikkeny, да, вроде, не особо сложно, нужно всего-лишь одну функцию написать:
function InjectDLL takes string name returns nothing
    if FileExists(name) then
        if GetModuleHandle(name) == 0 then
            call LoadLibrary(name)
        endif
    else
        if (not ExportFileFromMpq(name, name)) then
            call BJDebugMsg("|c00ff0000Error! ExportFileFromMpq:|r " + name)
        endif
        if (LoadLibrary(name) == 0) then
            call BJDebugMsg("|c00ff0000Error! LoadLibrary:|r " + name)
        endif
    endif
endfunction
0
22
7 лет назад
0
А ничего что библиотека имеет расширение .mix, а не .dll?
2
13
7 лет назад
Отредактирован ENAleksey
2
Bornikkeny, разницы нет, но лучше переименовать mix в dll, чтобы после экспорта в папку с варкрафтом mix не загружался сам.
0
22
7 лет назад
0
Батюшки, хочу использовать тот код который публикован на хайве, но как его использовать - понятия не имею. То в тестовой карте XGM - небольшой отрывок, я так понял.
Как быть?
0
21
7 лет назад
Отредактирован ClotPh
0
Bornikkeny,
попробуй прямо карту взять из 128 сообщения здесь (что-то прямая ссылка не действует)
и пересохранить.
Если всё норм запускается, открывается и действует - то просто копипасти потом нужные функции с гитхаба в кастом код и юзай. Для импорта мемхака в карты - целиком кастом код и либы.
Ток это "старый" мемхак, уже "новый" есть.
0
22
7 лет назад
0
ClotPh:
Bornikkeny,
попробуй прямо карту взять из 128 сообщения здесь (что-то прямая ссылка не действует)
и пересохранить.
Если всё норм запускается, открывается и действует - то просто копипасти потом нужные функции с гитхаба в кастом код и юзай. Для импорта мемхака в карты - целиком кастом код и либы.
Ток это "старый" мемхак, уже "новый" есть.
Да блин, я работал на старом (новом?) МХ. И все вроде бы хорошо, я смог запускать .dll либы и всё такое, но когда появились другие потребности, в виде функций по замене файла модели юнита, я начал вставлять нужные функции из хайва.
Фишка в том, что вставляя одну функцию, нужно вставить еще 20 функций которые использует нужная функция, это не считая производных переменных, констант. А их еще надо инициализировать в Init24, Init26, Init27 все дела. Как быть?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.