Что нового

WoR Бот - как сделать проверку на выполнение кода

Статус
Закрыто для дальнейших ответов.

Trans

Знающий
Сообщения
257
Репутация
6
Ребят помогите реализовать в боте для браузерной игры(текстово) функцию пополнения маны...

вот часть кода страницы:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="200" />
<title>WAP Game - World of the Rest</title>
<link rel="stylesheet" type="text/css" href="style54.css"/>
</head>
<body><div class="menu" align="center">WoR: Бой №16293581</div><div class="chat"><img src="img/st_upgrade.gif" alt="Уровень" title="Уровень" border="0" /> <span class="svet">21</span> [17%] <img src="img/rubin.gif" border="0" /> 0 <img src="img/money.gif" alt="WR" title="WR" border="0" /> 9 <img src="img/clock.gif" alt="Время" title="Время" border="0" /> 0:58</div><div class="chat"><span class="chat_txt">Чат:</span> <a href="chat.php?uni=1318366692">общий</a>, <a href="/wap/boj.php?uni=1318366587&chatmode=my">мой</a>, <a href="/wap/boj.php?uni=1318366587&chatmode=add">написать</a></div><div class="pers"><img src='/images/white2x2px.gif' width='1' /> NightlyBlooD [21]<table border="0" cellspacing="0" cellpadding="0" class="table_menu">

  <tr>
    <td width="105"><div style="background-color:#F3ECD7; width:105px; height:7px;"><img src="images/life.jpg" width="105px" height="7"></div></td>
	<td id="life" style="padding-left:2px;font-size:9px;">10/10</td>
  </tr>
  <tr>
    <td width="105"><div style="background-color:#F3ECD7; width:105px; height:7px;"><img src="images/mana.jpg" width="105px" height="7"></div></td>
	<td id="mana" style="padding-left:2px;font-size:9px;">500/576</td>
  </tr>

</table>

Теперь о самой проблеме, вообщем надо чтоб когда маны было меньше 60% бот в бою выпивал зелье маны... Второй день ломаю как сделать проверку на кол-во маны, так как она может изменяться, а постоянно забивать не вариант, да и вдруг у противника будет столько же здоровья, сколько у меня маны...

Вот сама строка маны:
Код:
<td id="mana" style="padding-left:2px;font-size:9px;">500/576</td>
очень надеюсь на вашу помощь...



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

в идеале хотелось бы увидить что-то такое:
Код:
Func MyFunc()
If 500/576<0,6 then; проверка маны
_UseMana(); Функция восполнения маны
Else
EndIf
EndFunc


Но вот как сделать чтоб бот сам знал где искать ему строку с маной ума не преложу... (т.к. может вылезти всплыв. окно и уже строка станет другой по счёту)


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

Подозреваю, что можно через:
Код:
$oTable = _IETableGetCollection ($oIE, 0)
$aTableData = _IETableWriteToArray ($oTable, True)

но как заставить бота считывать нужную ячейку так и не пойму...
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Re: WoR - Бот нужна помощь

Разобрался с одной проблемой, так столкнулся с другой...

Код:
#include <IE.au3>
Dim $oIE = _IEAttach('WAP Game - World of the Rest')
$oTable = _IETableGetCollection ($oIE, 0)
$aTableData = _IETableWriteToArray ($oTable)
$aTableData[1][0]; Нужная нам ячейка


Только никак не могу догадаться как бы сделать чтоб происходила функция деления у значения маны *500/576* если оно и так через "/" написано
 

eropov

Jury
Сообщения
195
Репутация
25
Re: WoR - Бот нужна помощь

Скажи с каким значением ты хочешь работать с этим 500 или с этим 576
Как я понял твоя мана 576
Вот функция
Код:
#include <IE.au3>
#include <Array.au3>

$m = _UseMana(); Если приходит 0 попадаем в if с функцией пополнения маны
If $m < 1 Then
	_UseMana()
EndIf

Func _UseMana()
$sUrl = "C:\Documents and Settings\Dima\Рабочий стол\1.html"
$oIE = _IECreate($sUrl,1,1,1,1)
$oTable = _IETableGetCollection($oIE, 0)
$aTable = _IETableWriteToArray ($oTable)
$f = StringTrimLeft($aTable[1][1],4);Записываем значение 576 в переменную
If $f <= 300 then; проверка маны
	;MsgBox(1,'мало маны',$f)
	Return 0
Elseif $f > 300 then
	;MsgBox(1,'много маны',$f)
	Return 1
EndIf
EndFunc
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Re: WoR - Бот нужна помощь

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


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"WoR - Бот нужна помощь" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

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

Trans

Знающий
Сообщения
257
Репутация
6
Re: World Of Rest Бот - нужна помощь в создание функции воспол. маны

eropov [?]
Не работает ваш вариант...


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

разобрался в вашей функции, есть один небольшой минус - это надо каждый раз указывать сколько сколько символов стирать...
 

eropov

Jury
Сообщения
195
Репутация
25
Re: World Of Rest Бот - нужна помощь в создание функции воспол. маны

У меня все работает
Напиши по конкретнее что должно получиться(объясни по конкретнее)
я тебя просил сказать что это такое 500/576, возможно ини могут изменяться
Belfigor что если тему назвать так : как сделать проверку на выполнение кода
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Re: World Of Rest Бот - нужна помощь в создание функции воспол. маны

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


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"World Of Rest Бот - нужна помощь в создание функции воспол. маны" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

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









Одна попытка и если тема опять будет названа не по правилам она будет закрыта v_v
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
eropov [?]
Напиши по конкретнее что должно получиться(объясни по конкретнее)я тебя просил сказать что это такое 500/576, возможно ини могут изменяться

Не много изменил ваш код:
Код:
#include <IE.au3>
#include <Array.au3>

_UseMana(); Если приходит 0 попадаем в if с функцией пополнения маны


Func _UseMana()
$sUrl = @DesktopDir & "\new2.html"
$oIE = _IECreate($sUrl,1,1,1,1)
$oTable = _IETableGetCollection($oIE, 0)
$aTable = _IETableWriteToArray ($oTable)
$f = StringTrimRight($aTable[1][1],4);Записываем значение нашей текущей маны
If $f <= 300 then; проверка маны
MsgBox(1,'мало маны',$f)
Elseif $f > 300 then
MsgBox(1,'много маны',$f)
EndIf
EndFunc


Работает нормально, только вот одна проблема, максимальное кол-во маны может быть больше 1000...
тогда придётся менять строку
Код:
$f = StringTrimRight($aTable[1][1],4)
на
Код:
$f = StringTrimRight($aTable[1][1],5)

Не хочется постоянно залазить в скрипт, для того, чтоб указать сколько символом удалять...
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
тема закрыта в связи с нарушением правил.
 
Статус
Закрыто для дальнейших ответов.
Верх