-
Постов
176 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Akama
-
-
Hitman Blood Money +6
Функции:
1) Бессмертие
2) Бесконечные Патроны
3) Стрельба без перезарядки
4) Ноль внимания
5) Много денег
6) Бесконечные сохранения
- 2
-
Немного глупый вопрос, но всё же:
у меня есть указатель на здоровье Родана (трёхуровневый вплоть до зелёного), и есть инструкция, по которой происходит уменьшение здоровья.
Вопрос: Как мне сделать фильтр только на себя (союзников там нет), то есть как все 3 уровня указателя описать (или как правильно сказать хз) в скрипт, чтобы получился рабочий фильтр?
P.S. если нужно, то смогу запостить указатель и инструкцию...
-
Ещё один мини совет: если хотите чтобы в переменную вписывался нужный адрес (например здоровья), то:
1) если функция типа А, то просто копируйте значение указателя в переменную.
2) Если тип В или С, то перед этим нужно отфильтровать остальные значения, чтобы в обработку попал только нужный адрес.
-
А я на майкрософт заливаю и не очкую )))
-
Чисто для справки из личного опыта по написанию огромных скриптов дам совет: прежде чем писать само тело скрипта ОБЯЗАТЕЛЬНО нужно для одной функции создать 3 лейбла - начало функции, ориг код и выход из функции.
Т.е. если вы будете создавать функцию бессмертия, убедитесь что в лейблах есть такие строки.
label(GodMode) // Это начало чита
label(BackGM) // это начало оригинального кода того же чита
label(ExitGM) // это выход из него. (аналог returnhere)
И так в каждой функции, должно быть начало, кусок ориг кода и выход из него. Без чего то либо из этих трёх может случиться крах игры либо неадекватное действие скрипта.
Вот собственно и всё )))
-
Примерно так как ты и описал, над стражниками галочка появляется, которая вначале заполняется жёлтым цветом, если заполнилась жёлтым, то начинает заполняться красным: стражник меня заметил и начинает всматриваться в меня, даже подойти может. Когда и красная заполняется, то тогда все рядом стоящие стражники кидаются на меня.
Вообще полезнее было бы найти флажок, который обозначает текущее состояние в толпе, то есть либо я спрятался, либо меня ищут или гонятся. Если есть такой, то задача бы упростилась.
-
Там лайв мешает нахождению адресов, хотя деньги вроде находил, та ещё здоровье найти можно, всё остальное заблокировано.
-
Я бы пошел другим путем. Искал бы флаг когда в толпе, а когда нет.
Идея неплохая, но когда Эцио в толпе, то он чёрно-белый, а играть таким постоянно как-то стрёмно. Но я попробую...
-
В общем решил заново на 100% пройти, игра того стоит...
Кстати, сделал 2 чита - бесконечный боезапас (патроны, лекарства и тд) и бесконечные деньги. Бессмертие как оказалось вообще ни к чему, ибо есть бесконечные лекарства и хилиться можно в любой момент игры...
Остался вопрос как сделать чтобы известность не повышалась, то есть всегда быть инкогнито и можно будет тренер компилить...
-
спс, помогло, но фильтр не тот, буду заново делать.
В саппорте молчат, блин, либо думать дальше, либо заново проходить, что мега геморно.
Ещё раз прошу, сделайте пожалуйста скрипт чтобы максимум патронов был 5...
-
Ладно, в саппорт написал, может помогут, если нет снова на обсуждение вопрос подыму. Пока забили...
[cod][ENABLE]
alloc(MyCode,2048)
label(Ammo)
label(ExitA)
label(BackA)
label(GM)
label(BackGM)
label(ExitGM)
label(ipl)
label(iGM)
label(iAmmo)
registersymbol(ipl)
registersymbol(iGM)
registersymbol(iAmmo)
//////////////////////////////////////////
MyCode:
Ammo:
cmp eax,0000001E
jge BackA
mov [ipl],ebp
cmp byte ptr [iAmmo],1
jne BackA
inc eax
BackA:
mov [ecx+10],eax
mov al,01
jmp ExitA
GM:
>>cmp byte ptr [ebp+37c],[ipl]
jne BackGM
cmp byte ptr [iGM],1
jne BackGM
mov eax,000000C8
BackGM:
mov [esi+58],eax
call 00948fa0
jmp ExitGM
//////////////////////////////////////////
AssassinsCreedIIGame.exe+ED818F:
jmp Ammo
ExitA:
AssassinsCreedIIGame.exe+11FE0F5:
jmp GM
nop
nop
nop
ExitGM:
//////////////////////////////////////////
ipl:
dd 0
iGM:
dd 1
iAmmo:
dd 1
///////////////////////////////////////////
[DISABLE]
AssassinsCreedIIGame.exe+ED818F:
mov [ecx+10],eax
mov al,01
AssassinsCreedIIGame.exe+11FE0F5:
mov [esi+58],eax
call 00948fa0
dealloc(MyCode)
unregistersymbol(ipl)
unregistersymbol(iGM)
unregistersymbol(iAmmo)[/cod]
Выделил строку знаком >>. там где ругается, мол не скомпилировать. Скажите плз, в чём дело может быть?
-
И чё я им напишу?
"Извените, я нахимичил с читами и у меня патроны пропали...", так что-ли? Они меня пошлют...
-
Появилась проблема чисто техническая, если кто из мегахакеров есть, то помогите.
[sp=Рисунок][/sp]
На 100% прошёл игру, а пистолет просто пропал. Сделайте скрипт плз кто-нить чтоб максимум патронов было 5...
-
Ну дык мы ж народ простой, чё пишут то в оригинал код и вписываем )))
jmp short можно использовать в таких огромных скриптах как мой? Там прыжок не такой уж и маленький...
-
Вот ещё самописный скрипт на тему "Активирующие скрипты".
{
Герои Меча и Магии 5 - Повелители орды
Версия игры : 3.1
Версия скрипта : 1.1
Версия СЕ : 5.6
Автор: Akama
}
[ENABLE]
alloc(MyCode,2048)
label(_MovePoints)
label(_ExitMP)
label(_Troops)
label(_ExitT)
label(_Resource)
label(_ExitR)
label(_Expirience)
label(_BackExp)
label(_ExitExp)
label(_Mana)
label(_ExitM)
label(_Buildings)
label(_ExitB)
label(_DarkEnergy)
label(_ExitDE)
label(_Atributes)
label(_ExitAtr)
label(_MP)
label(_Tr)
label(_Bl)
label(_M)
label(_Res)
label(_DE)
label(_Atr)
label(_Exp)
registersymbol(MyCode)
registersymbol(_MP)
registersymbol(_Tr)
registersymbol(_Bl)
registersymbol(_M)
registersymbol(_Res)
registersymbol(_DE)
registersymbol(_Atr)
registersymbol(_Exp)
//=========================================
//??? ???????
MyCode:
_MovePoints:
cmp [_MP],1
jne _ExitMP
cmp ecx,ebx
jne _ExitMP
//push eax
//mov [ecx+130],1E240
//mov eax,[ecx+130]
mov eax,1E240
mov [ecx+12c],eax
//pop eax
jmp _ExitMP
_Troops:
cmp [_Tr],1
jne _ExitT
mov [eax+20],92E
jmp _ExitT
_Buildings:
cmp [_Bl],1
jne _ExitB
mov [esi+80],1
jmp _ExitB
_Expirience:
cmp byte ptr [_Exp],1
jne _BackExp
add [ecx+60],3E8
mov [_Exp],0
_BackExp:
mov eax,[ecx+60]
ret
int 3
jmp _ExitExp
_DarkEnergy:
cmp [_DE],1
jne _ExitDE
add [ecx+638],3E8
mov [_DE],0
jmp _ExitDE
_Atributes:
cmp [_Atr],1
jne _ExitAtr
add [ecx+30],1
add [ecx+34],1
add [ecx+38],1
add [ecx+3c],1
add [ecx+40],0A
add [ecx+44],0A
mov [_Atr],0
//mov eax,[ecx+30]
xor edx,edx
jmp _ExitAtr
_Mana:
cmp [_M],1
jne _ExitM
push ebx
mov ebx,[ecx+00000140]
mov [ecx+13c],ebx
pop ebx
mov eax,[ecx+0000013c]
jmp _ExitM
_Resource:
cmp [_Res],1
jne _ExitR
add [ecx],1F4
add [ecx+4],1F4
add [ecx+8],1F4
add [ecx+c],1F4
add [ecx+10],1F4
add [ecx+14],1F4
add [ecx+18],2B995A
mov [_Res],0
jmp _ExitR
//=========================================
//??????????
_MP:
db 0
_Tr:
db 0
_Bl:
db 0
_Res:
db 0
_DE:
db 0
_M:
db 0
_Atr:
db 0
_Exp:
db 0
//=========================================
//???????? ??????????
H5_Game.exe+74BCBD:
jmp _MovePoints
nop
_ExitMP:
H5_Game.exe+1EDE0D:
jmp _Troops
nop
nop
nop
nop
nop
_ExitT:
H5_Game.exe+8D4E0F:
jmp _Buildings
nop
nop
nop
nop
nop
_ExitB:
H5_Game.exe+6F7F40:
jmp _Mana
nop
_ExitM:
H5_Game.exe+FB90B:
jmp _DarkEnergy
_ExitDE:
H5_Game.exe+74C190:
jmp _Atributes
_ExitAtr:
H5_Game.exe+5D0470:
jmp _Resource
_ExitR:
H5_Game.exe+75AA80:
jmp newmem
_ExitExp:
//========================================
[DISABLE]
H5_Game.exe+74BCBD:
mov [ecx+0000012c],eax
H5_Game.exe+1EDE0D:
mov edx,[eax+20]
mov [esp+000000e4],ecx
H5_Game.exe+8D4E0F:
mov [esi+00000080],0
H5_Game.exe+FB90B:
mov [ecx+00000638],eax
H5_Game.exe+74C190:
mov eax,[ecx+30]
xor edx,edx
H5_Game.exe+5D0470:
mov esi,[ecx]
cmp esi,[edx+ecx]
H5_Game.exe+6F7F40:
mov eax,[ecx+0000013c]
H5_Game.exe+75AA80:
mov eax,[ecx+60]
ret
int 3
dealloc(MyCode)
unregistersymbol(_M)
unregistersymbol(_MP)
unregistersymbol(_Tr)
unregistersymbol(_Bl)
unregistersymbol(_Res)
unregistersymbol(_DE)
unregistersymbol(_Exp)
unregistersymbol(MyCode)скрипт сам писал, и трейнер тоже по нему существует. (Верите или нет, но это единственный трейнер для русской игры 3.1)
P.S.Кстати, MasterCH, я всё таки разобрался в чём проблема с опытом, я там слегна нарушил порядок инструкций, по-этому игра крашилось, сейчас всё адекватно.
-
Приведу пример скрипта по добавлению опыта по нажатию горячей клавиши.
[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(_Exp)
registersymbol(_Exp)
H5_Game.exe+75AA80:
jmp newmem
returnhere:
newmem:
cmp byte ptr [_Exp],1
jne originalcode
add [ecx+60],3E8
mov [_Exp],0
originalcode:
mov eax,[ecx+60]
ret
int 3
jmp returnhere
_Exp:
db 0
[DISABLE]
H5_Game.exe+75AA80:
mov eax,[ecx+60]
ret
int 3после активации скрипта нужно добавить в таблицу значений адрес _Exp и навесить горячую клавишу чтобы присваивать значение 1. Как только скрипт добавит значение то переменная станет равна 0.
-
+1, приколы это хорошо конечно, но порой бесят, да и предложение потренироваться тоже как то не серьёзно...
-
неплохой прикол, я ток потом догадался что эта хрень только первого апреля появляется )))
-
Ну правильно, StrongOD и прячет, надо найти этот плагинчик...
-
Что делают плагины?
-
Проблема такая:
Нахожу кол-во патронов в пистолете, изменяю, всё норм. Как только отладчик запускаю, игра без всякого краша просто закрывается.
Что сделать чтоб такого небыло?
-
Ох ты блин, я не те операнды использовал
-
Я тут деньги сломал и у меня технический вопрос возник - как промежуток сравнения задать?
Например если 30<[esi+10]<39447, то прыгать на originalcode
-
Вернулся к игре, и пытаюсь решить проблему с кинжалами.
Напрягает одно - всё кроме кинжалов имеет тип 4 байта и нормально изменяется, кинжалы же имеют тип 1 байт, и при изменении вылетает функция xor.
Вопрос:
Нахрена разрабы такой геморой сделали?
Может там и не то значение что написано? То есть 1 байтовые это флажки, а 4-х байтовое это колличество?
PS читхеппенс эту проблему так и не решил, у них функции где добавляется всё, кроме кинжалов.
Collapse Rage
in Вопросы по созданию читов в одиночных играх
Опубликовано
В той функции что ты описал проскакивают хелы не только игрока. но и соперников. Я это сам проверял, по-этому и хочу фильтр сделать -> от сюда появляется ещё одна функция one hit kill.