Перейти к содержанию

IzerodayI

Пользователи+
  • Постов

    277
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Весь контент IzerodayI

  1. Статью пишу первый раз , так , что где будет не понятно - спрашивайте Python под GHL флагом Часть 1 В этой статье (будет из нескольких частей) я полностью объясни и напишу рабочий автошот для игры Начну с введения: 1) Определимся с языком программирования , для меня пал выбор на язык python так как давно хотел его изучить начать писать на нем (язык очень простой , да и библиотек сторонних куча, что должно радовать)PS для вас может быть тот который хорошо знаете 2) представим как должна работать программа : Программа не как не воздействует на игру, не читает/ не пишет в память, не инжектится в код, а работает как стороннее приложение благодаря чему не доступна для анти-читов, т.е. бан в игре получить почти не реально! Программка сканирует цвет пикселей экрана в заранее заданной области, где обычно должен отображаться ник врага (по кому программа должна делать авто-выстрел), допустим цвет ника будет красный и должен появляться при наведении прицелом на врага, как только это условие соблюдается и в заданной области появляются пиксели заданного(красного) цвета то программа имитируя нажатие ЛКМ/ПКМ делает выстрел по врагу , задержка между выстрелами по желанию, и так далее.... 3) вообразим алгоритм программы : 1) программа обнаруживает ник противника (пиксельно) 2) программа имитирует выстрел Ну что ж , начнем : Сразу первый этап выполнять "круто" , начнем с малого , определим цвет пикселя под мышкой (компьютерной) . 1 этап: В этом нам поможет классная статья с хабрахабр (в комментариях он оставил ссылку на gamehacklab, явно кто-то из наших, я оставлю ссылку на статью ) PS рекомендую к прочтению Нагло скопируем код Воспользуемся его наработками Все замечательно , с малой задачей справились. 2 этап : Теперь мы осознали, что ник у нас "прямоугольный" и с одним пикселем можем не попасть в красные буквы Создадим дополнительно пару переменных (модернизируем программу под наши нужды) и получим такое: картинка Тут я использовал 5 пикселей чтобы наверняка определить ник точно : где x - это горизонтальная точка и от нее "отходим" влево и вправо Код программы : Теперь делаем скрин игры , определяем цвет ника , рисуем прямоугольники , радуемся , что программа работает и/или просто вводим мышкой по экрану.... PS конец первой части , оцениваем и обсуждаем , продолжение следует по мере возможности(скоро) ....
  2. Код выкладывай , посмотрим , поправим
  3. я предлагаю сразу с экрана игры снимать пиксели и сразу же смотреть/сравнивать и производить нужные действия я программу уже реализовал , работает хорошо , как допру производить mouse_clikc сразу выложу код =)
  4. можно сравнивать не с эталонном , а с оттенком цвета (поймать на нике эталонный цвет сложно(ники бывают разные)), и да в этой игре мало чего красного(только ник, может ,что-то еще, мне не попадалось) PS а еще вижу проблему имитирование mouse_click, так как скорее всего используется D3DX_input
  5. У тебя в коде второй параметр у функции "GetPixelsColor" повторяется везде?! Идеи по оптимизации такие : 1) доделать грамотно код 2) запилить многопоточность Ресурсы системы будут больше тратится , но скорость повысится.
  6. GetColorFromUint - это твоя функция или она где-то за документирована ??
  7. Если это так , то прибавь несколько пикселей от прицела (как определить : методом тыка =) ) и исследуй малую часть прямоугольника но я сомневаюсь , что расстояние L статично
  8. а на разном расстоянии отображается ник на разном уровне от прицела ?
  9. Области , где сканировать ? Могу предположить , что цель(прицел) находится прям в середине экрана игры (как в стрелялках) , определить можно так : поделив ширину и высоту экрана по полом и считать там пиксель(пиксели). Так же можно поставить кружок прямо в прицел и так ты будешь видеть визуально , откуда будет считываться область пикселей
  10. Error_122 ошибку можно посмотреть на том же сайте и значит она "The data area passed to a system call is too small." = "Область данных, переданная системному вызову, слишком мала." . Попробуй искать программу по первому параметру - это по-мойму класс приложение , его можно глянуть в Spy++ (приложение идет с visual studio или window-й , не помню , в крайнем случае его можно скачать). Так же можно найти id через такие функции CreateToolhelp32Snapshot , Process32First.
  11. Так же хорошо будет , если будешь использовать функцию GetLastError(); , поддерживается ли эта функция у FindWindow можно посмотреть там же ; )
  12. А что если считывать экран по пикселям только у цели в радиусе Х(то есть не весь экран игры,а только часть) , и при обнаружении красного (противника) стрелять ?
  13. Предлагаю такой алгоритм : 1) Вычисляется вектор по прямой 2) Идешь по вектору и сравниваешь настоящие значение с прошлым (допустим 1 секунду назад) и если они одинаковы , то есть бот уперся в тупик , то поворачиваешь налево и через 10 значений 3) поворачиваешь обратно (тобишь направо) и идешь по вектору(см. 1) , в случае неудачи см.2 =)
  14. в каких-то играх существует идеальная плоскость(пол(координата Z?)?)? не знаю..... PS я вижу это так : находимся на беспрепятственной прямой и ищем вектор "А" и бежим по вектору к точке (то есть все три вектора могут спокойно меняться(и z тоже)).
  15. Ну если по прямой , то это просто А = sqrt(x^2+y^2+z^2) так получится пространственный вектор (прямая) от точки твоего персонажа до точки А PS ну что-то мне подсказывает , что нужно искать не прямой путь ) 3 рисунок
  16. Зачем перепечатывать , просто скопировать =))))
  17. Качать программу чтобы узнать виртуальный код клавиши(А вдруг в нем бЕкдор=) ) , оррррнул прям. @ReWanet Уже правильно сказал) А так молодец , стараешься , выкладываешь )
  18. @NewRegPlayer А движок игры какой ? Если Unity , то указатели не помогут (но это не точно)
  19. Предлагаю создать тему "Читы для игр PC" ну или любое другое название , чтобы все туда могли выкладывать свои творения , возможно увеличит численность сайта , как идея ? =)
  20. Привет , ты хочешь использовать прямоугольники вокруг игроков или так : https://cloud.mail.ru/public/4fEw/T6R2htsxF (ну или одновременно) если хочешь без мерцания тебе придется использовать двойную (может тройную) буферизацию отображения (если через WinApi) или сделать hook на DirectX PS напиши версию игры , мне просто интересно =)
  21. @partoftheworlD и так работает каждый аим , я думал , что там все намного проще . Проверка видимости это небось 0 или 1 (не видно , видно ) ?
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.