-
Постов
4 023 -
Зарегистрирован
-
Победитель дней
42
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Xipho
-
Да, метод поиска цвета сам по себе не оптимален и малоприменим. Но это не суть. Суть в том, чтобы топикстартер вник в тему, и примерно начал понимать, как что делать и по какому лучше пойти пути. На пути геймхакера без граблей не бывает.
-
Многофункциональное d3d меню - это нехилый такой труд. Сомневаюсь, что кто-то вот так вот просто выложит его на всеобщее обозрение.
-
На нашем ресурсе мы уважаем все религии, кроме одной - той, что не позволяет читать тему и вникать в нее, но зато позволяет не читая сразу задавать вопросы.
-
Неверно. Копипаста без понимания не приведет к знаниям, которые мы стараемся дать.
-
А расскажи, пожалуйста, что делает каждая строчка в приведенном тобой коде. Я подозреваю, что этот код ты нашел на просторах интернетов, но вникнуть в него даже не попробовал. Потому и не определяет положение окна.
-
Ты это ручками 60 раз в секунду будешь делать? Не говоря уж о том, что принтскрин в игре чаще всего даст черный экран
-
Блин, только сейчас заметил ))) В общем, в группе тебе помогал не Михаил а я ))
-
Ну так если это и есть нужный тебе цвет, его и вставь в сравнение, в чем проблема? Я же писал, что, возможно, пиксель считывается с нулевым альфа-каналом. Так и есть - 0x002e3bab А ты подставил перевернутое значение, прочитав, что и такое может быть, и ждешь, что у тебя сравнение прокатит. Я ведь писал, что нужно смотреть под отладкой, как цвет считывается, и нужное значение в сравнении прописывать. Добавлено: Собственно, оно перевернутое и есть. То есть, в формате RGB оно должно быть как AB3B2E. Но в пиксел оно при считывании записывается как ABGR - 002E3BAB. И это разные числа.
-
Извини, конечно, но у меня складывается ощущение, что в программировании ты совершенно не разбираешься. В твоем коде I и J - счетчики из циклов for. Разумеется, в первый момент срабатывания они равны нулю. А pixels - это массив. pixels[i , j] - это доступ к определенной ячейке массива. Вот именно из нее значение тебе нужно смотреть, а не значение счетчиков. Обучать тебя как отлаживать код, ставить точки останова и наблюдаемые переменные я не буду.
-
В момент выполнения сравнения, когда сравнивается пиксел с нужным цветом, в pixels[i, j] что лежит?
-
Какая Сара Коннор? Там у нее уже внуки выросли, наверное ))))
-
А чего скрин-то такой "большой"? Под отладкой смотри, какое будет значение цвета, когда будет считываться нужный пиксель, и потом его в сравнение добавь. Возможно, считывается полное значение с нулевым альфа-каналом. Или считывается значение в перевернутом виде.
-
А говоришь, что точно знаешь, что делает каждая строчка кода. Так вот, эта функция не определяет цвет пикселя. Эта функция разбивает уже определенный цвет на составляющие. Для сравнения полученного цвета пикселя с эталонным данная операция не нужна. Достаточно заранее перевести эталонный цвет в целое число. Это умеет любой графический редактор (кроме пейнта виндового). Впрочем, хоть я и не вижу код этой функции, могу предположить, что как раз она выполняется быстро, ведь скорее всего там задействованы побитовые сдвиги. В любом случае, тройное сравнение будет медленнее, чем единственное.
-
Необязательно совсем подробно ) Хотя бы примерно так, как я в своих уроках объясняю ) Это если как урок оформляешь. Если же просто как рассуждения, как был сделан хак - тогда можно как я в видео "Как я взламывал" )) В целом, конечно, на твое усмотрение, но желательно так, чтобы понимали не только продвинутые геймхакеры, но и новички тоже.
-
Воот. Если бы я тебе это сказал с самого начала, ты бы не поверил. А так - сам убедился. Это раз. А во-вторых, я пропустил, а ты игнорируешь предупреждения по поводу правил нашего форума. Код нужно оборачивать в спойлер.
-
Попробуй избавиться от функции GetColorFromUint, возможно, поможет слегка ускорить процесс.
-
К сожалению, остаться могло только у автора, но он давно уже не появлялся.
-
Вообще, конечно, на статьи это не тянет все. Это больше готовые скрипты. Чтобы можно было считать это статьей, необходимо рассказать, как был написан данный скрипт. А именно, поиск чего использовался, как был реализован выход на инструкции кода, с которыми идет работа, почему именно на эти инструкции. В общем, максимально подробно процесс нужно расписывать.
-
Ты приводишь постоянно один и тот же кусок кода, но такое ощущение, что ты не понимаешь, что именно делает этот кусок кода. Пройдись построчно, распиши, что делает каждая строка, так легче будет вникнуть.
-
Я же говорю - используй юникод. Ну или действительно делай поиск по имени процесса.
-
Возможно, нужно использовать юникод.
-
Чтобы определить координаты пикселов нужного цвета, тебе нужно в цикле считывать каждый пиксель области, и если пиксель равен нужному цвету, заносить его в массив или же сразу в него "стрелять". Вообще, идея поиска нужного пространства по цвету пиксела - весьма слабопроизводительна, если нужно найти объект на экране, лучше искать его в памяти игры. Точнее, искать его координаты, которые затем конвертировать в экранные, чтобы дать "мышке" знать, куда надо кликнуть.
-
Их сравнивают как обычные числа. К примеру, приведенный выше цвет в hex (16-ричном) равен AB3B2E (в памяти будет "перевернут" 2E3BAB). Значит, если тебе нужно выполнить какие-то действия, если считанный пиксель будет такого цвета, тебе нужно сделать следующее: if (pixels[i, j] == 0xAB3B2E) { // TODO: Тут выполнить действия, которые нужно }