SER[G]ANT Опубликовано 4 июня, 2013 Поделиться Опубликовано 4 июня, 2013 Имеется инструкция, которая работает с предметами, находящимися в слотах инвентаря.Нашёл ID всех интересующих предметов.Скрипт будет выглядеть примерно так:mov eax, [ItemID]mov [ecx+123],eaxМеняя значение "ItemID", мы будем получать нужный нам предмет. И вот тут проблема, если делать стандартно, то опций будет слишком много.Пришёл к выводу, что нужно делать через Combobox. Где будут указаны все предметы и значение "ItemID" будет изменяться при выборе предмета.И вот тут возникла вторая проблема - как?С LUA я не дружу, а без его использования Мне не удалось это сделать в генераторе трейнера.Помогите, кто чем может =) Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 4 июня, 2013 Поделиться Опубликовано 4 июня, 2013 Пиши на C++ гораздо лучше выйдет ИМХО.Ну, а если с плюсами не дружишь, пиши на C# ИМХО.Чтобы подружить побольше с LUA, предлагаю почитать - http://forum.cheaten...forum.php?f=125Работа с combobox:http://forum.cheaten...d73e474f1db3c8ehttp://forum.cheaten...25481987892880c Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 5 июня, 2013 Поделиться Опубликовано 5 июня, 2013 Мне будет проще помочь, если будут некоторые материалы и информация1. Версия CE (наверно это 6.2?) и формат сохранения трйнера (*.exe, *.CETRAINER, *.CT)2. Сейчас это тренер генерирумый по умолчанию или с своим интерфейсом? Предполагаю, что первое и спрашиваю на всякий случай.3. Готовый Трейнер (в том числе, который обычно делается как *.exe) со всеми опциями читов и хоткеев сохранить в формат .CETRAINER без шифрования. Опции можно сделать с пустыми AA-скриптами. Мне главное понять как спозиционировать CoboBox относительно этих опций и на скриншоте, и в текущем .CETRAINER4. Один скриншот с думя окнами. На первом окно трейнера, на втором схематично должно быть отображено рамкой где должен находится ComboBox и его примерный размер. Если комбокс не влазит и размер формы при этом нужно увеличить или раздвинуть другие компоненты, то примерно указать рамкой новый размер и если будут новые положения других визуальных компонентво, то отдельными рамками отобразить их новые положения. Надпись напротив ComboBox тоже указать рамкой.Пункты 3-4 можно спрятать в архив и опубликовать здесь или мне через личное сообщение.Осталось:1. Понять правильные создание, позиционирование, размер CoboBox-а по содержимому .CETRAINER, а также изменить позиционирование других визуальных элементов.2. Понять что и как сделать удобнее, чтобы меньше требовалось движений и кодописания.3. Стадия проверки Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 5 июня, 2013 Автор Поделиться Опубликовано 5 июня, 2013 Привет.1) Версия 6.3 или 6.2, не важно. Формат .CETRAINER, хотя можно и любой другой 2) Не по умолчанию, но стандартные элементы.3, 4) Ну а тут, мне не нужно "всё готовенькое". Просто небольшой примерчик, ну а дальше я как-нибудь сам. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 5 июня, 2013 Поделиться Опубликовано 5 июня, 2013 Тогда берём CE 6.3 Beta и делаем примерОказалось куда проще чем я думал, потому можно использовать визуальный редактор для сгенерированного .CETRAINER.Я сделал следующее.1. Находим адрес и ставим на него хот-кей и описание.2. Из меню Файл используя окно генератора трейнера генерируем трейнер как .CETRAINER и сохраняем в любое место3. В главном окне открываем появившуюся форму по умолчанию Table->CETrainer->EditПоявится визуальный редактор. В появившейся форме видим компонет CHEAT0:tcheat (появившийся благодаря установки хот-кея). Допустим потом мы таких хот-кеев на опции чита сделаем много на шаге1, но пока оставим так. Под ним делаем TCEComboBox из панели визуальных компонентов. Напротив ComboBox надпись Label4. В свойствах комбобокса указываем строки Items.5. Чтобы обработать событие нового индекса идём в Events вкладку и там есть событие OnChange. Щелкаем по нему дважды и появится пустая функцияfunction CEItemsChange(sender)endПример получения индекса и запись в адресfunction CEItemsChange(sender)local indexID = sender.getItemIndex()print(indexID)if(indexID == 1) thenwriteInteger("vvvv.exe+5B5A4", 1000)endendВесь страшный код получился таким (90% сгенерированный)--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.3if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) then messageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK) closeCE()endaddresslist=getAddressList()memrec0=addresslist_getMemoryRecordByID(addresslist,0)memrec0_hotkey0=memoryrecord_getHotkeyByID(memrec0,0)function onPostHotkey0(Hotkey) --Executed after the "toggle*" cheat got executed local memrec=memoryrecordhotkey_getOwner(Hotkey) local isActive=memoryrecord_isActive(memrec) --get the state after the hotkey got triggered cheatcomponent_setActive(CETrainer_CHEAT0, isActive) if gBeepOnAction then beep() endendmemoryrecordhotkey_onPostHotkey(memrec0_hotkey0,onPostHotkey0)control_setVisible(CETrainer_SEPERATOR, false)strings_add(getAutoAttachList(), "vvvv.exe")gBeepOnAction=falseform_show(CETrainer)function AboutClick() showMessage(gAboutText)endgAboutText=[[This trainer was made by Cheat Enginewww.cheatengine.org]]function CloseClick() closeCE() return caFree --onClick doesn't care, but onClose would like a resultend--TRAINERGENERATORSTOP--function CEItemsChange(sender) local indexID = sender.getItemIndex() print(indexID) if(index == 1) then writeInteger("vvvv.exe+5B5A4", 1000) endend6. Закрываем все окна кроме CE.7. Нажимаем на значок дискеты и сохраняем как exe и получаем гиганто exe-трейнер на три метра.8. Проверяем и он действительно работает. Выводи в консоль индекс и пишет в адрес.В аттаче находится программулина vvv.exe для тестов (с кнопкой увеличивающей значение в окне)vvvv.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 5 июня, 2013 Автор Поделиться Опубликовано 5 июня, 2013 Спасибо!Начиная с 5 пункта, всё именно то, что у меня и не получалось. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения