Как нам стадо недавно известно, return баг возможен на патчах 1.24+ а так же благодаря Dracol1ch к нам попал сам код хака, которым возможно записывать данные в память игры...
Собственно линк на хак с функциями GitHube(github.com/DracoL1ch/WC3Memory/blob/master/war3map.j)
А вот ссылка наHiveWorkshop
Все это копипаст кода из war3mao.j (кода карты) в уже интерпретированном виде, пришлось немного потрудится чтобы перевести все в импортнопригодный вид и разбить на отдельные библиотеки...
Но вот беда, карта сохраняется и запускается, но вылазит ошибка:
Как выяснилось фаталит именно функция:
	call ForForce(bj_FORCE_PLAYER[0], I2C(8+C2I(function UnlockMemory))) 
Библиотеки Utils (функция Init )
Я проверил ретурн баг на массивы и код - все работает, C2I возвращает целое число, которое и является адресом кода. Так же с массивом, но в чем ошибка?
Что я мог упустить?
Есть идеи, свои варианты оформления?

У меня всё работает, просто прописываю эти нативки в коде самой карты, вот карта, здесь и урон изменяется.
Чтобы typecast работал в JNGP нужно создать аж 3 переменных!
Какие три? Я только две использую:
integer array l__A
integer A
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
32
ssbbssc:
Оригинал работает без ошибки?
Эмм. у нас нету карты оригинала, у нас есть кусок от её скрипта, оригинал хостуют на rgc и вроде норм.
6
Вот немного передал скрипт. Теперь он работает в стандартном редакторе на ГУИ!
Загруженные файлы
32
BaHeK:
Вот немного передал скрипт. Теперь он работает в стандартном редакторе на ГУИ!
Конкретно это и у меня работает, проблема не в хаке а в том что я не могу запустить хак на запись в память, конкретнее в описании темы.
6
У меня в карте есть пример на запись в память без фталов.
32
Погодь, твоя карта тоже фаталит при загрузке...
Странно, неужели у нас разные версии wc3?
Текст ошибки изменился, но она есть...
Загруженные файлы
32
BaHeK:
У меня в карте есть пример на запись в память без фталов.
Разобрался, у тебя в карте версия 1.27 по дефолту, у меня 1.26. Только поставил 1.26 всё заработало, но что в этом большом наборе блин работает не так - вроде код 1 в 1.
С2I I2C работают.
6
Мою карту проверял? Должен был поменяться урон.
32
BaHeK:
Нужно чтобы ктото еще проверил карту.
Что добровольцев нету?
BaHeK:
Мою карту проверял? Должен был поменяться урон.
Урон изменяется, как только я поменял версию...
В моей карте тот же самый хак на память, но он фаталит - код идеинтичен...
Что же я упустил?
16
а зачем вы отключаете автоматическое определеение версии:?
32
DracoL1ch:
а зачем вы отключаете автоматическое определеение версии:?
Хз, у меня включено а фаталит...
Человек решил что ему это ненужно...
6
Это нужно было исключительно для упрощения кода в примере. Суть была в том, что этот хак более не требует jngp и vjass.
32
BaHeK:
Это нужно было исключительно для упрощения кода в примере. Суть была в том, что этот хак более не требует jngp и vjass.
А причем тут JNGP что там что там хак одинаков, 2 переменные с одинаковыми именами...
Но что в полном наборе не работает, почему фаталит?
6
quq_CCCP, скорей всего у тебя вар кривой какой-то. Попробуй переустанови с патчем 1.27
12
BaHeK:
quq_CCCP, скорей всего у тебя вар кривой какой-то. Попробуй переустанови с патчем 1.27
Варик ровный "не лайт версия". У меня тоже фаталит через 1 сек после инициализации карты (запускал через jngp WE)
6
Даже удивляюсь эта карта у кого-то вообще работает? Если запускать из варика без редактора.
12
BaHeK:
Даже удивляюсь эта карта у кого-то вообще работает? Если запускать из варика без редактора.
разве есть разница под чем запустить. Исполняемое приложение одно и тоже
27
BaHeK, твою мапу скачал, у меня тоже фаталит. У меня загрузилась карта, показал героя Келя (буквально 2-3 сек.), и фатал.
quq_CCCP, твою мапу, что ты скидывал в другой теме, скачивал. Также, но без фатала =((. Там сразу в меню игры сбрасывает.
Сборка от Mechanics, вар пиратский. =(( Ориганал трудно найти в инет
6
Вот попробуй вариант с определением версии.
Загруженные файлы
13
BaHeK, работает. Попробовал пересохранить карту, добавив //# +nosemanticerror перед некоторыми функциями, в итоге карта не запускается, просто выкидывает в главное меню.
Может ты используешь другой pJass компилятор? Можешь скинуть свой? Хотя у меня всё хорошо работало с этим кодом: www.hiveworkshop.com/threads/accessing-memory-from-the-script-it...

Хотя не надо, уже нашёл. Тоже не работает.

Кажется, начинаю догадываться, в чём проблема. Буду завтра пробовать.
6
ENAleksey, в данном примере я не использую jngp и vjass совсем. Редактирую в стандартном редакторе.
13
Заработало, просто отредактировал typecast'ы и добавил ещё одну переменную для типкаста массива. Я и до этого пробовал переделать функции-типкасты, только забыл о массиве.
Скачать (vJass)
Загруженные файлы
27
BaHeK, твой вариант работает =))
ENAleksey, работает (но когда пробуешь отредактировать код (в данном случае просто хотел посмотреть код), затем сохранить и затестировать не получается, выкидывает в меню. И JassHepper выдает кучу ошибок. Как ты сохранил карту?).
Чтобы оставить комментарий, пожалуйста, войдите на сайт.