Перейти к содержанию

Авто-подключение к нужному процессу, при открытой СЕ таблице


Гость

Рекомендуемые сообщения

Своего скрипта у меня нет, допиливаю то что есть, но я не силён в Lua.

Скрытый текст

function CETimer1Timer(sender)
if getProcessIDFromProcessName("Tutorial-i386.exe") ~= nil then
openProcess("Tutorial-i386.exe")

timer1 = createTimer(nil,false)
timer_onTimer(timer1,ProcessName)
timer_setInterval(timer1,1000)
timer_setEnabled(timer1,true)
control_setCaption(UDF1_CELabel1, "Обучение СЕ запущено")
else
control_setCaption(UDF1_CELabel1, "Обучение СЕ не запущено")
end
end

 

 

Ссылка на комментарий
Поделиться на другие сайты

Скриншот

 

Скрытый текст

bandicam20_3790429_23944563.jpg

 

Скрипт

Скрытый текст

local flag = 0
function CETimer1Timer(sender)
if getProcessIDFromProcessName("Tutorial-i386.exe") ~= nil then
if flag == 0 then
openProcess("Tutorial-i386.exe")
UDF1.CELabel1.Font.Color = 0x004AA530
UDF1.CELabel1.Caption = "Process found"
flag = 1
end end
if getProcessIDFromProcessName("Tutorial-i386.exe") == nil then
UDF1.CELabel1.Font.Color = 0x002DA8A5
UDF1.CELabel1.Caption = "Process not found"
UDF1.CEEdit1.Text = ""
flag = 0
end
if getProcessIDFromProcessName("Tutorial-i386.exe") ~= nil then
if flag == 1 then
if readInteger('"Tutorial-i386.exe"+14D8F3') ~= nil then
UDF1.CEEdit1.Text = readInteger('"Tutorial-i386.exe"+14D8F3')
end end end end

 

 

Ежесекундная ошибка появляется по причине не активированного луа скрипта.

Таймер на форме запущен, но связи со скриптом еще нет.

Изменено пользователем AntonVit
Ссылка на комментарий
Поделиться на другие сайты

AntonVit всё сделал как обычно, потом сохранил таблицу на рабочий стол, и открыл её и снова та же ошибка вылазит.

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

16 минуту назад, Baracuda сказал:

Вот так вот трейнер запустишь, там такая ошибка как попрёт.

Ещё раз - найди указатели для Шага 2 для версии СЕ 6,6 и замени их в моём скрипте вот в этой строчке:

 Value = readInteger('["Tutorial-i386.exe"+2345D0]+480')
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Всё понятно, в виде таблицы лучше не запускать, а запускать лучше как трейнер, тогда проблем нет , не какие ошибки не вылазят.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Baracuda сказал:

Всё понятно, в виде таблицы лучше не запускать, а запускать лучше как трейнер, тогда проблем нет , не какие ошибки не вылазят.

Так правильно: при запуске таблицей у тебя не открыта форма и поэтому нуль - ошибка.

 

Т.е., если хочешь в виде таблицы, сперва открой таблицу, но не активируй LUA-скрипт, открой форму и только потом активируй скрипт и вот тогда ошибки не будет.

Изменено пользователем Garik66
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Всё я разобрался, как картинку можно вернуть.

Всем Большое спасибо за помощь, AntonVit Garik66 LIRW  Огромное вам спасибо.

 

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Ребята всем привет, у операционной системы есть свой процесс, как он называется, где я могу его посмотреть, кто знает.

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

  • 9 месяцев спустя...

Привет всем, пришлось возвратиться к старой теме про подключения процесса по таймеру, проблема такая, если в Trainer сделать процесс по таймеру, то по чему, то Trainer начинает кушать по чуть, чуть оперативной памяти, и с каждой минутой она увеличивается по немного, так же я проверил Trainer от {MrAntiFun} при запуске Trainer он начинает кушать оперативную память, и она увеличивается с каждой минутой, за 10 минут вырастает с 50 до 150-200 мегабайт и растёт я узнал в чём причина, если убрать таймер который постоянно работает в trainer, таймер работает даже когда игра не запущен, я проверил на своём Trainer оперативная память тоже растёт из-за таймера который постоянно включенный, если убрать таймер из Trainer, то оперативная память больше не увеличивается.  Как работает таймер я знаю, возможно ли процесс по таймеру сделать так пример, устанавливаешь таймер,в Trainer запускаешь Trainer, таймер начинает работать, после запускаешь игру, процесс игры автоматически находится, за счёт работающий таймера, и после нахождения процесса игры,чтобы таймер автоматически отключался. прошу помочь.Возможно ли так сделать. За ранние огромное спасибо за помощь.

 

В данный момент у меня такой код Lua. Могу ещё сделать, что-бы с интервалом процесс игры запускался  но это не то.

Скрытый текст

function CETimer1Timer(sender)
ProcssName="Arma3.exe"
if getProcessIDFromProcessName(ProcssName) ~= nil
then online = true
else online = false
end

if online then
getAutoAttachList().add(ProcssName)
UDF1.CELabel10.Caption = "Arma3.exe"
else
UDF1.CELabel10.Caption = "Arma3.exe"
UDF1.CELabel10.Caption = ""
end
end

 

 

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, Submarina сказал:

таймер автоматически отключался.

Ну как бы смотри ты сам ответил на свой вопрос же.. Отключай таймер при найденном процессе и все!
UDF1.CETimer1.Enabled = true \ false
Можно и такой сделать:

Скрытый текст

