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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
30
Урон можно отменять вообще всегда, после чего наносить нужное количество.
32
ClotPh, Там есть пару детектов урона на мемхаке, но первый ресурсоемкий, это присоска на глобальное событие виджит получил урон внутри движка и работа со всеми параметрами пока не сработали триггерны на урон, второй вариант - попроще но там только чтение всех параметро а не запись ну и пошустрее будет.
16
function SetGetEventDamage takes real r returns nothing
	local integer a=CallThisCallWith1Args(GameDLL+0x3C1D40,0)
	if a!=0 then
		set a=CallThisCallWith1Args(GameDLL+0x3C1D60,0)
		if a!=0 then
			call WMem(a+0x30,mR2I(r))
		endif
	endif
endfunction
21
DracoL1ch, огромное спасибо, если что - отпишусь, но вроде все понятно
32
Clamp:
ну никак не катит постоянно инвул давать и отхил делать с таймерами
С чего бы? Сделай универсальный метод и применяй, благо событие получения урона любым юнитом легко реализуемо.

Китайцы подрубили ЛУА и ничего через варик больше не делают
Можно поподробнее на этот счёт?
Ну есть китайская версия мемхака, она работает на всех патчей в отличии от нашей, но там сам хак запускается в потоке ИИ и подгружает дллку, все остальные функции мемхака реализованы через пару АИ нативок котрые берут строку, в строку пишется имя функции, через глобалку или другие аркументы передаются параметры, дллка перехватывает некоторые функции и делает некоторые действия, в самом китайском редакторе все это дело зашито так как в jngp v или c JASS, т.е выглядит как нативка, а потом интерпритируется при сохранении..
32
функции для работы с сайленсом, позволяют задать разные типы сайленса (от обычного безмолвия, то паузы, когда способности скрываются с карты комманд)

    set pAddSilenceOnAbility=GameDLL+0x052B60 // оффсет для 1.26
    set pRemoveSilenceFromAbility=GameDLL+0x052BC0 // оффсет для 1.26

	set pAddSilenceOnAbility = GameDLL + 0x3E9FA0 // оффсет для 1.27
    set pRemoveSilenceFromAbility = GameDLL + 0x3EE3C0 // оффсет для 1.27


    function AddSilenceToAbility takes integer a returns nothing
        if a > 0 then
            call CallThisCallWith3Args( pAddSilenceOnAbility, a, 0, 1 )
 //0 for hide, 1 for silence 
        endif
    endfunction
    
    function RemoveSilenceFromAbility takes integer a returns nothing
        if a > 0 then
            call CallThisCallWith3Args( pRemoveSilenceFromAbility, a, 0, 1 )
        endif
    endfunction
 
    function AddSilenceHideToAbility takes integer a returns nothing
        if a > 0 then
            call CallThisCallWith3Args( pAddSilenceOnAbility, a, 1, 1 )
        endif
    endfunction
 
    function RemoveSilenceHideFromAbility takes integer a returns nothing
        if a > 0 then
            call CallThisCallWith3Args( pRemoveSilenceFromAbility, a, 1, 1 )
        endif
    endfunction
21
quq_CCCP, смертью, диспелами, морфами такие сайленсы сбрасываются?
32
ClotPh, нет, для этого нужно пилить триггер который за этим всем следит, у способностей за этим следит бафф - который и есть триггер, но внутригровой + имеющий доступ ко всем событиям движка.
16
любое событие имеет колбек, у способностей есть колбеки практически на всё, так и обеспечивается диспел при смерти, например. А тут всё вручную, но это и не для простого тыканья.
21
quq_CCCP, ну так это и хорошо, что нет, ок.
А способности патруля, атаки, движения и т. п. так можно "засайленсить"?
И если да, то при засайленсивании движения что будет и что вернет при запросе к скорости юнита?
32
ClotPh, можно, что бывает при паузе? Ну там сало, текущий приказ будет выполнятся новый не отдать. Кнопки заблочены.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.