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