Что нового

[Ботва Онлайн] Бот для копки кри.

Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
Извини, но я еще не развил навыки телепатии.
 

axlwor

Скриптер
Сообщения
657
Репутация
147
плохо :'(
очень плохо :whistle:
надеюсь навыки чтения у тебя на должном уровне? :rofl:
Код:
Adlibregister
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
может пояснишь как ее использовать?
Вот я запихнул всего бота в функцию, теперь при запуске скрипта сначала считываем данные. Затем запуская функцию входим в цикл for. Дык куда тут вставить Adlibregister?
Код:
#include <IE.au3>
#include <Array.au3>
; вариант 1 Adlibregister('main',30)
$oIE = _IEAttach("Битва за") ;подключаемся к окну ИЕ
_IELinkClickByText($oIE, 'Шахта') ; идем в шахту
_IELinkClickByIndex($oIE, 44) ; Заходим в карьер
$sHTML = _IEBodyReadText ($oIE) ;считываем текст
$res=StringRegExp($sHTML,"Зарядов (.*?) раз",3) ; ищем кол-во инструментов
; вариант 2 Adlibregister('main',30)
main()
Func main()
endfunc
; вариант 3 Adlibregister('main',30)


З.Ы. куда я ее тока не пихал :smile: Adlibregister умеет перезапускать функцию в случае ошибок?
 

axlwor

Скриптер
Сообщения
657
Репутация
147
сделай автомат

проверяем текущую страницу _IEBodyReadHTML
в зависимости от того что получили выполняем действие Switch...Case...EndSwitch. а тут можно ветвить алгоритм, добавлять условия (получили nginx - refresh, получили шахту - копай, покупай, открывай билеты)
и всю эту конструкцию в функцию и бесконечный цикл
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
axlwor [?]
сделай автоматпроверяем текущую страницу _IEBodyReadHTMLв зависимости от того что получили выполняем действие Switch...Case...EndSwitch. а тут можно ветвить алгоритм, добавлять условия (получили nginx - refresh, получили шахту - копай, покупай, открывай билеты)и всю эту конструкцию в функцию и бесконечный цикл

Да я уже давно присматриваюсь к Switch...Case...EndSwitch :smile:
А как все это связать? пример с часами(в хелпе) предельно прост и понятен.
Сейчас пока что сделал так:
Код:
#include <IE.au3>
#include <Array.au3>
$oIE = _IEAttach("Битва за") ;подключаемся к окну ИЕ
$sHTML=_IEBodyReadText($oIE)

Switch _sre()
	Case 1
		MsgBox(64,'','Вы ищете кристаллы')
	Case 2
		MsgBox(64,'','Вероятность успеха')
	Case 3
		MsgBox(64,'','Если ты готов спуститься в карьер')
	Case Else
		MsgBox(0,0,'Error нах')
EndSwitch



Func _sre()
	$sHTML=_IEBodyReadText($oIE)
	StringRegExp($sHTML,"Вы ищете кристаллы",3)
	If not @error Then
		Return 1
	EndIf
	StringRegExp($sHTML,"Вероятность успеха",3)
	If Not @error Then
		Return 2
	EndIf
	StringRegExp($sHTML,"Если ты готов спуститься в карьер",3)
	If Not @error Then
		Return 3
	EndIf
EndFunc

Можно ли обойтись без использования _sre() ?


