Advanced Training Range! ⚔ [V11.1]

Have you ever thought something like:

  • The Standard Practice Range has too little functionalities!

  • The practice bots are not Realistic enough!

  • Why are lucio bots lobbys so Scrappy to set up every time and “Aim Practice” lobbys so full of tryhards for a warmup?

Well, if that’s the case:
I Welcome you to the Advanced Training Range!:dagger:

—> Very Easy to Setup, this piece of a script will offer you the best of all worlds:

Lobby featured by YourOverwatch and BTC!:

This one is the current version! :smiley:

You can use this video as a small presentation! (even if it’s an older mode :D)

Here Are all the things you can find into this script: :computer: :zap:

All Functionalities:
  • Hero selection Wheel: :ferris_wheel: Select your hero with a visual wheel (which appears when you press the interact button) so that there is no more any need to go to the spawn room to change!

  • Ana Hacked Mode: :cloud_with_lightning: : Hack the system, get invincible and be constantly on fire while sleeping the enemy you are pointing with homing ana sleeps, speeding on your heelies and wallclimbing like genji! You’re no more anyone’s flank target! Only downside: you’ll have to find the swithces to turn it on yourself : )

  • Portals :airplane:: Fly from a gamemode to another in no time with portals to go in and out of every zone, spawn included!

  • Unlimited Status mode :rocket:: Blow up countless bots with pulse bombs, cut them with blades or kill them with dragons as the score for ultimates just goes up and up! Plus you get super fast regen, so you really cannot die unless you jump off a cliff!

  • Set Combat Field :crossed_swords:: your targets will only stay in one place and not run away like scared cats

  • Extreme Mode Bots :skull_and_crossbones:: In this mode every second you get damage and every time you shoot and miss a hit on a lucio, you get 25HP of damage, but if you hit the taget correctly (while pointing at it), you get 50HP, plus if a critical hit is registered, extra credits are added to the overall score and more healing is delivered!

  • Fly Mode :cloud:: once enabled you will float while in the air and will be able to go up and down with jump and crouch respectively, allowing you to have different points of view from which you can shoot at your targets

  • Parabolic Prediction Training :bow_and_arrow:: In the default mode, the two ana bots will be launched in a predictable trajectory and will stop strafing after a while of spawning, in dodge mode, however, the bots will be launched from a lot more random positions and will recieve different inputs at different times in order to make predictability overall a lot harder.

  • Tracer Game :x:: Flick to your enemy’s head like you would to an annoying tracer’s one, or if you are a tracer yourself (hehe), do 180s and flick to the enemy head to get more points and practice a vital part of your mechanics or swap mode to have a static hero to test various stuff with! :shield:

  • Effective range visuals :telescope:: Always staying at the correct distance from a target is extremely important and because of this, you have an indicator on your screen that tells you exactly your distance from the target, plus whenever you shoot your target, different particles will appear on it depending on the hero effective range and weapon type:

    • White :white_circle:: you are too close for your ideal range, but still ok!
    • Yellow :yellow_heart:: you are into your ideal distance, keep it like this!
    • Green :green_heart:: you are a bit further off, but falloff is not quite there yet, keep going!
    • Red :red_circle:: you are too far away! Either your falloff has kicked in and you deal less damage or your weapon is a lot less reliable at that range!

  • Score keeping :bar_chart:: a counter on your top left will keep track of your successfull kills and ultimate uses, with which it will assign you different scores depending on your effectiveness in killing the target.

All credits for the selection wheel goes to the creator: " OrangeUtan#2942 " and to Kunomori#1653 for implementing it in the lobby.

Credits for the low speed horizontal part of the flight stabilization creators: CuddlyFlower#2892 and Sci#1771 and Kunomori#1653 for implementing the low speed part efficiently.

New in this version [11.1] :crossed_swords: :

New Additions:
  • Hero selection Wheel: :ferris_wheel: Select your hero with a visual wheel (which appears when you press the interact button) so that there is no more any need to go to the spawn room to change!
  • Bugfixes: sounds not playing for the jump pads, variables getting used by multiple sources etc etc.
  • Improved flight stabilization: no more getting juggled around while you try to start and stop your momentum in flight mode, just stop there and take your shots!
  • Repositioned warps (again) for better usability.
  • Reorganized code for a more managable lobby

All credits for the selection wheel goes to the creator: " OrangeUtan#2942 " and to Kunomori#1653 for implementing it in the lobby.

Credits for the low speed horizontal part of the flight stabilization creators: CuddlyFlower#2892 and Sci#1771 and Kunomori#1653 for implementing the low speed part efficiently.


How to setup:

  1. Create a custom game in the PTR (Or into the live servers if you read this from the future)

  1. In settings, click on “import code :arrow_down:” on the top right and write/paste " J29D2 ", import.

  1. Add in this order 3 Hard Lucio bots, 2 Ana bots and a Zenyatta Bot

  1. Start the game, Enjoy!

Remember that you can always save the mode and customize it yourself!

If you have any comments / suggestions / find any bugs, let me know down below! (Don’t be shy! :grin:)

Best of luck in competitive,


My Twitch:

Script Writer: ĦƐŖǾƇǾD#2365
Cooperator: Kunomori#1653
Other contributors: OrangeUtan#2942, CuddlyFlower#2892 and Sci#1771

Custom game Codes:

Custom Script Codes (by version)

V1.0: EPB7F
V2.0: W8RSV
V3.0: XTC08
V4.0: 0GVFZ
V5.1: C2XJH
V6.0: CK0FK
V8.0: CX86R
V9.0: 2B216
V10.0: VWGXD
V11.0: 0E2XE
V11.1: J29D2

A less colorful version: S7S51

Google Doc with all the variables explained :link::


Added Version 2 and corrected the description!

1 Like

I just tried this, and this has to be the most amazing custom game I’ve ever seen. Great job!!!


I really love the concept ! Just a little question, for some reason Zenyatta spawn with his ultimate ? I don’t really think you can do much with it lol, maybe a little mistake ?

Edit: Seems like Symmetra also has her ultimate. Not sure if it has any use too haha.

Also for some reason i don’t think the color of my range is changing. It is alway red even if i’m close enough to melee the Lucios. but i had some bugs loading forge gamemode with the PTR so maybe the problem is from my own game.

Also, i’m not sure if it would be good, but maybe changing the speed of the ultimate charge could be nice, for exemple if you just want to train your Genji blade you won’t have to go back to spawn or farm your ultimate again. Well i suppose the player could change that manually, but idk maybe it would be nice to have it done from the start.

Hope to see this done in the live version of the game, keep up the good work !

1 Like

Hey! First of all, thanks for the feedback to all of you!

I’m currently in the process of understanding how to implement everything into the game, because the final objective is to have a range which i can use with all heroes and all abilities without messing the mechanics up too hard.

The problem that you found about the effective range is most probably either a loading bug or me inputting the wrong variables for the hero you were playing, as for each hero i activate, i have to add some ranges that i as a player think are good fo fight in, the ultimate duration and sometimes some other variables, so i’ll definetly check out the bug here!

I was thinking, and at this point i think i’ll do, to add “recharge stations” where you can charge up your ultimate just by walking on them, instead of having to farm up your ultimate all the time, which is the reason why i added spawning with ultimate ready, or just bump up the ultimate generation i guess.

This said, i still have a couple of different variables avaialable to get one or two features up and running, so if you have any suggestions, don’t be shy!


Also i’ve had no luck till now on implementing sound effects into the game, any suggestions on how to do it?

Do we have to set the Ana bots hard like the Lucio bots or are they easy?

1 Like

An advanced training range sounds like a great idea, I’m gonna check this out for sure!

Can I put other bots in as well?

I’d like to shoot at immovable Anas, Roadhogs, Zenyattas etc to get a better feel for their hit boxes and to check how much damage my shotgun-type weapons do at various distances (10m away, 20m away etc).

1 Like

Hey, yes, ana bots should be set to hard for more strafing patterns and difficulty, but any other way is not game breaking

yes, you can put in other bots, but i’m not 100% sure things will not break, as i’m relatively sure that things will break if lucios are swapped, but that should not happen for the other three bots, make sure to enable the heroes you want in tho!

i’m working of a feature that lets you swap the bot in the tracer mode to another character that stays still, not yet sure which one yet, but will probably be a hog as it’s the best one to get a feeling for the damage done


Alright. Thank you! :blush:

UPDATE: Version 3 is out [Party UP!]:

  • Added all the Heroes in the range with some limitations (eg: no shied bash for Brigitte)
  • Added a way to Swap between modes in the Tracer game to have a static target with 200HP or a flicking target with 6HP!
  • Ultimate charges much faster so that you can exercise your ults more!
  • Global voice Chat has been enabled to let you chat with spectators as well!
  • Swapped the last bot from Ana to Zenyatta
  • Updated game description to be more readable

As always, if you find bugs / have suggestions/ ideas, write them below!

New code: DRX7C

1 Like

Very nice, I like it!
I checked out the stationary/flicking Zenyatta mainly.

I can switch between stationary and flicking Zen by walking into the white orb, that seemed self-explanatory. But what’s the purpose of the red and green portals near him? Those don’t seem to do anything. Also the white “180 Tracer kills: 0” text seems a bit distracting right on top of the Zenyatta bot, and I don’t understand it… it doesn’t change when I kill the Zenyatta bot.

From a visual POV stationary Zenyatta seems to flicker every second and his HP bar does as well, but I guess this is because he gets teleported to the same place every second, and not much can be done about it.

