Submarina Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 (изменено) Я извиняюсь, за то что раньше времени попросил закрыть тему, про поиск правильного процесса, вроде всё работало но оказалось не всё. Проблема в том что когда открываешь Cheat Engine, а после запускаешь игру arma3.exe, в Cheat Engine Автоматический находится процесс arma3.exe это правильно. А вот когда запускаешь arma3_x64.exe, то в Cheat Engine процесс arma3_x64.exe не находится автоматически, то есть процесс arma3_x64.exe в ручную надо цеплять к Cheat Engine.. Из за этого функции в таблице не работают, пока вручную не прицепишь процесс игры к Cheat Engine. Не код который дал What228, не код который дал MasterGH, не находить второй процесс это arma3_x64.exe Автоматически в Cheat Engine. Почему так происходит, помогите разобраться. What228 я добавил только таймер в него. Скрытый текст form_show(UDF1) function CETimer1Timer(sender) if getProcessIDFromProcessName("arma3.exe") ~= nil then ---Находить процесс Автоматически в Cheat Engine UDF1.CELabel1.Caption = "arma3.exe" --------------Находить процесс Автоматически в Cheat Engine UDF1.CEButton1.Enabled = true UDF1.CEButton2.Enabled = true else UDF1.CELabel1.Caption = "WAIT" UDF1.CEButton1.Enabled = false UDF1.CEButton2.Enabled = false if getProcessIDFromProcessName("arma3_x64.exe") ~= nil then--------Не находит процесс Автомитически в Cheat Engine UDF1.CELabel2.Caption = "arma3_x64.exe"--------Не находит процесс Автомитически в Cheat Engine UDF1.CEButton3.Enabled = true UDF1.CEButton4.Enabled = true else UDF1.CELabel2.Caption = "WAIT X64" UDF1.CEButton3.Enabled = false UDF1.CEButton4.Enabled = false end end end Вот код код дал MasterGH Скрытый текст local ProcessNames = { "arma3.exe",--------------Находить процесс Аатоматически в Cheat Engine "arma3_x64.exe"--------Не находит процесс Автомитически в Cheat Engine -- может быть еще одно название процесса } function CETimer1Timer(sender) local attachToProcess = false for i = 1, #ProcessNames do if getProcessIDFromProcessName(ProcessNames[i]) ~= nil then attachToProcess = true UDF1.CELabel20.Font.Color = 0xFFFFFF UDF1.CELabel20.Caption = ProcessNames[i] break end end if not attachToProcess then UDF1.CELabel20.Font.Color = 0x423A35C7 end end Изменено 30 июля, 2017 пользователем Submarina Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 1 час назад, Submarina сказал: Почему так происходит, помогите разобраться. Если вот так: покатит, то вот скрипт: Скрытый текст form_show(UDF1) function CETimer1Timer(sender) if getProcessIDFromProcessName("Tutorial-i386.exe") == nil then UDF1.CELabel1.Caption = "Запустите игру" UDF1.CEButton1.Enabled = false UDF1.CEButton2.Enabled = false if getProcessIDFromProcessName("Tutorial-x86_64.exe") == nil then UDF1.CELabel2.Caption = "Запустите игру" UDF1.CEButton3.Enabled = false UDF1.CEButton4.Enabled = false else OpenProcess("Tutorial-x86_64.exe") UDF1.CELabel2.Caption = "Играем в Tutorial-x86_64" UDF1.CEButton3.Enabled = true UDF1.CEButton4.Enabled = true end else OpenProcess("Tutorial-i386.exe") UDF1.CELabel1.Caption = "Играем в Tutorial-i386" UDF1.CEButton1.Enabled = true UDF1.CEButton2.Enabled = true end end 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 (изменено) Твой код рабочий, но только в Tutorial-i386.exe Tutorial-x86_64.exe. А когда дело доходит до игры то не работает. Точней работает, только один процесс, а второй вручную надо цеплять к Cheat Engine. Та же проблема, что и у тех двух кодов. Изменено 30 июля, 2017 пользователем Submarina Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 Кинь в ЛС свою табличку, думаю, что ты опять где-то ошибаешься. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 (изменено) Я просто в ставил твой код, поменял только процесс с Tutorial-i386.exe на arma3.exe и проверил на игре, а не на Tutorial-i386.exe таблица пустая там нет не чего, просто твой код твой, с заменённым процессом. Ошибиться я не мог. Изменено 30 июля, 2017 пользователем Submarina Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 3 минуты назад, Submarina сказал: Ошибиться я не мог. Ошибся, ошибся - эт точно. В от тот же скрипт с другой игрой: 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 Да у тебя работает вижу. Но я Игорь на пустой таблице проверяю как и ты, у меня второй процесс не в какую не хочет цепляться к Cheat Engine. Странно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 Вот таблица но я думаю не поможет.http://dropmefiles.com/C6xKX Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 4 минуты назад, Submarina сказал: Вот таблица но я думаю не поможет.http://dropmefiles.com/C6xKX Попробуй: Скрытый текст form_show(UDF1) function CETimer1Timer(sender) if getProcessIDFromProcessName("farcry3.exe") == nil then UDF1.CELabel1.Caption = "Запустите игру" UDF1.CEButton1.Enabled = false UDF1.CEButton2.Enabled = false if getProcessIDFromProcessName("farcry3_d3d11.exe") == nil then UDF1.CELabel2.Caption = "Запустите игру" UDF1.CEButton3.Enabled = false UDF1.CEButton4.Enabled = false else OpenProcess("farcry3_d3d11.exe") UDF1.CELabel2.Caption = "Играем в farcry3_d3d11" UDF1.CEButton3.Enabled = true UDF1.CEButton4.Enabled = true end else OpenProcess("farcry3.exe") UDF1.CELabel1.Caption = "Играем в farcry3" UDF1.CEButton1.Enabled = true UDF1.CEButton2.Enabled = true end end Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 Вроде всё заработало, и пока работает нормально. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 Только что, Submarina сказал: Вроде всё заработало, и пока работает нормально. ОК Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 49 минут назад, Garik66 сказал: Попробуй: А где у него ошибка была? ( Не хочу качать с левых источников ) Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 Вот так код, тоже прекрасно работает. Скрытый текст form_show(UDF1) function CETimer1Timer(sender) if getProcessIDFromProcessName("farcry3.exe") == nil then if getProcessIDFromProcessName("farcry3_d3d11.exe") == nil then else OpenProcess("farcry3_d3d11.exe") end else OpenProcess("farcry3.exe") end end end Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 49 минут назад, Submarina сказал: Вот так код, тоже прекрасно работает. Baracuda, ты что прикалываешься? Ну так это же тот же код, ты просто строчки про кнопки и лейблы убрал. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 (изменено) Ты это к чему, да просто убрал строчки и что. В чём я прикалываюсь. Изменено 30 июля, 2017 пользователем Submarina Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 1 минуту назад, Submarina сказал: Ты это к чему, да просто убрал строчки и что. В чём я прикалываюсь. Ну ок! По-видимому я так и не научился тебя до конца понимать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 (изменено) Я строчки убрал и проверил работало нормально, и выложил всё. Если тебе не нравится удали, какие проблемы. Проблем та нет. Изменено 30 июля, 2017 пользователем Submarina Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 1 час назад, what228 сказал: А где у него ошибка была? ( Не хочу качать с левых источников ) Извини пропустил пост, ошибка была тут: Скрытый текст OpenProcess("farcry3_d3d11") // сделал ему OpenProcess("farcry3_d3d11.exe") Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 (изменено) Ошибка не в это была, я забыл дописать, я когда проверял всё нормально было. У тебя код другой, ты сравни то что мене дал, и что мене давали What228 и MasterGH. Я конечно также плохо понимаю Lua, но те коды не работали как мене надо было. Изменено 30 июля, 2017 пользователем Submarina Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 (изменено) 26 минут назад, Submarina сказал: Ну кому то легко, а кому то тяжело, это тоже понимать надо. А ты думаешь другим легко, потому что они от рождения такие одаренные, или что? Типа родился и сразу пошел на луа/цпп/и_тд кодить, трейнеры заколачивать? Тут все - самоучки. Закаленные упорным трудом самоучки. Все брали и читали, а НЕЗНАНИЕ чего-либо наоборот должно подстегивать тебя. Берешь, открываешь доки по интересующей тебя теме и всё подробно читаешь. Потом применяешь это в своей задаче. Вбиваем в гугл: cheat engine lua Открываешь первую же ссылку - это википедия по Cheat Engine Lua. http://wiki.cheatengine.org/index.php?title=Lua В заголовке "Process" видим кучу интересных функций, одна из них: http://wiki.cheatengine.org/index.php?title=openProcess function openProcess(processname) function openProcess(processid) Думаю по названию аргументов не трудно догадаться, как вызывать эту функцию: либо отдаешь ей имя процесса, либо его ID Ну или читаешь на той же странице чуть ниже описание: processname String The processname to find and open processid integer The processID to find and open Но мы видим, что нигде не говорится про возвращаемое значение. Значит, мы не можем проверить открылся ли процесс или нет. Поэтому мысль наводит на функцию getProcessIDFromProcessName, которая, кстати, в том же заголовке "Process". Как бы далеко идти и не надо: http://wiki.cheatengine.org/index.php?title=getProcessIDFromProcessName function getProcessIDFromProcessName(processname) Описание: returns the processID. Returns nil if not found Отлично. Либо айди процесса, либо nil, если ничего не нашло. ??? С таймером ты уже знаком. Если нет, то опять же ищем его на той же странице википедии: http://wiki.cheatengine.org/index.php?title=Timer Помимо всего прочего, видим там интересный метод setEnabled. Значит таймер можно выключить после того как мы прицепимся к процессу, чтоб не работал зря. sender.setEnabled( false ) И что, это - сложно? Я никогда в жизни не писал в Cheat Engine на Lua и разобрался со всем этим за пять минут, потому что знаю что такое документация. Потому что в свое время я понял, что вечно задавать идиотские вопросы окружающим - неприлично, пора бы самому начать пытаться разобираться со своими вопросами, особенно когда ответы на них уже где-то лежат. Просто сами поймите мой баттхерт, на форуме сидят опытные люди в реверсе, которые могут помочь в этом нелегком деле, поделиться опытом и тд, потому что тут нет никаких доков. Нет, видите ли, книжек по взлому CSS или других игр. И вот эти обсуждения (по взлому) реально ценны. А что имеем в итоге? Два дня на форуме в топе висит тема по поиску процесса в Cheat Engine Lua, который гуглится за пару минут. Изменено 30 июля, 2017 пользователем uhx стилистика 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 5 минут назад, uhx сказал: Тут все - самоучки. Однако... Накатал.... Плюс (не пять плюсов - в других постах сейчас тоже накидаю.) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 30 июля, 2017 Автор Поделиться Опубликовано 30 июля, 2017 (изменено) Скажи пожалуйста uhx, а ты какие языки знаешь, и сколько лет. Изменено 30 июля, 2017 пользователем Submarina Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 Да, я понимаю, что есть совсем зеленые новички и все такое, которым и с доками тяжело совладать. Но куда интересней помогать человеку, где он описывает проделанную работу, что вот он где-то постарался, но чего-то у него не получилось, не вышло, и вот пришлось темку создать, чтобы прояснить какие-то моменты. А обычно это происходит так: вот у меня есть какой-то непонятный скопиписженный код и мне надо чтоб он работал вообще по другому. Вперед, дерзайте. Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 1 минуту назад, Submarina сказал: Скажи пожалуйста uhx, а ты какие языки знаешь, и сколько лет. Русский, немного английский и пару матерных на немецком. Возраст не скажу. 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 30 июля, 2017 Поделиться Опубликовано 30 июля, 2017 В 30.07.2017 в 16:15, uhx сказал: Русский, немного английский и пару матерных на немецком. Возраст не скажу. Тебя про ЯП спрашивали 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения