Что нового

[World of Tanks] Бот для игры by LTR

Автор
L

LTR

Знающий
Сообщения
55
Репутация
13
Re: [World of Tanks] Бот для игры.

и в правду работает, значит проблема у меня была в чем то другом....
 

evgenii2182

Новичок
Сообщения
2
Репутация
0
Re: [World of Tanks] Бот для игры.

написал программку, но почему то не работает
Opt("MouseCoordMode",2)
Opt("PixelCoordMode",2)
Opt ("TrayIconDebug",1)
WinActivate ("[TITLE:WoT Client]")
MouseClick("primary",643, 74)
While WinActivate ("[TITLE:WoT Client]")
If PixelGetColor(643, 74)==0xF82221 Then MouseClick ("primary",643, 74)
WEnd
помогите!!!
 
Автор
L

LTR

Знающий
Сообщения
55
Репутация
13
Re: [World of Tanks] Бот для игры.

вы бы код оформляли специальным тэгом, и было бы неплохо рассказать какое действие вы делаете
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [World of Tanks] Бот для игры.

evgenii2182

Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


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

evgenii2182

Новичок
Сообщения
2
Репутация
0
Re: [World of Tanks] Бот для игры.

Код:
Opt("MouseCoordMode",2)
Opt("PixelCoordMode",2)
Opt ("TrayIconDebug",1)
WinActivate ("[TITLE:WoT Client]")
MouseClick("primary",643, 74) 
While WinActivate ("[TITLE:WoT Client]")
   If PixelGetColor(643, 74)==0xF82221 Then MouseClick ("primary",643, 74)
WEnd

не происходит клика мышкой
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [World of Tanks] Бот для игры.

evgenii2182
Если ты планируешь и дальше игнорировать предупреждения. Советую тебе заранее подыскать другой форум, где ты будешь задавать вопросы.
P.S. В последнем предупреждении я опечатался, там пункт В.11.
 

Whited

Знающий
Сообщения
79
Репутация
10
Re: [World of Tanks] Бот для игры.

InnI [?]
А как вы это определяете? У вас курсор перемещается в нужную точку?

Нужно не тупо кликать в координаты, а еще сверять цвет в данной точке, если он не совпадает, то смещать координаты.
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
Re: [World of Tanks] Бот для игры.

Whited [?]
еще сверять цвет в данной точке
Да неужели?! Поверьте, мне не нужно ни то, ни другое :smile:
Человек пишет, что у него не кликает. А у меня кликает. Вот я и пытаюсь понять причину.
А когда и у него начнёт кликать, тогда вы популярно ему объясните, как нужно "смещать координаты" :beer:
 

micgelly

Новичок
Сообщения
5
Репутация
0
Re: [World of Tanks] Бот для игры.

Ну написал я бота. На пять танков. Ездит и маневрирует. Надо кому? :smile:
 

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
Re: [World of Tanks] Бот для игры.

надо. что спрашивать :smile:
 

micgelly

Новичок
Сообщения
5
Репутация
0
Re: [World of Tanks] Бот для игры.

Предлагаю коллективно его довести до ума. Надо бы его научить правильно ездить по дорогам. Есть желание?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [World of Tanks] Бот для игры.

Сначала хотел по удалять все сообщения идущие после предупреждения, но раз все тут собравшиеся так яро и целеустремленно желают закрыть эту достаточно полезную и информативную тему. Пожалуйста.
evgenii2182
Если ты создашь в моем разделе хоть одну тему или оставишь хоть одно сообщение, я подам запрос о твоем бане за нарушение правил.
Тема закрыта.
 
Автор
L

LTR

Знающий
Сообщения
55
Репутация
13
Re: [World of Tanks] Бот для игры.

Ну вот, снова появилось желание и немного времени :IL_AutoIt_1:

Пожалуй начну с того что сейчас имею. Решил пересмотреть свой код и сделать его более удобным для себя, по сему выкладываю.
Код:
#comments-start
Бот для игры Мир танков
Обязательное условие, игру необходимо запустить в
оконном режиме с разрешением 1024х768, иначе бот
будет работать не корректно!
Так же для данного бота необходим мод xvm-lite!
Бот предназначен под стандартные бои!
#comments-end

Opt("PixelCoordMode", 2) ; Отсчет координат пикселей от левого верхнего угла клиентской части окна
Opt("MouseCoordMode", 2) ; Отсчет координат мыши от левого верхнего угла клиентской части окна

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

; Пользовательские функции
#include <C:\AutoIT\DropBox\LangFunc.au3>		; Языковой файл
#include <C:\AutoIT\DropBox\HangarFunc.au3>		; Логин, элементы ангара
#include <C:\AutoIT\DropBox\BonusFunc.au3>		; Функции допю функционала
;#include <C:\AutoIT\DropBox\BattelFunc.au3>	; Стрельба и наведение
;#include <C:\AutoIT\DropBox\SocialFunc.au3>	; Чат
;#include <C:\AutoIT\DropBox\MoveFunc.au3>		; Передвижение по карте
;#include <C:\AutoIT\DropBox\HostFunc.au3>		; Соединение с сервером бота
;#include <C:\AutoIT\DropBox\StrategyFunc.au3>	; Стратигия боя
;#include <C:\AutoIT\DropBox\StatsFunc.au3>		; Статистика бота
;#include <C:\AutoIT\DropBox\GUI.au3>			; GUI

; Задаем горячую клавишу остановки скрипта
HotKeySet ("{`}","_exit")

; Данные переменные будут управляться черещ .ini файл, как результат работы GUI
$MainTanks=1	; Диапазон значений от 0 до 2
$TankNation=1	; Диапазон значений от 0 до 6
$TankType=1		; Диапазон значений от 0 до 5
$TankSelect=1	; Диапазон значений от 1 до 7
$GoToBattele=1	; Диапозон значений от 1 до 2

; Активируем окно игры
ToolTip($WinActivate_ln,0,0)
Sleep(2000)
WinActivate("[TITLE:WoT Client]","")
 
; Начинаем основной цикл, пока в нем не вернется лож
While 1
   Select
	  ; Если окно не игры не активно
	  Case WinActive("[TITLE:WoT Client]","") = 0
		 MsgBox(0,$ProgTitle_ln,$MsgWinNotActive_ln,5)
		 ExitLoop
	  ; Если окно игры активно
	  Case Not WinActivate("[TITLE:WoT Client]","") = 0
		 ToolTip($WinActive_ln,0,0)
		 Sleep(2000)
		 _Login()
		 sleep(2000)
	  ; Проверяем нужно ли выбрать основные танки или нет
	  Case Not WinActivate ("[TITLE:WoT Client]","") = 0
		 _MainTanks($MainTanks)
	  ; Проверяем нужно ли выбрать танки конкретной нации или нет
	  Case Not WinActivate ("[TITLE:WoT Client]","") = 0
		 _TankNation($TankNation)
	  ; Проверяем нужно ли выбирать класс техники
	  Case Not WinActivate ("[TITLE:WoT Client]","") = 0
		 _TankType($TankType)
	  ; Выбираем танк на котором пойдем в бой
	  Case Not WinActivate ("[TITLE:WoT Client]","") = 0
		 _TankSelect($TankSelect)
	  ; Уходим в бой
	  Case Not WinActivate ("[TITLE:WoT Client]","") = 0
		 _GoToBattele($GoToBattele)
EndSelect
WEnd

Код вынес в первый пост.

Это мэйн файл, фактически скелет будущего бота. Нового фактически ничего в функционале пока не добавилось. Основной идей было упорядочивание и сопровождение кода комментариями.

Как многие могли заметить в коде появился блок "Пользовательские функции", если у вас есть идеи реализации этих блоков в коде, буду рад помощи.

