Что нового

рандомная отправка сообщений в игре (W.o.T)

Статус
Закрыто для дальнейших ответов.
Сообщения
47
Репутация
-1
подскажите как реализовать чтобы рандомно одно из 3 сообщений отправлялось в игре W.o.T
Код:
Opt("PixelCoordMode", 2) ; Определяем пиксили от верхнего левого угла окна
Opt("MouseCoordMode",2) ; Определяем положение курсора от левого верхнего угла окна

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$WoT = GUICreate("Бот для World of Tanks v.0.6.5", 395, 265, 192, 124)
$Client = GUICtrlCreateGroup("", 8, 20, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 50, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 74, 169, 17)
$SortTank = GUICtrlCreateInput("", 16, 115, 169, 21)
$Label2 = GUICtrlCreateLabel("( 1,2,3,4 )", 75, 90, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label8 = GUICtrlCreateLabel("= = Управление чатом = =", 220, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Group2 = GUICtrlCreateGroup("", 200, 20, 185, 129)
$Checkbox3 = GUICtrlCreateCheckbox("Вкл/Выкл Сообщение", 208, 34, 145, 17)
;$Label3 = GUICtrlCreateLabel("= = Сообщение = =", 240, 54, 100, 17)
GUICtrlCreateInput("Сори парни, пойду посру", 208, 60, 166, 20)
GUICtrlCreateInput("Пацаны у вас инет лагает?", 208, 90, 166, 20)
GUICtrlCreateInput("Ребят я отойду на секунду.", 208, 120, 166, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;$SaveSet = GUICtrlCreateButton("Сохранить настройки", 208, 144, 129, 25, $WS_GROUP)
$StartBot = GUICtrlCreateButton("Запуск", 130, 164, 129, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel(" Для работы бота вам необходимо запустить игру в оконом режиме", 15, 200, 353, 17)
$Label5 = GUICtrlCreateLabel("и выставить разрешение 1024х768", 105, 220, 182, 17)
$Label6 = GUICtrlCreateLabel("В противном случае бот не запустится!", 95, 240, 212, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label7 = GUICtrlCreateLabel("= = Управление клиентом = =", 25, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
 

winstan

Эксплотатор)
Сообщения
406
Репутация
78
Re: рандомная отправка сообщений в игре

Какой тип игры?
Браузерная? Собственный клиент?
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
Вроде то
Код:
Opt("PixelCoordMode", 2) ; Определяем пиксили от верхнего левого угла окна
Opt("MouseCoordMode",2) ; Определяем положение курсора от левого верхнего угла окна

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$WoT = GUICreate("Бот для World of Tanks v.0.6.5", 395, 265, 192, 124)
$Client = GUICtrlCreateGroup("", 8, 20, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 50, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 74, 169, 17)
$SortTank = GUICtrlCreateInput("", 16, 115, 169, 21)
$Label2 = GUICtrlCreateLabel("( 1,2,3,4 )", 75, 90, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label8 = GUICtrlCreateLabel("= = Управление чатом = =", 220, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Group2 = GUICtrlCreateGroup("", 200, 20, 185, 129)
$Checkbox3 = GUICtrlCreateCheckbox("Вкл/Выкл Сообщение", 208, 34, 145, 17)
;$Label3 = GUICtrlCreateLabel("= = Сообщение = =", 240, 54, 100, 17)
$1txt=GUICtrlCreateInput("Сори парни, пойду посру", 208, 60, 166, 20)
$2txt=GUICtrlCreateInput("Пацаны у вас инет лагает?", 208, 90, 166, 20)
$3txt=GUICtrlCreateInput("Ребят я отойду на секунду.", 208, 120, 166, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;$SaveSet = GUICtrlCreateButton("Сохранить настройки", 208, 144, 129, 25, $WS_GROUP)
$StartBot = GUICtrlCreateButton("Запуск", 130, 164, 129, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel(" Для работы бота вам необходимо запустить игру в оконом режиме", 15, 200, 353, 17)
$Label5 = GUICtrlCreateLabel("и выставить разрешение 1024х768", 105, 220, 182, 17)
$Label6 = GUICtrlCreateLabel("В противном случае бот не запустится!", 95, 240, 212, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label7 = GUICtrlCreateLabel("= = Управление клиентом = =", 25, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
 
 
    
    While 1
       $msg = GUIGetMsg()
		Select
       Case $msg = $GUI_EVENT_CLOSE 
		   ExitLoop
	   Case $msg = $StartBot
		   Sleep(2000)
		  IF GUICtrlRead($Checkbox3)=$GUI_CHECKED Then
			   $rnd=Random(1,3,1)
			   EndIf
		   If $rnd=1 Then
			   Send(GUICtrlRead($1txt))
		   ElseIf $rnd=2 Then
			   Send(GUICtrlRead($2txt))
			   ElseIf $rnd=3 Then
			   Send(GUICtrlRead($3txt))
				   EndIf
EndSelect
WEnd
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
vovka1021 для отправки я использовал Send(), я просто не знаю что там надо для того что бы отправлялись сообщение в чате. Вы там сами что то придумайте
 
Автор
V
Сообщения
47
Репутация
-1
прежде чем отправить надо нажать enter, вставит сообщение и опять нажать enter
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
vovka1021 Ну на этом все...
Код:
Opt("PixelCoordMode", 2) ; Определяем пиксили от верхнего левого угла окна
Opt("MouseCoordMode",2) ; Определяем положение курсора от левого верхнего угла окна

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$WoT = GUICreate("Бот для World of Tanks v.0.6.5", 395, 265, 192, 124)
$Client = GUICtrlCreateGroup("", 8, 20, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 50, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 74, 169, 17)
$SortTank = GUICtrlCreateInput("", 16, 115, 169, 21)
$Label2 = GUICtrlCreateLabel("( 1,2,3,4 )", 75, 90, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label8 = GUICtrlCreateLabel("= = Управление чатом = =", 220, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Group2 = GUICtrlCreateGroup("", 200, 20, 185, 129)
$Checkbox3 = GUICtrlCreateCheckbox("Вкл/Выкл Сообщение", 208, 34, 145, 17)
;$Label3 = GUICtrlCreateLabel("= = Сообщение = =", 240, 54, 100, 17)
$1txt=GUICtrlCreateInput("Сори парни, пойду посру", 208, 60, 166, 20)
$2txt=GUICtrlCreateInput("Пацаны у вас инет лагает?", 208, 90, 166, 20)
$3txt=GUICtrlCreateInput("Ребят я отойду на секунду.", 208, 120, 166, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;$SaveSet = GUICtrlCreateButton("Сохранить настройки", 208, 144, 129, 25, $WS_GROUP)
$StartBot = GUICtrlCreateButton("Запуск", 130, 164, 129, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel(" Для работы бота вам необходимо запустить игру в оконом режиме", 15, 200, 353, 17)
$Label5 = GUICtrlCreateLabel("и выставить разрешение 1024х768", 105, 220, 182, 17)
$Label6 = GUICtrlCreateLabel("В противном случае бот не запустится!", 95, 240, 212, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label7 = GUICtrlCreateLabel("= = Управление клиентом = =", 25, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

    While 1
       $msg = GUIGetMsg()
        Select
       Case $msg = $GUI_EVENT_CLOSE 
           ExitLoop
       Case $msg = $StartBot
           Sleep(2000)
          IF GUICtrlRead($Checkbox3)=$GUI_CHECKED Then
               $rnd=Random(1,3,1)
               EndIf
           If $rnd=1 Then
			   Send('{Enter}')
               Send(GUICtrlRead($1txt))
			   Send('{Enter}')
           ElseIf $rnd=2 Then
			   Send('{Enter}')
               Send(GUICtrlRead($2txt))
			   Send('{Enter}')
		   ElseIf $rnd=3 Then
			   Send('{Enter}')
               Send(GUICtrlRead($3txt))
			   Send('{Enter}')
                   EndIf
EndSelect
WEnd
Не забывайте пометить "Тема решена" если больше нету вопросов
 
Автор
V
Сообщения
47
Репутация
-1
впринципе работает, вот только не по русски пищет. и отправляет бесконечно раз
помогите вставить отправку сообщений в этот скрипт
Код:
Opt("PixelCoordMode", 2) ; Определяем пиксили от верхнего левого угла окна
Opt("MouseCoordMode",2) ; Определяем положение курсора от левого верхнего угла окна

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$WoT = GUICreate("Бот для World of Tanks v.0.6.7", 395, 265, 192, 124)
$Client = GUICtrlCreateGroup("", 8, 20, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 50, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 74, 169, 17)
$SortTank = GUICtrlCreateInput("", 16, 115, 169, 21)
$Label2 = GUICtrlCreateLabel("( 1,2,3,4 )", 75, 90, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label8 = GUICtrlCreateLabel("= = Управление чатом = =", 220, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Group2 = GUICtrlCreateGroup("", 200, 20, 185, 129)
$Checkbox3 = GUICtrlCreateCheckbox("Вкл/Выкл", 208, 34, 145, 17)
$Label3 = GUICtrlCreateLabel("= = Сообщение = =", 240, 54, 100, 17)
GUICtrlCreateInput("", 208, 74, 168, 63)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;$SaveSet = GUICtrlCreateButton("Сохранить настройки", 208, 144, 129, 25, $WS_GROUP)
$StartBot = GUICtrlCreateButton("Запуск", 130, 164, 129, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel(" Для работы бота вам необходимо запустить игру в оконом режиме", 15, 200, 353, 17)
$Label5 = GUICtrlCreateLabel("и выставить разрешение 1024х768", 105, 220, 182, 17)
$Label6 = GUICtrlCreateLabel("В противном случае бот не запустится!", 95, 240, 212, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label7 = GUICtrlCreateLabel("= = Управление клиентом = =", 25, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        ; попытка сохранять параметры в Ini
        ;Case $SaveSet
        ;    $ARState = GUICtrlRead($AutoRelog)
        ;    $CTState = GUICtrlRead($ChangTank)
        ;    $STState = GUICtrlRead($SortTank)
        ;    If $ARState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 1)
        ;    Else
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 0)
        ;   EndIf
        ;    If $CTState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "ChangeTank", 1)
        ;    Else
        ;       IniWrite("Bot.ini", "ClConfig", "ChangeTank", 0)
        ;    EndIf
        ;    IniWrite("Bot.ini", "ClConfig", "SortTank", $STState)
        ; запуск бота
        Case $StartBot
            ; активируем окно игры
            WinActivate("[TITLE:W.o.T. Client]","")
            While 1
            Select             
                ; Проверяем активно ли окно игры
                Case WinActive("[TITLE:W.o.T. Client]","") = 0
                    MsgBox(0,"Сообщение","Окно игры не активно, бот остановлен")
                    ExitLoop
                ; Если окно активно,проверяем залогинен ли клиент
                Case PixelGetColor(1000,20) = 0x000000
                    ; Если логин не совершен, совершаем его
                    Sleep(3000)
                    MouseClick("",512,540,2)
					Sleep(3000)
                ; Проверяем что мы в ангаре
				Case PixelGetColor(516,94) = 0x100000
                ; Начинаем выбор танка
			    Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
                ; Проверяем 1 слот
				;активно в бой
				If (PixelGetColor(461,40) == 0xB02022) Then
                    Sleep(3000)
                    MouseClick("",315,640,5) ;выбор 1-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
				;1 в бою белая + в бою красная - переключаемся на 2
				ElseIf (PixelGetColor(355,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",480,640,5) ;выбор 2-го танка
					Sleep(3000)
					MouseClick("",511,46,5)  ;в бой
				;2 в бою + в бою красная - переключаемся на 3
				ElseIf (PixelGetColor(525,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",655,640,5) ;выбор 3-го танка
					Sleep(3000)
					MouseClick("",511,46,5)  ;в бой
				;3 в бою + в бою красная - переключаемся на 4	
				ElseIf (PixelGetColor(695,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then 
					MouseClick("",820, 640,5) ;выбор 4-го танка
					Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
				;4 в бою + в бою красная - переключаемся на 1
				ElseIf (PixelGetColor(865, 644) == 0xCDC7A7) and (PixelGetColor(551,464) == 0x980202) Then 
					MouseClick("",315,640,5) ;выбор 1-го танка
				; двигатель
                ElseIf PixelGetColor(29,590) = 0xF00000 Then
                    Sleep(1000)
                    Send('{esc}')
                    Sleep(3000)
                    MouseClick("",573,361,2) ; выход в ангар
					MouseClick("",573,361,2)
					MouseClick("",573,361,2)
					Sleep(3000)
					MouseClick("",556,428,2) ;да
					MouseClick("",556,428,2)
					MouseClick("",556,428,2)
				;окно статистики
			    ElseIf PixelGetColor(144,143) = 0xCDC8AB Then
				    MouseClick("",960,151,2) ;нажать крестик
					MouseClick("",960,151,2)
				    MouseClick("",960,151,2)	
				; Параметры боя	
				ElseIf PixelGetColor(85,546) = 0x007500 Then
				    sleep(5000)
                    Send('')
                    Send('')
					Send('')
                    Send('')
				    sleep(5000)
				EndIf
            EndSelect          
            WEnd
    EndSwitch
WEnd
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
vovka1021 что бы было сообщение по русски нужно что бы во время работы была русская раскладка.
Я заметил это чуть другой скрипт по этому тут рамном не нужен.
Код:
Opt("PixelCoordMode", 2) ; Определяем пиксили от верхнего левого угла окна
Opt("MouseCoordMode",2) ; Определяем положение курсора от левого верхнего угла окна

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$WoT = GUICreate("Бот для World of Tanks v.0.6.7", 395, 265, 192, 124)
$Client = GUICtrlCreateGroup("", 8, 20, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 50, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 74, 169, 17)
$SortTank = GUICtrlCreateInput("", 16, 115, 169, 21)
$Label2 = GUICtrlCreateLabel("( 1,2,3,4 )", 75, 90, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label8 = GUICtrlCreateLabel("= = Управление чатом = =", 220, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Group2 = GUICtrlCreateGroup("", 200, 20, 185, 129)
$Checkbox3 = GUICtrlCreateCheckbox("Вкл/Выкл", 208, 34, 145, 17)
$Label3 = GUICtrlCreateLabel("= = Сообщение = =", 240, 54, 100, 17)
$txt=GUICtrlCreateInput("", 208, 74, 168, 63)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;$SaveSet = GUICtrlCreateButton("Сохранить настройки", 208, 144, 129, 25, $WS_GROUP)
$StartBot = GUICtrlCreateButton("Запуск", 130, 164, 129, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel(" Для работы бота вам необходимо запустить игру в оконом режиме", 15, 200, 353, 17)
$Label5 = GUICtrlCreateLabel("и выставить разрешение 1024х768", 105, 220, 182, 17)
$Label6 = GUICtrlCreateLabel("В противном случае бот не запустится!", 95, 240, 212, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label7 = GUICtrlCreateLabel("= = Управление клиентом = =", 25, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        ; попытка сохранять параметры в Ini
        ;Case $SaveSet
        ;    $ARState = GUICtrlRead($AutoRelog)
        ;    $CTState = GUICtrlRead($ChangTank)
        ;    $STState = GUICtrlRead($SortTank)
        ;    If $ARState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 1)
        ;    Else
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 0)
        ;   EndIf
        ;    If $CTState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "ChangeTank", 1)
        ;    Else
        ;       IniWrite("Bot.ini", "ClConfig", "ChangeTank", 0)
        ;    EndIf
        ;    IniWrite("Bot.ini", "ClConfig", "SortTank", $STState)
        ; запуск бота
	Case $StartBot
 ; активируем окно игры
            WinActivate("[TITLE:W.o.T. Client]","")
            While 1
            Select             
                ; Проверяем активно ли окно игры
                Case WinActive("[TITLE:W.o.T. Client]","") = 0
                    MsgBox(0,"Сообщение","Окно игры не активно, бот остановлен")
                    ExitLoop
                ; Если окно активно,проверяем залогинен ли клиент
                Case PixelGetColor(1000,20) = 0x000000
                    ; Если логин не совершен, совершаем его
                    Sleep(3000)
                    MouseClick("",512,540,2)
                    Sleep(3000)
                ; Проверяем что мы в ангаре
                Case PixelGetColor(516,94) = 0x100000
                ; Начинаем выбор танка
                Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
                ; Проверяем 1 слот
                ;активно в бой
                If (PixelGetColor(461,40) == 0xB02022) Then
                    Sleep(3000)
                    MouseClick("",315,640,5) ;выбор 1-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
                ;1 в бою белая + в бою красная - переключаемся на 2
                ElseIf (PixelGetColor(355,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",480,640,5) ;выбор 2-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
                ;2 в бою + в бою красная - переключаемся на 3
                ElseIf (PixelGetColor(525,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",655,640,5) ;выбор 3-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
                ;3 в бою + в бою красная - переключаемся на 4 
                ElseIf (PixelGetColor(695,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then 
                    MouseClick("",820, 640,5) ;выбор 4-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
                ;4 в бою + в бою красная - переключаемся на 1
                ElseIf (PixelGetColor(865, 644) == 0xCDC7A7) and (PixelGetColor(551,464) == 0x980202) Then 
                    MouseClick("",315,640,5) ;выбор 1-го танка
                ; двигатель
                ElseIf PixelGetColor(29,590) = 0xF00000 Then
                    Sleep(1000)
                    Send('{esc}')
                    Sleep(3000)
                    MouseClick("",573,361,2) ; выход в ангар
                    MouseClick("",573,361,2)
                    MouseClick("",573,361,2)
                    Sleep(3000)
                    MouseClick("",556,428,2) ;да
                    MouseClick("",556,428,2)
                    MouseClick("",556,428,2)
                ;окно статистики
                ElseIf PixelGetColor(144,143) = 0xCDC8AB Then
                    MouseClick("",960,151,2) ;нажать крестик
                    MouseClick("",960,151,2)
                    MouseClick("",960,151,2)    
                ; Параметры боя 
                ElseIf PixelGetColor(85,546) = 0x007500 Then
                    sleep(5000)
                    Send('')
                    Send('')
                    Send('')
                    Send('')
                    sleep(5000)
                EndIf
				IF GUICtrlRead($Checkbox3)=$GUI_CHECKED Then
				Send('{Enter}')
			   Sleep(200)
               Send(GUICtrlRead($txt))
			    Sleep(200)
			   Send('{Enter}')
                   EndIf
            EndSelect          
            WEnd
    EndSwitch
WEnd

Он будет отправлять сообщение после окончания 1 цикла если стоит галочка
 
Автор
V
Сообщения
47
Репутация
-1
рано я радовался. скрипт тупо начал переводить игру в полноэкранный режим и обратно. сообщения отправляются все разом не зависимо стоит ли галка или нет. в чем может быть ошибка????
 
Автор
V
Сообщения
47
Репутация
-1
как обьединить:
если находит нужный цвет ->
Код:
ElseIf PixelGetColor(85,546) = 0x007500 Then

выполняет это действие ->
Код:
IF GUICtrlRead($Checkbox3)=$GUI_CHECKED Then
			$rnd=Random(1,3,1)
               EndIf
		If $rnd=1 Then
               Send('{Enter}')
               Send(GUICtrlRead($1txt))
			   sleep(500)
               Send('{Enter}')
		ElseIf $rnd=2 Then
               Send('{Enter}')
               Send(GUICtrlRead($2txt))
			   sleep(500)
               Send('{Enter}')
		ElseIf $rnd=3 Then
               Send('{Enter}')
               Send(GUICtrlRead($3txt))
			   sleep(500)
               Send('{Enter}')
                   EndIf


пытался писать так:
Код:
ElseIf (PixelGetColor(85,546) == 0x007500) and (GUICtrlRead($Checkbox3)==$GUI_CHECKED) Then
				$rnd=Random(1,3,1)
			EndIf
			If $rnd=1 Then
               Send('{Enter}')
               Send(GUICtrlRead($1txt))
			   sleep(1000)
               Send('{Enter}')
		    ElseIf $rnd=2 Then
               Send('{Enter}')
               Send(GUICtrlRead($2txt))
			   sleep(1000)
               Send('{Enter}')
		    ElseIf $rnd=3 Then
               Send('{Enter}')
               Send(GUICtrlRead($3txt))
			   sleep(1000)
               Send('{Enter}')
			   Sleep(20000)
			EndIf
выдает ошибку
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
vovka1021 я вам еще в самом начале написал не правильно код, там если галочка не стояла то выдавало ошибку :rofl:
Код:
While 1
       $msg = GUIGetMsg()
        Select
       Case $msg = $GUI_EVENT_CLOSE 
           ExitLoop
       Case $msg = $StartBot
Sleep(2000)
		IF PixelGetColor(564, 45) == 0x007500 then

          IF GUICtrlRead($Checkbox3)=$GUI_CHECKED Then
          $rnd=Random(1,3,1)
		  Else
		 $rnd=GUICtrlRead($Checkbox3)
		 EndIf
			IF $rnd=1 Then
               Send(GUICtrlRead($1txt))
			ElseIf $rnd=2 Then
               Send(GUICtrlRead($2txt))
			ElseIf $rnd=3 Then
               Send(GUICtrlRead($3txt))
		   EndIf
		   EndIf
EndSelect
WEnd
 
Автор
V
Сообщения
47
Репутация
-1
подправьте пожалуйста скрипт
Код:
Opt("PixelCoordMode", 2) ; Определяем пиксили от верхнего левого угла окна
Opt("MouseCoordMode",2) ; Определяем положение курсора от левого верхнего угла окна

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$WoT = GUICreate("Бот для World of Tanks v.0.6.7", 395, 265, 192, 124)
$Client = GUICtrlCreateGroup("", 8, 20, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 50, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 74, 169, 17)
$SortTank = GUICtrlCreateInput("", 16, 115, 169, 21)
$Label2 = GUICtrlCreateLabel("( 1,2,3,4 )", 75, 90, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label8 = GUICtrlCreateLabel("= = Управление чатом = =", 220, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Group2 = GUICtrlCreateGroup("", 200, 20, 185, 129)
$Checkbox3 = GUICtrlCreateCheckbox("Вкл/Выкл", 208, 34, 145, 17)
;$Label3 = GUICtrlCreateLabel("= = Сообщение = =", 240, 54, 100, 17)
$1txt=GUICtrlCreateInput("Сори парни, отойду на секунду.", 208, 60, 166, 20)
$2txt=GUICtrlCreateInput("Пацаны у вас инет лагает?", 208, 90, 166, 20)
$3txt=GUICtrlCreateInput("Ребят я отойду на секунду.", 208, 120, 166, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;$SaveSet = GUICtrlCreateButton("Сохранить настройки", 208, 144, 129, 25, $WS_GROUP)
$StartBot = GUICtrlCreateButton("Запуск", 130, 164, 129, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel(" Для работы бота вам необходимо запустить игру в оконом режиме", 15, 200, 353, 17)
$Label5 = GUICtrlCreateLabel("и выставить разрешение 1024х768", 105, 220, 182, 17)
$Label6 = GUICtrlCreateLabel("В противном случае бот не запустится!", 95, 240, 212, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label7 = GUICtrlCreateLabel("= = Управление клиентом = =", 25, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        ; попытка сохранять параметры в Ini
        ;Case $SaveSet
        ;    $ARState = GUICtrlRead($AutoRelog)
        ;    $CTState = GUICtrlRead($ChangTank)
        ;    $STState = GUICtrlRead($SortTank)
        ;    If $ARState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 1)
        ;    Else
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 0)
        ;   EndIf
        ;    If $CTState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "ChangeTank", 1)
        ;    Else
        ;       IniWrite("Bot.ini", "ClConfig", "ChangeTank", 0)
        ;    EndIf
        ;    IniWrite("Bot.ini", "ClConfig", "SortTank", $STState)
;запуск бота
    Case $StartBot
;активируем окно игры
            WinActivate("[TITLE:W.o.T. Client]","")
            While 1
            Select            
;Проверяем активно ли окно игры
                Case WinActive("[TITLE:W.o.T. Client]","") = 0
                    MsgBox(0,"Сообщение","Окно игры не активно, бот остановлен")
                    ExitLoop
;Если окно активно,проверяем залогинен ли клиент
                Case PixelGetColor(1000,20) = 0x000000
;Если логин не совершен, совершаем его
                    Sleep(3000)
                    MouseClick("",512,540,2)
                    Sleep(3000)
;Проверяем что мы в ангаре
                Case PixelGetColor(516,94) = 0x100000
;Начинаем выбор танка
                Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
;Проверяем 1 слот
;активно в бой
                If (PixelGetColor(461,40) == 0xB02022) Then
                    Sleep(3000)
                    MouseClick("",315,640,5) ;выбор 1-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;1 в бою белая + в бою красная - переключаемся на 2
                ElseIf (PixelGetColor(355,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",480,640,5) ;выбор 2-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;2 в бою + в бою красная - переключаемся на 3
                ElseIf (PixelGetColor(525,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",655,640,5) ;выбор 3-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;3 в бою + в бою красная - переключаемся на 4
                ElseIf (PixelGetColor(695,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    MouseClick("",820, 640,5) ;выбор 4-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;4 в бою + в бою красная - переключаемся на 1
                ElseIf (PixelGetColor(865, 644) == 0xCDC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    MouseClick("",315,640,5) ;выбор 1-го танка
;двигатель
                ElseIf PixelGetColor(29,590) = 0xF00000 Then
                    Sleep(1000)
                    Send('{esc}')
                    Sleep(3000)
                    MouseClick("",573,361,2) ; выход в ангар
                    Sleep(2000)
                    MouseClick("",573,361,2)
                    Sleep(3000)
                    MouseClick("",556,428,2) ;да
                    Sleep(2000)
                    MouseClick("",556,428,2)
;окно статистики
                ElseIf PixelGetColor(144,143) = 0xCDC8AB Then
                    MouseClick("",960,151,2) ;нажать крестик
                    Sleep(2000)
                    MouseClick("",960,151,2)    
;Параметры боя
                ElseIf PixelGetColor(85,546) = 0x007500 Then
                    sleep(5000)
                    Send('')
                    Send('')
                    Send('')
                    Send('')
                    sleep(5000)
                EndIf
;отправка сообщений если стоит галка и нашли нужный цвет
				If (PixelGetColor(85,546) == 0x007500) and (GUICtrlRead($Checkbox3)==$GUI_CHECKED) Then	
					$rnd=Random(1,3,1)
                Else
                    $rnd=GUICtrlRead($Checkbox3)
                EndIf
                If $rnd=1 Then
					Send('{Enter}')
					Send(GUICtrlRead($1txt))
					sleep(1000)
					Send('{Enter}')
                ElseIf $rnd=2 Then
					Send('{Enter}')
					Send(GUICtrlRead($2txt))
					sleep(1000)
					Send('{Enter}')
                ElseIf $rnd=3 Then
					Send('{Enter}')
                    Send(GUICtrlRead($3txt))
					sleep(1000)
					Send('{Enter}')
				EndIf
            EndSelect          
            WEnd
    EndSwitch
WEnd
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
vovka1021 Вы конечно не просили, но сам пользуюсь скриптами в играх и понимаю как это важно, по этому добавил паузу и выход. Пауза - F9, Выход - F10

Код:
Opt("PixelCoordMode", 2) ; Определяем пиксили от верхнего левого угла окна
Opt("MouseCoordMode",2) ; Определяем положение курсора от левого верхнего угла окна
Global $Paused
HotKeySet("{F8}", "TogglePause")
HotKeySet("{F9}", '_Quit')
Func TogglePause()
    $Paused = Not $Paused
    While $Paused
        Sleep(100)
		ToolTip('Бот приостановлен"',0,0,"World of Tanks",5)
    WEnd
	ToolTip("")	
EndFunc   

Func _Quit()
    Exit
EndFunc
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$WoT = GUICreate("Бот для World of Tanks v.0.6.7", 395, 265, 192, 124)
$Client = GUICtrlCreateGroup("", 8, 20, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 50, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 74, 169, 17)
$SortTank = GUICtrlCreateInput("", 16, 115, 169, 21)
$Label2 = GUICtrlCreateLabel("( 1,2,3,4 )", 75, 90, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label8 = GUICtrlCreateLabel("= = Управление чатом = =", 220, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Group2 = GUICtrlCreateGroup("", 200, 20, 185, 129)
$Checkbox3 = GUICtrlCreateCheckbox("Вкл/Выкл", 208, 34, 145, 17)
;$Label3 = GUICtrlCreateLabel("= = Сообщение = =", 240, 54, 100, 17)
$1txt=GUICtrlCreateInput("Сори парни, отойду на секунду.", 208, 60, 166, 20)
$2txt=GUICtrlCreateInput("Пацаны у вас инет лагает?", 208, 90, 166, 20)
$3txt=GUICtrlCreateInput("Ребят я отойду на секунду.", 208, 120, 166, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;$SaveSet = GUICtrlCreateButton("Сохранить настройки", 208, 144, 129, 25, $WS_GROUP)
$StartBot = GUICtrlCreateButton("Запуск", 130, 164, 129, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel(" Для работы бота вам необходимо запустить игру в оконом режиме", 15, 200, 353, 17)
$Label5 = GUICtrlCreateLabel("и выставить разрешение 1024х768", 105, 220, 182, 17)
$Label6 = GUICtrlCreateLabel("В противном случае бот не запустится!", 95, 240, 212, 17)
GUICtrlSetColor(-1, 0xFF0000)
$Label7 = GUICtrlCreateLabel("= = Управление клиентом = =", 25, 8, 153, 17)
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        ; попытка сохранять параметры в Ini
        ;Case $SaveSet
        ;    $ARState = GUICtrlRead($AutoRelog)
        ;    $CTState = GUICtrlRead($ChangTank)
        ;    $STState = GUICtrlRead($SortTank)
        ;    If $ARState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 1)
        ;    Else
        ;        IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 0)
        ;   EndIf
        ;    If $CTState = 1  Then
        ;        IniWrite("Bot.ini", "ClConfig", "ChangeTank", 1)
        ;    Else
        ;       IniWrite("Bot.ini", "ClConfig", "ChangeTank", 0)
        ;    EndIf
        ;    IniWrite("Bot.ini", "ClConfig", "SortTank", $STState)
;запуск бота
    Case $StartBot
;активируем окно игры
            WinActivate("[TITLE:W.o.T. Client]","")
            While 1
            Select            
;Проверяем активно ли окно игры
                Case WinActive("[TITLE:W.o.T. Client]","") = 0
                    MsgBox(0,"Сообщение","Окно игры не активно, бот остановлен")
                    ExitLoop
;Если окно активно,проверяем залогинен ли клиент
                Case PixelGetColor(1000,20) = 0x000000
;Если логин не совершен, совершаем его
                    Sleep(3000)
                    MouseClick("",512,540,2)
                    Sleep(3000)
;Проверяем что мы в ангаре
                Case PixelGetColor(516,94) = 0x100000
;Начинаем выбор танка
                Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
;Проверяем 1 слот
;активно в бой
                If (PixelGetColor(461,40) == 0xB02022) Then
                    Sleep(3000)
                    MouseClick("",315,640,5) ;выбор 1-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;1 в бою белая + в бою красная - переключаемся на 2
                ElseIf (PixelGetColor(355,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",480,640,5) ;выбор 2-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;2 в бою + в бою красная - переключаемся на 3
                ElseIf (PixelGetColor(525,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    Sleep(3000)
                    MouseClick("",655,640,5) ;выбор 3-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;3 в бою + в бою красная - переключаемся на 4
                ElseIf (PixelGetColor(695,644) == 0xCEC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    MouseClick("",820, 640,5) ;выбор 4-го танка
                    Sleep(3000)
                    MouseClick("",511,46,5)  ;в бой
;4 в бою + в бою красная - переключаемся на 1
                ElseIf (PixelGetColor(865, 644) == 0xCDC7A7) and (PixelGetColor(551,464) == 0x980202) Then
                    MouseClick("",315,640,5) ;выбор 1-го танка
;двигатель
                ElseIf PixelGetColor(29,590) = 0xF00000 Then
                    Sleep(1000)
                    Send('{esc}')
                    Sleep(3000)
                    MouseClick("",573,361,2) ; выход в ангар
                    Sleep(2000)
                    MouseClick("",573,361,2)
                    Sleep(3000)
                    MouseClick("",556,428,2) ;да
                    Sleep(2000)
                    MouseClick("",556,428,2)
;окно статистики
                ElseIf PixelGetColor(144,143) = 0xCDC8AB Then
                    MouseClick("",960,151,2) ;нажать крестик
                    Sleep(2000)
                    MouseClick("",960,151,2)    
;Параметры боя
                ElseIf PixelGetColor(85,546) = 0x007500 Then
                    sleep(5000)
                    Send('')
                    Send('')
                    Send('')
                    Send('')
                    sleep(5000)
                EndIf
;отправка сообщений если стоит галка и нашли нужный цвет
                 IF PixelGetColor(564, 45) == 0x007500 then

          IF GUICtrlRead($Checkbox3)=$GUI_CHECKED Then
          $rnd=Random(1,3,1)
          Else
         $rnd=GUICtrlRead($Checkbox3)
         EndIf
            IF $rnd=1 Then
				Send('{Enter}')
				Sleep(200)
               Send(GUICtrlRead($1txt))
			   Sleep(200)
			   Send('{Enter}')
		   ElseIf $rnd=2 Then
			   Send('{Enter}')
			   Sleep(200)
               Send(GUICtrlRead($2txt))
			   Sleep(200)
			   Send('{Enter}')
		   ElseIf $rnd=3 Then
			   Send('{Enter}')
			   Sleep(200)
               Send(GUICtrlRead($3txt))
			   Sleep(200)
			   Send('{Enter}')
           EndIf
           EndIf
            EndSelect          
            WEnd
    EndSwitch
WEnd
 
Автор
V
Сообщения
47
Репутация
-1
[World of Tanks] рандомная отправка сообщений в игре.

nu3dell , если у вас есть время можете доделать чекбокс "автоматически входить в игру" если стоит галка то он входит, если нет то нет.
спасибо!
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
vovka1021 что под словом "автоматически входить в игру" подразумеваться?
может глянете эту тему http://autoit-script.ru/index.php?topic=3856.45
 
Автор
V
Сообщения
47
Репутация
-1
я имею виду этот чекбокс

и этот кусок скрипта
Код:
;Если окно активно,проверяем залогинен ли клиент
                Case PixelGetColor(1000,20) = 0x000000
;Если логин не совершен, совершаем его
                    Sleep(3000)
                    MouseClick("",512,540,2)
                    Sleep(3000)
;Проверяем что мы в ангаре
 

nu3dell

Осваивающий
Сообщения
139
Репутация
24
vovka1021 к тому чек боксу добавить ?
Код:
;Если окно активно,проверяем залогинен ли клиент
                Case PixelGetColor(1000,20) = 0x000000
;Если логин не совершен, совершаем его
                    Sleep(3000)
                    MouseClick("",512,540,2)
                    Sleep(3000)
 
Автор
V
Сообщения
47
Репутация
-1
да
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 34, 169, 17)
 
Статус
Закрыто для дальнейших ответов.
Верх