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

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

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

      @Pitronic А я разве сказал "внимательно посмотри на вторую строку"? Я сказал "внимательно посмотри свой скрипт", что подразумевает весь скрипт целиком.

      c99ecda8-e036-4a56-89dd-6503ca05298a-image.png

      1 ответ Последний ответ Ответить Цитировать 0
      • 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
                                    • Первое сообщение
                                      Последнее сообщение