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

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

Имеется инструкция, которая работает с предметами, находящимися в слотах инвентаря.

Нашёл ID всех интересующих предметов.

Скрипт будет выглядеть примерно так:


mov eax, [ItemID]
mov [ecx+123],eax

Меняя значение "ItemID", мы будем получать нужный нам предмет. И вот тут проблема, если делать стандартно, то опций будет слишком много.

Пришёл к выводу, что нужно делать через Combobox. Где будут указаны все предметы и значение "ItemID" будет изменяться при выборе предмета.

И вот тут возникла вторая проблема - как?

С LUA я не дружу, а без его использования Мне не удалось это сделать в генераторе трейнера.

Помогите, кто чем может =)

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

Пиши на C++ гораздо лучше выйдет ИМХО.

Ну, а если с плюсами не дружишь, пиши на C# ИМХО.

Чтобы подружить побольше с LUA, предлагаю почитать - http://forum.cheaten...forum.php?f=125

Работа с combobox:

http://forum.cheaten...d73e474f1db3c8e

http://forum.cheaten...25481987892880c

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

Мне будет проще помочь, если будут некоторые материалы и информация

1. Версия CE (наверно это 6.2?) и формат сохранения трйнера (*.exe, *.CETRAINER, *.CT)

2. Сейчас это тренер генерирумый по умолчанию или с своим интерфейсом? Предполагаю, что первое и спрашиваю на всякий случай.

3. Готовый Трейнер (в том числе, который обычно делается как *.exe) со всеми опциями читов и хоткеев сохранить в формат .CETRAINER без шифрования. Опции можно сделать с пустыми AA-скриптами. Мне главное понять как спозиционировать CoboBox относительно этих опций и на скриншоте, и в текущем .CETRAINER

4. Один скриншот с думя окнами. На первом окно трейнера, на втором схематично должно быть отображено рамкой где должен находится ComboBox и его примерный размер. Если комбокс не влазит и размер формы при этом нужно увеличить или раздвинуть другие компоненты, то примерно указать рамкой новый размер и если будут новые положения других визуальных компонентво, то отдельными рамками отобразить их новые положения. Надпись напротив ComboBox тоже указать рамкой.

Пункты 3-4 можно спрятать в архив и опубликовать здесь или мне через личное сообщение.

Осталось:

1. Понять правильные создание, позиционирование, размер CoboBox-а по содержимому .CETRAINER, а также изменить позиционирование других визуальных элементов.

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

3. Стадия проверки

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

Привет.

1) Версия 6.3 или 6.2, не важно. Формат .CETRAINER, хотя можно и любой другой

2) Не по умолчанию, но стандартные элементы.

3, 4) Ну а тут, мне не нужно "всё готовенькое". Просто небольшой примерчик, ну а дальше я как-нибудь сам.

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

Тогда берём CE 6.3 Beta и делаем пример

post-3-0-35752200-1370439664_thumb.png

Оказалось куда проще чем я думал, потому можно использовать визуальный редактор для сгенерированного .CETRAINER.

Я сделал следующее.

1. Находим адрес и ставим на него хот-кей и описание.

2. Из меню Файл используя окно генератора трейнера генерируем трейнер как .CETRAINER и сохраняем в любое место

3. В главном окне открываем появившуюся форму по умолчанию Table->CETrainer->Edit

Появится визуальный редактор. В появившейся форме видим компонет CHEAT0:tcheat (появившийся благодаря установки хот-кея). Допустим потом мы таких хот-кеев на опции чита сделаем много на шаге1, но пока оставим так. Под ним делаем TCEComboBox из панели визуальных компонентов. Напротив ComboBox надпись Label

4. В свойствах комбобокса указываем строки Items.

5. Чтобы обработать событие нового индекса идём в Events вкладку и там есть событие OnChange. Щелкаем по нему дважды и появится пустая функция


function CEItemsChange(sender)
end

Пример получения индекса и запись в адрес


function CEItemsChange(sender)
local indexID = sender.getItemIndex()
print(indexID)
if(indexID == 1) then
writeInteger("vvvv.exe+5B5A4", 1000)
end
end

Весь страшный код получился таким (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.3
if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) then
messageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK)
closeCE()
end
addresslist=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()
end
end
memoryrecordhotkey_onPostHotkey(memrec0_hotkey0,onPostHotkey0)
control_setVisible(CETrainer_SEPERATOR, false)
strings_add(getAutoAttachList(), "vvvv.exe")
gBeepOnAction=false
form_show(CETrainer)
function AboutClick()
showMessage(gAboutText)
end
gAboutText=[[This trainer was made by Cheat Engine
www.cheatengine.org]]
function CloseClick()
closeCE()
return caFree --onClick doesn't care, but onClose would like a result
end
--TRAINERGENERATORSTOP--
function CEItemsChange(sender)
local indexID = sender.getItemIndex()
print(indexID)
if(index == 1) then
writeInteger("vvvv.exe+5B5A4", 1000)
end
end

6. Закрываем все окна кроме CE.

7. Нажимаем на значок дискеты и сохраняем как exe и получаем гиганто exe-трейнер на три метра.

8. Проверяем и он действительно работает. Выводи в консоль индекс и пишет в адрес.

В аттаче находится программулина vvv.exe для тестов (с кнопкой увеличивающей значение в окне)

vvvv.rar

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

×
×
  • Создать...

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

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