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

Лидеры

Популярный контент

Показан контент с высокой репутацией 14.08.2014 во всех областях

  1. Как таковых обработчиков для этого элемента написать нельзя, так написано в справке. Но можно дополнять то что создал 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(в качестве подопытного был калькулятор)))) Хоть и собрано "на коленке", зато работает)
    1 балл
  2. /*---------------------------------------------------------------------------*/
    1 балл
  3. /*---------------------------------------------------------------------------*/ Привет! Есть две функции - [WriteProcessMemory] и [ReadProcessMemory]. Первая, значит, пишет в память, а вторая её читает. В аргументах разобраться достаточно просто, нужен хэндл целевого процесса, откуда читать\писать будешь, адрес (адресного пространства процесса), куда будешь писать\читать, буфер, что писать или в который читать, да и всё, в общем-то. Как найти хэндл процесса я объяснять сейчас не буду, это ещё проще. Поясню немного разве что про чтение указателей. Допустим, тебе нужно прочитать указатель (возьму твой пример): 1. Читаешь "CPed + B6F5C0", получаешь DWORD (4 байта, адрес). 2. Прибавляешь к нему 0x30, т.е. смещение. 3. Читаешь ещё раз получившееся, опять получаешь DWORD. 4. Когда смещения кончились, ты прочитал уже значение - приводишь его к нужному типу. Т.е. прочитал адрес, прибавил смещение, прочитал, прибавил следующее, прочитал и так далее, пока не прочитал уже само значение указателя. Примеры есть на форуме (на плюсах - от [Coder], на шарпе можно у меня поискать (ссылка в подписи или в местном разделе видео). Как-то так. /*---------------------------------------------------------------------------*/
    1 балл
  4. /*---------------------------------------------------------------------------*/ Надо внимательнее писать код. Буковка "u" означает "unsigned", с английского - беззнаковый. IntPtr - Integer Pointer - знаковый указатель, UIntPtr - Unsigned Integer Pointer - беззнаковый указатель. WriteProcessMemory от тебя требует IntPtr, а ты перепутал буковку. Если не уверен, то всякий раз сверяйся с [pinvoke.net]. В частности, там я и брал все описания функций для своих видеоуроков. PS: 1001-е сообщение на форуме, уии! /*---------------------------------------------------------------------------*/
    1 балл
  5. Переписал проще. Заполни в 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) На визуальный редактор забил сразу же, как выучил функции из main.lua)
    1 балл
×
×
  • Создать...

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

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