• Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Зарегистрироваться
  • Войти
GameHackLab[RU]
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Зарегистрироваться
  • Войти

Mafia II-DE v.1.0.1 вращение колёс

Запланировано Прикреплена Закрыта Перенесена Общий
15 Сообщения 4 Posters 355 Просмотры
Загружаем больше сообщений
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • P
    Partizan1078 @garik66
    отредактировано 23 мая 2023 г., 23:19

    @garik66 Тогда как мне заставить машину больше не разгоняться. Если только в самой таблице вешать ещё одну кнопку на обнуление.

    G 1 ответ Последний ответ 23 мая 2023 г., 23:22 Ответить Цитировать 0
    • G
      garik66 @Partizan1078
      отредактировано 23 мая 2023 г., 23:22

      Пользователь @Partizan1078 написал в Mafia II-DE v.1.0.1 вращение колёс:

      Если только в самой таблице вешать ещё одну кнопку на обнуление.

      как вариант.
      Странно что счетчик не сработал - я предполагал, что инструкция пробегает поочередно все 4 колеса.

      S 1 ответ Последний ответ 24 мая 2023 г., 04:39 Ответить Цитировать 0
      • S
        StoneWeaver administrators @garik66
        отредактировано 24 мая 2023 г., 04:39

        @garik66 инструкция может работать параллельно в четырех потоках, как вариант.

        @Partizan1078 тебе нужно комплексное условие. Проще всего это сделать на Lua в СЕ, но можно и на ассемблере. Суть в том, что тебе нужен не один флаг, а четыре - на каждое колесо, и хранить во флаге не только сам флаг, но и адрес колеса. По адресу сверяться, включен ли флаг, а по горячей клавише выставлять флаг для всех четырех адресов. Если непонятно, пиши, попробую подробнее объяснить

        1 ответ Последний ответ Ответить Цитировать 0
        • P
          Partizan1078
          отредактировано 24 мая 2023 г., 19:52

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

            cmp [hot_key],01
            jne @F
            mov [r14+000003BC],(float)300
          @@:
            mulss xmm14,[r14+000003BC]
          

          А вот такой скрипт со счётчиком.

          [ENABLE]
          aobscanmodule(car_02,Mafia II Definitive Edition.exe,F3 45 ? ? ? ? ? ? ? F3 44 ? ? ? ? ? ? ? F3 44 ? ? ? ? ? ? ? 44 0F)
          alloc(newmem,$1000,car_02)
          label(return)
          label(check)
          label(hot_key)
          registersymbol(hot_key)
          registersymbol(car_02)
          
          newmem:
            cmp [hot_key],01
            jne @F
            mov [r14+000003BC],(float)100
            add [check],01
            cmp [check],03
            jne newmem
            mov [hot_key],00
            mov [check],00
          @@:
            mulss xmm14,[r14+000003BC]
            jmp return
          
          hot_key:
          dd 00
          check:
          dd 00
          
          car_02:
            jmp newmem
            nop 4
          return:
          
          [DISABLE]
          car_02:
          db F3 45 0F 59 B6 BC 03 00 00
          unregistersymbol(*)
          dealloc(newmem)
          

          И он не работает.

          G 2 ответов Последний ответ 24 мая 2023 г., 22:02 Ответить Цитировать 0
          • G
            garik66 @Partizan1078
            отредактировано 24 мая 2023 г., 22:02

            Пользователь @Partizan1078 написал в Mafia II-DE v.1.0.1 вращение колёс:

            И он не работает.

            так счетчик не верен, я так и предполагал - у тебя запись в адрес происходит только на четвертый раз.

            1 ответ Последний ответ Ответить Цитировать 0
            • G
              garik66 @Partizan1078
              отредактировано garik66 24 мая 2023 г., 22:38

              Пользователь @Partizan1078 написал в Mafia II-DE v.1.0.1 вращение колёс:

              И он не работает.

              Попробуй так:

              newmem:
                cmp [hot_key],01
                jne @F
                mov [r14+000003BC],(float)100
                add [check],01
                cmp [check],03
                jne @F
                mov [hot_key],00
                mov [check],00
              @@:
                mulss xmm14,[r14+000003BC]
                jmp return
              

              К сожалению не знаю. как здесь юзать теги, прошу прощения.
              Поправь скрипт, попробуй и отпишись пожалуйста - работает или нет.

              P 1 ответ Последний ответ 25 мая 2023 г., 12:38 Ответить Цитировать 1
              • P
                Partizan1078 @garik66
                отредактировано Partizan1078 25 мая 2023 г., 12:38

                @garik66 Большое спасибо!
                Чтот я тупанул и не обратил внимания на свою ошибку.
                Сделал как вы посоветовали.
                И всё заработало как надо.

                [ENABLE]
                aobscanmodule(car_02,Mafia II Definitive Edition.exe,F3 45 ? ? ? ? ? ? ? F3 44 ? ? ? ? ? ? ? F3 44 ? ? ? ? ? ? ? 44 0F)
                alloc(newmem,$1000,car_02)
                label(return)
                label(check)
                label(hot_key)
                registersymbol(hot_key)
                registersymbol(car_02)
                
                newmem:
                  cmp [hot_key],01
                  jne @F
                  mov [r14+000003BC],(float)500
                  add [check],01
                  cmp [check],64
                  jne @F
                  mov [hot_key],00
                  mov [check],00
                @@:
                  mulss xmm14,[r14+000003BC]
                  jmp return
                
                hot_key:
                dd 00
                check:
                dd 00
                
                car_02:
                  jmp newmem
                  nop 4
                return:
                
                [DISABLE]
                car_02:
                db F3 45 0F 59 B6 BC 03 00 00
                unregistersymbol(*)
                dealloc(newmem)
                

                https://youtu.be/YkAjpX1aaBI

                Чтобы скрипт обернуть в тег есть кнопочка "код"

                G 1 ответ Последний ответ 25 мая 2023 г., 13:47 Ответить Цитировать 2
                • G
                  garik66 @Partizan1078
                  отредактировано 25 мая 2023 г., 13:47

                  Пользователь @Partizan1078 написал в Mafia II-DE v.1.0.1 вращение колёс:

                  И всё заработало как надо.

                  Рад

                  1 ответ Последний ответ Ответить Цитировать 0
                  • A
                    Antonshka
                    отредактировано 6 июн. 2023 г., 18:29

                    Предполагаю что ошибка в отсутствии pushfq и popfq.
                    Инструкция cmp меняет флаги. По правильному нужно всегда сохранять/восстанавливать регистр EFLAGS.

                    newmem:
                    pushfq 
                      cmp [hot_key],01
                      jne short @F
                      mov [r14+000003BC],(float)1000
                      mov [hot_key],00
                    @@:
                    popfq
                      mulss xmm14,[r14+000003BC]
                      jmp return
                    
                    G 1 ответ Последний ответ 6 июн. 2023 г., 19:12 Ответить Цитировать 0
                    • G
                      garik66 @Antonshka
                      отредактировано 6 июн. 2023 г., 19:12

                      Пользователь @Antonshka написал в Mafia II-DE v.1.0.1 вращение колёс:

                      Предполагаю что ошибка в отсутствии pushfq и popfq.

                      вопрос же решили с партизаном.
                      по твоему скрипту тоже только одно колесо сработает. один раз.

                      1 ответ Последний ответ Ответить Цитировать 0
                      • Первое сообщение
                        Последнее сообщение