Что нового

[Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандом)

Tob72

Новичок
Сообщения
13
Репутация
2
Версия AutoIT:AutoIT v3
Здравствуйте уважаемые. Я новичок в AutoIt. Прошу помочь в написании простенького бота имитирующего человека.
Описание:Что для начала нужно:
1)Перемещать мышь в заданную точку браузера
2)Кликать левой кнопкой мышью(ЛКМ)
3)Отсчитывать 5 минут бездействия скрипта
4)Через рандомное время в промежутке от 10 секунд до 30 секунд снова кликать ЛКМ
5)Повторять эти действия.
Примечания:Почитав день мануал на русском языке и прочитав форум нашел как перемещать мышь с рандомным временем(поэтому сделал перемещение мыши в угол экрана дабы увеличить разность нажатия ЛКМ), но в этой команде очень маленькие промежутки с 1миллисекунды до 100миллисекунд.Что может привести к срабатыванию защиты игры,вниманию админов игры и как следствие бан персонажа.
Код:
For $i = 0 To 70 Step 1
MouseMove(10,10,Random(5,100))    
Sleep(5000)                        
MouseMove(764,786,Random(5,100))   
MouseClick("left")                 
MouseMove(10,10,Random(5,100))    
Sleep(310000)                                        
MouseMove(767,754,Random(5,100))  
MouseClick("left")                 
Sleep(5000)                        
MouseMove(10,10,Random(5,100))    
MouseMove(766,786,Random(5,100))  
MouseClick("left")                 
MouseMove(10,10,Random(5,100))    
Sleep(300000)                 
Next


+ тем кто поможет:smile:
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

Random(5,100)

Этим ты задаёшь скорость перемещения мышки, а не задержку


Добавлено:
Сообщение автоматически объединено:

Я бы сделал как-нибудь так, думаю можно и лучше, но:
Код:
If Random(0,5) <= 2 Then
	MouseClick("left")
Else
	Sleep(5000)
EndIf
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

По сути своей время которое пройдет мышь из пункта А в пункт Б тоже можно считать задержкой.


Добавлено:
Сообщение автоматически объединено:

5) Повторять действия:
Код:
While 1
    MsgBox(0,0,"Test")
WEnd


3) 5 минут бездействия скрипта можно реализовать просто слипом:
Sleep(5*60000)
или же таймером:
Код:
Global $Timer = TimerInit
While 1
    If TimerDiff($timer) > 60000 Then ExitLoop
WEnd
MsgBox(0,0,"Прошла минута с момента запуска скрипта")


2) Кликать левой кнопкой мыши
Код:
Dim $x = 10, $y = 20, $speed = 10
MouseClick("left", $x, $y, 1, $speed)


1) Активировать блокнот и ткнуть в левый верхний угол окна, а потом кликнуть в левый верхний угол клиентской части окна блокнота.

Код:
Opt("MouseCoordMode", 0)
Dim $CurWin = "Notepad"
WinActivate($CurWin)
WinWaitActive($CurWin)
MouseClick("left", 0, 0, 1, 10)
Sleep(1000)
Opt("MouseCoordMode", 2)
MouseClick("left", 0, 0, 1, 10)


4) кликать каждые 10-30 секунд.
Код:
While 1
    Sleep(Random(10000, 30000))
    MouseClick("left")
WEnd
 
Автор
T

Tob72

Новичок
Сообщения
13
Репутация
2
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

Снова здравствуйте!С прошедшими праздниками вас!Прошел год как моя маленькая прога работала безотказно.Хочу малость усовершенствовать ее так как админ игры намудрил и создается впечатление что могу быть пойман и получить бан.

Суть проблемы


1.Допустим в браузерной игре существует прямоугольная кнопка с "текстом 1 " и другая прямоугольная кнопка с "текстом 2" такие же примерно как у вас на форуме при написание соообщения "отправить" и "предварительный просмотр"
2.Как мне сделать что бы скрипт работал следующим образом:
-Определил Местоположение кнопки "отправить"
-Нажал мышкой в рандомную часть этого прямоугольника
-Подождал пока не появится кнопка "предварительный просмотр"
-Нажал мышкой в рандомную часть этого прямоугольника

Огромная просьба расписать саму процедуру куда и как впихивать сохраненную картинку прямоугольника.Либо указать функции и где об этом можно конкретно прочитать дабы не тратить много времени на ненужную мне информацию с руководства так как сам я не программист и в жизни вряд ли мне это в будущем пригодиться.