З.Ы. Бот с использованием Switch Case оказывается намного стабильнее четче и быстрее, кстати :smile:
А с покупкой инструментов у меня все еще ничего не получается :(
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
Воистину, утро вечера мудренее :smile: Копался копался и вот что получилось:
 

axlwor

Скриптер
Сообщения
657
Репутация
147
ветви case

сначала по месту действия (статы, бодалка, шахта) или refresh
потом по действию в нужной локации (бодаться, дозор, кастовая страшилка; копка, билеты, подземка)

ps. я поэтому тебе и рекомендовал бы блок-схему нарисовать. чтобы видно было. что где как и зачем


другой вариант бота... step-by-step. прописываешь шаг за шагом действия. главный минус - бот может "сойти с ума"
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
Да уже наветвил :smile: Без покупки инструментов бой прекрасно работал вчера весь день.
Сейчас сделал покупку, прикрутил, подредачил :smile:
И в общем я сделал все что хотел :smile: так что готовый бот в первом посте.
Проверку хп, питье, ферма и дозоры не нужны. Цель бота тупо копать кри, а вот на чет билетов надо будет подумать. Еще хочу авто апгрейд кулона сделать.
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
Прикрутил к бодалке фильтр характеристик цели.
Код:
Func Attack()
...
Next
$sHTML = _IEBodyReadHTML ($oIE)
$str=StringRegExp($sHTML,'class=*?c4*?>(.*?)<',3)
Local $stat[3]
For $i=0 to 2 ; для первых 3х характеристик 
	$stat[$i]=$str[$i]
Next
If $stat[0]<120 Then ; если сила 
	If $stat[1]<150 Then ; если сила и защита
		If $stat[2]<130 Then ;если сила, защита и ловкость
			$oInputs = _IETagNameGetCollection($oIE, 'input')
			For $oInput In $oInputs
				If $oInput.type == 'submit' And $oInput.value == 'НАПАСТЬ' Then
					_IEAction($oInput, 'click')
					ExitLoop
				EndIf
			Next
		EndIf
	EndIf
EndIf
EndFunc
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
Вот и прошли праздники :smile: с чем вас всех и поздравляю
Захотелось мне сделать контроль голда и кристалов.
Написал:
Код:
#include <IE.au3>
$oIE = _IEAttach("Битва за") ;подключаемся к окну ИЕ
$sHTML=_IEBodyReadText($oIE) ;считываем текст
$gold=StringRegExp($sHTML,"кристаллы:(.*?)",3) ; Находимся на стр перса
MsgBox(0,0,$gold[0])

после праздников голова плохо варит и что-то понять не могу почему $gold[0] пустой?
пробовал и через Текст и через ХТМЛ, не получается.
Код:
<style> 
    .length1 { margin-left: 130px !important;}
    .length2 { margin-left: 60px !important;}
    .length3 { margin-left: 25px !important;}
</style>		</div>
		<div class='top_money '>
			<div class='money' id ='gold'  onMouseOver="doItem('design_money_1','total:|100370|;safe:|15360|;safe_add:|0|;pandora:|0|;free:|85010|',event,this)" >
	<p>золото:</p>
	<b>100.370</b>
		<p class='safe'  title='100370  / 15360' ><i></i><b class='safe_1' style='width:65px'></b></p>
	</div>
<div class='money' id ='crystal'  onMouseOver="doItem('design_money_2','total:|82|;safe:|27|;safe4:|44|;free:|11|',event,this)" >
	<p>кристаллы:</p>
	<b>82</b>
		<p class='safe safe2'  title='82  / 27' ><i></i><b class='safe_1' style='width:65px'></b></p>
	</div>
<div class='money' id ='fish'>
	<a href='harbour.php?a=change'></a>
	<p>пирашки:</p>
	<b>97.541</b>
 

running-frag

why me?
Сообщения
441
Репутация
60
Asshaker попробуй вот так
Код:
$gold=StringRegExp($sHTML,"кристаллы:</p><b>(.*?)",3) ; Находимся на стр перса
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
На самом деле все равно где находиться, но этот вариант конечно же пробовал :smile: и он не работает.
Я помню у меня получилось кри найти... или мне это приснилось.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
а вот так?
Код:
$gold=StringRegExp($sHTML,"кристаллы:(.*?)",2) ; Находимся на стр перса
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Ааа, тебе надо то что на новой строке после "кристаллы:" ?
Вот так что ли
Код:
$gold=StringRegExp($sHTML,"кристаллы:</p>(\n.*?$)",3)
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
Спирт, ты бы перед тем как писать в блокноте проверил бы что ли.
Все нашел через HTML, все дело было в регистре
Код:
#include <IE.au3>
$oIE = _IEAttach("Битва за") ;подключаемся к окну ИЕ
$sHTML = _IEBodyReadHTML ($oIE)
$gold=StringRegExp($sHTML,"золото:</P><B>(.*?)</B>",3)
MsgBox(0,0,$gold[0])
 

DrPanadol

Новичок
Сообщения
2
Репутация
0
неплохо было бы прикрутить проверку уровне жизней перса.
 
Автор
A

Asshaker

Знающий
Сообщения
150
Репутация
17
DrPanadol [?]
неплохо было бы прикрутить проверку уровне жизней перса.
Мне не надо :smile: я такой толстый что меня не трогают.
Хочешь прикручивай:
Код:
#include <IE.au3>
$oIE = _IEAttach("Битва за") ;подключаемся к окну ИЕ

$sHTML=_IEBodyReadHTML($oIE) ;считываем текст

;~ MsgBox(0,0,$sHTML)
$hp=StringRegExp($sHTML,'<I>(.*?)%</I>',3)
MsgBox(0,0,$hp[0])
 

DrPanadol

Новичок
Сообщения
2
Репутация
0
набросал шаблончик, подскажите что дальше?


>>>> Window <<<<
Title: Персонаж. Ботва Онлайн | Битва за реальную капусту! - Google Chrome
Class: Chrome_WidgetWin_0
Position: -4, -4
Size: 1288, 1002
Style: 0x17CF0000
ExStyle: 0x00000100
Handle: 0x00060132

>>>> Mouse <<<<
Position: 128, 15
Cursor ID: 0
Color: 0xFEFEFE

>>>> Visible Text <<<<
Персонаж. Ботва Онлайн | Битва за реальную капусту!
g3.botva.ru/index.php

>>>> Window <<<<
Title: Карьер. Ботва Онлайн | Битва за реальную капусту! - Google Chrome
Class: Chrome_WidgetWin_0
Position: -4, -4
Size: 1288, 1002
Style: 0x17CF0000
ExStyle: 0x00000100
Handle: 0x00060132

>>>> Control <<<<
Class: Chrome_RenderWidgetHostHWND
Instance: 1
ClassnameNN: Chrome_RenderWidgetHostHWND1
Name:
Advanced (Class): [CLASS:Chrome_RenderWidgetHostHWND; INSTANCE:1]
ID: 91733376
Text:
Position: 0, 61
Size: 1280, 933
ControlClick Coords: 829, 187
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x0002021C

>>>> Mouse <<<<
Position: 829, 248
Cursor ID: 0
Color: 0xFABD70

>>>> Visible Text <<<<
Карьер. Ботва Онлайн | Битва за реальную капусту!
g3.botva.ru/mine.php?a=open

>>>> Window <<<<
Title: Карьер. Ботва Онлайн | Битва за реальную капусту! - Google Chrome
Class: Chrome_WidgetWin_0
Position: -4, -4
Size: 1288, 1002
Style: 0x17CF0000
ExStyle: 0x00000100
Handle: 0x00060132

>>>> Control <<<<
Class: Chrome_RenderWidgetHostHWND
Instance: 1
ClassnameNN: Chrome_RenderWidgetHostHWND1
Name:
Advanced (Class): [CLASS:Chrome_RenderWidgetHostHWND; INSTANCE:1]
ID: 91733376
Text:
Position: 0, 61
Size: 1280, 933
ControlClick Coords: 769, 632
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x0002021C

>>>> Mouse <<<<
Position: 769, 693
Cursor ID: 0
Color: 0xE0CEAB

>>>> Visible Text <<<<
Карьер. Ботва Онлайн | Битва за реальную капусту!
g3.botva.ru/mine.php?a=open
 
Верх