What's new
  • Visit Rebornbuddy
  • Visit Resources
  • Visit API Documentation
  • Visit Downloads
  • Visit Portal
  • Visit Panda Profiles
  • Visit LLamamMagic

Simple Autologin for WoT

Glommy

New Member
Joined
Jan 21, 2013
Messages
340
Reaction score
2
Autologin for WoT, TL2Beta(page 3.)

Please note: This is experimental user created software, and has been partially tested. This is for users who want new functionality for current TankLeaderBETA. If you're not interested in testing software, and expect perfect functionality , then this is NOT for you.

If you encounter problems with this software do NOT ask help from TankLeader Creators, best way to get help is open included .au3 source files and try figure out what went wrong or drop note here and send beer to Great and Mighty Glommy, ;)!



Greetings!

I?ve just stole thread design to make this Autologin page look more "official", but you must remember that this is USER based addon for TankLeader.

Im still waitting TankLeader2 and want to see its Plugins - feature, but Im quite sure that even TL2 dont have ready made Multiuser, Multitankset, internal WatchDog and WoT Autologin feature, so Aevitas will correct me if Im wrong.

I started this script making cause I wanted new funtions in TankLeader and I learned that getting changes inside TL will be really slow proses, so doing them myself will be faster. Then I did some research and found easy, comprehensive and Free scripting program called Autoit.

Autologin current version is developed from scratch and contains several script to make sure that Tankleader and WoT keeps running without user interaction, in addition I added multiple user, TankSets, chat, RAndomwait times, some afterlife action. This program will not steal your password, usernames or send your details out. All functions can be easily checked from .au3 files with any Texteditor. You can open included .au3 source files with Autoit editor, make changes and reCompile them as you like.

For those who are encouraged to try it, I will promise limited help support if user give proper advice and feedback to make this thing better. So you are not alone with it.

Current WotLauncher packet contains, and works with TankLeaderBETA, with one BOT session(if you have multiple BOT keys script must be edited, drop me note!!!)
All Source files included,


  • Setup.exe
  • WotLauncherX86.exe
  • Setup.au3
  • wotTLauncher1.6.au3 (ver 1.7)
  • TLfunc1.au3 (ver 1.7)
  • Buddykiller.zip (Buddykiller.exe /Buddykiller.au3), if IE.au3 library cause script failing this file can be used then
  • macshift.zip(macshift.exe + C# source files, big THX to creator), this can be used to change MAC, it need edit script and test if it suit your networkcard, it cured my "IP-paranoia"
  • four .txt files for chat messages(must be edited, do not change names)

Script basic funtions; (read updates)


  • create one or Multiple autologin user for WoT
  • create one or multiple Tankset for TankLeader use
  • run TankLeader user, Rounds, defined time, per user, per Tankset +
  • recovers itself from multiple errors caused by TL server disconnection, authserver error etc.
    • opens IE and reset Buddyauth session
  • read TL_Logfile for safer operation, when stopping/starting TL
  • sends some messages, user defined .txt files


Script is quite stable now and it will survive allmost all error combinations but I cant test everything. Some waittimes can be long but script is made for standalone action if you watch script action 15 minutes then it will do same thing next 150 hours.


How to use it?

Download packet, extract folder where you like, run first Setup.exe or start WotTLAuncherX86.exe. You must make proper Setup or it will run only login screen until rounds ends.

Crucial information!!!! EDIT text files so there is different line than there is now of courcr GL-hf and sorry is quite genric, but some longer phrases can be detectable if all use same!

Put your kanjis, kyrillic, hebre... text on text files and DO NOT change file names or else there is no Chat action and send some text to us!!


  • greets.txt
  • sry.txt
  • malinovka.txt (not in use, so dont put text on it)
  • longbattle.txt
  • disconnetcrash.txt

More lines more random, put action is not event controlled. If you dont like talk then move files away.

For example, you have one user with 50 tanks and want run them with one click then you first need Setup them. For one user multitankset is unstable but you can try it.


Setup will ask needed information, (italic text), (any information you give will be used only Login server and script source can be checked, script will not steal your information)

WoT Location (here we need WoT program directory, if default then just check OK, if diffrent just write it here do not add "backslash" \ on it end)

TankLeader 1 location (it might be good idea make one extra TL directory to "c:\games\TL", but you can give any location, TL must have its own autologin ON!)

BuddyAuth SRV (default entry is valid)

Buddyusername (your buddy username)

Buddypassw (your buddy password)

How many user? (give user count, it can be anything between 1 - ???, if user count is zero or text script wont work)

Howmany user Tankset per user ( think twice here, if you have 50 tanks and its effective put 3 - 4 tanks for ONE set so WE need 14 set here, OK?)

Username1 (here setup ask Username1, that number will change if there is more than one user eg. 1 - ???)

Password1 (here setup ask password1 ans again number will change if there is more users)

How Long TL1 run (TL1 is same as user1, password1 and TL time will be divided with Tankset so if one tank take 5min then 4 tank take 20min and 14 tankset needs 14x20min ~ so we give 7 here, well its long time)

Note, script can fail and sometimes it cant recover here so it will just start from beginning. It is good advice make few TankSet and give short time for test run and I remind 1 = 1hour and 0.25 = 15min so, give 0.01 for testrun.

Script now start WoT and you can setup tanks.

This part I dont explain too much, but Tankset MUST BE created under proper account or else TL wont find tanks! Script start and close TL until given Tankset are created, it will create "tankset" dir under Tankleader, just check TL directory to find new Dir and several new files named 1_1set.xml...

Later Setup asks Random wait times. For TIME and Rounds:


  • Rounds FULL NUMBER, 1 - 999999999999
  • Time, eg. 1.5 = 1 hour 30 min, 0.00001 (really short time) use 1.9 (can you see)



When sets are done and information OK, you can start WotTLauncher, clicking ok .

Now just sitback on chair and watch wot is it doing... remember script is made to keep TL run time and rounds. It can fail and some really weird crashes can add long wait time but it will continue. Good way to test "QuequeOfDeath" is kill TankLeader just before someone shot U in game, ;). Other thing is try to close all windows when WotTLauncher try to start itself to login screen and start TankLeader, I find it quite funny and frustrating when script start several minutes wait and reset BuddyAuth... again and again.

Well, hopefully I dont miss anything crucial information... YES, remember learn how to use CTRL-ALT-DEL


Known problems and script crash, and upcoming solutions comes with TL2 and better coding:

  • script closes TL before TL exit carage, this happens cause when TL must be closed so it can load new TankSet, it just happens
  • WoT disconnection not detected, will be fixed with BattleTimer what takes connection sout after 12 min.
  • wierd problem with warm Beer, For Next use refgenerator and buy more Beer!

Here is links for A u t o I t, just download and install, then you can make it better!!!

WotTLauncher for Better controll on your Botting, ver.1.7

View attachment wotlaunch1.7.zip NEW


ps. For upcoming TL2 I must say that C# is must have and maybe this addon must rework then


Under there is old stuff id ya look U see how things grow up...

WotTLlaunch with log read, this runs given time and wait keyword "dead.
WotTLaunch no log read, runs just given time and exit, even if in battle.
This srcipt is done just for proof that TL logs are easy ot read for second action eg. chat.
TL log last line, it just read that line and show "flashbox".

All scripts hangs if you dont run Setup.exe first. It creates launcher.ini file, where script gets program paths and other needed information.

Script comes as it is and user use in their own risk, if you have Script-Kiddies abilities then Im happy to get better build from you for Us all!

Remember Scripts can do serius damage in your system, cause data loss, ban you from internet, even kill your Cat so be carefull, and use them wisely.
 

Attachments

Last edited:
Nice work! I might just make this a sticky. :)
 
I updated script and added it ability to make automagic TL update. Script works with TL BETA, but if TankLeader windows titles/class names change then it need some fix. I added some "Sleep" time too so it wont run too fast, but times must fix when U see if that it try to load too fast.

ps. Damn U Aevitas Ur update forced me to learn how to use "if then" -stuff, :p.
 
Tested some new things and still try figure out "How To make it Smart". It seems that I lost allmost two hours off botting on last night by Authentication failure, but thats less than all. So I think if make script reads TL log entry then it can figure out what?s going on and try to do smart things like "wait-relogin-restart" or maybe it can do something "max session" thing, dont know, must check. Its still clumsy but can push throught with brute force.

Like Aevitas promising us that new Shiny TL2 comes with plugin -support, I still find C# is really difficult for beginners, but Im not give up with it, I just see that easy script language is not even near its limits as I lack skills, ;).


ps. TL writes txt log files realtime? Then reading them will tell when TL entering/leaving Battle, stuckin, mooving, dying and its safe to shut down? Uh, is that so easy, why I never looked those files before.

