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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
20
7 лет назад
0
ClotPh, проблема на начальном этапе определения своего уровня знаний :>
Сколько у появляющегося блейдмастера единиц атаки?
0
24
7 лет назад
0
quq_CCCP, можно заключить в теги ноусиджазз поидее
0
32
7 лет назад
0
darkowlom:
quq_CCCP, можно заключить в теги ноусиджазз поидее
Прошу доказать это на примере, у меня были проблемы пока полностью не отключил адик хелпера.
0
24
7 лет назад
Отредактирован darkowlom
0
quq_CCCP, конкретно этого хака я не касался, но предыдущая версия содержащая только чтение прекрасно работала заключенная в теги
Я испытывал проблемы от адик оптимизера - отключив его все работало в тегах. Проверю с твоей картой
Работает, только AdicOptimizer надо отключить
Загруженные файлы
0
21
7 лет назад
0
У блейда атаки 102-124. И было, кстати, столько до нижеописанных действий.
Ага, а в РО он дефолтный. Т. е. шаманство всё-таки работало и работает. Но всё-таки ещё не прогрызлось до конца.
Так, JNGP закачан отсюда xgm.guru/p/wc3/jassnewgenpack-exp
Версия, похоже, была чуть раньше той, что по ссылке.
Прогресс уже есть. Теперь, если оставить в кастом коде только это и пересохранить:
native MergeUnits takes integer qty, integer a, integer b, integer make returns boolean
native ConvertUnits takes integer qty, integer id returns boolean
native IgnoredUnits takes integer unitid returns integer
Карта успешно запускается, но, конечно, пустая (если там своих юнитов не поставить, но это для сути дела сейчас не важно).
Если просто пересохранить - все равно фейл. Во вкладке cJass все галочки сняты. Выдает не раз упомянутые 11 ошибок.
Подозреваю, что проблема в первую очередь в следующих ошибках из тех одиннадцати:
  • Index missing for array variable l__Array
  • Index missing for array variable l__bytecode
  • Function ReadMemory must not take any arguments when used as code
При попытке копипаста всего сразу в кастом код отсюда - github.com/DracoL1ch/WC3Memory/blob/master/war3map.j , кстати, по-моему, выдает именно эти три ошибки и только три.
************
Итак. По идее - уже есть рабочая и пересохраняемая карта с кастом кодом:
native MergeUnits takes integer qty, integer a, integer b, integer make returns boolean
native ConvertUnits takes integer qty, integer id returns boolean
native IgnoredUnits takes integer unitid returns integer
************
Это уже прогресс. Но этого мало. Я не могу, например, просто вставить функцию отсюда github.com/DracoL1ch/WC3Memory/blob/master/war3map.j
Если я забираю
function AddAbilityCooldown takes ability a, real seconds returns nothing
local integer pData = Memory[ConvertHandle(a)/4+55]/4
if pData != 0 then
set Memory[pData+1] = cleanInt(realToIndex(seconds+cleanReal(indexToReal(Memory[pData+1]))))
set Memory[ConvertHandle(a)/4+45] = cleanInt(realToIndex(seconds+cleanReal(indexToReal(Memory[ConvertHandle(a)/4+45])))) This should not be modified together
endif
endfunction
и просто вставляю в кастом код, то оно начинает ругаться и, ятп, искать ссылки на либы и функции в них. А с либами карта не пересохраняется, выдает не раз упомянутые 11 ошибок. Т. е. если снять галочку с Enable JassHelper - она, разумеется, пересохраняется, но в игре опять же не запускается.
Есть мысль просто удалить все проблемные строчки, но, ятп, оно работать нормально-то просто перестанет и все.
0
32
7 лет назад
0
Pjass новый поставил?
0
24
7 лет назад
0
ClotPh, попробуй сохранить карту из моего поста, предварительно отключив адик оптимизер, и не забыв заменить пжасс
0
32
7 лет назад
0
Вот попробуй, это то что я юзаю у себя в карте.
Загруженные файлы
2
6
7 лет назад
2
Попробуй мою версию xgm.guru/p/wc3/179403?postid=335484#comment21.
Она не требует jngp и pjass.
0
21
7 лет назад
0
!!!
Вообще детектив такой, что Шерлок Холмс отдыхает.
С pjass.exe вообще интересное кино. Вот мой файл в соотв. папке весил 21 кб, а тот, который в шапке - 41 кб. Вначале подумалось, что приглючило... Но... Короче, сейчас после открытия в папке опять файл оказался 21 кб. Он в какой-то момент сам обратно перезаписывается. Ппц и, главное, не понятно, из-за чего. Вообще порнуха какая-то.
Но это не после первой попытки пересохранения карты, это то ли после закрытия WE, то ли при открытии... вообще какая-то мистика...
Значит, все, что с самого начала пока улучшилось - обновлен JNGP. Поэтому и стали хотя бы нативки в кастом коде пересохраняться.
AdicOptimizer отключен. ВСЕ ВО ВКЛАДКЕ CJass ОТКЛЮЧЕНО.
quq_CCCP, разницу между твоей и в прикрепленной к посту картами вижу только в том, что у тебя текстовое сообщение про код драколича побилось и заменилось на "огненный столб", в остальном все так же - при немедленном пересохранении 11 ошибок, но с тремя нативками в кастом коде уже пересохраняется.
Added:
darkowlom, УРА!!! Твое вроде успешно пересохранилось!!! Спасибо, пойду химичить дальше. Но уж теперь-то, по идее, проблем быть не должно - эти nocjass, надеюсь, при необходимости самостоятельно сумею проставить...
BaHeK
Потом мб, если понадобится, спасибо
Этот комментарий удален
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.