I can switch the easy Zenyatta bot easily into any other easy bot to check out their hit boxes as well: that’s very handy. Some other bots still have some abilities (stationary Roadhog hooks and heals, McCree rolls and stuff like that), but I can disable those abilities for the bots (team 2 only), so the also just stand there and be immobile targets. Very nice, that’s useful for checking out the hitboxes of all available bots without them moving around.

The jumping Anas remind me of flying Pharahs - I guess that’s their purpose. Seems useful as well for aim practice against Pharah and stuff like that.

Btw, why are the 3 yellow-greenish portals (Tracer game, kill Lucio, Ana jump) so far away from spawn? I would guess if you have the crouch button to TP you back to spawn and 3 portals to TP you to the 3 “game modes” the 3 portals should be right in the spawn room, if possible.

Also: a “you did XXX damage to the enemy bot with the last shot” counter would be useful, I think, but I don’t know if that’s possible. At least I can simply take a look at Zenyatta (Roadhog/McCree/whatever) bot’s HP bar and guess how much damage I did to him, if I ignore the brief flickering of his HP bar to a higher value and then back down again.

But overall: very nice, good job!
This seems to be very useable already for my purposes (shooting a stationary Zenyatta/McCree/… bot to get a feel for their hit boxes and how my gun spread patterns work at varying distances against them).

1 Like

Hey, hello again!

The tracer 180 kills is a hero specific thing: if you start on the green circle and blink, 180 and kill the zen while on the red, you can exercise your 180s with tracer, that is mainly a thing i want for myself but i decided to leave it in anyway.

They are there because they look better, also starting in spawn is not my favourite thing, as by starting there i can tp all bots when they die with one command (they would take damage in our spawn) and than tp them back to their spots.

unluckly, that is a bit hard to do as there are many kinds of damage you can do (eg hanzo arrow vs tracer ammos) and keeping track for x time of the damage you did might result in buggy interactions, but a thing i can do, is add an hp value number above the bots heads.

I see, that all makes sense. The thing with the HP value number for the stationary bot would be great.

1 Like


And made the enemy bots have no attacks, here is the final version’s code!


Good job, will have to try it later.

1 Like

Only problem I can see with this is, intuitively green usually means good. I would swap green and yellow’s meanings if possible.



Green is in fact good, but yellow is like saying, “excellent job”, like a gold aura, since intuitive is quite individual tho, i like to leave it like that, but if you want, you can edit the code and swap the colors! ^^

1 Like

Dude!!! I cant stress enough HOW AWESOME it is what you made here!!!
I literally entered in the forum to either search for a mode like that or suggest for someone to do something like this (sadly i’m a potato for this kind of stuff and incredibly incompetent x_o i did mess with it a bit but didnt manage to get to far into it…), and to my surprise here we are! I always missed so much an ingame option to practice my aim that doesnt involve getting flamed in games haha

If you’re still up to work on it and accepting suggestions, i do have some~
Please do not take most of the things i say too much to heart as theyre not critiques, nor demands, and i know how hard and time consuming doing this kind of stuff is. I’m just pumped up and brainstorming in the hopes that something is actually useful!

First is a bit of usability. In the same fashion you did the teleports to each game mode, i feel like the same could be done to every area so we can get back quickly to the ‘lobby’. Crouching to go to the spawn is genious, but slightly tedious to walk back from.
This is quite minor tho to be honest, this is just a suggestion for that last polishing touch. Also, since there’s an specific area where the TP’s are gathered, i’m guessing those tps arent something as simple as putting them anywhere and gg? If thats the case, is it possible to do horizontal jump pads?? Imagine, jump pads strategically positioned so they quickly move you around the map haha it would be a fun way to traverse the game modes like that.

The other thing for usability i missed is something like what you mentioned about a ‘recharge station’. If its possible to do any of the above mentioned tps/fast travel system, the crouch thing would become obsolete, in which case you could make so the crouching recharges your stuff instead of throwing you in the spawn, this way you can recharge wherever you are. If that’s possible, maybe even lower the count time needed crouching so its more dynamic! Physically having to walk into those ‘stations’ could be a bother depending on where it is localized and what kind of training you’re doing.

Instead of the ‘recharge station’, you could make something like you did for zenny to change his modes and make a ‘godmode’ station. What i mean by god mode is turning on/off infinite ammo, cooldowns and quick ult charges. While the pure aim training is good, its also VERY important to practice with your actual cooldowns and ammo clip imo. When i first started playing overwatch, i practiced ana a lot against bots, but using no cooldown nor ammo limits… The results were catastrophic… I got so used to having always available my nades and sleeps that it actually hurt quite a lot my playstile.
Characters like mccree and ashe aswell, its particularly important to be aware of how many bullets they have left and if their cooldowns are available.

