Что нового

Непрямолинейное перемещение курсора

Typok

Новичок
Сообщения
14
Репутация
14
Где-то уже находил решение данного вопроса, но найти повторно и использовать не смог :-[
Придумал другое, до безобразия простое и ,как мне кажется, более похожее на движение дрожащей человеческой руки, нежели плавные параболы из точки А в точку Б.
вот:
Код:
While 1
		;_запоминаем координаты курсора
		$mp = MouseGetPos()
		;
		;__Тут находится основное тело скрипта, проверяющее наличие всплывающих окон, ДТ и т.п. и управляющее работой бота-копалки
		;
		;_сравниваем координаты курсора и если курсор двигался - смещаем его в произвольном направлении
		$mp2 = MouseGetPos() 
		if $mp[0] <> $mp2[0] OR $mp[1] <> $mp2[1] Then
			MouseMove ($mp2[0] + Random(-1,1,1),$mp2[1] + Random(-1,1,1),Random(10,15))
		EndIf
	WEnd


скрипт работает паралельно капательному/ хантяшему/ возильному и т.д. боту
координаты маускликов поправить с учетом отскоков курсора (сделать хотя бы на пару пикселей меньше реальных размеров кнопки/строки овервью/контекстного меню и т.п.) иначе будет глючить.

Если кто знает - скажите почему не работает в таком виде?
Код:
While 1
		;_запоминаем координаты курсора
		$mp = MouseGetPos()
		;
		;__Тут находится основное тело скрипта, проверяющее наличие всплывающих окон, ДТ и т.п. и управляющее работой бота-копалки
		;
		;_сравниваем координаты курсора и если курсор двигался - смещаем его в произвольном направлении
		$mp2 = MouseGetPos() 
		if $mp <> $mp2 Then
			MouseMove ($mp2[0] + Random(-1,1),$mp2[1] + Random(-1,1),Random(10,15))
		EndIf
	WEnd

т.е. когда контролим не только смещение курсора по оси X, но и по Y тоже
в этом случае значения координат X и Y периодически меняются местами :wacko: и начинается броуновское движение курсора по экрану.
Впринципе это не смертельно, но на действия человека не походит никак ;)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
ты сравниваешь два массива.
посмотри вот такой код, к примеру
Код:
Local $a[2] = [1, 2]
Local $b[2] = [1, 2]

If $a <> $b Then MsgBox(0, '', 'a')

то есть они не равны.
если хочешь сравнить их поэлементно, то делай их через AND, если ждешь несовпадения обеих координат, или через OR, если достаточно несовпадения только какой-либо
Код:
While 1
        ;_запоминаем координаты курсора
        $mp = MouseGetPos()
        ;
        ;__Тут находится основное тело скрипта, проверяющее наличие всплывающих окон, ДТ и т.п. и управляющее работой бота-копалки
        ;
        ;_сравниваем координаты курсора и если курсор двигался - смещаем его в произвольном направлении
        $mp2 = MouseGetPos()
        if $mp[0] <> $mp2[0] OR $mp[1] <> $mp2[1] Then
            MouseMove ($mp2[0] + Random(-1,1),$mp2[1] + Random(-1,1),Random(10,15))
        EndIf
    WEnd
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
А вот и господин Турок подоспел на нашу конференцию
 

DJ_Tommy

Продвинутый
Сообщения
234
Репутация
57
А в чем смысл данного действия? неужели сисипи логируют перемещение мышки???
 
Автор
T

Typok

Новичок
Сообщения
14
Репутация
14
Чесно говоря, не знаю.
Но думаю, что да.
А что им еще остается?
1. Проверка таймингов, координат движения курсора (направление, скорость движения, места кликов), настройки интерфейса клиента и чат логи.
Если есть подозрения:
2. Конво
Если подтверждается:
3. Бан

Может алгоритм работы ГМ'а и другой - я не знаю.
Но более логичного я пока не придумал.
 

DJ_Tommy

Продвинутый
Сообщения
234
Репутация
57
1. периодичность нажатия мыши - вполне допускаю, координаты мыши при нажатии мыши - то же допускаю ...... А теперь представьте что будет с логом если логировать каждую милисикунду координаты мыши - прикиньте себе размер лога ... Хотя я думаю они даже не логируют координаты . ..скорее всего роляет периодичность ...... Хотя это всего лишь мое ИМХО ...
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Зачем каждую милисекунду? Достаточно отсылать чексуммы по инфе каждое нное количество времени :smile:
 

DJ_Tommy

Продвинутый
Сообщения
234
Репутация
57
Belfigor сказал(а):
Зачем каждую милисекунду? Достаточно отсылать чексуммы по инфе каждое нное количество времени :smile:
прикиньте кто нить сколько в Кб будет занимать высылка подобных логов в сисипи и умножте на количество игроков порядка 35к одновременно. Не знаю не знаю ...... неужели все так страшно???
 

hikki

Продвинутый
Сообщения
233
Репутация
99
OffTopic:

кажется мы нашли легендарный лагогенератор :rofl: , шлем петицию на десяток ключевых чаров противника и их начинают логировать по указанной схеме, пока он тихо хантит то и незаметно, а как флот так начинается страшное :'(

 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Да нет вы чо, это нагрузки дает на клиент самые крапали. выслать 2-3-4 значное число раз допустим в 5-10 секунд. Это даже сотой доли процента не составляет от инфы которая гоняется между клиентом и сервером.
 

Kinex

Чайник
Сообщения
19
Репутация
2
В еве траектория движения мыши вряд ли сейчас проверяется, но есть проекты где это отслеживается. Где-то видел англоязычный devteam который пишет эмуляцию human-like поведения мыши, но, к сожалению, с закрытым доступом.
 
Автор
T

Typok

Новичок
Сообщения
14
Репутация
14
DJ_Tommy сказал(а):
прикиньте кто нить сколько в Кб будет занимать высылка подобных логов в сисипи и умножте на количество игроков порядка 35к одновременно. Не знаю не знаю ...... неужели все так страшно???
Мне кажется всё не так страшно, но и не так просто
1. Проверка выборочная - это 100%. Иначе онлайн упал бы значительно :smile:
2. Проверять ботом ключевые майнерские системы, а подозрительных личностей проверять ручками довольно просто. (хантеров проверять еще проще)
3. ЦЦП до поры до времени закрывает глаза на 90% ботов (ИМХО) т.к. они не наносят никакого особого вреда и не оказывают серьезного влияния на экономику евы (хайсечные копатели, тейдинг боты, боты-возилки и т.п.). Но не надо забывать, как забанили оборзевших китайцев и что стало с ценами на лед и его продукты в конце лета, как "вдруг" опустели ледовые белты в хаях и т.д. И ццп явно обнаружило это не в один день.
4. Про то, что ГМ'ы кидают конво майнерам (не ботам), заснувшим/афк и т.п. мне уже пару раз расказывали.

Вобщем, можно относиться к безопасности халатно, но по мне так лучше параноить и не попадать в число "китайцев". ;)
 

DJ_Tommy

Продвинутый
Сообщения
234
Репутация
57
Да не смотрите на меня так - я ж разве против? наоборот за .... за то что бы поведение бота не выделяло его из толпы .. просто я на все смотрю со своей колокольни - в частности занимаюсь производством и парочка ботов мне нужна чисто для автоматизации двух процессов - продать\купить (ибо времени нет в маркете сидеть) и провести фрейт 25 прыгов туда\обратно ... все остальное я делаю ручками ибо этот процесс занимает 1 час в неделю в сумме ......... Поэтому для меня не столь существенны такие проверки .... А для бота 23\7 конечно чем больше интеллекта тем лучше (а в таких вещах мелочей не бывает), вы том числе можно и ложные нажатия засылать - типа как человек промахнулся мимо нужной кнопки :ok:
 

Archy26

EVE DEVE eve bot development group
Сообщения
60
Репутация
42
1) Взял асечного чатбота. (погуглите - найдёте с полсотни).
2) поучил его говорить про еву, поковырялся настройках, накидал с полсотни несложных ответов. Но это всё не самое главное :smile:
Пришла мне на ум простая идея. Исходя из собственного опыта общения с ГМами я кое-что сделал.
Самое главное - первый ответ в чат с конво, чатбот засылает в неправильной раскладке. Затем шлёт тот же ответ в правильной раскладке.
Получается примерно следующее:
"GM > Hello there!
Player > Рш!
Player > Hi!
Player > Can I help you?"
Согласитесь, иллюзия общения с игроком будет полной, какую бы лажу бот потом не написал бы...
Дальше думайте сами.
 

hikki

Продвинутый
Сообщения
233
Репутация
99
Вот интересно мне, стоит галко авто реджект инвайт (извиняйте далеко сейчас игра, не могу точно) тоесть обычные конво до меня не доходят, ГМ сквозь это пройдет или как?
 

Archy26

EVE DEVE eve bot development group
Сообщения
60
Репутация
42
Да. :smile:
Меня уже несколько раз ГМы конвали, хотя всегда галки стоят "реджект инвитэйшн".
 
Автор
T

Typok

Новичок
Сообщения
14
Репутация
14
Archy26 сказал(а):
вот это мысль ;)

только мой ледокол пользуется онлайн переводчиком на какой-нить экзотический язык:
?????? !
????????????????????
????????????

часть несоответствий вопросов и ответов можно списать на "трудности перевода" ;D
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Да, спокойно проходит
 

Lexx98

Продвинутый
Сообщения
272
Репутация
73
Пройдёт, на то он и ГМ.
 
Автор
T

Typok

Новичок
Сообщения
14
Репутация
14
Поправил первый пост:

1. учтена подсказка Kaster'а
2. Из справки AutoIT для функции Random:
"...Random( [[Min ,] Max] )...Если Min и Max - это целые числа, то результат также целый..."
Но Random(-1,1) выдает числа от -1 до 1 с плавающей запятой. Пришлось сделать так Random(-1,1,1)
3. В работе с контекстными меню иногда наблюдались ошибки т.к. паузы между перемещением курсора и нажатием кнопки мыши в функции MouseClick бывает достаточно что бы сделать случайный отскок на один пиксель и не попасть в нужную строку. Запас в пару пикселей покраям строки/кнопки решает проблему.
 
Верх