#include <IE.au3>
$sUrl = 'http://gohe.ru/arena.php'
$iMin = 0
$iMax = 6
Global $loc
$oIE = _IECreate($sUrl)
HotKeySet ("{F2}","_Exit")
HotKeySet ("{F1}","Doit")
HotKeySet ("{F3}","CheckBattle")
While 1
Sleep(500)
_myLoadWait()
GetLocation_()
Switch $loc
Case "Арена"
_myLoadWait()
Arena_()
Case "Сражение"
_myLoadWait()
Battle_()
Case "Персонаж"
_myLoadWait()
_IENavigate($oIE,$sUrl)
Case "Боги против Героев"
_myLoadWait()
_IENavigate($oIE,$sUrl)
Case "Подключение"
_myLoadWait()
Case Else
_myLoadWait()
_IENavigate($oIE,$sUrl)
EndSwitch
WEnd
Func _Exit()
Exit
EndFunc
Func GetLocation_()
Sleep(100)
_IELoadWait($oIE)
$oIE = _IEAttach("[CLASS:IEFrame]",'Instance')
Local $oInputs = _IETagNameGetCollection($oIE, "title")
If @error<=0 Then
For $oInput In $oInputs
$loc=$oInput.innerText
Return $loc
Next
Else
_IENavigate($oIE,$sUrl)
EndIf
EndFunc
Func Battle_()
_IELoadWait($oIE)
Local $oForms = _IEFormGetCollection($oIE)
If @error<=0 Then
For $oForm In $oForms
$oUdar = _IEFormElementGetObjByName($oForm, 'udar')
_IEFormElementOptionSelect($oUdar, '1')
$oBlock = _IEFormElementGetObjByName($oForm, 'block')
_IEFormElementOptionSelect($oBlock, '2')
_IEFormSubmit($oForm)
_IEAction($oIE, "refresh")
_myLoadWait()
ExitLoop
Next
EndIf
Local $sHTML=_IEBodyReadText($oIE)
If @error<=0 Then
Local $case
Switch StringInStr($sHTML,$case)
Case $case="Ожидаем ход противника!"
_IELinkClickByText($oIE,"На главную")
Sleep(100)
Case $case="Вы победили в бою"
_IELinkClickByText($oIE,"На главную")
Sleep(100)
Case $case="Вы проиграли сражение!"
_IELinkClickByText($oIE,"На главную")
Sleep(100)
Case Else
_IEAction($oIE, 'refresh')
EndSwitch
EndIf
#cs
Local $oInputs = _IETagNameGetCollection($oIE, "div")
If @error<=0 Then
Local $case
For $oInput In $oInputs
Switch StringInStr($oInput.innerText,$case)
Case $case="Ожидаем ход противника!"
_IELinkClickByText($oIE,"На главную")
Sleep(100)
ExitLoop
Case $case="Вы победили в бою"
IELinkClickByText($oIE,"На главную")
Sleep(100)
ExitLoop
Case $case="Вы проиграли сражение!"
IELinkClickByText($oIE,"На главную")
Sleep(100)
ExitLoop
Case Else
_IEAction($oIE, 'refresh')
ExitLoop
EndSwitch
Next
EndIf
#ce
EndFunc
Func Arena_()
_myLoadWait()
Sleep(100)
_IELoadWait($oIE)
;==> создаем бой
Local $oLinks = _IELinkGetCollection($oIE)
If @error<=0 Then
Local $click="Создать бой"
For $oLink In $oLinks
If $oLink.innerText==$click Then
_IELoadWait($oIE)
_IELinkClickByText($oIE, $click)
ExitLoop
EndIf
Next
EndIf
;==>
Sleep(200)
_myLoadWait()
;==> заполняем форму
$oForms = _IEFormGetCollection($oIE)
If @error<=0 Then
For $oForm In $oForms
If $oForm.action == '/arena.php?mod=inv' Then
$oMin = _IEFormElementGetObjByName($oForm, 'min')
$oMax = _IEFormElementGetObjByName($oForm, 'max')
$oSelect = _IEFormElementGetObjByName($oForm, 'start')
_IEFormElementOptionSelect($oSelect, '3')
Sleep(200)
_IEFormElementSetValue($oMin, $iMin)
Sleep(200)
_IEFormElementSetValue($oMax, $iMax)
Sleep(200)
_myLoadWait()
_IEFormSubmit($oForm)
ExitLoop
EndIf
Next
EndIf
;==>
Sleep(200)
_myLoadWait()
;==> ждем противника
Local $sHTML=_IEBodyReadText($oIE)
Sleep(200)
_myLoadWait()
If @error<=0 Then
Local $case
Switch StringInStr($sHTML,$case)
Case $case="Бой успешно создан!"
Sleep(200)
_myLoadWait()
_IELinkClickByText($oIE,"Обновить")
Sleep(100)
Case $case="Ожидание противника"
Sleep(200)
_myLoadWait()
IELinkClickByText($oIE,"Обновить")
Sleep(1000)
Case $case="Вы проиграли сражение!"
Sleep(200)
_myLoadWait()
IELinkClickByText($oIE,"На главную")
Sleep(100)
Case Else
_IEAction($oIE, 'refresh')
EndSwitch
EndIf
;==>
EndFunc
Func _myLoadWait()
While Not (String($oIE.document.readyState) = "complete")
;~ ToolTip('Wait Load',150,150)
$r=Random(1,4,1)
Sleep($r*100)
WEnd
EndFunc