Code:
#include <file.au3>
#include <array.au3>
#include <date.au3>

 ; $TLlogs = ($TLDir2 & "\logs\")

Func _LatestFile ($sDir)
Local $aTimes[1]
If StringRight($sDir, 1) <> "" Then $sDir &= ""
$aFiles = _FileListToArray ($sDir, "*", 1)
$err = @error
If $err > 0 Then
  Switch $err
   Case 1
	SetError (1) ;Path not found
	Return -1
   Case 4
	SetError (2) ;No files found
	Return -1
  EndSwitch
EndIf
ReDim $aTimes[$aFiles[0]+1]
$aTimes[0] = $aFiles[0]
For $n = 1 To $aFiles[0]
  $atmp = FileGetTime ($sDir & $aFiles[$n])
  $aTimes[$n] = $atmp[0] & "/" & $atmp[1] & "/" & $atmp[2] & " " & $atmp[3] & ":" & $atmp[4] & ":" & $atmp[5]
Next
For $n = 1 To $aTimes[0]
  If $n = 1 Then $sCurrHigh = $aTimes[1]
  $diff = _DateDiff ("s", $sCurrHigh, $aTimes[$n+1])
  If $n+2 > $aTimes[0] Then ExitLoop
  If StringLeft ($diff, 1) <> "-" Then  $sCurrHigh = $aTimes[$n+1]
Next
For $n = 1 To $aTimes[0]
  If $sCurrHigh = $aTimes[$n] Then
   $sLatestFile = $aFiles[$n]
   ExitLoop
  EndIf
Next
Return $sLatestFile
EndFunc

;#ce
Func _logsearch()
While 1 = 1
    Local $file = FileOpen($TLlogs & $rtn, 0)		
	 ConsoleWrite($file & @LF)
	$line = FileReadLine($file, -1)
	$result = StringInStr($line, "Dead")
	if $result > 1 Then
	    WinClose($TLMain)
		;Send("{TAB}")									; using TAB key lower field
		;Sleep(500)										;
		;Send("{ENTER}")
		FileClose($file)		
	   ExitLoop
	Else
	 ConsoleWrite($rtn & @LF)
	FileClose($file)
	   Sleep(1000)
	   
	EndIf
WEnd
EndFunc

;$rtn = _LatestFile ($TLlogs)
 ;ConsoleWrite($rtn & @LF)
;_logsearch()
; SplashTextOn(0, "", $rtn)
; Sleep(400)
 
Last edited:
It seems that some updates what I did yesterday have been disappeared!!

I did some weird "copy paste" mistakes and now latest script worked as I intended it work. Links are updated, hope they work

Simple chatbot can be done with just reading TL logfile.txt and sending "enter" + "typing" + "enter", but its quite unreliable way... better way is read in game data + write memory, but Im still lack that ability use tools what can do that.

There is also simple way to do "multiple user + TL config" using just some counter loops and copy-rename-copy, this is also unreliable and not-professional way, but it can do it why bother.

So if you can do it manually then script can do it automagic. If there is interest to test then we must just try it...



And for Aevitas THX for Ur patience, just if U can release some tools for read TL and or WoT streams... but maybe they come with TL2.
 
TL too slow or Script too fast?

Script related problem or something else?

I started script what will give me easy way to use multiple tankset for one user and use TL log file for closing TL when time is up.


Problem is,

when tank is killed TL will not exit from battle?

* is my script too fast, so it will close TL before it give exit command? <<== Script was Too Fast, script need slow down to wait 5000ms or else give to proper TL information to stop directly
+ script must close TL so it can copy and load new tankset!

* can some mod cause problem

When I solve this issue then I can run x*tankset per y*user, only doing those sets is.


If someone needs this kind solution to run 256 tanks then just drop me note, maybe I can help more, but first need sort out that probs up there.


Im still doing WatchDog, so server disconnection, authentication/queque/crash etc. errors can be sorted out. Its quite simple TL log reader, but later more.
 
Last edited:
Finished Autologin

Hello,

TankLeader 2 is near and Im still doing some rusty script for TankLeaderBETA, but it was worth.

Latest version maybe last one with Autoit cause C# might be best solution to interact with TankLeader 2. Im still waitting TL2 secrets to leak out, ;).

Autologin grow up from single line patch allmost program like thing. I find it useful myself to keep TL running when you have several small accounts.


New version 1.6 WotTLauncher (NOTE, Cancel buttons not cancel...)


  • better crash handling and unresponsive event detection(still using prosess and windows names)
  • added timer what show script run time from start+Sleep timer (when script idles long period)
  • HOTKEYs, for pause and termination(user see them before setup exit)
  • for server disconnection added "killswitch" timer what start when user given time is up and no other trigger events occur
    • ​it not resolve disconnection as problem but reduces offline time
  • ​reduced bossibility to excessive reLogin after WoT/TL related crash adding counter what increasing wait time after crash

Setup is simple as before


  • setup runs if it find it missing .ini file (it not detect inproper information)
  • setup can start Autologin
  • setup start and stop TL and WoT when needed to set tanks (some random WoT/TL crash can happen and user intelligence needed)
  • unlimited users and per user TankSet, script copy and name files in TankLeader/TankSet directory
  • set time per User is divided with Tankset
    • user time 1h/5different tankset = 12 min per set (sadly WoT crashed often when reStart TL)
  • script Rounds can be set by user (unlimitted)
  • added three random wait time, user give time (script make it random)
    • wait between TankSet(user)
    • wait between Users (can be same user)
    • wait between Rounds
    • NOTE, if server disconnection is bad then just put 5min run time and 999 rounds, script detect when dead and exit
    • tested this with 100 tankset and 7 min runtime per set, no problem but logs shows many WOT/TL crash

Script is like "blind Elephant in glass store" when there is no Program API to read, right? Many things will work better when we got plugins support and learn how to do them....


If you have knowledge how to,


  • detect server disconnection with program (code)
  • read in game chat (code)

Feel free share that knowledge cause I?d like to see better and more advanced plugins when TL2 comes. Hopefully we got some plugin sub forum when time comes!!!

Yes, stupid "key clicker chatbot" is same thing what this script do when it log in game and current script use logfile to trigger some events, so chatbot just need words collection from internet and proper random triggers to spam idiotic phrases out eg. "This is sparta", "Hf/gl", "BEER!". Just add some code.

...but if we want it became intelligent then we are really lost and maybe its better concentrate better aiming and waypoint or other useful stuff.

Last update, I did make test to that thing and find out that 24 hours testing needs 24 hours time to test... damn those wait times, 397 seconds feels soo long when you watch it.



...yesterday I see old Wise Man and asked important question,

Can you tell me, -What it means when I see Black cat running?

Wise Man replied, -Then you see that cat is running, but do you understand what this answer means... When you ask stupid question you got STUPID answers.
 
BuddyAuth reset

Well it seems that old tools is good to use until learn -How to use new one.

I use this one myself. It do BuddyAuth login and reset, there must be better way but I did not find it. I use it as part of my "private" script cause IE.au3 library dislike Internet Explorer security settings and cause "WEnd" error what cause script to crash. Maybe it must run external so it just crash and script continues. (yup, it must run externally so it work better)

Text is working script, just add your buddyauth information and use Autoit -program to compile or run it. It might have some unnecessary lines but it work for me. I think it also need some slow down but its after you.

Just copy paste in autoit... if you are smart and know how to add those object cliks then tell me, ;).

Code:
#include<IE.au3>


Func BuddyKiller($iUrl1, $iUrl2, $iUrl3, $iUserName, $iPassWord, $iTimeOut) ; setting args so we can feed information in func


    Local $sUrl1 = $iUrl1 ; loginpage
    Local $sUrl2 = $iUrl2 ; session page
    Local $sUrl3 = $iUrl3 ; logout page
    Local $sUsername = $iUserName
    Local $sPassword = $iPassWord
    Local $sTimeOut = $iTimeOut


    AutoItSetOption("SendKeyDelay", 75) ; sets sendkey delay
    BlockInput(1) ; userinput mouse/keyb disabled(1)


    $oIE = _IECreate($sUrl1, 0, 1, 0, 1) ; to change last block 0, 0) so IE windows stay hidden 0, 1, 0, 1) ; tin visble or hidden windows
    _IELoadWait($oIE, "", $sTimeOut) ; IE loading wait


    Sleep(250)


    $oForm = _IEFormGetCollection($oIE, 0) ; get webpage info
    $oUsername = _IEFormElementGetObjByName($oForm, 'UserName') ; where is username place
    $oPassword = _IEFormElementGetObjByName($oForm, "Password") ; where is passwort
    _IEFormElementSetValue($oUsername, $sUsername) ; sending info
    _IEFormElementSetValue($oPassword, $sPassword) ; sending info
    _IEFormSubmit($oForm) ; submitting
    _IELoadWait($oIE, "", $sTimeOut) ; IE loading wait


    Sleep(250)


    _IENavigate($oIE, $sUrl2, 1) ; opens seession pages, hidden
    _IELoadWait($oIE, "", $sTimeOut) ; IE loading wait


    If WinExists("My Sessions - Buddy Auth Portal - Windows Internet Explorer") Then ; CHECKING IF windows what we dont see exist


        WinActivate("My Sessions - Buddy Auth Portal - Windows Internet Explorer") ; activate windows


        Send("{TAB 13}{SPACE}{TAB}{SPACE}") ; sending keystrokes to activate session kill, this can FAIL need better solution
        _IELoadWait($oIE, "", $sTimeOut) ; IE loading wait
        Sleep(250)
         
        BlockInput(0) ; userinput mouse/keyb enabled(0)


    Else ; if we fail to log in session page we must just wait session to expire, but this seems not work must find other solution


        BlockInput(0) ; userinput mouse/keyb enabled(0)
        
        Sleep(250)


    EndIf


    Sleep(250)
    _IENavigate($oIE, $iUrl3, 1) ; opens seession pages, hidden
    _IELoadWait($oIE, "", $sTimeOut) ; IE loading wait
    _IEQuit($oIE) ; quitting opened IE prosess
    BlockInput(0) ; userinput mouse/keyb enabled(0)
    Sleep(5000)
EndFunc   ;==>BuddyKiller






$BuddyLogOn = "http://www.buddyauth.com/Account/LogOn"
$BuddySession = "http://www.buddyauth.com/User/Sessions"
$BuddyLogout = "http://www.buddyauth.com/Account/LogOff"
$BuddyPass = "yourpassword"
$BuddyUser = "yourusername"
$BuddyTimeOut = 120000 ; webpage load timeout, just in case if needed


BuddyKiller($BuddyLogOn, $BuddySession, $BuddyLogout, $BuddyUser, $BuddyPass, $BuddyTimeOut)
 
Queque -Death Of TankLeader?

I must admit that my earlier statement to stop doing this script was false positive and moving C# is too hard when you dont have any goal (TankLeader 2 plugins). So its good continue with Old tools.

TL1 bugs and erros belongs support or developers to resolve/Fix, but when actions take time and I became inpatient I rush out and beat my neiby... good solution, er...? :p


Nope, I started look my TL log files. I did not find that Queque error in Live when I needed it....

Current script I assume that if TL will not acces log files after 180s, then its dead, I assume that TL/WoT is safe to shut down when TL log files last line contains "leaving" and several other things...

But Death Of Queque is different. Its not simple on/off and there is some other actions what we can do after that error to reduce its damage IF we can detect it BEFORE WoT Client crash.

So on my system Queque to Waitting Batlle takes between 2 - 3 seconds if Queque fails my WoT goes in "unresponsive" state after 30 - 60sec and TL crashes after 1 - 2 minutes IF I detect Queque error in 30sec after it started I can stop TL and WoT Client will not crash.

How this is usefull information for me, I assume that after entering Queque it takes less than 15 seconds to get "Waypoints" and enter "waitting batlle" state but,



  • [*=1]Queque between garage and Battle screen (1sec - 2min. or failure)
    [*=1]Queque in Battle screen (if not end 15 - 30 sec then it often fails)

So we can identificate different Queque states, then we can detect that on battle screen queque is stuck longer than given(15 - 20sec) time, then we assume TL is met "Queque of Death" and we should shut it down, then cause TL is away, we have AFK tank (im just beatink my neiby cant see that) so script must act and send some spam,

Code:
WinActivate($wotClient)
                                        Sleep(250)
                                        Send("{ENTER}")
                                        Send("{TAB}")
                                        Send("Zomg ufo is get me") ; add smarter text generator here
                                        Send("{ENTER}")
                                        Sleep(750)
                                        Send("r")
                                        Sleep(1500)
                                        closeTLmain()
                                        FileClose($file)
                                        Sleep(1000)

and after that we can crash close WoT Client and WAIT untill batlle ends or switch user and continue script.

Problem is find out that event when "Queque of Death" occur and partially its easy to see when,


  • [*=2]last log line is queque, must be queque in battle screen
    [*=2]log line is older than 20sec

Then script can do action what can reduce AFK damage done... yes, I know TankLeader must be super ArtificialIntelligent and stable twentyfive euros software with 24/7 deliveryfree Jet support... then its useless to make userbased addons on it, oh my how stupid im are. #rant#


Hmmm, I think I need look more logs from forest so I can warm up sauna, then maybe I check logs to detect if script can do some "Queque of Death" action, simple like make ur own Moonshine ketlle...:o


 
Server disconnection detection

:mad: Im still cant find way how to "click clickbox" by script but I find solution "how To detect server disconnection". Solution is easy and simple. It just Ping server and returns with results... very simple Yes/No.

Below is script what Pings server and also in some Case it ping second server. I did not understand how this is not yet used by users, but It is quite understandable that this kind of option and many other will never come part of TankLeader, but Users can add them By Plugins.

Adding that to current script is quite easy, but it cant be done cause some action is not defined and other action might be affect script current actions... (Im still wondering waht can be done with "Queque Of Death")

To test it just copy paste it to Autoit and it will give you fancy Messageboxs.

Decide yourself, "How to use it" and if you find good way to implement it to action then please tell all of us that!!!

Code:
; $MyWotRegion, it comes from setup what also make proper server location selections BY user, Like USA, RUS, SEA... same thing might be must done for Buddyauth and deside what actions are bosible to made....
; (source http://wiki.worldoftanks.com/Servers) IP addres

;=====================================================================
; disconnect diag., recovery and spam func
;=====================================================================
Func QuequeOfDeath($iFile, $iX)
	closeTLmain()
	If WinExists($wotClient) Then
		WinActivate($wotClient)
		msgwot($iFile, $iX)
		Sleep(Random(30000, 75000, 1))
		closewotclient()
		Sleep(Random(370000, 420000, 1))
	Else
		wotlogin()
		startTL()
		loginfailureTL()
		Sleep(1000)
		If Not ProcessExists("TankLeader.exe") Then
			startTL()
		EndIf
		RunTL()
		If WinExists($note) Then
			closeTLmain()
			WinActivate($wotClient)
			msgwot($iFile, $iX)
			Sleep(Random(30000, 75000, 1))
			closewotclient()
			Sleep(Random(370000, 420000, 1))
		Else
			TLmain()
		EndIf
	EndIf
EndFunc   ;==>QuequeOfDeath

Func msgwot($iFile, $iX)
	Local $aWotphrase
	If FileExists($iFile) Then
		_FileReadToArray($iFile, $aWotphrase)
		If Not @error Then
			For $x = 1 To 1
				If WinExists($wotClient) Then
					BlockInput(1) ; userinput mouse/keyb disabled(1)
					WinActivate($wotClient)
					Select
						Case $iX = 1
							Send("{ENTER}")
							Send("{TAB}")
							Send($aWotphrase[Random(1, $aWotphrase[0], 1)])
						Case $iX = 2
							Send("{ENTER}")
							Send($aWotphrase[Random(1, $aWotphrase[0], 1)])
						Case Else
							Send("{ENTER}")
							Send("{TAB}")
							Send($aWotphrase[Random(1, $aWotphrase[0], 1)])
							Send("{ENTER}")
							Send($aWotphrase[Random(1, $aWotphrase[0], 1)])
							Sleep((Random(10000, 60000, 1)) / $x)
					EndSelect
					;Sleep((Random(15000, 60000, 1))/$x)
					Send("{ENTER}")
				Else
					Sleep(250)
				EndIf
			Next
		EndIf
	Else
		MsgBox(64, "Not Found", "Word file not found", 1)
	EndIf
	BlockInput(0) ; userinput mouse/keyb enabled(0)
EndFunc   ;==>msgwot




;Local $MyWoTRegion = "login-master.worldoftanks.com"
;Local $BuddyAuth = "www.buddyauth.com"

;TLping($MyWoTRegion, $BuddyAuth) ;only this must run in Main script with three result


;Select
;	Case @error = 1 ; all is OK, but if server disconnection is short this can be false positive, script continue and maybe later restar
;		MsgBox(0, "", "We really made it, both are OK, BuddyAuth is Alive and WoT is OK!")

;	Case @error = 2 ; WoT respond OK, but it seems BuddyAuth is offline so we maybe have AFK tank... options are restart with wait, use spambot and restart with wait
;		MsgBox(0, "", "Miserable We call Zomg Ufo," & @CRLF & "WoT is online but Tank is AFK cause Buddy not respond" & @CRLF & "WTF We do now, Call SpamBot!?")

;	Case @error = 3 ; Here we dont care BuddyAuth cause WoT is offline, we jus need restart Wotlogin and check what happens
;		MsgBox(0, "", "Miserable We call Zomg Ufo and cause Wot is offline" & @CRLF & "we dont need check Buddy so we just jump out the LOOP")
;EndSelect
Func TLping($iMyWoTRegion, $iBuddyAuth)
	serverping($iMyWoTRegion) ; there must be timer to prevent execcive ping use, but we must check servers before disconnetion cause WoTClient crash si IF logfile accestime older than 15 sec do ping else do ping if timediff 5min.
	Select
		Case @error = 1
			;MsgBox(0, "", "We really made it, but is Buddy Alive!")
			serverping($iBuddyAuth)
			Select
				Case @error = 1 ; all is OK, but if server disconnection is short this can be false positive
					;MsgBox(0, "", "We really made it, both are OK, BuddyAuth is Alive and WoT is OK!")
					SetError(1)
				Case @error = 2
					;MsgBox(0, "", "Miserable We call Zomg Ufo," & @CRLF & "WoT is online but Tank is AFK cause Buddy not respond" & @CRLF & "WTF We do now, Call SpamBot!?")
					SetError(2)
			EndSelect
		Case @error = 2
			;MsgBox(0, "", "Miserable We call Zomg Ufo and cause Wot is offline" & @CRLF & "we dont need check Buddy so we just jump out the LOOP")
			SetError(3)
	EndSelect
EndFunc   ;==>TLping
Func serverping($iPingregion) ; TLping use this
	;MsgBox(0, $iPingregion, "")
	If Ping($iPingregion) > 0 Then
		;MsgBox(0, $iPingregion, "We made it, no action need!")
		SetError(1)
	Else
		;MsgBox(0, $iPingregion, "Miserable failure 1" & @CRLF & "Gotta check secon chance")
		Sleep(2500) ; 2,5 sec might be good time between check pings
		If Ping($iPingregion) > 0 Then
			;MsgBox(0, $iPingregion, "We made it, it was jus Hickup, no action need!")
			SetError(1)
		Else
			;MsgBox(0, $iPingregion, "Miserable failure 2")
			SetError(2)
		EndIf
	EndIf
EndFunc   ;==>serverping
Func _NotResponding($title, $text, $closeIfHung = 0)
	$hWnd = WinGetHandle($title, $text)
	$retArr = DllCall("user32.dll", "int", "IsHungAppWindow", "hwnd", $hWnd)
	If @error == 0 Then
		If $retArr[0] == 1 Then
			If $closeIfHung Then
				ProcessClose(WinGetProcess($title, $text))
			EndIf
			Return 1
		EndIf
	EndIf
	If $hWnd == "" Then
		MsgBox(0, "Error", "Could not find window", 1)
		Return 0
	EndIf
EndFunc   ;==>_NotResponding
 
Last edited:
update soon...

I dont knoow any of you but I got "msgwot", "TLping" and "QuequeOfDeath" added inside script... sadly bot seems to speak nonsense sometimes and loves vodka, ;).

"msgwot" is not chatbot it just use premade phrases in random order and some event can be triggered by tankleader logfile entry+time, others just by time or only logfile, its like RussianRoulette what U hit on head.

"TLping" try detect if disconnection from servers occurs and then do actions. Well, this part need some extra work so it can be Setup EU, SEA, RUS...

"QuequeOfDeath" is just fansy name... end part script what try detect hanging programs in its early stages and shut it down before it cause others crash, NOTE crashed game is not AFK in reports so exit after TLcrash/disconnection will reduce damage done.


So what is outcome? Script can spam some text out, it try detect if TankLeader crash when battle and return in game send some nonsense and crash leave... its not take away AFK situation when TankLeader is OK, BuddyAuth response ping.

I added so much stuff inside that script that I must test it really carefully. I also added password and username encryption what is quite light and useless, but it gave me warm feelings. So it take time before I know how it act and is it safer use than botting a Tank.


All the time all help and ideas are welcome but if you are interested that "msgwot" then there is really easy way to help and it might help future plugins builders too!!!!


"Msgwot" pick text from regular .txt file, text can be kyrillic, kanji... I splitted it on five (5) sections, feel free to add yours on it, anyway ANY chatbot NEED word collection, even stupid random word line selector.

Good place find words if know how to join them Handy Word Lists

It just pick lines so it can spit out Wilfred Owen poetry if text file is in directory and have correct name....more text more random it became.




1. greetings.txt , this prebattle saying

gl _Hf
omg. i got pizza
i kill all



2. noname.txt , "stuck" can trigger this, on this happens ramming and rush to battle its sended only to team (if all goes right)

WTF u do
grr
stopit


3. nonsense.txt, here can be "aiming", "reloading", trigger event, its for batlle nonsense speak to enemy

muhaaha, i hit u




4. imsoolonely.xtx, well timebased trigger if survivor wandering around like drungen brawl...

damn where u are





5. crashdisconnection.txt, well it says all

** hate crash
damn laggy ***
 
Feature check

Currently tested WotTLauncher working with TankLeaderBETA, (still under test)



  • [*=1]Autologin WoT/ multiple users, 99% work, recovers from failure(sendkeys)

    • [*=1]Buddyauth session sweep takes Auth error out, needs IE(if became unstable mus removed and work with ONE key!)
      [*=1]TL updates automatic and reLogin
      [*=1]some other errors with information


  • [*=1]Multiple tankset per user, works partially can crash wot or TL make next Queque, needs better TankLeader controll!
    [*=1]Random Wait between users, tankset, works as RAndom
    [*=1]"msgwot" send messages, trigger events might be more random(sendkeys)

    • [*=1]your own word collection decides quality of messages, on .txt file there is only few phrases
      [*=1]it can spam out book if script is editted!!!!

    [*=1]"QuequeOfDeath", works 50-60%

    • [*=1]sends afterlife messages "msgwot"
      [*=1]prevent reLogin if crash detected when TL in game "sleep.QuequeOfDeath"
      [*=1]original crash detector was too "picky"cant use it, TL and WoT stopped responding over 500-1000ms timeperiod, ah nice coding
      [*=1]crash detect now just "windows" and "logfiletime" based

    [*=1]Serverdisconnection detection, serverping

    • [*=1]BuddyAuth works 99% and do then some "afterlife" actions
      [*=1]WoT, "battletimer" counts random 9 - 11min and decide if need "killall" (have U never been in WoTbattle over 15min?)

    [*=1] all long wait Random wait times show up timerbox(allmost) so its easy to see why it"standstill"


It is still script what is messy and badly builded, but it do many things what TL cant and Script can?t drive a Tank.

If this can be done with several week scripting experience without acces program API then what can be done when we got more direct controll, more information and MORE experienced users to do things.

I still need clean up some non-work piece, test disconnection reStart and make setup for new items... OH, I think I trash password encryption, maybe its too much for this, but I use it myself(its funny).

Well, I think this is - My fifty cents for TankLeader 1 and I?m still waitting TankLeader2... eh, those Plugins, I see tank make some dance... ;)



 
Last edited:
There is TalkActive script for TankLeader now.

I really give my apologies cause Im incapable to create better documentation and help file so best way to know is "Will Fire burns and Cold help", is test it.
 
Preparing for Future

Few words about secret,
?And above all, watch with glittering eyes the whole world around you
because the greatest secrets are always hidden in the most unlikely places.
Those who don't believe in magic will never find it.?

― Roald Dahl​


The Secret here is not "TankLeader 2", but what it keeps inside... but what the heck that "Magic" is?

All of us know Magic -word meaning and TL2 have one "Magic Secret" inside it (I belive it has!). That Magic is called Plugins.

So only way to find its secret is believe Magic and its quite hard believe things what not existent, yes? No, absolutely WRONG.


TL2 Magic is tightly sealed behind Aevitas scarf and I see better not to start begging to remove it, so Im on my own. No knowledge, no hints, All I know here that Future start in Past. So started digging past and find this,

http://www.thebuddyforum.com/honorb...-custom-class-guide-beginners.html#post131620

well, it might be Not exactly same Magic what TankLeader 2 will use but I think those Spells are convertible for new use and gained EXP too, ;). I cant reveal "the Secret" but I can try learn how to use magic so it make sense learn some for later use.



For current script
, I started research, Scheduler and Log (Calender). Idea is change script behavior by system time(morning, night, evening) and Log for keeping some track for script runingtime=botting time. Those things will be inaccurate but better than nothing. Also learning how to make GUI...


Sometimes it feels good to Mystify regular life....

Glommy
 
Iam having trouble setting up the TankSet.
What kind, send PM if ya want. I try figure out what cause it and help if can.

That script might became old and obsolete when TL2 arrives but it still can "kick ass"...

ps. if nothing help, then dont use "Tankset", just make as many users U need to run all 256 tanks on your garage.
 
Last edited:
Hey guys,
when I'm trying to use this and it wants to login it puts the e-mail "not found" and some password. Did i forget setting something up? I used the setup.exe but i cant find the entry where to set my login incredentials. Thanks

Found it - thx guys
 
Last edited:
Back
Top