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

Функция в трейнере CEEdit


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

Всем привет! Как сделать в трейнере поле edit чтобы можно было ввести любое число и оно активтровалось в игре. Допустим мне нужно 100 патронов я ввел в поле и чтобы в игре это число отображалось и появилось 100 патронов. Надеюсь доступно объяснил. Надеюсь на вашу помощь....

Всем привет! Как сделать в трейнере поле edit чтобы можно было ввести любое число и оно активтровалось в игре. Допустим мне нужно 100 патронов я ввел в поле и чтобы в игре это число отображалось и появилось 100 патронов. Надеюсь доступно объяснил. Надеюсь на вашу помощь....

P.S. - какой должен быть скрипт, как его написать.

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

Всем привет! Как сделать в трейнере поле edit чтобы можно было ввести любое число и оно активтровалось в игре. Допустим мне нужно 100 патронов я ввел в поле и чтобы в игре это число отображалось и появилось 100 патронов. Надеюсь доступно объяснил. Надеюсь на вашу помощь....

Что-то похожее написал Vlad2 здесь. Допилишь под свои цели чуток)

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

Можно ведь и попроще написать к чему такая сложность? Есть еще какие нибудь варианты?

Но всеравно тебе спс от меня....

Вот добавил я чит на форму, если посмотреть слева в настройках можно включить как чекбокс так и cedit. Как вот прописать туда значение и чтобы оно работало...

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

Можно ведь и попроще написать к чему такая сложность? Есть еще какие нибудь варианты?

Но всеравно тебе спс от меня....

Переписал проще. Заполни в 3 местах: название процесса и адрес с патронами 2 раза и будет тебе счастье)


Form = createForm(true)
Btn1 = createButton(Form)
Edit1 = createEdit(Form)

control_setCaption(Form, 'trainer')
control_setCaption(Edit1, '')
control_setCaption(Btn1, 'Write')

control_setPosition(Btn1, 50, 40)
control_setPosition(Edit1, 50, 5)
control_setSize(Form, 180, 80)
openProcess(--[["название процесса"]]--)
form_centerScreen(Form)
function Save()
ammo = control_getCaption(Edit1)
check = readInteger(--здесь пишем адрес в виде'[[006313a0]+4b8]+4'
)
if (check ~= nil) then
writeFloat(--здесь пишем адрес в виде'[[006313a0]+4b8]+4'
, ammo)
else
messageDialog('Не найден процесс или неверная цепочка указателей!', 1, 2)
end
end
function CloseTrainer()
--closeCE()
return caFree
end
form_onClose(Form, CloseTrainer)
control_onClick(Btn1, Save)
form_show(Form)

Вот добавил я чит на форму, если посмотреть слева в настройках можно включить как чекбокс так и cedit. Как вот прописать туда значение и чтобы оно работало...

На визуальный редактор забил сразу же, как выучил функции из main.lua)

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

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

Да кстате а как событие объявлять, что прописать нужно?

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

Да кстате а как событие объявлять, что прописать нужно?

В главном окне CE: меню Table->Show cheat Table lua script(или Ctrl+Alt+L) туда скопируй скрипт, заполни что я сказал и выполни. Появится формочка с полем, кнопкой и событием привязанным к ней.

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

Как таковых обработчиков для этого элемента написать нельзя, так написано в справке. Но можно дополнять то что создал CE автоматически.

С самого начала.

Открываем CE и присоединяемся к процессу.

Добавляем пустой адрес в таблицу: Add address manually, OK.

File->Generate generic...

Add Hotkey. Предложит нам единственный пустой адрес. Забиваем комбинацию клавиш, эффект и описание.

Добавили, теперь перейдём к визуальному редактору и добавим для нашего чит-элемента editbox.

Теперь обязательно надо сохранить всё это дело в виде CT. В окошке Trainer generator выбираем тип CT и генерить трейнер.

После этого активируем главное окно CE и жмём Ctrl+Alt+L. Появится скрипт формы с настройками чит-элемента на lua.

Нас интересует строка


cheatcomponent_setActive(CETrainer_CHEAT0, isActive)

CETrainer_CHEAT0 - это имя элемента. Чтобы получить доступ к его эдитбоксу лезем в справку и видим свойство


Editvalue:string - The string of the optional edit field

Тогда пишем на следующей строке например так

writeInteger(0x037CF898, CETrainer_CHEAT0.EditValue)

Я писал введённое значение из эдитбокса по адресу 0x037CF898(в качестве подопытного был калькулятор))))

01a1a9d9a8ec4721ef7edf3a85b485b8.png

Хоть и собрано "на коленке", зато работает)

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

Спасибо за инфу я бы поставил плюс но не могу почему-то.

Я конечно попробую потом отпишусь


TRAINERGENERATORSTART--
--This is autogenerated code. Changing code in this block will
--get erased and rewritten if you regenerate the trainer code
--Uncomment the following line if this is a Cheat Table format trainer and you don't want CE to show (Tip, save as .CETRAINER alternatively)
--hideAllCEWindows()
RequiredCEVersion=6.4
if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) then
messageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK)
closeCE()
end
addresslist=getAddressList()
memrec9=addresslist.getMemoryRecordByID(9)
memrec106=addresslist.getMemoryRecordByID(106)
memrec13=addresslist.getMemoryRecordByID(13)
memrec9_hotkey0=memrec9.getHotkeyByID(0)
memrec106_hotkey0=memrec106.getHotkeyByID(0)
memrec13_hotkey0=memrec13.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
memrec9_hotkey0.onPostHotkey=onPostHotkey0
function onPostHotkey1(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.CHEAT1.setActive(isActive) --gui update, nothing else
if gPlaySoundOnAction then
if isActive then
playSound(gActivateSound)
else
playSound(gDeactivateSound)
end
end
end
memrec106_hotkey0.onPostHotkey=onPostHotkey1
function onHotkey2(Hotkey)
--Executed before the hotkey is handled
local memrec=Hotkey.Owner
memrec.Value=CETrainer.CHEAT2.Editvalue
writeInteger(0x047415D0, CETrainer_CHEAT0.EditValue)
CETrainer.CHEAT2.setActive(true, 1500)
if gPlaySoundOnAction then
playSound(gActivateSound)
end
end
memrec13_hotkey0.onHotkey=onHotkey2
CETrainer.SEPERATOR.Visible=false
getAutoAttachList().add("Game.exe")
gPlaySoundOnAction=false
CETrainer.show()
function AboutClick()
showMessage(gAboutText)
end
gAboutText=[[This trainer was made by Cheat Engine
www.cheatengine.org]]
function CloseClick()
--called by the close button onClick event, and when closing the form
closeCE()
return caFree --onClick doesn't care, but onClose would like a result
end
--TRAINERGENERATORSTOP--

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

Откуда ее убрать, где ее искать?

В окошке на скрине написано 11111111111, убери одну 1111111111

тогда попробуй так


writeInteger(0x047415D0, tonumber(CETrainer_CHEAT2.EditValue))

Если не поможет, то первые два хоткея работают?

У меня lua распознавал и переводил текст из окна в число

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

В окошке на скрине написано 11111111111, убери одну 1111111111

тогда попробуй так


writeInteger(0x047415D0, tonumber(CETrainer_CHEAT2.EditValue))

Если не поможет, то первые два хоткея работают?

У меня lua распознавал и переводил текст из окна в число

Сдесь надо что делать?

2014081422_3542539_13413862.png

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

Сдесь надо что делать?

2014081422_3542539_13413862.png

Абсолютно без разницы, ведь скрипт никакой не присоединяется. Я ставил Toggle Freeze. Мы пишем его в тело сами.

Если совсем плохо, кинь в личку я посмотрю.

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

Абсолютно без разницы, ведь скрипт никакой не присоединяется. Я ставил Toggle Freeze. Мы пишем его в тело сами.

Если совсем плохо, кинь в личку я посмотрю.

Там видешь какая суть скрипт активирует трейнер и функцию с поинтерами

Т.Е. Активируешь скрипт далее доступны поинтеры

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

Там видешь какая суть скрипт активирует трейнер и функцию с поинтерами

Т.Е. Активируешь скрипт далее доступны поинтеры

Скрипт будь он на луа или автоассемблере тоже можно подсадить в то же место.

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

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

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

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