Как обычно людям которые помогли +1 репутация.Спасибо
 

Asshaker

Знающий
Сообщения
150
Репутация
17
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

Если ты не имеешь ничего против IE почитай хелп к #include <IE.au3>
Например _IELinkClickByText($oIE, 'кнопка1') кликнет по кнопке имеющей текст кнопка1
Текст кнопки можно посмотреть в исходном HTML коде странницы. Да и вообще много чего еще можно сделать :smile:
Код:
#include <IE.au3>
$oIE = _IEAttach("Шапка игры") ;подключаемся к окну ИЕ
_IELinkClickByText($oIE, 'отправить') ; клик по кнопке отправить
$i=1
while $i=1
$sHTML=_IEBodyReadText($oIE) ; считываем текст странницы
StringRegExp($sHTML,"предварительный просмотр",3) ;ищем предварительный просмотр
if not @error then ;если нашли
 _IELinkClickByText($oIE, 'предварительный просмотр') ; жмем на кнопку с текстом  "предварительный просмотр"
$i+=1 ;выходим из цикла
else ;если не нашли
sleep(5000) ; спим
endif
wend
 
Автор
T

Tob72

Новичок
Сообщения
13
Репутация
2
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

Код:
#include <IE.au3>
$oIE = _IEAttach("шапка игры") ;подключаемся к окну ИЕ
_IELinkClickByText($oIE, 'искать работу') ; клик по кнопке искать работу
While 1
$sHTML=_IEBodyReadText($oIE) ; считываем текст странницы
StringRegExp($sHTML,"ОТМЕНИТЬ РАБОТУ",3) ;ищем отменить работу

 _IELinkClickByText($oIE, 'отменить работу') ; жмем на кнопку с текстом  отменить работу

sleep(5000) ; спим
WEnd


Бот подключается к ИЕ
Нажимает искать работу
А вот отменить работу не пашет

строчка кода искать работу
Код:
<a href="rabota.php"  id='m8'>искать работу<b></b></a>
строчка кода отменить работу
Код:
<input type='submit'  class='cmd_all cmd_row3 cmd_arow3 ' value='ОТМЕНИТЬ РАБОТУ' >
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

Код:
_IELinkClickByText

В этой функции ключевое слово Link (ссылка)

Посмотри в справке (там примеры есть)
Код:
_IEFormSubmit

он для
Код:
input type='submit'
 

Asshaker

Знающий
Сообщения
150
Репутация
17
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

Tob72 [?]
строчка кода отменить работу Код: [Выделить]<input type='submit' class='cmd_all cmd_row3 cmd_arow3 ' value='ОТМЕНИТЬ РАБОТУ' >
Код:
$oInputs = _IETagNameGetCollection($oIE, 'input')
			For $oInput In $oInputs
				If $oInput.type == 'submit' And $oInput.value == 'ОТМЕНИТЬ РАБОТУ' Then
					_IEAction($oInput, 'click')
					ExitLoop
				EndIf
			Next


Еще есть
Код:
$sHTML = _IEBodyReadHTML ($oIE)

Потом из $sHTML можно выбрать строку кода.
Код:
$str=StringRegExp($sHTML,'>искать работу<b></b></a>',3)



З.Ы. Вообще IE.au3 для браузерных игр, то что надо :smile:
http://autoit-script.ru/index.php/topic,7930.0.html
Уже месяц работает и достиг значительных результатов :IL_AutoIt_1:. Главное чтоб капчей не было ;D
 
Автор
T

Tob72

Новичок
Сообщения
13
Репутация
2
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

И снова здравствуйте!
Подскажите пожалуйста простое и удобное решение автофлудера(флудобота) в браузерной игре.
Игру буду запускать через #include <IE.au3>
Необходимо некий текст "Приму в клан продам то то куплю то то" вставить в окно набора слов(Например можно взять это окно с вашего форума где я набирал этот текст).
Нажать кнопку отправить в чат(Например все та же кнопка отправить при наборе этого текста с вашего форума).
Скрипт должен вставлять нужный текст скажем из блокнота независимо от того что скопировано в буфере так как буду в это время сидеть в др браузерке и заниматься другими делами.
Прошу помочь или направить в нужном направлении.

Как обычно тем кто помог +1
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Re: [Мышь, клавиатура] От простого бота к сложному для браузерной игры(клик.отсчет по времени.рандо

За такое развитие темы можно во-перывх предупреждение получить.
По правилам форума для каждого вопроса должна быть отдельная тема.
 
Верх