Что нового

[Ботва Онлайн] Пишем Бота, (поиск противника и нападение)

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
оф. сайт игры http://.botva.ru/

Имеется рабочий бот, помогите организовать цикл. после выполнения всей программы необходимо выждать 15-25 минут, и перейти по ссылке
_IELinkClickByText ($oIE, 'Бодалка'), и продолжить выполнение программы. и так до бесконечности.

Код:
#include <IE.au3>
Dim $sLogin = 'login', $sPass = 'pass', $aServer[3] = ['Адын'], $iCheck = 0

;~~~~~~~~~~~~~~~~~~~~ Login ~~~~~~~~~~~~~~~~
$oIE = _IECreate("http://g1.botva.ru")
$oForm = _IEGetObjById($oIE,'loginForm')
$oSelect = _IEGetObjById($oForm,'server')
$oLogin = _IEGetObjById($oForm,'email')
$oPass = _IEGetObjById($oForm,'passWord')
$oSelect = _IEGetObjById($oForm,'server')
_IEFormElementOptionSelect ($oSelect, $aServer[0], 0, 'byText')             ; выбор сервера (0 - Адын, 1 - Дыдва, 2 - Тытра)
_IEFormElementSetValue($oLogin, $sLogin)                                    ; логин
_IEFormElementSetValue($oPass, $sPass)                                      ; пароль
_IEFormElementCheckBoxSelect($oForm, '1', 'remember', $iCheck, 'byValue')   ; 0 - не запоминать данные (по умолчанию) 1 - запоминать данные
_IEFormSubmit($oForm)
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_IELinkClickByText ($oIE, 'Бодалка')
	
$oForm = _IEFormGetCollection ($oIE, 1)
$oMin = _IEFormElementGetObjByName ($oForm, 'min')
$oMax = _IEFormElementGetObjByName ($oForm, 'max')
_IEFormElementSetValue ($oMin, 3)
_IEFormElementSetValue ($oMax, 3)
$oInputs = _IETagNameGetCollection ($oForm, 'input')

For $oInput In $oInputs
    $sT = _IEPropertyGet ($oInput, 'outerHTML')

If StringInStr ($sT, 'ИСКАТЬ ПРОТИВНИКА') > 1 Then
        _IEAction ($oInput, 'click')
        _IELoadWait ($oInput)
        _IELoadWait ($oIE)
  EndIf
Next
$oInputs = _IETagNameGetCollection($oIE, 'input')
For $oInput In $oInputs
    If $oInput.type == 'submit' And $oInput.value == 'НАПАСТЬ' Then
        _IEAction($oInput, 'click')
        ExitLoop
    EndIf
Next
 

Belfigor

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

Код:
Whie 1
;
WEnd

trolonenene.gif
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
Re: [Автоматизация] Организация цикла, (доработка бота)

это я знаю как мне организовать алгоримт, тот который я хочю
Автор: Belfigor
Код: AutoIt [Выделить]
Whie 1
;
WEnd
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Re: [Автоматизация] Организация цикла, (доработка бота)

Я так цикл делаю...
Код:
While 1
	$text = _IEBodyReadText($ie_Handle) ; Считываем текст со страницы
	$hps = StringRegExp($text,"Здоровье: ([1234567890/]+)",3) ; Получаем здоровье
	If IsArray($hps) Then ; Если получилось определить здоровье :D
		$hp = Round(Execute($hps[0]&"*100"),0) ; Здоровье в процентах
		If $hp > 60 And StringInStr($text,"Текущая работа Я свободен!") And StringInStr($text,"До нападения: Пора в бой!") Then ; Если свободен и пора в бой и здоровье больше 60%
			_IENavigate($ie_Handle,"http://g3.botva.ru/dozor.php") ; Идем в атаку
			; Атака пока в разработке =)
		EndIf
	EndIf
WEnd
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
Re: [Автоматизация] Организация цикла, (доработка бота)

Спасибо, позже постораюсь приладить твой цикл к программке. подскажи пжл ты уже работу своего цикла проверял???
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
Re: [Автоматизация] Организация цикла, (доработка бота)

в результате выполнения цикла идут ошибки в редакторе

D:\bot.au3 (21) : ==> Variable used without being declared.:
$text = _IEBodyReadText($ie_Handle)
$text = _IEBodyReadText(^ ERROR

подкажите пжл в чем может быть проблема???
 

Belfigor

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

Исходя из ошибки, не определена переменная $ie_Handle
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Re: [Автоматизация] Организация цикла, (доработка бота)

wi.nikolaev, имена переменных надо на свои поменять =)

Что на счет цикла, у меня работает на ура, уже заставил бота ходить на обзор :smile:
 

Belfigor

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

Имя темы кстати измените на соответствующее теме, в которой обсуждается разработка бота для конкретной браузерной игры.
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Как правильно называть темы

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

С уважением, Модератор раздела.
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
Re: [Автоматизация] Организация цикла, (доработка бота), "on-line игра «Ботва»".

to SECTOR
блин, подскажи где взять переменные. :scratch: чет не могу понять.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [Автоматизация] Организация цикла, (доработка бота), "on-line игра «Ботва»".

Для безнадежно слепых: http://autoit-script.ru/index.php/topic,6125.0.html
последняя попытка.
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
Re: [Автоматизация] Организация цикла, (доработка бота), "on-line игра «Ботва»".

злые модераторы, сори в первый раз не дочитал правило.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Вот теперь все по ГОСТу
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
спасибо большое, будущие темы буду оформлять красиво темы. :ok:
 

axlwor

Скриптер
Сообщения
657
Репутация
147
что то я вопрос прозевал, пока тему оформляли :rofl:
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
на данное момент, в программе реализован следующий алгоритм
1. вход на сайт - logon
2. переход в бадалку
3. поиск противника по заданному уровню.
4. атака найденного противника
5. цикл, через каждые 18 минут повтор действий поиска и атаки противника.
 

axlwor

Скриптер
Сообщения
657
Репутация
147
почему 18 минут? Не проще ли ждать момента возможности нападения? Так мы получаем более универсальный бот
И как я понял все проблемы решены и бот написан?
 
Автор
W

wi.nikolaev

Новичок
Сообщения
32
Репутация
1
18 минут было сделано пока я не решил проблему с частью программы.

Код:
$text = _IEBodyReadText($oIE) ; Считываем текст со страницы
    $hps = StringRegExp($text,"Здоровье: ([1234567890/]+)",3) ; Получаем здоровье
    If IsArray($hps) Then ; Если получилось определить здоровье :D
        $hp = Round(Execute($hps[0]&"*100"),0) ; Здоровье в процентах
        If $hp > 60 And StringInStr($text,"Текущая работа Я свободен!") And StringInStr($text,"До нападения: Пора в бой!") Then ; Если свободен и пора в бой и здоровье больше 60%
            _IELinkClickByText ($oIE, 'Бодалка') ; Идем в атаку


на данный монет бот стал более оптимален
1. вход на сайт - logon
2. переход в бадалку
3. поиск противника по заданному уровню.
4. атака найденного противника
5. момента возможности нападения, после
6. дозор на 10 мин, и цикл по новой.
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Как на счет авто-ухода на ферму, вечером или перед выходом... :smile:
 
Верх