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

    Вопрос по теме написание макросов языке на lua

    Запланировано Прикреплена Закрыта Перенесена Взлом игр (начинающим)
    39 Сообщения 4 Posters 1.1k Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • Partizan1078P
      Partizan1078
      отредактировано

      видео

      1 ответ Последний ответ Ответить Цитировать 0
      • Partizan1078P
        Partizan1078
        отредактировано

        Для блокнота

        [ENABLE]
        {$lua}
        function send_keys(key)
          for i=1,string.len(key) do
             local char = key:upper():sub(i,i)
             doKeyPress(string.byte(char,1))
          end
        end
        
        send_keys("gamehacklab")
        
        keyDown(VK_LCONTROL)
        keyDown(VK_A)
        keyUp(VK_LCONTROL)
        keyUp(VK_A)
        {$asm}
        [DISABLE]
        
        P 1 ответ Последний ответ Ответить Цитировать 0
        • P
          Pitronic
          отредактировано

          Спасибо Алексей.

          1 ответ Последний ответ Ответить Цитировать 0
          • P
            Pitronic @Partizan1078
            отредактировано

            Пользователь @Partizan1078 написал в Вопрос по теме написание макросов языке на lua:

            Для блокнота

            Спасибо работает.

            Partizan1078P 1 ответ Последний ответ Ответить Цитировать 0
            • Partizan1078P
              Partizan1078 @Pitronic
              отредактировано

              @Pitronic Можно ещё в функцию всё это заморочить и горячую кнопку назначить.

              [ENABLE]
              {$lua}
               function ctrl_i_pr()
                 keyDown(VK_LCONTROL) keyDown(VK_A)
                 keyUp(VK_LCONTROL) keyUp(VK_A)
                end
                createHotkey(ctrl_i_pr, VK_DOWN)
              {$asm}
              [DISABLE]
              
              P StoneWeaverS 2 ответов Последний ответ Ответить Цитировать 0
              • P
                Pitronic @Partizan1078
                отредактировано

                Пользователь @Partizan1078 написал в Вопрос по теме написание макросов языке на lua:

                Можно ещё в функцию всё это заморочить и горячую кнопку назначить.
                Спасибо, тоже пригодится.

                1 ответ Последний ответ Ответить Цитировать 0
                • StoneWeaverS
                  StoneWeaver administrators @Partizan1078
                  отредактировано

                  @Partizan1078 в очередной раз Питронику было предоставлено готовое решение, и в очередной раз этим самым была ему оказана медвежья услуга. Потому что в очередной раз он не станет думать своей головой, и ни капли не продвинется по пути становления нормальным геймхакером.

                  P 1 ответ Последний ответ Ответить Цитировать 0
                  • P
                    Pitronic @StoneWeaver
                    отредактировано

                    @StoneWeaver Не согласен. Когда я первый раз зарегистрировался на форуме прошлого движка, ещё с другим ником который забанили, я даже не знал команд mov и add сейчас я ассемблер знаю наверное весь, и даже помогал другим по этой теме на прошлом форуме. Вы наверное помните эту первую команду именно вы подсказали. Я не искал инфу в инете, не читал справочники, не изучал статьи. Всё это я получил благодаря так называемым готовым решениям. Не чего страшного если пользователь спрашивает как написать тот или другой скрипт.

                    1 ответ Последний ответ Ответить Цитировать 0
                    • Partizan1078P
                      Partizan1078
                      отредактировано Partizan1078

                      Питроник спрашивал в чате как сравнить.

                      [ENABLE]
                      {$lua}
                      
                      function cmp_value()
                      if (readInteger('[code]+7F8') == 100) then -- если не равно 100 тогда прыжок на end
                         writeInteger ('[code]+7F8', 999)
                      end
                      end
                      createHotkey(cmp_value, VK_UP)
                      
                      {$asm}
                      
                      aobscanmodule(INJECT_001,Tutorial-x86_64.exe,81 BB F8 07 00 00 E8 03 00 00) // should be unique
                      alloc(newmem,$1000,INJECT_001)
                      label(code)
                      label(return)
                      registersymbol(code)
                      registersymbol(INJECT_001)
                      
                      newmem:
                        mov [code],rbx
                        cmp [rbx+000007F8],000003E8
                        jmp return
                      
                      code:
                      dq 00
                      
                      INJECT_001:
                        jmp newmem
                        nop 5
                      return:
                      
                      [DISABLE]
                      INJECT_001:
                      db 81 BB F8 07 00 00 E8 03 00 00
                      unregistersymbol(*)
                      dealloc(newmem)
                      
                      P 1 ответ Последний ответ Ответить Цитировать 0
                      • P
                        Pitronic @Partizan1078
                        отредактировано

                        @Partizan1078 твой ример какой шаг в туторе?

                        Partizan1078P 1 ответ Последний ответ Ответить Цитировать 0
                        • Partizan1078P
                          Partizan1078 @Pitronic
                          отредактировано Partizan1078

                          @Pitronic Первый шаг. Тутор 64 бита который.
                          СЕ 7.5

                          1 ответ Последний ответ Ответить Цитировать 0
                          • Partizan1078P
                            Partizan1078
                            отредактировано Partizan1078

                            У меня нубский вопрос. Ни как не догоню.
                            Почему вот так всё работает как надо.

                            [ENABLE]
                            {$lua}
                            function send_keys(key)
                              for i=1,string.len(key) do
                                 local char = key:upper():sub(i,i)
                                 doKeyPress(string.byte(char,1))
                              end
                            end
                            
                            send_keys("gamehacklab")
                            
                            keyDown(VK_LCONTROL)
                            keyDown(VK_A)
                            keyUp(VK_LCONTROL)
                            keyUp(VK_A)
                            
                            {$asm}
                            [DISABLE]
                            
                            

                            А так нифига

                            [ENABLE]
                            {$lua}
                            function send_keys(key)
                              for i=1,string.len(key) do
                                 local char = key:upper():sub(i,i)
                                 doKeyPress(string.byte(char,1))
                              end
                            end
                            
                            send_keys("gamehacklab")
                            
                            function ctrl_i_pr()
                               keyDown(VK_LCONTROL) keyDown(VK_A)
                               keyUp(VK_LCONTROL) keyUp(VK_A)
                              end
                            
                            {$asm}
                            [DISABLE]
                            
                            

                            Описание

                            P StoneWeaverS 2 ответов Последний ответ Ответить Цитировать 0
                            • P
                              Pitronic @Partizan1078
                              отредактировано Pitronic

                              @Partizan1078 Я точно не скажу, сам луа пока плохо знаю (а если точнее совсем не знаю, есть готовые шаблоны которые использую) но мне кажется там конфликт двух команд. После строки function.

                              Partizan1078P 1 ответ Последний ответ Ответить Цитировать 0
                              • Partizan1078P
                                Partizan1078 @Pitronic
                                отредактировано

                                @Pitronic При чём тут это. Вот несколько функций работает всё ок. Это ускорение в гта делал.

                                [ENABLE]
                                {$lua}
                                function SpeedHack1()
                                boost = 1.5
                                if (readBytes('[_date_01]') ~= nil) then
                                writeFloat ('[_date_01]', readFloat('[_date_01]')*boost)
                                writeFloat ('[_date_01]+04', readFloat('[_date_01]+04')*boost)
                                end
                                end
                                createHotkey(SpeedHack1, VK_XBUTTON1)
                                
                                function SpeedHack2()
                                boost = 0.5
                                if (readBytes('[_date_01]') ~= nil) then
                                writeFloat ('[_date_01]', readFloat('[_date_01]')*boost)
                                writeFloat ('[_date_01]+04', readFloat('[_date_01]+04')*boost)
                                end
                                end
                                createHotkey(SpeedHack2, VK_XBUTTON2)
                                {$asm}
                                aobscanmodule(Boost,GTA5.exe,F3 ? ? ? F3 ? ? ? ? F3 ? ? ? F3 ? ? ? F3 ? ? ? ? ? ? ? 44 39)
                                alloc(newmem,$1000,Boost)
                                label(return)
                                label(_date_01)
                                registersymbol(_date_01)
                                registersymbol(Boost)
                                
                                newmem:
                                  mov [_date_01],rax
                                  mulss xmm0,[rax]
                                  mulss xmm6,[rax+08]
                                  jmp return
                                
                                _date_01:
                                dq 00
                                
                                Boost:
                                  jmp newmem
                                  nop 4
                                return:
                                
                                [DISABLE]
                                Boost:
                                db F3 0F 59 00 F3 0F 59 70 08
                                unregistersymbol(*)
                                dealloc(newmem)
                                
                                1 ответ Последний ответ Ответить Цитировать 0
                                • StoneWeaverS
                                  StoneWeaver administrators @Partizan1078
                                  отредактировано StoneWeaver

                                  Пользователь @Partizan1078 написал в Вопрос по теме написание макросов языке на lua:

                                  У меня нубский вопрос. Ни как не догоню.
                                  Почему вот так всё работает как надо.

                                  Во втором случае ты функцию ctrl_i_pr объявил, но не вызвал. Объявления мало. Объявление лишь говорит компилятору, что вот такая функция существует, и она будет делать вот это и вот это. А чтобы реально выполнить действия, функцию надо вызвать. Ну или назначить её на горячую клавишу с последующим нажатием этой клавиши, разумеется.

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