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

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

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