Для удобства отслеживания выполнения бота добавлены тултипы с описанием текущих действий бота.

Немного позже выложу файл HangarFunc.au3, сейчас он в стадии определения координат.

Бельфигор, если нечаянно увидишь это сообщение, очень буду рад комментария в плане оформления кода и корректности использования языка.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [World of Tanks] Бот для игры.

Я бы наверное несколько по другому подошел к логике, нежели использование Case Not Winactivate, всё конечно зависит от того что содержится в твоих функциях вызываемых в логике, но таки такая конструкция вызывает у меня дискомфорт :smile:
 

peter911

Новичок
Сообщения
18
Репутация
0
Re: [World of Tanks] Бот для игры.

Я как раз таки закончил делать этот бот.

Может ездить по карте, по маршрутам, останавливаться, прицеливаться и стрелять, а так же писать в чат. В ближайшем плане сделать использование расходников.

Три режима:
слив - едет по маршруту и стреляет на ходу
тт(не сделан) - едет по маршруту, останавливается для стрельбы, может так же за любым союзником ехать в поддержку
арт(не сделан)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: [World of Tanks] Бот для игры.

peter911 сказал(а):
Я как раз таки закончил делать этот бот.

Может ездить по карте, по маршрутам, останавливаться, прицеливаться и стрелять, а так же писать в чат. В ближайшем плане сделать использование расходников.

Три режима:
слив - едет по маршруту и стреляет на ходу
тт(не сделан) - едет по маршруту, останавливается для стрельбы, может так же за любым союзником ехать в поддержку
арт(не сделан)
В последнее время начал присматриваться к этой игре, ни разу не играл, поэтому вопрос, передвижение по карте сделано через какой механизм? Внедрение в память с целью получения нужных координат и последующий расчет маршрута или как-то по другому?
 

peter911

Новичок
Сообщения
18
Репутация
0
Re: [World of Tanks] Бот для игры.

Подмена изображений миникарты

У меня сложилось впечатление, что игра создана для того, чтобы бота сделали)

Есть мини проблема - прицеливание, у меня просто он наводится чуть ниже красной иконки, но на дальних расстояниях не может, т.к. ниже танка прицел.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Re: [World of Tanks] Бот для игры.

У меня сложилось впечатление, что игра создана для того, чтобы бота сделали)
Все игры в которых присутствует прокачка для этого созданы)
Только в некоторых банят...
 

peter911

Новичок
Сообщения
18
Репутация
0
Re: [World of Tanks] Бот для игры.

Нет я о другом. там flash файлы, разработчики не против чтобы их изменяли
Например можно поменять цвет союзников на миникарте или спрятать чат, и т.д. и т.п.
 

peter911

Новичок
Сообщения
18
Репутация
0
Re: [World of Tanks] Бот для игры.

Мне осталось сделать так же редактор ini файла:
Код:
[default]
Version=0.8.5
Mode=Combo
Exe=WorldOfTanks.exe
Class=[CLASS:App]
Log=bWoT
;Steap=0
Pause=False
ActionChance=20
Kit=False
Repair=False
Fire=False
FireKey=4
RepairKey=5
KitKey=6
PushDelay=0
Game=1
Games=0
Shutdown=True
Separator=,
Dialog=False
WordWelcomeAlly=
WordWelcomeEnemy=
WordDiedAlly=
WordDiedEnemy=
WordResponseAlly=
WordResponseEnemy=
WordNothingToDoAlly=
WordNothingToDoEnemy=
WordBotMode=Bot mode is
MoveForward=w
MoveBack=s
MoveLeft=a
MoveRight=d
MoveCameraLeft=LEFT
MoveCameraRight=RIGHT
Кто поможет буду очень благодарен.
Word* - список фраз(типа фраза один, фраза два и т.д.) из которых бот говорит одну случайную.
 
Верх