Razi Опубликовано 13 февраля, 2018 Автор Поделиться Опубликовано 13 февраля, 2018 1 час назад, Garik66 сказал: Но мы сейчас не будет с тобой писать полностью трейнер. А помнишь когда-то давно говорил, если что покажешь как разные мелочи в трейнерах делать 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 13 февраля, 2018 Поделиться Опубликовано 13 февраля, 2018 4 минуты назад, Razi сказал: А помнишь когда-то давно говорил, если что покажешь как разные мелочи в трейнерах делать Эх а я как дурак сам все искал, читал и пробовал Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 февраля, 2018 Поделиться Опубликовано 14 февраля, 2018 6 часов назад, Razi сказал: А помнишь когда-то давно говорил, если что покажешь как разные мелочи в трейнерах делать Я такого не писал - не мог, так как я не знаю LUA (как и других ЯП . Вот об этом я тебе точно писал и в ЛС и в топиках) и трейнеров не пишу (пишу таблицы), но я помогал некоторым ребятам, лазая по Гуглу и нашему форуму, когда у меня было время. Так что можешь тоже самое сделать - информации предостаточно. Я мог только написать, что нужно собрать все необходимые скрипты в одном топике - вот это мог. Я пытался такое сделать - собирал опции трейнера для таблицы СЕ на примере табличка для Ведьмака 3. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 14 февраля, 2018 Поделиться Опубликовано 14 февраля, 2018 20 часов назад, Razi сказал: 1) Запись происходит при событии OnChange. Не будет ли происходить запись дополнительно, когда в игре изменится значение в этом адресе, потому что тогда по идее сработает наше событие OnChange в CEEdit1? 2) Вообще в идеале хотелось бы сделать считку/запись также как в Artmoney. Там запись как-то реализована при выходе из поля ввода и после этого происходит сразу считывание. Смотрел в Artmoney: При входе в поле ввода (по второму клику) - считывание останавливается. При выходе происходит запись в адрес и после записи сразу считывание. Непонятно как они это реализовали и как сделать также в текстбоксе CEEdit1? 3) И выходит если таких текстбоксов CEEdit1 нужно 150 штук, тогда для каждого нужно будет писать такой код? Подсказали, нужно делать через цикл считывание? А для записи в адрес, тогда нужно отдельно писать код для каждого Editbox получается. Если Cheat Engine не важен, можно быстрее сделать такие таблицы в готовой среде разработки. Такие штуки можно сначала на Дельфи7 (или бесплатном Lazarus) сделать, потом на CE Lua переходить. А если на Дельфи понравится, то на нем можно делать трейнеры. Между прочим там есть готовые компоненты таблицы. Скрытый текст 1. В окне Lua можно ставить брейкпоинты. Провести отладку и узнать как и что работает не так. Т.е. окно Lua консоли, которое вызывается из окна отладчика CE. Там CE код можно написать, поставить бряки и выполнить. Также можно через print() логать любые участки кода. 2. Событие выхода из поля Edit есть. Его можно использовать для записи. Потом в функции тика таймера ждешь, пока значение не запишется (1 секунды к примеру), потом там же в функции таймера читаешь из памяти в визуальный компонент. 3. Если бы я делал эту задачу я бы попробовал все способы начиная от 150-ти эдитов выставленных программно, или 150 label-ов и 1-го Edita- который подставлять в место label, до радикального способа —рисования таблицы Lua скриптами. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 14 февраля, 2018 Поделиться Опубликовано 14 февраля, 2018 (изменено) 1 час назад, MasterGH сказал: 2. Событие выхода из поля Edit есть. Его можно использовать для записи. Потом в функции тика таймера ждешь, пока значение не запишется (1 секунды к примеру), потом там же в функции таймера читаешь из памяти в визуальный компонент. Оно есть но я вот не пойму ведь фокус не теряет до тех пор пока бы не войдет в другой объект ( не возьмет в фокус ). В гугле поискал но что-то не нашел как убрать фокус. Будем пытаться понимать T_T. SetFocus() - установит фокус Конечно можно просто перекидывать фокус на другой компонент но что-то не очень Изменено 14 февраля, 2018 пользователем ReWanet Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 14 февраля, 2018 Поделиться Опубликовано 14 февраля, 2018 На форуму перекинуть с edit-a не получилось через SetFocus() . Если пустая форма и Edit на ней, то у меня вышло убрать фокус так. Скрыть и показать Edit, что практически не заметно глазу. Убрать выделение текста Скрытый текст -- Событие на едит function CEEdit1Exit(sender) print("Вышел") end // Событие на внешнюю область function FormClick(sender) UDF1.CEEdit1.Visible = false UDF1.CEEdit1.Visible = true UDF1.CEEdit1.SelLength = 0 end 16 минут назад, ReWanet сказал: Конечно можно просто перекидывать фокус на другой компонент но что-то не очень Можно искать пути решения и выбрать подходящий. В самом крайнем случае это ассемблерные правки в самом CE, когда Lua код не работает как надо. В этот момент у многих может быть желание отказаться от Cheat Engine. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 14 февраля, 2018 Поделиться Опубликовано 14 февраля, 2018 1 минуту назад, MasterGH сказал: На форуму перекинуть с edit-a не получилось через SetFocus() . Я просто фокус на панель ставил ( TPanel ). 2 минуты назад, MasterGH сказал: Скрыть и показать Edit, что практически не заметно глазу. Убрать выделение текста Ну это понятно и самое первое что в голову приходит ) Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 15 февраля, 2018 Автор Поделиться Опубликовано 15 февраля, 2018 В 14.02.2018 в 04:56, Garik66 сказал: трейнеров не пишу (пишу таблицы), но я помогал некоторым ребятам, лазая по Гуглу и нашему форуму, когда у меня было время. Так что можешь тоже самое сделать - информации предостаточно. Вообще-то я пошутил. Тогда речь шла о том, что нужно было в трейнерах сделать кликабельную ссылку на gamehacklab, а тогда я говорил что ни разу не пробовал создавать трейнер, а ты сказал, что если что, поможешь с этим или научишь, не помню точно слово. А вообще по поводу трейнеров, тебе ничего не надо делать, потому что достаточно ссылки на одно из твоих видео, потому что в видео многое рассказываешь и показываешь. В общем хочу сказать, что часто гуглю или спрашиваю и если не нахожу ответов, тогда при необходимости создаю тему. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 18 февраля, 2018 Автор Поделиться Опубликовано 18 февраля, 2018 (изменено) Может знаете как менять цвет элемента PageControl? Он только белого цвета и не меняется. Даже если на него положить панель у нее тоже белый цвет и меняться не хочет. На скриншоте элемент выделен. Спойлер В 14.02.2018 в 14:31, MasterGH сказал: Если бы я делал эту задачу я бы попробовал все способы начиная от 150-ти эдитов выставленных программно, или 150 label-ов и 1-го Edita- который подставлять в место label, Попробуем пока в конструкторе элементов CE поместить эти 150 editbox'ов на форму. Изменено 18 февраля, 2018 пользователем Razi Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 18 февраля, 2018 Поделиться Опубликовано 18 февраля, 2018 41 минуту назад, Razi сказал: Может знаете как менять цвет элемента PageControl? Он вроде не меняется, но можно изменять цвет CE панели при активации той или иной вкладки. Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 18 февраля, 2018 Автор Поделиться Опубликовано 18 февраля, 2018 34 минуты назад, kiwipapayamongoose сказал: можно изменять цвет CE панели при активации той или иной вкладки. Общей панели? Или панель(и) которая(ые) находится внутри вкладок? если мы их туда предварительно положим конечно. Но, если положить панель внутри вкладки, тогда их цвет должен меняться, но не хочет. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 19 февраля, 2018 Поделиться Опубликовано 19 февраля, 2018 13 часов назад, Razi сказал: Общей панели? Общей, я не смог туда засунуть отдельные панели для каждой вкладки, может какая хитрость есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Antonshka Опубликовано 19 февраля, 2018 Поделиться Опубликовано 19 февраля, 2018 Можно на TabSheet1 положить CEPanel1, растянув её по всей площади TabSheet1, а на CEPanel1 положить CEPanel2, растянув её по всей площади CEPanel1, затем изменить цвет CEPanel2. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 19 февраля, 2018 Поделиться Опубликовано 19 февраля, 2018 12 минут назад, Antonshka сказал: Можно на TabSheet1 положить CEPanel1, растянув её по всей площади TabSheet1, а на CEPanel1 положить CEPanel2, растянув её по всей площади CEPanel1, затем изменить цвет CEPanel2. Зачем добавлять в панель еще одну панель когда можно у первой панели сменить цвет? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 19 февраля, 2018 Поделиться Опубликовано 19 февраля, 2018 17 часов назад, Razi сказал: Может знаете как менять цвет элемента PageControl? Пожалуй, это сделать не просто. Скорее всего, через ассемблерные инструкции в процессе самого CE и создание потока, чтобы выполнить их. Можно дизассемблировать этот пример с Дельфи7 и посмотреть как API вызывается в отладочном коде и попытаться сделать тоже самое ассемблерными вставками. Можно поискать примеры на Лазаре, на нем написан последний CE. Можно поискать пример просто по WinAPI. Если очень нужен визуальный стиль, то всегда есть последний вариант, о котором я писал — рисовать свою таблицу через "Canvas Class", Brush, Pen, Font, line, lineTo, rect, fillRect, textOut... Все как в стандартном рисовании на Дельфи, или Лазаре. Можно будет сделать практически любую таблицу. У меня есть пример рисования в репозитории (искать строки с "Canvas") Ссылка на комментарий Поделиться на другие сайты Поделиться
Antonshka Опубликовано 19 февраля, 2018 Поделиться Опубликовано 19 февраля, 2018 (изменено) 1 час назад, ReWanet сказал: Зачем добавлять в панель еще одну панель когда можно у первой панели сменить цвет? Такова особенность CE, при работе с TabSheet. Изменено 19 февраля, 2018 пользователем Antonshka Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 19 февраля, 2018 Поделиться Опубликовано 19 февраля, 2018 17 минут назад, Antonshka сказал: Такова особенность CE, при работе с TabSheet. Спойлер Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 20 февраля, 2018 Автор Поделиться Опубликовано 20 февраля, 2018 Цвет вкладок менять можно: добавив в середину вкладки панель, изменив ее цвет, и нажав ctrl+C и ctrl+V. Но менять цвет панели уже нельзя будет. И самое главное лейблы помещаемые на эту панель станут невидимыми. ReWanet Если панель положить не в середину вкладки, а снаружи вкладки, тогда цвет панели меняется, но панель будет находится поверх вкладок и при переключении вкладок,эта панель будет перекрывать собой все вкладки. 21 час назад, MasterGH сказал: Пожалуй, это сделать не просто. Скорее всего, через ассемблерные инструкции в процессе самого CE и создание потока, чтобы выполнить их. Можно дизассемблировать этот пример с Дельфи7 и посмотреть как API вызывается в отладочном коде и попытаться сделать тоже самое ассемблерными вставками. Это уже слишком много хлопот для того чтоб изменить только цвет. Хотя белый фон на вкладках, совсем не подходит. В 14.02.2018 в 14:31, MasterGH сказал: Если Cheat Engine не важен, можно быстрее сделать такие таблицы в готовой среде разработки. Такие штуки можно сначала на Дельфи7 (или бесплатном Lazarus) сделать, потом на CE Lua переходить. А если на Дельфи понравится, то на нем можно делать трейнеры. Между прочим там есть готовые компоненты таблицы. 21 час назад, MasterGH сказал: есть последний вариант, о котором я писал — рисовать свою таблицу через "Canvas Class", Brush, Pen, Font, line, lineTo, rect, fillRect, textOut... Все как в стандартном рисовании на Дельфи, или Лазаре. Можно будет сделать практически любую таблицу. сначала на Дельфи7 (или бесплатном Lazarus) сделать, потом на CE Lua переходить. Имеется в виду, что таблица делается в Дельфи7 (или Lazarus) , а после ее можно перенести в конструктор Cheat Engine и работать с этой таблицей? Или делать все на Дельфи7 или Lazarus? Скорей всего придется работать с PageControl так как есть, с белым фоном на весь трейнер. Пока что простого способа не видно, чтоб изменить цвет фона вкладок. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 20 февраля, 2018 Поделиться Опубликовано 20 февраля, 2018 13 минут назад, Razi сказал: Имеется в виду, что таблица делается в Дельфи7 (или Lazarus) , а после ее можно перенести в конструктор Cheat Engine и работать с этой таблицей? Или делать все на Дельфи7 или Lazarus? Не знаю, не пробовал переносить из Лазаря в CE. Вообще я имел ввиду, что много уроков есть по рисованию на Дальфи и Лазаре. Тогда на CE Lua можно понять какие функции вызывать Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 20 февраля, 2018 Автор Поделиться Опубликовано 20 февраля, 2018 (изменено) 2 часа назад, MasterGH сказал: много уроков есть по рисованию на Дальфи и Лазаре. Тогда на CE Lua можно понять какие функции вызывать Это слишком долго, нужно быстрее это сделать. Тогда можно и в Visual Studio попробовать такой трейнер сделать, хотя не знаю или на C# такое получится сделать. В принципе, написали с одним человеком программу (Код писал он, шаблоны и примеры он показал как делать, и всю рутинную работу делал я). Эта программа как раз считывает такие же данные, как нужны в трейнере, но она считывает с файла, а не из памяти. Спойлер Разобрался с тем как переключать цвет панели которые находятся в вкладках PageControl в Cheat engine. Надо использовать версию Cheat engine 6.7. Или в более старых версиях ReWanet говорит: Надо просто форму обновить и цвет сменится. Изменено 20 февраля, 2018 пользователем Razi Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 25 февраля, 2018 Автор Поделиться Опубликовано 25 февраля, 2018 В визуальном плане в конструкторе форм получается все довольно неплохо. Выглядит нормально. Думал будет намного хуже. Есть вопрос по поводу трейнера. В конструкторе форм, кинул на форму таймер (срабатывает раз в 1 секунду) и написан код на считывание в 135 editbox, код ниже. Спойлер UDF1.CETimer1.Enabled = true local addr = 0x009E8624 function CETimer1Timer(sender) for x = 1, 135 do if x < 16 then UDF1["CEEdit"..x].Text = readBytes(addr+x) elseif x < 15*2+1 then local addr = addr + 0x84 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15)) elseif x < 15*3+1 then local addr = addr + 0x84*2 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*2)) elseif x < 15*4+1 then local addr = addr + 0x84*3 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*3)) elseif x < 15*5+1 then local addr = addr + 0x84*4 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*4)) elseif x < 15*6+1 then local addr = addr + 0x84*5 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*5)) elseif x < 15*7+1 then local addr = addr + 0x84*6 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*6)) elseif x < 15*8+1 then local addr = addr + 0x84*7 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*7)) else local addr = addr + 0x84*8 UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*8)) end end end Но есть одна проблема. Через час после включения трейнер жрет 700 мб памяти и загружает процессор до 50%. (И с каждой секундой поглощение памяти увеличивается на 3 мб). Может можно что-то сделать, как-то оптимизировать код? Код написан в версии CE 6.5, может в версии 6.7 такого уже нет? В общем посоветуйте, что можно сделать? Если конечно можно. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 25 февраля, 2018 Поделиться Опубликовано 25 февраля, 2018 35 минут назад, Razi сказал: В общем посоветуйте, что можно сделать? Не использовать CE. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 25 февраля, 2018 Поделиться Опубликовано 25 февраля, 2018 1 час назад, Razi сказал: Но есть одна проблема. Не замечал, чтобы в СЕ кушапась память при чтении/записи. Приведи полностью свой код, уверен на 90 %, что ты используешь OpenProcess в функции таймера. Ссылка на комментарий Поделиться на другие сайты Поделиться
Antonshka Опубликовано 25 февраля, 2018 Поделиться Опубликовано 25 февраля, 2018 collectgarbage Спойлер http://www.lua.ru/doc/5.1.html Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 25 февраля, 2018 Автор Поделиться Опубликовано 25 февраля, 2018 2 часа назад, Garik66 сказал: Не замечал, чтобы в СЕ кушапась память при чтении/записи. Приведи полностью свой код, уверен на 90 %, что ты используешь OpenProcess в функции таймера. Выложу весь трейнер. В трейнере на форму брошен таймер, может лучше в коде создавать таймер? Скорей всего может ошибка где-то, потому что CE начинает зависать немного, при работе трейнера. Спойлер http://rgho.st/8mqXwZWsk Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения