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

How to make your own profile

Aevitas

Well-Known Member
Joined
Mar 2, 2010
Messages
2,307
Reaction score
36
Since there seem to be a lot of people who want to make their own profiles, and it's actually really simple. When we wrote TL2, we wanted to add some customisation options to it, while still keeping it accessible. I meant to do a video explaining this for a while now, but since I have no proper microphone, I've decided to just write a guide instead.

Do note that Wargaming has the fine habit of changing the coordinates in their maps between patches, adjusting the height of maps for no apparent reason other than to be a pain in the rear for us. You'll need to keep your profiles updated between patches, and sometimes you may even need to re-do them for some maps from scratch, recording new waypoints, etc.

First off, you'll need to enable the HotspotLogger plugin, and you'll need either a friend or a second account you can do team battles with.

The XML base for a profile looks like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<Profile>
    <Map></Map>
        <Hotspots>
        </Hotspots>
</Profile>

Go ahead and paste that in your XML editor or Notepad++ or whatever you prefer. You could even use notepad if you really want to.

The <Map> part of the profile will contain the actual game's name of the map, which is the same as shown in the file name of replay files. Don't worry though, the plugin will show you what that name is.
The <Hotspots> elements will contain our actual hotspots, which is where the tank will go in battle. These will also be provided by the plugin.

You do NOT have to press the start button in TL itself. TankLeader just needs to be logged in and running in the background, while stopped.

The hotkeys for profile creation are:
  • F11 records a waypoint
  • F12 prints a list of your recorded waypoints to the log
  • F10 shows the map name
  • F9 clears your recorded hotspots, do this between maps or on team switches.

Now, let's actually make a profile:
  1. Invite your friend or second account into a training room and configure the map and the team you want to make a profile for. You'll need to make profiles for both teams to completely cover a map in a profile.
  2. Now, go to where you want the bot to go in game when it is playing on the team and the map you are playing on right now.
  3. Press F11 while you are in World of Tanks. This will record the position you are at now (not the angle though!) for use in the profile later.
  4. Do this for every point on the map you want the bot to go to. Do keep in mind that the bot will follow the waypoints in order, and as soon as it runs out of waypoints to follow, it'll go straight to the cap point.
  5. When you have visited every point on the map you want the profile to follow, press F10 to get the map name in the TL log.
  6. Press F12 to print all your recorded points to the log.

Now, go back to your text editor, and add the output of F10 between <Map> and </Map> like this:
Code:
<Map>42_north_america</Map>

And insert the values you got from pressing F12 between the <Waypoints> and </Waypoints> tags, like this:
Code:
        <Hotspots> 
			<Hotspot Team="1" X="-283.0476" Y="7.034483" Z="146.1645" Type="Normal" /><!-- 4 -->
			<Hotspot Team="1" X="-188.1401" Y="6.692643" Z="206.7298" Type="Normal" /><!-- 6 -->
			<Hotspot Team="1" X="118.9485" Y="6.560001" Z="316.3788" Type="Normal" /><!-- 8 -->
			<Hotspot Team="1" X="289.1408" Y="7.089292" Z="301.1697" Type="Normal" /><!-- 9 -->
			<Hotspot Team="1" X="-215.9502" Y="-0.49" Z="-321.023" Type="Normal" /><!-- 0 -->
			<Hotspot Team="2" X="-90.44115" Y="6.642649" Z="275.8521" Type="Normal" /><!-- 2 -->
			<Hotspot Team="2" X="-116.7406" Y="6.562061" Z="211.3481" Type="Normal" /><!-- 3 -->
			<Hotspot Team="2" X="-339.3444" Y="6.698907" Z="214.7589" Type="Normal" /><!-- 4 -->
			<Hotspot Team="2" X="-298.6867" Y="5.397581" Z="103.7621" Type="Normal" /><!-- 5 -->
			<Hotspot Team="2" X="-380.7223" Y="-0.4900001" Z="-234.2889" Type="Normal" /><!-- 6 -->
			<Hotspot Team="2" X="-218.981" Y="-0.4899998" Z="-311.4886" Type="Normal" /><!-- 7 -->
			<Hotspot Team="2" X="-221.9187" Y="-0.4900001" Z="-348.1346" Type="Normal" /><!-- 8 -->
        </Hotspots>

The result should looks something like this:

Code:
<?xml version="1.0" encoding="utf-8"?>
<Profile>
    <Map>42_north_america</Map>
        <Hotspots> 
			<Hotspot Team="1" X="-283.0476" Y="7.034483" Z="146.1645" Type="Normal" /><!-- 4 -->
			<Hotspot Team="1" X="-188.1401" Y="6.692643" Z="206.7298" Type="Normal" /><!-- 6 -->
			<Hotspot Team="1" X="118.9485" Y="6.560001" Z="316.3788" Type="Normal" /><!-- 8 -->
			<Hotspot Team="1" X="289.1408" Y="7.089292" Z="301.1697" Type="Normal" /><!-- 9 -->
			<Hotspot Team="1" X="-215.9502" Y="-0.49" Z="-321.023" Type="Normal" /><!-- 0 -->
			<Hotspot Team="2" X="-90.44115" Y="6.642649" Z="275.8521" Type="Normal" /><!-- 2 -->
			<Hotspot Team="2" X="-116.7406" Y="6.562061" Z="211.3481" Type="Normal" /><!-- 3 -->
			<Hotspot Team="2" X="-339.3444" Y="6.698907" Z="214.7589" Type="Normal" /><!-- 4 -->
			<Hotspot Team="2" X="-298.6867" Y="5.397581" Z="103.7621" Type="Normal" /><!-- 5 -->
			<Hotspot Team="2" X="-380.7223" Y="-0.4900001" Z="-234.2889" Type="Normal" /><!-- 6 -->
			<Hotspot Team="2" X="-218.981" Y="-0.4899998" Z="-311.4886" Type="Normal" /><!-- 7 -->
			<Hotspot Team="2" X="-221.9187" Y="-0.4900001" Z="-348.1346" Type="Normal" /><!-- 8 -->
        </Hotspots>
</Profile>

Of course, the individual hotspots and map name will vary depending on the map you're on and where you went.

Now save this file as <any name>.xml and store it in your TL's Profiles folder. The name of the file doesn't matter, the extension (.xml) however, DOES matter. TL will only look for XML files in the profile folder and load those.

That's pretty much all there is too it; it's much more straight forward than with Honorbuddy and some of our other bots, but it comes with the downside of being quite maintenance heavy since the maps often change between patches. Also, profiles are NOT required for TankLeader; it'll work without too. This stuff is mostly meant for advanced users who like to tweak their bot and like to maintain their profiles between patches. As I said before, this could become quite a lot of work to do for every map/team and to keep updated between patches, but the results are worth it I think personally.

Finally, if you're a real nice guy, share your profiles in the profile section. The risk of a ban doesn't realistically increase, and others will love you for it. Don't forget to denote your thread with the WoT version your profiles are meant for. Of course, you are not required to share your stuff, it's your time you spend on it, and your choice. :)

Example profile used courtesy of Holster99 in this thread: http://www.thebuddyforum.com/tankleader-forum/tankleader-profiles/123546-42_north_america.html

If you have any questions, feel free to ask in this thread.

Thanks.
 
I would like to ask couple newbie questions:

1) In hotspot info what functionality does the "<!-- 6 -->" part have?

2) Is there some way to have bot stop for certain time at some hotspot and after some defined time continue to next hotspot?

Thanks in advance.
 
I would like to ask couple newbie questions:

1) In hotspot info what functionality does the "<!-- 6 -->" part have?

2) Is there some way to have bot stop for certain time at some hotspot and after some defined time continue to next hotspot?

Thanks in advance.

The "<!-- 6 -->" is an XML comment which serves no purpose other than letting the human reader of the XML file known the how manyth hotspot it was that was recorded. At current, there is no "behaviour" definable in the profiles themselves, so having the tank wait for a certain amount of time isn't supported. Reasoning behind this is that you can't be sure that every tank that uses that profile will get to that spot at the same time, so what would end up happening is a TOG II will arrive at that spot much later than for example a Cromwell would, which would result in the cromwell rushing to its death because it didn't wait long enough, and the TOG waiting too long at the same spot in the back to get any proper results.
 
At current, there is no "behaviour" definable in the profiles themselves, so having the tank wait for a certain amount of time isn't supported. Reasoning behind this is that you can't be sure that every tank that uses that profile will get to that spot at the same time, so what would end up happening is a TOG II will arrive at that spot much later than for example a Cromwell would, which would result in the cromwell rushing to its death because it didn't wait long enough, and the TOG waiting too long at the same spot in the back to get any proper results.

Would just be very nice to have this option to enable tank type specific profiles that one could use botting on certain kind/speed vehicles. Could think it would really improve bots game play alot. Not having it causes pretty much the same effect as described if one would have it :P

Ill just add to my own personal wishlist and hope really hard it could be implemented as technically it might be easy to add.
 
What happens if you make more than one custom profiles for a map?
Will the bot randomly choose one, alternate or just always pick the same one?
 
As we pretty much know, additional features being added to TL will likely not happen, I would like to know the answer to the above questions as well. Do I need to make profiles for both the red and green starting points respectively? Does TL determine the closest coordinate and then use the profile for the map accordingly?

Edit** As a work around for the "time at one waypoint" I'm going to play with an "inch worm" method. So I can add time to the profile by making the tank go forward a smidge, then again and again. This will effectively add a tiny bit of time to a waypoint. I'll report my results.

Edit2** I saw the team modifier so that answers my question on that front. Have to include waypoints for both teams.

Edit3**
After consistent tinkering, there are several things that you should note while building profiles. Firstly every waypoint you add, the bot will actually stop, look in befuddlement and then continue. Do yourself a favor and put as few waypoints as possible, I guess there is a net that tells the bot where to go. Woulda been nice to know before hand as my 160 waypoint profiles are now useless :-| I plotted 15 of them today. However I guess thats my fault for not building one and testing.

Questions: Really need some knowledgeable answers here...

1) Is the bot programmed with nav? so if I put 1 waypoint in the top right and a 2nd waypoint in the bottom left, will the bot navigate structures and "fixed" objects successfully? This would remove the need to make alot of waypoints thus freeing up processing power to shoot.

2) Sometimes I notice the bot will ignore shooting someone to reach a waypoint this typically happens during the "dequeuing" phase, is this normal?

3) If the bot has multiple targets in default targeting, it will constantly switch between the two targets, typically resulting in alot of missed shots, is there a way to stop this? To stick to a target until target is dead or until target has camoed.

4) Is there a detailed description of each type of targeting mode? This is left up to interpretation and is confusing without some manner of explanation.

5) Is artillery mode actually supported? I mean its a feature but does it actually work?

6) Is there a place I could find an overlay map of where the nav is covered and where its not? this would make making waypoints that best cooperate with it better.

The first question is kinda the big one, I would really like to make some updated profiles for everyone but without a clear answer here I can't do that.


EDIT*****

The amount of edits in thie post to avoid double posting is ridiculous....what else is ridiculous is the nav. So I have a full profile pack in which I spent several hours making, and im testing it now to be released to the general public, it includes all the maps in updated form. Now my major issue with this is not knowing where the nav starts and where it ends. I made an excellent profile for flanking but what I find is the tank is having some major issues exploring these paths that are on the map, often times I find that the nav will go to the waypoint, then go to where a nav point is, then go to the next waypoint. At one point on lakeville the bot completely disregarded my waypoints and just decided to carve its own path in which it got stuck, on the opposite side of the map where the points were non-existent. At one point the tank started spinning in circles I guess it got confused when it went into knee deep water. Between that and the fact it has to stop and think for every single usermade waypoint this has been super frustrating. I think in all honesty if you could remove the stutter from user made waypoints that if you made it just an aimbot that followed waypoints given by the user this would be far more effective. As I'm going on I have noticed that the bot will get the "bot stuck" prompt in the log when it gets close to another tank but not hit it. Seems like a good idea but causes some major issues in choke points. I'm also still looking for some basic support in the above questions. I understand you guys are busy, however I'm still a customer, I have paid for your product much as I have paid for them in the past for honorbuddy and buddywing. I'm just looking for a bone man...

Usermade waypoints has been overwritten on <<2>> maps so far
 
Last edited:
Since its been 9 days from the original post I'm going to bump this with a TLDR;

I have some questions about general information on how the bot works.
I have a full compliment of updated maps I'm currently testing.
I will be running those maps all day today and revising where needed.
I will be releasing these maps probably next week, so those with frustrating pathing issues, there is hope!
 
Unfortunately due to the simple negligence shown on this sub forum I will not be updating the maps I have further. However I will be giving them out for others to test and use.

https://www.dropbox.com/s/fzx8nbzjs424v2x/Profiles.7z

This includes all maps that are available (40), I tested them only in standard mode as I only plotted them for encounter mode. It for the most part will avoid large gradient hills for slower tanks. I also compiled a list of issues but did not fix them. Remember to go into the REV2 file for the proper profiles. DO NOT use the ones in the root folder.

Profile Issues:
team 1 on 60_asia_miao (revise)(nav issue)
team 2 on 07_lakeville (revise)(complete path dismissal)
team 1 on 38_mannerheim_line (stalls)(fell in lake in the middle)
team 2 on 08_ruinberg (revise) (nav issue)
team 1 on 08_ruinberg (revise) (nav issue)
team 1 on 84_winter (revise) (no choke point)
team 2 on 45_north_america (nav doesnt cross water)(nav sent tank to middle bridge, fell off middle bridge, died)
team 2 on 31_airfield (revise)(nav issue)
team 2 on 47_canada_a (revise, circling start)(bad nav pathing)78
team 2 on 44_north_america (revise) (nav issue) (can't cross water)
team 2 on 17_munchen (completely broken) (nav issue)
team 2 on 14_siegfried_line (clean)
39_crimea clean

Issues with profiles and the way the bot was programed:
1) Bot will sometimes not shoot at enemy tanks even if they are right in front of them
2) Bot will sometimes not shoot at enemy that cross its path
3) Insufficient knowledge of where the nav mesh actually is since its very obvious it doesn't cover the entire map makes some of the profiles act strangely.
4) When using waypoints bot will sometimes stop at a waypoint and do absolutely nothing for 2-3 seconds.
5) Bot will get close to other players, become stuck then attempt to path around it sometimes getting stuck over and over.
6) Sometimes bot will disregard other players and run into them.
7) Bot hates water in most maps, will disregard waypoints and go completely out of the way because I'm assuming nav mesh isn't present. It also sometimes makes it spin in circles in the middle of a river.
8) Nav Mesh on bridges are awful.
9) The bot has an absolutely obsession with getting to a waypoint when its close enough, disregards absolutely everything.

If we could clean the dequeuing connecting to server stuff so that the bot would fluidly run through waypoints. You could in theory just make a user profile with 100 exact waypoints and have the aimbot on and it would perform tons better than the autopilot. In honorbuddy I recall making personal profiles and they worked amazingly well because it simply went from one point to the next, it didn't attempt to find its way around if you only put 2 profiles in a farming profile. Buddywing had the nav mesh and it was made decently well but it also had some issues. Really wish I had gotten some front line support on this, considering I spent hours making these profiles and testing the bot to find out the bugs.

Also I noticed a patch, I didn't really notice a difference, however I don't have patch notes to determine what changed. Thanks.

Goodluck to everyone else, I hope the profiles assist in some manner, some of them work pretty flawlessly others have severe navigational issues.
 
Last edited:
Questions: Really need some knowledgeable answers here...

1) Is the bot programmed with nav? so if I put 1 waypoint in the top right and a 2nd waypoint in the bottom left, will the bot navigate structures and "fixed" objects successfully? This would remove the need to make alot of waypoints thus freeing up processing power to shoot.

Yes, though sometimes it'll generate a path through rocks, which is something that's on the list of things to look into.

2) Sometimes I notice the bot will ignore shooting someone to reach a waypoint this typically happens during the "dequeuing" phase, is this normal?

That shouldn't happen, does dequeueing really take that long?

3) If the bot has multiple targets in default targeting, it will constantly switch between the two targets, typically resulting in alot of missed shots, is there a way to stop this? To stick to a target until target is dead or until target has camoed.

I'll have a look why it's weighing targets differently all the time. It should stick to one target by default (look at the source code in TargetingProviders)

4) Is there a detailed description of each type of targeting mode? This is left up to interpretation and is confusing without some manner of explanation.

There isn't, all the targeting modes are simple ones who just order the list of targets by a different modifier.

5) Is artillery mode actually supported? I mean its a feature but does it actually work?

Yes, but artillery by default won't move out of the base. Reason being is we don't want it to navigate like normal tanks do, and when I had it navigate to a random spot within the cap circle, it'd often end up firing into walls or obstacles and killing itself, which in my opinion is far worse than not moving at all.

6) Is there a place I could find an overlay map of where the nav is covered and where its not? this would make making waypoints that best cooperate with it better.

You can't. I have a tool which shows the navigable areas, I might put up a screenshot of that if you have a specific map you want details on.
 

I greatly appreciate your input, nav maps from screenshots would be nice for maps so I can work them accordingly, a PM of them if you dont necessarily want them out and about would be fine too. I can understand getting stuck on rocks, I'm not expecting perfection, just workability.

An expansion off the questions answered.

Artillery mode: so although it doesnt move, it does lock and shoot targets? thats good to know I havent even dabbled in it. I also agree with the movement exlusion.

