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

Как подключить функции из CE Таблицы, к форме UDF1


Submarina

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

Кто ни будь знает, какой файл отвечает за дизайн формы, и всех кнопок, в исходном коде Cheat Engine.

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

Я тебя не понял, Выложи откомпилированный вариант, и будем смотреть чего  

и что такое, Как вариант - design.

Выложить откомпилированный вариант чего, не понял. 

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

На выходе(когда трейнер будет собран) должно получится несколько файлов и как правило есть файл с название Design, в котором находятся настройки обьектов.

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

Не это не то я наверно не так объяснил, вот скачиваешь исходный код Cheat Engine, и прежде чем его собрать, койкой файл отвечает за кнопки дизайна самого трейнеоа.

Или ты имел виду, что ещё в не собранной Cheat Engine, именно этот файл  Design, отвечает за все кнопки размеры их я так понял.

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

Я имел в виду что когда программа будет собрана, то должно быть несколько файлов и один из них должен быть файлов Дизайна этой программы.Если есть исходный код самого СEngine и ты хочешь на уровне движка изменить настройки, то тут нужно сидеть и разбираться чт ок чему.  

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

В 17.11.2016в09:17, saiberpro сказал:

Выложи откомпилированный вариант, и будем смотреть. Как вариант - design.

А ты уверен что именно в этом файле, можно отредактировать кнопки на CETrainer на форме

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

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

Хотел отредактировать функция или кнопку как правильно CHEAT0, которая появляется когда добавляешь хоткей. 

CHEAT0 - это не кнопка, а своего рода лейбл (думаю что он относится к классу CheatComponent), у него отличается окно от лейбла. Как вручную добавить новый CHEAT я так и не разобрался (пытался это сделать давно, ещё в самом начале карьеры взломщика :D, не помогли ни гугл, ни main LUA ).

 

А что именно ты хотел сделать с CHEAT0?

Собственно автогеренируемый LUA-скрипт, который относится к CHEAT такой:

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

addresslist=getAddressList()
memrec1=addresslist.getMemoryRecordByID(1)

memrec1_hotkey0=memrec1.getHotkeyByID(0)

function onPostHotkey0(Hotkey)
  --Executed after the "toggle*" cheat got executed
  local memrec=Hotkey.Owner
  local isActive=memrec.Active --get the state after the hotkey got triggered
  CETrainer.CHEAT0.setActive(isActive) --gui update, nothing else
  if gPlaySoundOnAction then
    if isActive then
      playSound(gActivateSound)
    else
      playSound(gDeactivateSound)
    end
  end
end

memrec1_hotkey0.onPostHotkey=onPostHotkey0

 

Как видишь звуки де/активации, привязка к читу в таблице (по ID) в этом скрипте, а остальное:    

Цвет при активации, горячую клавишу можно отредактировать в окне редактора форм Object Inspector. 

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

Привет Игорь, я хотел отредактировать это лейб CHEAT0, когда добавляешь этот лейб на CETrainer панель, то расстояние между функциями точней лайбами нельзя сделать маленьким, вот я и хотел найти и отредактировать, что бы лайб CHEAT0 и CHEAT1 можно было близко друг другу двигать, а так получается расстояние между ними огромное.  

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

7 минут назад, Submarinа сказал:

Привет Игорь, я хотел отредактировать это лейб CHEAT0, когда добавляешь этот лейб на панель, то расстояние между функциями точней лайбами нельзя сделать маленьким, вот я и хотел найти и отредактировать, что бы лайб CHEAT0 и CHEAT1 можно было близко друг другу двигать, а так получается расстояние между ними огромное.  

Всё прекрасно редактируется в окне Object Inspector - поиграй на вкладке Properties c Top, Left и т.д.

 

Зы: не забудь выделить объект CHEAT на трейнере.

 

Зы1: Да вспомнил - на каком то видео, как раз для тебя, я кажется как раз менял размеры CHEAT и расстояния м/у ними.

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

1 минуту назад, Submarinа сказал:

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

 

3 минуты назад, Garik66 сказал:

Зы1: Да вспомнил - на каком то видео, как раз для тебя, я кажется как раз менял размеры CHEAT и расстояния м/у ними.

 

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

4 минуты назад, Garik66 сказал:

на каком то видео

Если не найдёшь видео, завтра (на выходных, сегодня у меня р.д.) запишу ещё одно короткое видео.

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

21 минуты назад, Submarinа сказал:

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

