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

    Проблема с фильтром "свой чужой"

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

      Это сообщение удалено!
      1 ответ Последний ответ Ответить Цитировать 0
      • HaarfusH
        Haarfus @lagarium
        отредактировано

        Это сообщение удалено!
        1 ответ Последний ответ Ответить Цитировать 0
        • HaarfusH
          Haarfus
          отредактировано

          Это сообщение удалено!
          1 ответ Последний ответ Ответить Цитировать 0
          • HaarfusH
            Haarfus
            отредактировано

            Это сообщение удалено!
            1 ответ Последний ответ Ответить Цитировать 0
            • HaarfusH
              Haarfus @lagarium
              отредактировано Haarfus

              @lagarium Тут проблема вылезла в том, что солдаты бессмертны) Враги нет) Но когда строишь здание, то игра вылетает) Я так понял для зданий надо искать что то другое) А для солдат отдельное) Принцип записи указателя в скрипт, я понял) Буду думать) Хотя понял не до конца и было бы прекрасно, если бы кто то из русских написал, как правильно вписывать указатели в скрипт где надо делать фильтр)
              C регистрами тоже мог накосячить) В видео говорится, что можно брать любой, кроме используемого в данный момент) Я вместо ECX взял на обум EBX) Мужик в видео сказал, что разницы то особо нет) Можно брать любой)
              И вот еще странность есть. Даже без указателей есть явные отличия игрока от врага. Но когда ставишь цифру в фильтр, то все равно и игрок и враг бессмертны. Хотя отличия по значениям явные. Почему враг тоже бессмертен, хотя цифра у него другая, не понятно.

              DieVisD 1 ответ Последний ответ Ответить Цитировать 0
              • DieVisD
                DieVis @Haarfus
                отредактировано

                @Haarfus Покопался чуток,
                Я сделал вот так.

                  cmp [rsi+8],#1000 //Me
                  jne @f
                  mov [S_P],rsi
                
                @@:
                  cmp [rsi+8],#1003 //Neutral
                  jne @f
                  mov [S_P_N],rsi
                @@:
                  cmp [rsi+8],#1001 //Enemy
                  jne code
                  mov [S_P_E],rsi
                

                Можешь глянуть таблицу для Rimworld от mece
                У него в скриптах может быть то что тебе нужно.

                HaarfusH 1 ответ Последний ответ Ответить Цитировать 0
                • HaarfusH
                  Haarfus @DieVis
                  отредактировано

                  @DieVis Спасибо. Тему можно закрывать. Указатели вписывать в скрипт я научился, осталось только разобраться с флагами, которые ты используешь. Как, когда и зачем их использовать. Но это уже другой вопрос и думаю разберусь.

                  DieVisD 1 ответ Последний ответ Ответить Цитировать 0
                  • DieVisD
                    DieVis @Haarfus
                    отредактировано

                    Пользователь @Haarfus написал в Проблема с фильтром "свой чужой":

                    Указатели вписывать в скрипт

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

                    HaarfusH 1 ответ Последний ответ Ответить Цитировать 0
                    • HaarfusH
                      Haarfus @DieVis
                      отредактировано Haarfus

                      @DieVis Допустим мне надо сделать фильтр по указателю в регистре RCX - 108 4F8 BE4 где игрок это 503, а враги 0 (третья строка снизу на скриншоте).

                      Снимок экрана 2025-08-16 172030.png

                      Если правильно понял, то запишется это вот так:

                      newmem:
                        push rbx
                        mov rbx,[rcx+108]
                        mov rbx,[rbx+4F8]
                        cmp [rbx+BE4],#503
                        pop rbx
                        jne code
                        jmp return
                      
                      code:
                        movss [rcx+28],xmm0
                        jmp return
                      

                      За место RBX можно использовать любой регистр, который не участвует в данный момент или лучше даже свободный. Надеюсь все правильно.

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

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