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

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

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

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

      А у тебя разве предыдущих примеров нет с такой строкой?

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

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

        @Pitronic попробуй разобраться самостоятельно, в чём у тебя проблема. Это поможет тебе улучшить своё понимание, как пользоваться луа в СЕ

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

          @StoneWeaver вот скриншёт здесь как видете ругается
          на строку 2 хотя именно это строка должна там быть. И как я смогу самостоятельно если не увижу пример? ппо примеру что написано выше уже попробовал а где не правильно написал не знаю,

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

            @Pitronic а теперь максимально внимательно посмотри свой скрипт, и исправь ошибку синтаксиса.

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

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

              справь ошибку синтаксиса.

              в строке 2 на которую ругается се {$lua} я везде использую когда луа в таблицу пишу с этим скриптом такая ошибка, я тоже думал что в ней дело но когда стираю код оставив только {$asm} скрипт добавляется без проблем значит не в этой строке а в самом коде ошибка потому что се думает что это не lua код и говорить что синтаксис {$lua} ошибка.

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