I'll pull a log on the dequeing because I believe they are timestamped. I've been using the log in verbose mode and it gives just enough information but no errors when switching targets or anything like that. I found verbose is good only when you have a critical error.

I really want to give the community a set of working maps. Nothing outside of what i've put up has been updated in almost a year. I don't mind sinking more time in this, I just needed the input.

Edit***

Heres the log, it appears dequeuing can take around 2-3 seconds? I'm not overly positive if I'm looking at the right thing.
View attachment quicklog.txt
 
Last edited:
I greatly appreciate your input, nav maps from screenshots would be nice for maps so I can work them accordingly, a PM of them if you dont necessarily want them out and about would be fine too. I can understand getting stuck on rocks, I'm not expecting perfection, just workability.

An expansion off the questions answered.

Artillery mode: so although it doesnt move, it does lock and shoot targets? thats good to know I havent even dabbled in it. I also agree with the movement exlusion.

I'll pull a log on the dequeing because I believe they are timestamped. I've been using the log in verbose mode and it gives just enough information but no errors when switching targets or anything like that. I found verbose is good only when you have a critical error.

I really want to give the community a set of working maps. Nothing outside of what i've put up has been updated in almost a year. I don't mind sinking more time in this, I just needed the input.

Edit***

Heres the log, it appears dequeuing can take around 2-3 seconds? I'm not overly positive if I'm looking at the right thing.
View attachment 131864

Just let me know which maps you need and we'll get it sorted out. As for artillery, it does fire but only under very strict circumstances - for instance, the target may not be moving at all for a few seconds, it must be completely stationary.

I'll look into the log see if I can find what you mean. Thanks.

Edit: Put it up as an attachment if you could, getting invalid page now. :<
 
In my previous post I re-attached the .txt, alternative I'll just put it below.

Maps request:

38 Mannerheim
07 Lakeville
45 North America
47 Canada
17 Munchen

Lets start with these, I'll build them up and release for a revision 3.

Log:

[09:09:32.417 D] [Navigator] Cleared; reason: Need a new path because we were previously stuck.
[09:09:32.417 N] Poi set to Roam. Reason: User-defined waypoint
[09:09:32.485 N] Attempting to connect to the server.
[09:09:32.588 D] Successfully connected to remote host.
[09:09:33.068 N] Poi set to Roam. Reason: User-defined waypoint
[09:09:38.962 D] Reached user hotspot; dequeuing.
[09:09:40.386 N] Poi set to Roam. Reason: User-defined waypoint
[09:10:29.563 D] Reached user hotspot; dequeuing.
[09:10:29.955 N] Poi set to Roam. Reason: User-defined waypoint
[09:10:50.248 N] Poi set to Kill. Reason: Aiming to kill enemy at <-295.2789, 29.73128, -128.9612>.
[09:10:52.224 N] Firing at enemy at <-300.3417, 29.67599, -151.2132>!
[09:10:52.729 N] Poi set to Roam. Reason: User-defined waypoint
[09:11:18.834 D] Reached user hotspot; dequeuing.
[09:11:19.292 N] Poi set to Roam. Reason: User-defined waypoint
[09:11:56.480 D] Reached user hotspot; dequeuing.
[09:11:56.799 N] Poi set to Roam. Reason: User-defined waypoint
 
Rift used to have it so that you could turn the mesh on or off, create it yourself, delete bad portions, etc, then it would just wander in that area from hotspot to hotspot. I am fairly sure this is the same general system we use, but it would be SO much easier to fix things if we could actually SEE the mesh. Add a switch! =D Usually it tries going through a rock because the wpts around the rock are too close to it and it will bridge the gap even w/o a connection. Are the meshes something that can be edited in this manner? They have to be, I mean what if WG adds a building in the middle of a mesh lane......?!?

I KNOW Kick can halp us!!! lol
 
Last edited:
Good Afternoon Gigaflat,

Unfortunately I still haven't seen the mesh maps, so I can only make circuit courses. Also I've encountered some personal problems at home so it hasn't been a productive month so far on the profile front. I see they added a new map with the latest update. Again I need the mesh so I can plot a course correctly and not have your generic point A to point B. Waiting on support for this.
 
Cmon..... this is silly. It's not like they are guarded secrets. .. get him the meshes! This is why community development loses everyone!
 
Sorry to hear about the complexities at home Alexlaw, I hope you master everything soon.

@TankLeader support: Please give him what he needs in order to make this go forward!!!!
I still experience big problems at the 38_mannerheim_line and 83_kharkiv maps :(
 
Back
Top