function proccseattach(timer)
t.Enabled = false
if getProccesIDFromProccesName("Process.exe") ~= nil then
repeat
OpenProcess("Process.exe")
until readInteger("Process.exe") ~= nil;
UDF1.CELabel1.Caption = FOUND
t.OnTimer = checkattach
end
t.Enabled = true
end

function checkattach(timer)
t.Enabled = false
if getProccesIDFromProccesName("Process.exe") == nil then
UDF1.CELabel1.Caption = NOT FOUND
t.OnTimer = processattach
end
t.Enabled = true
end

f=createForm(false)
t=createTimer(f);
t.Interval = 10
t.OnTimer = proccseattach

 

( возможны ошибки я спать хочу а править не хочу )


Вот у mranitfun так выглядит:

Скрытый текст

function CETimer1Timer(sender)
 if getProcessIDFromProcessName(ProcssName)  ~= nil
 then online =true
 else online = false
 end
if online then

UDF1.CETimer1.Enabled=false;
OpenProcess(ProcssName)

 control_setCaption(UDF1_CELabel8, "Game Is ON!")
 else
 control_setCaption(UDF1_CELabel8, "Game Is Off!")
 end
end

 

( Хотя ты его и скопировал )

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

У mranitfun я не чего не копировал, у меня он уже давно, я его сам написал, ориентировался я здесь в этой теме примерами на первой

страницы. Тот первый код который ты выложил, если я не ошибаюсь он есть на форуме Cheat Engine но у меня туда не заходит по че муто.

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

Это код который ты дал,What228 он с форума http://forum.cheatengine.org/viewtopic.php?t=590284&sid=6560fc4b12cf98c8b2c68e744981671d LIRW ещё ссылку выкладывал на него. он полу рабочий,ошибок при запуске не выдаёт, жутко всё дёргается после запуска, и выключить не возможно.

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Submarina сказал:

он полу рабочий,ошибок при запуске не выдаёт, жутко всё дёргается после запуска, и выключить не возможно.

Я пользуюсь этим кодом и.. нет ни каких ошибок или дерганий. А про твой код я не сказал что ты скопировал его у mrantifun ( т.к. у него есть отключение таймера ) а то что сам код ты скопировал в этом нет ничего страшного просто факт что у тебя и так этот код.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, Submarina сказал:

Trainer он начинает кушать оперативную память,

Раньше не обращал на это внимание, но действительно память кушается, даже. если сделать просто СЕ-ный трейнер без таймера, при каждом включении и отключении любой опции трейнера - память съедается. По-видимому это проблема самого СЕ (не очищает память). Тоже самое происходит и в табличке СЕ - потихоньку память кушается. Вывод - нужно переходить на какой-нить ЯП и писать трейнеры самостоятельно.

Ссылка на комментарий
Поделиться на другие сайты

12 часа назад, Submarina сказал:

Возможно ли так сделать.

@Submarina. обнаружил, что кушает постоянно память именно постоянное подключение к процессу, поэтому написал тебе другой вариант скрипта.

Вот скрипт, без отключения таймера ( с добавочным флагом). работает также, как и второй скрипт @what228. но и показывает, если процесс игры закрыть и переподключается к процессу игры заново. Оперативка теряется не постоянно. а при переподключениях к процессу.

Скрытый текст

function CETimer1Timer(sender)
 if getProcessIDFromProcessName('Tutorial-i386.exe')  ~= nil
 then online =true
 else online = false
 end
if online then
  if flag == 1 then
    OpenProcess('Tutorial-i386.exe')
    flag=0
  else
    control_setCaption(UDF1_CELabel1, "Game Is ON!")
  end
else
 control_setCaption(UDF1_CELabel1, "Game Is Off!")
 flag = 1
 end
end

 

 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Привет, я делал такой вариант, он мене не подошёл. Вот у меня есть другой вариант, он мене больше нравится. Но я не могу сделать тоже самое на выключения, то есть когда игру закрываешь то и процесс чтобы закрывался, в Trainer

запускаешь Trainer таймер начинает работать как только процесс игры находится таймер автоматически отключается.Это то что надо.

 

Скрытый текст

function myattach(timer)
  if getProcessIDFromProcessName("Arma3.exe") ~= nil then
    object_destroy(timer)
    openProcess("Arma3.exe")
    UDF1.CELabel10.Font.Color = 0x00FFF900
    UDF1.CELabel10.Caption = "Arma3.exe"  С открытием процесса всё в порядке, работает.
else

    UDF1.CELabel10.Font.Color = 0x423A35C7
    UDF1.CELabel10.Caption = ""           А вот закрытия процесса не работает, Тоесть когда игру закрываешь, то процеес должен закрыватся в Trainer, а он не закрывается в Trainer.


  end
end

t=createTimer(nil);
timer_setInterval(t,1000)
timer_onTimer(t,myattach)

 

Можно сделать чтобы при закрытии процесса игры, таймер запускался закрывал процесс в Trainer, и выключался. Только вариант What228 не подходит.

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

14 минуты назад, Submarina сказал:

А вот закрытия процесса не работает,

Так как ты проверишь работает у тебя процесс или нет, если у тебя таймер отключен?

Вот поэтому и написал скурипт. без отключения таймера.

Ссылка на комментарий
Поделиться на другие сайты

Это я понял, что таймер отключается когда процесс игры находится, вот потому и процесс не закрывается, потому что таймер отключён. 

вот я и говорю возможно ли, сделать чтобы при закрытии процесса игры, таймер запускался закрывал процесс в Trainer, и выключался. Только вариант What228 не подходит. По тому что таймер там работает всегда.

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.