aliast Опубликовано 17 сентября, 2011 Поделиться Опубликовано 17 сентября, 2011 Возникла такая проблемка со вторым Deus Ex (не путать с новым, эта игра 2002 года) - игра зачем-то переподключает процесс игры DX2Main.exe каждый раз при смене локации. А это значит что слетают все скрипты и адреса приходится каждый раз алт-табиться и присоединять процесс по новой. Такая фигня происходит и с Artmoney, т.е. проблема в игре. Те скрипты автоаттача что нашёл подключают процесс один раз. А можно ли сделать постоянное переподключение в случае отвала? Ссылка на комментарий Поделиться на другие сайты Поделиться
Ac1d Опубликовано 17 сентября, 2011 Поделиться Опубликовано 17 сентября, 2011 Попробуй поставить последний патч Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 17 сентября, 2011 Автор Поделиться Опубликовано 17 сентября, 2011 Izmalkoff, при чём здесь патч, если это такая фишка игры?) особенность движка или защита от читеров (читерам надоест читы каждый раз вводить и они перестанут их вводить))Вот такой скрипт работает, но ужасно тормозит CE (т.к. выполняется постоянно)function myattach(timer) attach = false; if getProcessIDFromProcessName("DX2Main.exe") ~= nil then if attach == false then openProcess("DX2Main.exe") end end end t=createTimer(nil); timer_setInterval(t,10) timer_onTimer(t,myattach)PS а всё, больше не тормозит вроде. Единственный глюк - если открыть в CE меню опций, то больше это окно не закроется)) придётся CE перезапускать. Сам CE при этом не тормозит, кнопки жмутся, а окно остаётся Забавный глюк. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 17 сентября, 2011 Поделиться Опубликовано 17 сентября, 2011 На официальном форуме Cheat Engine обсуждали эту проблему, но у меня указанный способ почему-то не сработал. Возможно, это какой-то защитный механизм игры - не помню, чтобы она себя так вела. Одно из решений - написать трейнер, по таймеру переподключающийся к процессу и переписывающий нужные адреса\опкоды. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 17 сентября, 2011 Поделиться Опубликовано 17 сентября, 2011 Izmalkoff, при чём здесь патч, если это такая фишка игры?) особенность движка или защита от читеров (читерам надоест читы каждый раз вводить и они перестанут их вводить))Вот такой скрипт работает, но ужасно тормозит CE (т.к. выполняется постоянно)function myattach(timer) attach = false; if getProcessIDFromProcessName("DX2Main.exe") ~= nil then if attach == false then openProcess("DX2Main.exe") end end end t=createTimer(nil); timer_setInterval(t,10) timer_onTimer(t,myattach)Да, об этом скрипте я и говорил. Можно поменять интервал таймера (строка "timer_setInterval(t,10)") на 500 или 1000 мсек - тормозить будет меньше.PS: Извиняюсь за задержку - не знал, что для зарегистрированных юзеров включена премодерация. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 18 сентября, 2011 Поделиться Опубликовано 18 сентября, 2011 Использование getProcessIDFromProcessName(name) не разумно в цикле таймера. Эта функция перебирает все процессы сравнивая их имена и возвращает id. Этот цикл можно применить один раз, ну два или три... но не постоянно в таймере. Это ненужные расходы ресурсов процессорного времени.Чтобы ещё меньше код тормозил нужно пользоваться не getProcessIDFromProcessName("DX2Main.exe"), а другим кодом с getOpenedProcessID(). Последняя возвратит ноль если процесс не подключен. А ещё лучше использовать автоаттач процессов (код с getAutoAttachList() ) и обработку события подключения процессов onOpenProcess(processid)... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения