Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2010, 17:48   #11
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

Код:
var bmp : TBitMap;
col : TColor;
R , G , B : Byte;
begin
bmp := TBitMap.Create;
bmp.LoadFromFile('1.bmp'); //имя загружаемого файла
col := bmp.Canvas.Pixels[1,1]; //координаты пикселя, цвет которого тебе нужен
R := GetRValue(col); //получение R G B пикселя
G := GetGValue(col);
B := GetBValue(col);
bmp.Destroy;
end;
ZaRDaK вне форума Ответить с цитированием
Старый 21.07.2010, 07:39   #12
zlex
 
Регистрация: 12.04.2010
Сообщений: 8
По умолчанию

FullVenic, эти боты работают на ява скриптах, которые в одно время админы могут прикрыть. К примеру у ресурса имеется определенный код типа "abcd" и подлетев в игре к нему, бот посылает запрос на сервер "abcd" и собирает этот ресурс. Если админы добавят пару символов в скрипт ресурса, то бот будет ссылаться на "abcd", а на деле у ресурса будет код "abcd=я_не_бот", то тут-то и боту конец.

Тем более мне не готовый бот нужен, а сам хочу его написать. Только пока что дела не позволяют начать. Надеюсь уж сегодня я приступлю к работе =) там уж и появятся конкретные вопросы по теме
zlex вне форума Ответить с цитированием
Старый 21.07.2010, 09:27   #13
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Честно говоря не знаю как устроена структура игры, но я когда то писал бота для икариама, так я в своей программе на форме размещал webbrowser1, грузил в него игру и анализировал код документа, а потом просто программно клика по нужным мне объектам.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 21.07.2010, 10:00   #14
zlex
 
Регистрация: 12.04.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от KobolD Посмотреть сообщение
анализировал код документа
Парсил всмысле? Каждый раз? На сколько мне известно сервер засекает парсировку.

Сделав скрин, его нужно сохранить в файл? или можно перебирать пиксели изображения прямо из памяти?

Подскажите как прописать клик мышкой?
код типа:
x := Round(x * (65535 / Screen.Width));
y := Round(y * (65535 / Screen.Height));
Mouse_Event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);

не канает
----------------------------------------------------
отредактировано:
помогло setcursorpos(x,y);

Последний раз редактировалось Stilet; 26.07.2010 в 09:19.
zlex вне форума Ответить с цитированием
Старый 21.07.2010, 14:47   #15
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Цитата:
Сообщение от zlex Посмотреть сообщение
Парсил всмысле? Каждый раз? На сколько мне известно сервер засекает парсировку.
Да нет, там получается так что ты при загрузке кода страницы сразу его "копируешь" в переменную типа webbrowserdocument (или что то типа того) и уже с ней работаешь, надо только поставить отлов события на изменение страницы, чтобы в переменной всегда актуальная информация была. Я в четверг вечером могу тебе наработки прислать для икариама на VB, если я их случайно не потер. оставь тока контакты какиенить.
И скинь адрес игры, я хоть посмотрю, структура похожа или нет.
Кстати посмотри программу AutoIt или UIpilot (есть еще какие то аналоги но я не помню как называются) может проще будет писать, там как раз есть функция анализа цвета изображения по координатам и кликание мышкой по координатам.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.

Последний раз редактировалось KobolD; 21.07.2010 в 14:53.
KobolD вне форума Ответить с цитированием
Старый 21.07.2010, 20:27   #16
zlex
 
Регистрация: 12.04.2010
Сообщений: 8
По умолчанию

KobolD, спасибо за информацию. Было бы интересно глянуть на упомянутые проги. Адрес игры darkorbit.ru
мой скайп: mr-zlex
zlex вне форума Ответить с цитированием
Старый 21.07.2010, 21:16   #17
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
x := Round(x * (65535 / Screen.Width));
y := Round(y * (65535 / Screen.Height));
Mouse_Event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
Эм...... Это что вообще за ужасть-то такая? о___о
(про первую часть кода)
Цитата:
Парсил всмысле? Каждый раз? На сколько мне известно сервер засекает парсировку.
Он не засекает, просто игра может слегка изменить структуру html и вы сразу же попадётесь, с поличным... =\\
Уже не раз давал ссыль: А давайте я вам расскажу общие принципы как ловятся большинство ботов
Цитата:
Сделав скрин, его нужно сохранить в файл? или можно перебирать пиксели изображения прямо из памяти?
Нет. Лишняя трата времени... Скрин делается при помощи апи-функции в HDC и незачем его оттуда куда-то копировать...

Вы в сборник статей-то заглядывали? Там есть всё нужное, почти готовое...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 21.07.2010, 23:30   #18
zlex
 
Регистрация: 12.04.2010
Сообщений: 8
По умолчанию

Ужас этот нашёл в инете =)
Да, со скрином всё окей. В статьи эти глядел, канешн может пропустил, но готового не нашёл)

Сделал скрин определенной области экрана, нашел в нём определённый пиксель, RGB которого входят в интервал. но пока что где-то напутал с координатами, и кликает не туды, но с этим завтра разберусь. думаю, проблема возникнет только с быстродействием программы, а так работать должна
zlex вне форума Ответить с цитированием
Старый 21.07.2010, 23:52   #19
FullVenic
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 59
По умолчанию

Рома
Я тебя добавил в скайп. На каком языке будешь писать?
FullVenic вне форума Ответить с цитированием
Старый 24.07.2010, 16:00   #20
zlex
 
Регистрация: 12.04.2010
Сообщений: 8
По умолчанию

Кто подскажет, как можно программно вызвать клик ЛК мыши?
Что-нибудь проще этого:

x := Round(x * (65535 / Screen.Width));
y := Round(y * (65535 / Screen.Height));
Mouse_Event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);

....

Последний раз редактировалось zlex; 24.07.2010 в 16:07.
zlex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отличить бота от пользователя Alex Cones Свободное общение 18 16.04.2010 20:20
Создание бота. m4' Фриланс 1 21.10.2009 18:31
Создание бота Genie Помощь студентам 13 12.09.2009 22:55
Создание бота Чародей Феникс Свободное общение 4 07.06.2009 16:13
создания бота kobras Работа с сетью в Delphi 1 01.12.2007 14:41