Что нового

релог в игру при дисконекте 2-3 раза подряд! как?

urrya

Новичок
Сообщения
159
Репутация
1
Всем доброго времени суток уважаемые форумчане.
Промучился 2 дня, но так и не смог сам придумать ... .
Вот решил всё же попросить помощи здесь на форуме, тут как всегда добрые, знающие люди помогут наверняка :smile:

В общем проблема такая, есть несколько окон клиента игры, при разрыве связи с сервером включается механизм проверки связи с сервером и новый заход в игру всеми аккаунтами.
Но, тут возникает следующая проблема, если в момент когда ещё не все аккаунты залогинились, и снова происходит обрыв связи с сервером, тогда это сказывается на том, что после очередного раза убийства всех процессов окон клиента игры и всё таки залогинясь в конце-концов, происходит на запланированный, самопроизвольный перезаход в игру.
Вот эту проблемку я и не могу решить :scratch:

пример кода:

Код:
Global $fghs2 = 0, $fghs3 = 0, $paroli = '123', $paroli2 = '123', $paroli3 = '123', $Akkaynt1 = '123', $Akkaynt2 = '123', $Akkaynt3 = '123'

Func restar()
Local $vvar = 0, $coob = 0
Sleep(300)
_STOPscript() ; приостановка скрипта ( цикл крутится в пустую до какой то команды )
Sleep(600)
_STOPscript()  ; приостановка скрипта ( цикл крутится в пустую до какой то команды )
Sleep(600)
_STOPscript()  ; приостановка скрипта ( цикл крутится в пустую до какой то команды )
Sleep(600)

pisec()     ; функция убийства всех процессов клиента игры ( закрытие всех окон )

Do
Sleep(300)
MsgBox(0,'','new attempt to connect to the server', 3)
$vvar = Ping('google.com', 11999)
 Select
        Case Not @error
             $coob = 1
        Case @error
             $coob = 0
Sleep(3999)
MsgBox(0,'','No connection to the server', 3)
	 EndSelect
 Until $coob = 1

If $coob = 1 Then
pisec() ; повторно вызов функции для страховки, вдруг какое то окно игры не закрылось
Sleep(1000)

vxod1() ; запуск входа в игру

Else
	Sleep(30)
EndIf
EndFunc


Func v_2_vxod1() ; вход в игру
	Local $okny
	Local $s = Sleep(500)
	Local $filee1 = ""

	If $Akkaynt1 == "" Then
	Sleep(10)
Else
Run("exe.exe")  ;Запуск игры
Sleep(5000)
_2_poisk2() ; функция поиска пикселей окна игры и выполнения определённых действий

If $fghs2 = 1 Then
restar()
Else
$okny = WinWait('Game', '') 
WinActivate($okny) 
WinMove("Game", '', 0, 0, 1280, 768) 
Sleep($s)
WinActivate('Game', "")
Send('{BS 22}')
Sleep($s)
WinActivate('Game', "")
Send($Akkaynt1)                                  
Sleep($s)
WinActivate('Game', "")
Send('{Tab}')
Sleep($s)
WinActivate('Game', "")
Send($paroli)                                 
Send('{Tab}')
WinActivate('Game', "")
Send('{Enter}')
WinMove("Game", '', 0, 0, 1280, 768)  
_2_poisk33()
If $fghs3 = 1 Then
restar()
Else
	Sleep(10)
EndIf
EndIf
EndIf
v_2_vxod2()
EndFunc

Func v_2_vxod2() ; вход в игру
	Local $okny
	Local $s = Sleep(500)
	Local $filee2 = ""
	If $Akkaynt2 == "" Then
	Sleep(10)
Else
Run("exe.exe")  ;Запуск игры
Sleep(5000)
_2_poisk2()

If $fghs2 = 1 Then
restar()
Else
$okny = WinWait('Game', '') ; ожидает появления указанного окна
WinActivate($okny) ; активирует(передаёт фокус) окно
WinMove("Game", '', 0, 0, 1280, 768) 

Sleep($s)
WinActivate('Game', "")
Send('{BS 22}')
Sleep($s)
WinActivate('Game', "")
Send($Akkaynt2)                                   ;ввод с клавиатуры
Sleep($s)
WinActivate('Game', "")
Send('{Tab}')
Sleep($s)
WinActivate('Game', "")
Send($paroli2)                                  ;ввод с клавы
Send('{Tab}')
WinActivate('Game', "")
Send('{Enter}')
WinMove("Game", '', 0, 0, 1280, 768) 
_2_poisk33()
If $fghs3 = 1 Then
restar()
Else
	Sleep(10)
EndIf
EndIf
EndIf
_2_vxod3()
EndFunc

Func _2_vxod3() ; вход в игру
	Local $okny
	Local $s = Sleep(500)
	Local $filee3 = ''
	If $Akkaynt3 == "" Then
	Sleep(10)
Else
Run("exe.exe")  ;Запуск игры
Sleep(5000)
_2_poisk2()

If $fghs2 = 1 Then
restar()
Else
$okny = WinWait('Game', '') ; ожидает появления указанного окна
WinActivate($okny) ; активирует(передаёт фокус) окно
WinMove("Game", '', 0, 0, 1280, 768)  

Sleep($s)
WinActivate('Game', "")
Send('{BS 22}')
Sleep($s)
WinActivate('Game', "")
Send($Akkaynt3)                                   ;ввод с клавиатуры
Sleep($s)
WinActivate('Game', "")
Send('{Tab}')
Sleep($s)
WinActivate('Game', "")
Send($paroli3)                                  ;ввод с клавы
Send('{Tab}')
WinActivate('Game', "")
Send('{Enter}')
WinMove("Game", '', 0, 0, 1280, 768) 
_2_poisk33()
If $fghs3 = 1 Then
restar()
Else
	Sleep(10)
EndIf
EndIf
EndIf
_2_vxod4()
EndFunc

Func _2_poisk2()
	Local $faaaghs2 = 0
	WinActivate('Game', "")
	Sleep(500)
	WinMove("Game", '', 0, 0, 1280, 768) 
	Sleep(500)
	
Do	
PixelSearch( 600, 728, 600, 728, 0x212121, 3 )     ;поиск пикселя по координатам
If Not @error Then   	   ;если условие тогда
$fghs2 = 12
MouseClick('left', 600, 728, 1, 2)
Send('+{Tab}')    ;нажатие клавы
Else
MouseClick('left', Random(660, 665, 1), Random(239, 252, 1), 1, 3)  
Sleep(500)                                   
WinMove("Game", '', 0, 0, 1280, 768)
Sleep(4500)
$faaaghs2 += 1
$fghs2 += 1
EndIf
Until $fghs2 = 12

$fghs2 = 0
Select
	Case $faaaghs2 = 12
		$fghs2 = 1
EndSelect
EndFunc

Func _2_poisk33() 	
	Local $faaaghs3 = 0
	WinActivate('Game', "")
	Sleep(500)
	WinMove("Game", '', 0, 0, 1280, 768) 
	Sleep(500)
Do
PixelSearch( 634, 107, 634, 107, 0xFFFFFF, 1 )     ;поиск пикселя по координатам
If Not @error Then   	   ;если условие тогда
$fghs3 = 12
Sleep(3999)
Send('{Enter}')
Sleep(10000)
Else
MouseClick('left', Random(660, 665, 1), Random(239, 252, 1), 1, 3)  
Sleep(500)                                    
WinMove("Game", '', 0, 0, 1280, 768)  
Sleep(4500)
$faaaghs3 += 1
$fghs3 += 1
EndIf
Until $fghs3 = 12
$fghs3 = 0
Select
	Case $faaaghs3 = 12
		$fghs3 = 1
EndSelect
EndFunc



вот если при выполнении функций

Код:
Func _2_poisk2()

или

Код:
Func _2_poisk33()


снова обрыв связи с сервером, тогда

Код:
$fghs2 = 1

или


Код:
$fghs3 = 1


и в функциях входа в игру идёт заново вызов функции

Код:
restar()


тогда и возникает проблема незапланированного, повторного входа :(

Подскажите пожалуйста в чём моя ошибка? Как сделать что бы при вызове " restar() " все остальное "убивалось" ?
Или как то по другому, в общем что бы работал скрипт .

Заранее всем спасибо! ;)




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

Тему не помечаю решённой, но для себя решил - просто переписал код совсем иначе ;)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


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

"релог в игру при дисконекте 2-3 раза подряд! как?" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.









Предупреждение За нарушение общих правил (пункт В.8):
Так как эта конференция называется "Русское сообщество AutoIt", язык общения на ней - Русский. Названия фирм или программных продуктов, аббревиатуры и т.д. должны быть написаны так, как они пишутся в оригинале, например не следует писать УСБ вместо USB. На форуме крайне не рекомендуется намеренно искажать русский язык и использовать "сетевой жаргон" на подобии "Аффтар выпей йадау!".


С уважением, ваш Глобальный модератор.
 
Верх