Есть необходимость принудительно завершать работу вар3, делать это надо в случае победы, варианты с принудительным фаталом не нравятся ибо мерзкое окно и звук
на мемхаке пробовал строку
call ShellExecute("open", "cmd"," /K Taskkill /IM war3.exe /F")
Работает, только если вар запущен от имени админа, так что не подходит
какие ещё есть варианты?

Принятый ответ

function exit takes nothing returns nothing
	call ExecuteFunc("exit")
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
28
5 лет назад
1
это не зацикливание, а рекурсия
Раз уж на то пошло, то это бесконечная рекурсия, так как нет условия для остановки.
Вообще, в ЯП рекурсия и циклы взаимозаменяемы, но в JASS циклы предпочтительнее.
2
32
5 лет назад
2
Bergi_Bear, ну как там успехи? ExitProcess работает?
0
32
5 лет назад
0
quq_CCCP, получилось
function ExitProcess takes nothing returns integer
local integer A = GetModuleProcAddress("Kernel32.dll", "ExitProcess" )
return CallStdcallWith1Args(A,GetStringAddress("game.dll"))
endfunction
quq_CCCP, и такой способ быстрее работает вроде ибо вариант что предложил UrsaBoss, конечно хороший, не требует мемхака, но лично у меня срабатывает с задержкой 1-2 секунд, в отличии от мгновенного ExitProcess
0
32
5 лет назад
0
Bergi_Bear, а в чем у тебя проблема с мемхаком второй версии? Не можешь переписать функции под вторую версию?
0
32
5 лет назад
0
Могу, пару переписал, но это оч. тяжело для меня + нужен некоторый функционал Renderedge, который работает только на первой версии... поэтому взвесив всё, я выбрал для себя ванильный мемхак от Лича 2016 года
2
18
5 лет назад
2
Bergi_Bear, можешь перевыбрать лучший ответ, я не против)
0
32
5 лет назад
0
UrsaBoss, да не, всё норм, почему то ExitProcess не работает в нужной части кода, вначале например через 5 секунд - всё норм, а в конце игры ничего не происходит... в общем сомнительное багованное действие...
0
32
5 лет назад
0
Bergi_Bear, ну наверное ты уже вышел из игры, нужен хук на выход.
0
32
5 лет назад
0
quq_CCCP, нет, я его использую вместо выхода, скорее всего из за режима кинематики.. но это не точно
0
32
5 лет назад
0
Bergi_Bear, ты проверь что возвращают функции, лучше всего занеси в глобалке при старте игры хендл game.dll и ExitProcess, если они неравны нулю, вызывай в конце игры.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.