LIRW Опубликовано 13 июня, 2015 Поделиться Опубликовано 13 июня, 2015 Всем добрый день, вечер. Сразу к делу - вот на пример я сделал трейнер на СЕ со своим дизайном, назначил клавиши для активации той или иной опции,а как сделать - что бы эта опция загорелась каким либо цветом при её активации ??? Вот на пример в стандартно генерируемом трейнере они горят красным при активации,а как сделать что бы они горели на пользовательском интерфейсе??? Вот скрипт lua но он явно не просто так вешается на форму, надо наверное в лебелах что то указывать - не просто же так повесил и всё работает... В скрипте указанном ниже - явно активация самого трейнера,а ниже и самой опции... Но суть одинакова. Показать контент function ActiveCheat(CheatNumber)table=getAddressList()memory_record1=addresslist_getMemoryRecord(table,CheatNumber) --Get CheatIsActive=memoryrecord_isActive(memory_record1) -- Check if it is activeif IsActive then--Deactive trainermemoryrecord_unfreeze(memory_record1)isactive2=memoryrecord_isActive(memory_record1)if IsActive ~= isactive2thenactive2(isactive2)return 1elsebeep()endelsememoryrecord_freeze(memory_record1)isactive2=memoryrecord_isActive(memory_record1)if IsActive ~= isactive2thenactive2(isactive2)return 2elsebeep()endendend----------------------------------------------------------function ActiveTrainer(CheatNumber)table=getAddressList()memory_record1=addresslist_getMemoryRecord(table,CheatNumber) --Get CheatIsActive=memoryrecord_isActive(memory_record1) -- Check if it is activeif IsActive then--Deactive trainermemoryrecord_unfreeze(memory_record1)isactive2=memoryrecord_isActive(memory_record1)if IsActive ~= isactive2thenactive1(isactive2)return 1elsebeep()endelsememoryrecord_freeze(memory_record1)isactive2=memoryrecord_isActive(memory_record1)if IsActive ~= isactive2thenactive1(isactive2)return 2elsebeep()endendend-------------------------------------------------------------------------function ActiveEntry0()--cheat holderreturnvalue=0 --cheatnumberreturnvalue =ActiveTrainer(returnvalue)if returnvalue==nil then return 0 endif returnvalue==1 then CETrainer.CELabel1.Font.Color=0xFFFFFF endif returnvalue==2 then CETrainer.CELabel1.Font.Color=0x00ff endend Ссылка на комментарий Поделиться на другие сайты Поделиться
STAVROS Опубликовано 13 июня, 2015 Поделиться Опубликовано 13 июня, 2015 к Dison обратись он в этом мастер..... Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 13 июня, 2015 Автор Поделиться Опубликовано 13 июня, 2015 В 13.06.2015 в 13:56, STAVROS сказал: к Dison обратись он в этом мастер.....Что то я не одного трейнера от него не видал....щас может сам разберусь... Панель понял как двигать,а то у мня не передвигалась ранее...(сама форма) вот осталось найти активацию эту.... Ссылка на комментарий Поделиться на другие сайты Поделиться
STAVROS Опубликовано 13 июня, 2015 Поделиться Опубликовано 13 июня, 2015 в личку смотри. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 13 июня, 2015 Автор Поделиться Опубликовано 13 июня, 2015 (изменено) В 13.06.2015 в 14:14, STAVROS сказал: в личку смотри.Посмотрел уже... ответил. Я его трейнерами не пользовался и не знаю активируются они или нет под цвет и игры нету не одной из трейнеров... Щас напишу ему. Изменено 13 июня, 2015 пользователем LIRW Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 14 июня, 2015 Поделиться Опубликовано 14 июня, 2015 TestTr2.CT Показать контент 1. Пользовательская форма через визуальный конструктор2. Форма, два чекбокса. Все с именами по умолчанию3. Трейнер создается через меню в главном окне "Save as". Выбрать Trainer exe. Появится диалог и сгенерировать в нем. Трейнер собирался для CE 6.4 и проверялся. Работает. Размер у него довольно большой около 4мб4. Подключения к процессу нет, делать отдельно5. Для новых чекбоксов придется менять или дописывать6. В таблице было две записи, при активации или деакцивации которых появляется сообщение в консоли<?xml version="1.0" encoding="utf-8"?><CheatTable CheatEngineTableVersion="18"> <Forms> <UDF1 Class="TCEForm" Encoding="Ascii85">lVW6G2nldAU:MM2b.}cxWeIh0Gi32eO*FuxWMuP5%{mcIVgA6t9Fkwa6v7(wnNpI$=7,zGoLEqjnV-i7R=g#]lbM:V0$0op.lmY(Wfo@9/*m@la04xI(PYwpcFM2dhBA{#D/JkU#X[xP5)L^O2eFMQ3}m^,7LJg[B;$q6*FLJZ23,PEVKvthpSeZ_bAbWF000</UDF1> </Forms> <CheatEntries> <CheatEntry> <ID>0</ID> <Description>"Cheat1 Test Script"</Description> <LastState Activated="0"/> <Color>80000008</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE]luacall(print("Cheat1 On")) [DISABLE]luacall(print("Cheat1 Off"))</AssemblerScript> </CheatEntry> <CheatEntry> <ID>1</ID> <Description>"Cheat2 Test Script"</Description> <LastState Activated="0"/> <Color>80000008</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE]luacall(print("Cheat2 On")) [DISABLE]luacall(print("Cheat2 Off"))</AssemblerScript> </CheatEntry> <CheatEntry> <ID>3</ID> <Description>"Auto Assemble script"</Description> <LastState Activated="0"/> <Color>80000008</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE]luacall(print("Cheat5 On"))[DISABLE]luacall(print("Cheat5 On"))</AssemblerScript> </CheatEntry> </CheatEntries> <UserdefinedSymbols/> <LuaScript>-- Этап1. Связывание кликов чекбоксов с активацией или деактиваций -- Клик по чекбоксу1 активирует или деактивирует скрипт1 function OnClickCheckBox1() tableAddress = getAddressList() if(tableAddress[0].Active) then tableAddress[0].Active = false else tableAddress[0].Active = true end end -- Клик по чекбоксу2 активирует или деактивирует скрипт2 function OnClickCheckBox2() tableAddress = getAddressList() if(tableAddress[1].Active) then tableAddress[1].Active = false else tableAddress[1].Active = true end end -- Связывание кликов с функциями UDF1.CECheckbox1.OnClick = OnClickCheckBox1 UDF1.CECheckbox2.OnClick = OnClickCheckBox2-- Этап2. Чтение состояний активации и деактивации и связывание их с чекбоксами -- Смена состояни и цвета текста чекбоксов function StateCheckBox(checkBox, state) if(state) then checkBox.Font.Color = 0x000000ff else checkBox.Font.Color = 0x00000000 end checkBox.Checked = state end -- Функция обновления состояний function OnTimerUpdateGUI() if(isActive0 ~= tableAddress[0].Active) then isActive0 = tableAddress[0].Active StateCheckBox(UDF1.CECheckbox1,isActive0) end if(isActive1 ~= tableAddress[1].Active) then isActive1 = tableAddress[1].Active StateCheckBox(UDF1.CECheckbox2,isActive1) end end -- Переменные прошлых состояний, которые будут сравниваться с новыми в OnTimerUpdateGUI tableAddress = getAddressList() isActive0 = tableAddress[0].Active isActive1 = tableAddress[1].Active -- Таймер проверки timerGUI = createTimer(UDF1, false) timerGUI.Interval = 300 timerGUI.OnTimer = OnTimerUpdateGUI timerGUI.Enabled = true-- Этап3. Показываем, закрываем пользовательскую форму с заранее расположенными на ней чекбоками (с именами по умолчанию) function onCloseClick(sender) closeCE() return caFree end UDF1.OnClose = onCloseClick UDF1.Show()</LuaScript></CheatTable> 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 14 июня, 2015 Автор Поделиться Опубликовано 14 июня, 2015 (изменено) В 14.06.2015 в 00:59, MasterGH сказал: checkBoxExample.png TestTr2.CT Показать контент 1. Пользовательская форма через визуальный конструктор2. Форма, два чекбокса. Все с именами по умолчанию3. Трейнер создается через меню в главном окне "Save as". Выбрать Trainer exe. Появится диалог и сгенерировать в нем. Трейнер собирался для CE 6.4 и проверялся. Работает. Размер у него довольно большой около 4мб4. Подключения к процессу нет, делать отдельно5. Для новых чекбоксов придется менять или дописывать6. В таблице было две записи, при активации или деакцивации которых появляется сообщение в консолиКстати мастер - на счет размера.. Вчера попробовал другой упаковщик - не сешный, а вот этот Nspack3.7 и выиграшь в сжатии аж полтора мегабайта То есть создаёшь трейнер, и делаешь его без сжатия и упаковываешь другим упаковщиком... Какой не какой,а выиграшь всё же полтора мегабайта... Вот я трейнер на евро трек симулятор упаковал им - 3 мига получилось - иконка там больно большого размера была.В общем разобрался я как сделать - правда это не совсем как надо... Это вместе с панелью приходится делать и свою картинку не вставить. Щас покажу что получилось у меня - в трейнере забыл указать процесс игры на определение(игра включена или нету) скрипт то вписал,а процесс игры не указал там в нем... Ну это тест и как бы сойдет... И звуки перепутал активация и деактивация на первый раз сойдет,потом уже учту всё это... Ну и проблем конечно прибавилось делать трейнер вот таким способом,можно что то забыть или хоть в чем то ошибся - весь дизайн пропадет. Да и ещо забыл в трейнере указать - что на деактивацию чита, шрифт не черный по дефолту,а белый и по этому он пропадает... Это всё потом реализую. Показать контент Сам разобрался как сделать раза с третьего получилось... В форме проблема просто была привязкой. Мастер,а на счет чекбокса - спасибо за ответ, но вот так вот и оставлю как есть - мне главное активация была нужна для людей,что бы видели что активирована опция и не жали по 50 раз её. Трейнер на пустом дизайне в видео,но картинку вставить лебелы прописать и норм.. Можно закрывать тему. Всем спасибо за отзыв Показать контент <?xml version="1.0" encoding="utf-8"?><CheatTable CheatEngineTableVersion="18"> <Forms> <UDF1 Class="TCEForm" Encoding="Ascii85">lVW6G2nldAU:MM2b.}cxWeIh0Gi32eO*FuxWMuP5%{mcIVgA6t9Fkwa6v7(wnNpI$=7,zGoLEqjnV-i7R=g#]lbM:V0$0op.lmY(Wfo@9/*m@la04xI(PYwpcFM2dhBA{#D/JkU#X[xP5)L^O2eFMQ3}m^,7LJg[B;$q6*FLJZ23,PEVKvthpSeZ_bAbWF000</UDF1> </Forms> <CheatEntries> <CheatEntry> <ID>0</ID> <Description>"Cheat1 Test Script"</Description> <LastState Activated="0"/> <Color>80000008</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE]luacall(print("Cheat1 On")) [DISABLE]luacall(print("Cheat1 Off"))</AssemblerScript> </CheatEntry> <CheatEntry> <ID>1</ID> <Description>"Cheat2 Test Script"</Description> <LastState Activated="0"/> <Color>80000008</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE]luacall(print("Cheat2 On")) [DISABLE]luacall(print("Cheat2 Off"))</AssemblerScript> </CheatEntry> <CheatEntry> <ID>3</ID> <Description>"Auto Assemble script"</Description> <LastState Activated="0"/> <Color>80000008</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE]luacall(print("Cheat5 On"))[DISABLE]luacall(print("Cheat5 On"))</AssemblerScript> </CheatEntry> </CheatEntries> <UserdefinedSymbols/> <LuaScript>-- Этап1. Связывание кликов чекбоксов с активацией или деактиваций -- Клик по чекбоксу1 активирует или деактивирует скрипт1 function OnClickCheckBox1() tableAddress = getAddressList() if(tableAddress[0].Active) then tableAddress[0].Active = false else tableAddress[0].Active = true end end -- Клик по чекбоксу2 активирует или деактивирует скрипт2 function OnClickCheckBox2() tableAddress = getAddressList() if(tableAddress[1].Active) then tableAddress[1].Active = false else tableAddress[1].Active = true end end -- Связывание кликов с функциями UDF1.CECheckbox1.OnClick = OnClickCheckBox1 UDF1.CECheckbox2.OnClick = OnClickCheckBox2-- Этап2. Чтение состояний активации и деактивации и связывание их с чекбоксами -- Смена состояни и цвета текста чекбоксов function StateCheckBox(checkBox, state) if(state) then checkBox.Font.Color = 0x000000ff else checkBox.Font.Color = 0x00000000 end checkBox.Checked = state end -- Функция обновления состояний function OnTimerUpdateGUI() if(isActive0 ~= tableAddress[0].Active) then isActive0 = tableAddress[0].Active StateCheckBox(UDF1.CECheckbox1,isActive0) end if(isActive1 ~= tableAddress[1].Active) then isActive1 = tableAddress[1].Active StateCheckBox(UDF1.CECheckbox2,isActive1) end end -- Переменные прошлых состояний, которые будут сравниваться с новыми в OnTimerUpdateGUI tableAddress = getAddressList() isActive0 = tableAddress[0].Active isActive1 = tableAddress[1].Active -- Таймер проверки timerGUI = createTimer(UDF1, false) timerGUI.Interval = 300 timerGUI.OnTimer = OnTimerUpdateGUI timerGUI.Enabled = true-- Этап3. Показываем, закрываем пользовательскую форму с заранее расположенными на ней чекбоками (с именами по умолчанию) function onCloseClick(sender) closeCE() return caFree end UDF1.OnClose = onCloseClick UDF1.Show()</LuaScript></CheatTable> Изменено 14 июня, 2015 пользователем LIRW 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 14 июня, 2015 Поделиться Опубликовано 14 июня, 2015 Не думаешь попробовать C++ и WinAPI, ну или хотя бы Дельфи или даже C# (или что-то другое). Просто на CE трейнер в 4 МБ или 3 МБ что-то как-то много, даже нет, очень много Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 14 июня, 2015 Автор Поделиться Опубликовано 14 июня, 2015 (изменено) В 14.06.2015 в 09:21, MasterGH сказал: Не думаешь попробовать C++ и WinAPI, ну или хотя бы Дельфи или даже C# (или что-то другое). Просто на CE трейнеры 4 МБ трейнер или 3 МБ что-то как-то много, даже нет, очень много Я пробовал мастер с# там слишком долго - хотя пока этот дизайн делаешь, так же по времени выходит. Мастер ну 3 мига это + песня в полтора мегабайта - а если песню повесить маленькую,то и размер можно ужать до полтора мегабайта упаковщиком другим естественно.. По тихоньку и на другом языке попробую не всё сразу. Изменено 14 июня, 2015 пользователем LIRW Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения