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

Akama

Пользователи+
  • Постов

    176
  • Зарегистрирован

  • Посещение

  • Победитель дней

    16

Сообщения, опубликованные Akama

  1. Немного глупый вопрос, но всё же:

    у меня есть указатель на здоровье Родана (трёхуровневый вплоть до зелёного), и есть инструкция, по которой происходит уменьшение здоровья.

    Вопрос: Как мне сделать фильтр только на себя (союзников там нет), то есть как все 3 уровня указателя описать (или как правильно сказать хз) в скрипт, чтобы получился рабочий фильтр?

    P.S. если нужно, то смогу запостить указатель и инструкцию...

  2. Ещё один мини совет: если хотите чтобы в переменную вписывался нужный адрес (например здоровья), то:

    1) если функция типа А, то просто копируйте значение указателя в переменную.

    2) Если тип В или С, то перед этим нужно отфильтровать остальные значения, чтобы в обработку попал только нужный адрес.

  3. Чисто для справки из личного опыта по написанию огромных скриптов дам совет: прежде чем писать само тело скрипта ОБЯЗАТЕЛЬНО нужно для одной функции создать 3 лейбла - начало функции, ориг код и выход из функции.

    Т.е. если вы будете создавать функцию бессмертия, убедитесь что в лейблах есть такие строки.

    label(GodMode) // Это начало чита

    label(BackGM) // это начало оригинального кода того же чита

    label(ExitGM) // это выход из него. (аналог returnhere)

    И так в каждой функции, должно быть начало, кусок ориг кода и выход из него. Без чего то либо из этих трёх может случиться крах игры либо неадекватное действие скрипта.

    Вот собственно и всё )))

  4. Примерно так как ты и описал, над стражниками галочка появляется, которая вначале заполняется жёлтым цветом, если заполнилась жёлтым, то начинает заполняться красным: стражник меня заметил и начинает всматриваться в меня, даже подойти может. Когда и красная заполняется, то тогда все рядом стоящие стражники кидаются на меня.

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

  5. В общем решил заново на 100% пройти, игра того стоит...

    Кстати, сделал 2 чита - бесконечный боезапас (патроны, лекарства и тд) и бесконечные деньги. Бессмертие как оказалось вообще ни к чему, ибо есть бесконечные лекарства и хилиться можно в любой момент игры...

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

  6. спс, помогло, но фильтр не тот, буду заново делать.

    В саппорте молчат, блин, либо думать дальше, либо заново проходить, что мега геморно.

    Ещё раз прошу, сделайте пожалуйста скрипт чтобы максимум патронов был 5...

  7. Ладно, в саппорт написал, может помогут, если нет снова на обсуждение вопрос подыму. Пока забили...

    [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]

    Выделил строку знаком >>. там где ругается, мол не скомпилировать. Скажите плз, в чём дело может быть?

  8. Появилась проблема чисто техническая, если кто из мегахакеров есть, то помогите.

    [sp=Рисунок]6788475248064752c318dcff3eb1a914.png[/sp]

    На 100% прошёл игру, а пистолет просто пропал. Сделайте скрипт плз кто-нить чтоб максимум патронов было 5...

  9. Вот ещё самописный скрипт на тему "Активирующие скрипты".

    {
    Герои Меча и Магии 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, я всё таки разобрался в чём проблема с опытом, я там слегна нарушил порядок инструкций, по-этому игра крашилось, сейчас всё адекватно.

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


    [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.

  11. Вернулся к игре, и пытаюсь решить проблему с кинжалами.

    Напрягает одно - всё кроме кинжалов имеет тип 4 байта и нормально изменяется, кинжалы же имеют тип 1 байт, и при изменении вылетает функция xor.

    Вопрос:

    Нахрена разрабы такой геморой сделали?

    Может там и не то значение что написано? То есть 1 байтовые это флажки, а 4-х байтовое это колличество?

    PS читхеппенс эту проблему так и не решил, у них функции где добавляется всё, кроме кинжалов.

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

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

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