The ana air training is a really cool concept that i’ve been wanting for AGES. I did find it a bit too simple tho. Idk if it didnt properly load for me, but i found the anas too predictable. Like the zenny changing mode, if possible, it would be interesting to make a mode-change; mode A) would be the predictable that we know where they’re going to spawn, and mode B) one that is more randomized, or something like that. Speaking of wich, if it was possible to make it in a more open space, like point A for instance, and work on a dome like the lucios, i personally think it would be a bit more confortable and interesting for the randomized mode, as it would mean the anas could spawn anywhere around you. I do wonder if its even possible tho, im thinking the red dome around the map is there for a reason.

Lastly, it is kinda self explanatory the zenny-orb-changing-mode, but maybe adding a bit more of text would be nice? Like [mode 1: stationary — mode 2: random tp], so its more straight forward. Maybe make the particle change its color so the player have a more visual feedback? This is a really silly one, but again, just polishing some rough edges imo.

Those are my direct feedback/suggestions for what you already have.
Now, this is a personal idea of mine for practice; I saw a mode that was a paintball-styled game, but if you missed the shot you’d die.
Something like that in the lucio dome would be AWESOME. Instead of instakilling, it takes idk, 25% of your health? While every shot you hit gives you back 20% healing. Make on top of that a score to see how many lucios you manage to kill before dying. This idea in particular is easy to go really crazy on it; my brain is already going after imagining modes where you take damage through time and have to hit shots constantly to heal yourself back, modes that launched more frequently the lucios around and/or made them faster so it would increase the difficulty, etc. Maybe play a bit with the baptiste’s immortality field property? Make so the player cant go under 1% of health (so theres no bother in respawning and walking back) and every time the player hits 1% the game ‘ends’ ?

Sorry for the huge block of text, but srsly, i cant stress enough how happy and pumped i am for seeing something like this!!!
And dont get me wrong, i wrote i lot because i’ve really been wanting interesting training modes since forever, so some of those ideas are quite old in my head haha What you already did is legit god’s work man, tks a lot for the effort!
I know how time consuming and hard this kind of stuff may be, i really dont expect you to do anything just cause i said, but i do hope it serves as inspiration somehow!!!
Keep up the awesome work, cheers~

1 Like

First of all, Thank you! :grin:

Yes, i definetly am after this kind of enthusiasm!

Let’s Break it Down!

For what regards the teleports, the only limitation i have for their creation is the number of variables i have to work with:
I cannot just assign all the variables i want, unluckly i just have a limited number of them to work with (the alphabet) and for that reason it’s pretty hard to have lots of teleports all around the place.

To be completely fair, actually, i’m working on another way of storing positions (arrays pointed by variables) but i’m not quite sure if that will work, so i’m waiting to have a bit of free time to test it before i confirm a lot of other features…

Actually, they are :joy: I just like to have them gathered in a nice and symmetrical way.

Sounds fun, i’ll give you that, but i’d rather work with teleports :no_good_man:t2:

For what regards the recharge stations, again, variables, i have few of them and i need more time to rework stuff and write down schemes on where i want to store everything: For instance if i had to store most of the things in arrays, i’d want to have a document where i write what is inside every position of the array i’m storing that set kind of data into, as it would become hell to remember with memory alone where i stored everything… (learned it on the first few lessons of basic programming for my computer engineering degree course a year ago)

But hey, i’ll definetly consider that (read below for more context)

Easy thing to implement, once you did it the first time, will probably do it again, as always, if variables allow for it.

Ok, i think i can do that, probably the reason why this kind of training seems predictable to you, is beacuse it’s actually ment to be kinda predictable as the anas can sopawn in a square of just 6x6 meters on x and z axys centered around a central position and have set trajectories (which i can randomize).

I can just se the anas to have a wider spawning square and maybe some height randomization as well

The dome is there because the lobby at the beginning was meant to be much smaller and i did not know if i would have wanted tps in there, but as of right now, it has no reason to exist other than a cool visual effect and some other minor functionalities

For what regards the text, the number of words i can write with at the moment is Heavly limited by the editor, and there might be some space for small improvements, but i promise nothing…

Doable, there is an effect to make it so that the player does not go below 1HP and i can make it so that if you use primary fire it deals you damage and if you hit a target it heals you, while keeping track of your HP, just keep in mind that this will be a sloppy mechanic, as trying to use this mode with something as a tracer would be Extremely difficult to control and laggy and might lead to bad habits as well!
(And no, i will not make it different for individual heroes as that is a LOT of work)

Ok than, i think that’s all covered!

I’ll go and work on it on the next few days, as always no promises but i’ll surely try!

I’ll wait for your feedback and answers!

~HeroCod ^^

UPDATE: now working with arrays!

Commenting so I can try this out at home! I hope you plan to bring this live!

1 Like