-
Постов
176 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Akama
-
-
За повтор извиняюсь, а вот оформлено всё по образцу.
По-этому на сайт надо всё заливать, я старую тему про макса не сразу ещё и нашёл...
-
Xipho если у тебя со временем плохо - давай я помогу, у меня его в достатке...
темаи что это я там не по правилам сделал?
-
Добавил в статью хитрость с прыжками, или как обойтись без лишних флагов.
-
Никто ничего не путает. Публикация файлов на форуме это временная мера.
если так, то зачем вводить какие-то правила публикации вообще? их же не будет потом на форуме, на сколько я понял.
-
Кажется многие путают предназначение сайта и форума.
У меня такое предложение - сделать как на cheatengine.org:
сайт - для таблиц и софта.
форум - для общения и обсуждения таблиц.
ввод дополнительных правил и цензуры форуму на пользу не пойдёт ИМХО.
-
Rage
in Для PC игр
Таблица для игры Rage.
Возможности:
- бессмертие
- быстрое убийство
- без перезарядки
- гранаты, бумиранги и тд.* (не используйте, находясь в машине)
- ускорение*
- броня транспорта*
- добавить 100$
*-бесконечное
Все функции выключены по умолчанию. Чтобы включить, активируйте соотв. функцию в таблице. Для удобности на каждую функцию навешаны хоткеи.
- 3
-
-
Grom-Skynet, я конечно ничего не имею против цифры девять, но почему именно девять и почеу так много этих девяток ты используешь?
-
Решил написать статью о том, как правильно скрипты писать. Она не призвана научить вас писать скрипты с нуля "шоб работало". Пишу лишь для того, чтоб народ понял как грамотно делать ту или иную функцию, и выглядело это красиво.
И так - по порядку:
1. Бессмертие.
В большенстве случаев, когда люди пишут скрипты на бессмертие, они отлавливают функцию, которая работает с адресом здоровья (не важно какого она типа), и присваивают значению здоровья какое-то астрономическое число, мотивируя это тем, что "наверняка, чтоб точно не убило", или просто ленятся подумать.
Очень любит подобными вещами заниматься Grom-Skynet, из-за чего его функции выглядят слегка "колхозно".
mov [eax+смещение]#999999 //а то и больше девяток, сколько смелость позволит )))
Так делать не правильно, т.к. в большенстве случаев из-за таких вот "здоровий" игра по-просту вылетает, игра не может такие цифры воспринять (и это ясно, таким здоровье быть и не может)
Грамотнее всего в данном случае либо найти максимум здоровья и присвоить его текущему здоровью (не полиниться и найти есть ли такой), или просто занопить. Поверьте, визуально это будет выглядеть более эстетично.
Если есть максимум здоровья, то сделать чит с его помощью проще простого. Предположим, что текущее значение здоровья это еах+04, а максимальное значение еах+08, тогда:
push [eax+08] //запоминаем значение максимума
pop [eax+04] //восстанавливаем его в текущее здоровьеБывают случаи, когда здоровье типа float. Тогда подгрузить максимум здоровья можно лишь одной опирацией.
fst [eax+08]
если значения максимума нет, то нопить функции можно таким способом
[enable]
db 90,90,90,90 //в зависимости от того, сколько байт занимает исходная инструкция
[disable]
db 45,FA,25,65 // просто оригинальные байты2. Стрельба без перезарядки
В данной ситуации ищется кол-во патронов в обоиме и изменяется, но опять таки не на 999 (и снова Grom-Skynet здесь мастак это делать).
От такого кол-ва патронов игра так же начнёт тупить и думать, а можно ли перезарядку делать или нет (обоимы то разные).
Такая функция делается следующим образом, предположим, что кол-во патронов это еах+10.
Вот так делать НЕ ПРАВИЛЬНО:
mov esi,#999
mov [eax+10],esi //родной кусок кодаА вот так ПРАВИЛЬНО:
inc esi //увеличивает значение esi на 1
mov [eax+10],esi //родной кусок кодаИЛИ
add esi,1 //в данном случае нужно указывать на сколько увеличить esi
mov [eax+10],esi //родной кусок кодаЗначение патронов в обоиме будет всегда максимально и гемора будет меньше в будущем.
3. Деньги (или ещё какой-нить шмот)
И опять сами-знаете-кто любит присвоить деньгам значение 9999999 (денег же много не бывает).
В принципе можно и так делать, но впечатление складыватся, что без "читов" тут дело не обошлось. Если глаз не мозолит, то ничего страшного, пусть будет 999999 денег.
Я предпочитаю в данном случае либо морозить значение денег на определённой отметке, чтоб ниже его не опускалось (например денег может быть и 51862, и 56923, но ниже 50000 не опустится), либо просто функцию добавления денег (+1000 золотый например).
Если хотите, чтоб значение не опускалось ниже 50000, то нужно отлавливать функцию, которая записывает новое значение в адрес денег. Пусть еах+65 это деньги.
mov [eax+65],ebx //именно так эти функции выглядят.то скрипт в данном случае будет выглядеть так:
cmp ebx,#50000
jge originalcode
mov ebx,#50000
originalcode:
mov [eax+65],ebxТ.о. меньше, чем 50000 денег не станет как ни старайтесь...
Если хотите добавлять 1000 денег, то нужно отлавливать функцию, которая чаще всех будет получать доступ к деньгам.
mov ebx,[eax+65] //функция доступа выглядит примерно так...
Далее нужно ввести некую переменную (пусть будет _money), и навесить на неё хоткей чтоб тот присваивал переменной значение 1.
Скрипт будет выглядеть так.
cmp dword ptr [_money],1
jne originalcode
add [eax+65],#1000
mov [_money],0 //чтоб бесконечного цикла не получилось...
originalcode:
mov ebx,[eax+65]на нажатию хоткея добавится 1000 денег (как резко зависит от того, как часто инструкция получает доступ к деньгам)
4. Прыжки
Чем меньше флагов в скрипте - тем лучше, но полностью от них отказаться не возможно. По-этому свидём использование их к минимуму.
Тут уже сам Dark Byte зачем-то в стандартном шаблоне навтыкал ненужные флаги - а именно exit и originalcode. Покажу вам наглядно как обойтись без них.
Подопытным кроликом я использовал игру The Elder Scrolls 3: Morrowind (не кидайтесь плз фикалиями, знаю что старьё).
По-мимо прыжков на флаги можно использовать прыжки через байты.
jmp +3
je +3
jne +3Как видите синтаксис тот же, но изменилось то, что прыгаем через некое колличество байт (указывается в шестнадцатиричной системе счисления)
И так, я написал скрипт, который сделает здоровье, ману и выносливость бесконечными.
[ENABLE]
alloc(newmem,2048)
label(returnhere)
newmem:
fstp dword ptr [ecx+08]
push [ecx+04]
pop [ecx+08]
ret 0010
jmp returnhere
"Morrowind.exe"+122F:
jmp newmem
nop
returnhere:
[DISABLE]
dealloc(newmem)
"Morrowind.exe"+122F:
fstp dword ptr [ecx+08]
ret 0010
//Alt: db D9 59 08 C2 10 00и знаю, что в ecx+0c хранится идентификатор героя 746464.
Но не знаю через сколько байт нужно прыгнуть, чтобы вразу не приписывалось здоровье и тд.
Вычисляется кол-во байт следующим образом. в данном случае мне нужно перепрыгнуть push [ecx+04] и pop [ecx+08].
1. Активируем скрипт каков он есть.
2. смотрим в отладчике что скрипт делает теперь и замечаем байты нужных нам строк.
Я обвёл красным те байты, которые мне нужно перепрыгнуть. Судя по картинке их 6 (шесть круглешков)
Следовательно мне нужно перептыгнуть 6 байт, и мой скрипт будет выглядеть теперь вот так.
[ENABLE]
alloc(newmem,2048)
label(returnhere)
newmem:
fstp dword ptr [ecx+08]
cmp [ecx+0C],746464
jne +6 // если не равно перепрыгнуть через 6 байт.
push [ecx+04]
pop [ecx+08]
ret 0010
jmp returnhere
"Morrowind.exe"+122F:
jmp newmem
nop
returnhere:
[DISABLE]
dealloc(newmem)
"Morrowind.exe"+122F:
fstp dword ptr [ecx+08]
ret 0010
//Alt: db D9 59 08 C2 10 00как видите обошёлся двумя флагами (один из которых и флаг и выделение памяти под скрипт).
- 5
-
Мне хватает )))
-
Для SEGA Genesis есть эмулятор fusion 3.64, там кстати тож есть такая функция )))
-
В общем практического применения нету, простое баловство...
-
Разобрался, спасибо за внимание )))
-
и это может как-то в игре пригодиться?
-
MasterGH, в старых версиях было специальное меню под это, где добавлялись функции в трейнер и вешались на них хоткеи. В 6.1 я такого не наблюдаю, либо это меню где-то спрятано...
-
На счёт бесконечной ходьбы и тд уже давно всё изобретено, вот таблица - изучай...
На счёт остального, я так и не въехал зачем тебе отлавливать функции нажатия клавишь, но если не трудно, то объясни для тех, кто в танке )))
-
Опишите ещё плз как в 6.1 встроенными средствами трейнер сгенерировать, если скрипты и адреса уже найдены и написаны...
-
Fear 3
in Для PC игр
Таблица на СЕ 6.1
4 функции:
- бессмертие
- убийство с одного выстрела
- бесконечные патроны
- замедление времени.
Один активирующий скрипт, а остальное переменные, соответственно если поставить 1, то функция включится, если 0, то не будет работать...
В принципе можно ещё функцию с опытом сделать, но там её нет ибо лень было приделывать. Если есть желание, то можете сделать её сами, функция, которая работает с опытом, у меня сохранена...
- 3
-
Izmalkoff, ну либо его делать, либо искать из всех инструкцию, которая работала бы только со здоровьем ГГ.
-
mylukov, смотря на что у тебя эта инструкция выскочила. Если ты её в момент выстрела поймал, значит пальнуть надо, чтоб она там появилась...
-
Izmalkoff, умею, игру только на руках иметь надо.
-
по видимому там просто сделан фильтр типа "свой-чужой" и вместо загрузки текущего здоровья делается загрузка максимального здоровья.
Надо бы статейку написать, вещи элементарные, но вопросы вызывают у народа...
-
Данной мне властью выкладываю здесь сиё творение, дабы не испытывал нужды человек в поисках инструкции по байтам.
sl = AOBScan("ХХ ХХ ХХ ХХ ХХ"); if(sl == nil) then print("No code found!"); else j = stringlist_getCount(sl); print("Found:",j); for i = 1, j do print(stringlist_getString(sl,i-1)); end object_destroy(sl); end
Вместо букв "Х" вписываете нужные байты (не обязательно 5 пар, их может быть больше). Если что-то найдёт, то скажет Found: кол-во_адресов и список их, в обратном случае скажет No code found!
Код вставлять в Lua Engine, как его вызывать думаю знаете...
- 7
-
в принципе просто найти функцию при изменении z-координаты и поставить умножение например на 2 или 3. Но при этом нужно предусмотреть тот вариант, что игрок может перемещаться по z не только прыгая, но и просто поднимаясь вверх (по лестнице или лифту)...
Might and Magic: Heroes VI
in Для PC игр
Опубликовано
Как всегда активирующий скрипт + указатели.
За основу взят скрипт от Recifense + добавил указатель на ману героя + добавил функции бесконечного строительства и бесконечной маны.
Все функции лень описывать, покажу скрин со всеми.
Скрипт работает со всеми версиями, ибо сделан с помощью aobscan.
Скачать
Зеркало