В таком виде пойдёт:

12269748.jpg

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

Только что, Submarinа сказал:

Не расстояние слишком большое.

Меньше, чем размер самого объекта лейбл, а не шрифта надписи, сделать нельзя. 

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

Ближе их пододвинуть вообще нельзя друг другу получается, и это плохо.

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

LUA-скрипт:

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

function ActiveCheat(CheatNumber)
table=getAddressList()
memory_record1=addresslist_getMemoryRecord(table,CheatNumber) --Get Cheat
IsActive=memoryrecord_isActive(memory_record1)
if IsActive then--Deactive trainer
memoryrecord_unfreeze(memory_record1)
isactive2=memoryrecord_isActive(memory_record1)
if IsActive ~= isactive2
then
return 1
else
beep()
end
else
memoryrecord_freeze(memory_record1)
isactive2=memoryrecord_isActive(memory_record1)
if IsActive ~= isactive2
then
return 2
else
beep()
end
end
end

function ActiveTrainer(CheatNumber)
table=getAddressList()
memory_record1=addresslist_getMemoryRecord(table,CheatNumber)
IsActive=memoryrecord_isActive(memory_record1)
if IsActive then--Deactive trainer
memoryrecord_unfreeze(memory_record1)
isactive2=memoryrecord_isActive(memory_record1)
if IsActive ~= isactive2
then
active1(isactive2)
return 1
else
beep()
end
else
memoryrecord_freeze(memory_record1)
isactive2=memoryrecord_isActive(memory_record1)
if IsActive ~= isactive2
then
active1(isactive2)
return 2
else
beep()
end
end
end

function ActiveEntry0()
returnvalue=0 --cheatnumber
returnvalue =ActiveCheat(returnvalue)
if returnvalue==nil then return 0 end
if returnvalue==1 then UDF1.CELabel1.Font.Color=0x0008000
PlaySound(findTableFile([[Deactivate]])) end
if returnvalue==2 then UDF1.CELabel1.Font.Color=0x00000ff
PlaySound(findTableFile([[Activate]])) end
end

createHotkey(ActiveEntry0,VK_NUMPAD1)--hotkey



table=getAddressList()
memory_record1=addresslist_getMemoryRecord(table,0)
data=memoryrecord_getDescription(memory_record1)
control_setCaption(UDF1_CELabel1,data)

 

Видео:

 

 

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

18 минуту назад, AntonVit сказал:

Какой мудреный скрипт у тебя Гарик получился. Даже return задействовал.

Это не мой. Мне дал его Baracuda, ему дал LIRW, а он взял скорее всего его у  MrAntiFun, либо на СЕ-ном форуме.

У скрипта удобство - не нужно обзывать лейблы, если куча опций и название и номер скрипта берутся из Вашей готовой таблицы, дописывать при добавлении опции нужно минимум, вот сюда:

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

function ActiveEntry0()                                   // 1 опция
returnvalue=0 --cheatnumber
returnvalue =ActiveCheat(returnvalue)
if returnvalue==nil then return 0 end
if returnvalue==1 then UDF1.CELabel1.Font.Color=0x0008000
PlaySound(findTableFile([[Deactivate]])) end
if returnvalue==2 then UDF1.CELabel1.Font.Color=0x00000ff
PlaySound(findTableFile([[Activate]])) end
end

createHotkey(ActiveEntry0,VK_NUMPAD1)--hotkey

function ActiveEntry1()                                   // 2 опция   
returnvalue=0 --cheatnumber
returnvalue =ActiveCheat(returnvalue)
if returnvalue==nil then return 0 end
if returnvalue==1 then UDF1.CELabel2.Font.Color=0x0008000
PlaySound(findTableFile([[Deactivate]])) end
if returnvalue==2 then UDF1.CELabel2.Font.Color=0x00000ff
PlaySound(findTableFile([[Activate]])) end
end

createHotkey(ActiveEntry1,VK_NUMPAD2)--hotkey

                                                          // и т.д.

table=getAddressList()
memory_record1=addresslist_getMemoryRecord(table,0)       // 1 опция
data=memoryrecord_getDescription(memory_record1)
control_setCaption(UDF1_CELabel1,data)
memory_record1=addresslist_getMemoryRecord(table,1)       // 2 опция
data=memoryrecord_getDescription(memory_record1)
control_setCaption(UDF1_CELabel2,data)
                                                          // и т.д. 

 

 

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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

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

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