Forum
The menus must go! [link's spy/engy script]
Created 22nd February 2010 @ 08:24
Add A Reply Pages: 1
I never really liked the disguise and build menus, they obstruct your vision and require too many key presses to get things done. I made this script early on, and have used it ever since(with minor modifications). I recently watched this http://www.youtube.com/watch?v=4F6aH2wOGfM div. 1 footage and it struck me that a lot of people must still be using the menus, so i brought up my text editor to get you this.
### Spy Disguise Script ###
Interface:
1-9 – choose disguise and disguise as enemy
R – last disguise enemy
T – last disguise friend
Pressing a key 1-9, chooses the corresponding class, disguise as the enemy version of it and binds r and t to redisguising as the enemy and friendly versions respectively. The central idea here is that you want the enemy disguises to be easily accessible, even at the expense of friendly ones. This is because you’re much more likely to be in a tight situation while behind the enemy, where you need to worry about awareness and timing rather than fiddling with disguises. The enemy redisguise key R is also placed closer to the standard hand position for the same reason. To change to another friendly disguise you press a key 1-9 and T consecutively. Pressing T will override the call to disguise as enemy invoked by 1-9. Unlike in the standard implementation, every key is allways associated with the same team, so you don’t have to worry about what team you disguised as last time. This is particularly important since the game will only give you feedback on your action after the ~2 second disguise time. The classes are ordered according to their usefulness, with 1 being the most useful. The bindings are as follows:
1 – scout
2 – demo
3 – sniper
4 – pyro
5 – engy
6 – solly
7 – heavy
8 – spy
9 – medic
I know people are going to have opinions on this, and that is perfectly fine. Fact is, I encourage you to discuss it. For now, this is my reasoning: Medic is the least useful, since 99% of the time, that is who you are out to get. Spy is not very useful since you rarely know if the enemy team has one, and assuming you do, he certainly shouldn’t be creeping around the medic. He should be at the other side of the opposing team, scheming to kill their medic or possibly poke the demo’s remaining eye out. Heavy and soldier are just too slow, it’s hard to backstab as it is. Solly is still better because there are usually two of them which makes it easier to melt in. As for scout, there are usually two of them and they’re all over the place, which makes for a great disguise. The only drawback is the speed difference. Demo is also a good choice since there is allways one around and it allows for full speed. Sniper pyro and engy are all good disguises, but they are rarely used.
There is one drawback to using this approach, but it’s rather minor. You can’t make the script take into consideration which team you’re on, so you have to input it manually. I’ve arranged it so that when you select the spy class all keys but the disguise related are bound. Among these are two keys for specifying what team you’re on, that will bind all the disguises accordingly. This is rather fool proof since the first thing you will want to do before going out of spawn is disguise as another class of your own team. If the keys don’t respond, you will get an instant reminder long before you can get yourself into trouble. To ensure this functionality is preserved when you switch classes the disguise keys are unbound in the main spy alias.
//spy
alias “spy” “INSERT_SPY_BINDS_HERE; bind x bluspy; bind z redspy; unbind r; unbind t; unbind 1; unbind 2; unbind 3; unbind 4; unbind 5; unbind 6; unbind 7; unbind 8; unbind 9”
alias “rscout_dsg” “disguise 1 2”
alias “rsniper_dsg” “disguise 2 2”
alias “rsolly_dsg” “disguise 3 2”
alias “rdemo_dsg” “disguise 4 2”
alias “rmedic_dsg” “disguise 5 2”
alias “rheavy_dsg” “disguise 6 2”
alias “rpyro_dsg” “disguise 7 2”
alias “rspy_dsg” “disguise 8 2”
alias “rengy_dsg” “disguise 9 2”
alias “bscout_dsg” “disguise 1 1”
alias “bsniper_dsg” “disguise 2 1”
alias “bsolly_dsg” “disguise 3 1”
alias “bdemo_dsg” “disguise 4 1”
alias “bmedic_dsg” “disguise 5 1”
alias “bheavy_dsg” “disguise 6 1”
alias “bpyro_dsg” “disguise 7 1”
alias “bspy_dsg” “disguise 8 1”
alias “bengy_dsg” “disguise 9 1”
alias “bluspy” “bind r rscout_dsg; bind t bscout_dsg; bind 1 rscout; bind 2 rdemo; bind 3 rsniper; bind 4 rpyro; bind 5 rengy; bind 6 rsolly; bind 7 rheavy; bind 8 rspy; bind 9 rmedic”
alias “rscout” “rscout_dsg; bind r rscout_dsg; bind t bscout_dsg”
alias “rdemo” “rdemo_dsg; bind r rdemo_dsg; bind t bdemo_dsg”
alias “rsniper” “rsniper_dsg; bind r rsniper_dsg; bind t bsniper_dsg”
alias “rpyro” “rpyro_dsg; bind r rpyro_dsg; bind t bpyro_dsg”
alias “rengy” “rengy_dsg; bind r rengy_dsg; bind t bengy_dsg”
alias “rsolly” “rsolly_dsg; bind r rsolly_dsg; bind t bsolly_dsg”
alias “rheavy” “rheavy_dsg; bind r rheavy_dsg; bind t bheavy_dsg”
alias “rspy” “rspy_dsg; bind r rspy_dsg; bind t bspy_dsg”
alias “rmedic” “rmedic_dsg; bind r rmedic_dsg; bind t bmedic_dsg”
alias “redspy” “bind r bscout_dsg; bind t rscout_dsg; bind 1 bscout; bind 2 bdemo; bind 3 bsniper; bind 4 bpyro; bind 5 bengy; bind 6 bsolly; bind 7 bheavy; bind 8 bspy; bind 9 bmedic”
alias “bscout” “bscout_dsg; bind r bscout_dsg; bind t rscout_dsg”
alias “bdemo” “bdemo_dsg; bind r bdemo_dsg; bind t rdemo_dsg”
alias “bsniper” “bsniper_dsg; bind r bsniper_dsg; bind t rsniper_dsg”
alias “bpyro” “bpyro_dsg; bind r bpyro_dsg; bind t rpyro_dsg”
alias “bengy” “bengy_dsg; bind r bengy_dsg; bind t rengy_dsg”
alias “bsolly” “bsolly_dsg; bind r bsolly_dsg; bind t rsolly_dsg”
alias “bheavy” “bheavy_dsg; bind r bheavy_dsg; bind t rheavy_dsg”
alias “bspy” “bspy_dsg; bind r bspy_dsg; bind t rspy_dsg”
alias “bmedic” “bmedic_dsg; bind r bmedic_dsg; bind t rmedic_dsg”
### Engy Toolbox Script ###
It turns out you can bypass the engineer’s building menu in a simular manner. This way, accessing the toolbox can be done in 1 instead of 2 key presses. The buildings are ordered in the same way they appear on the hud, from top to bottom. The build command only brings up the object for you to place, so you can position and rotate it as usual.
Interface:
1 – build sentry
2 – build dispenser
3 – build teleporter entrance
4 – build teleporter exit
5 – destroy sentry
6 – destroy dispenser
R – destroy teleporter entrance
T – destroy teleporter exit
alias “engy” “INSERT_ENGY_BINDS_HERE; bind 1 build_stry; bind 2 build_disp; bind 3 build_entr; bind 4 build_exit; bind 5 dest_stry; bind 6 dest_disp; bind r dest_entr; bind t dest_exit”
alias “build_stry” “build 3”
alias “build_entr” “build 1”
alias “build_exit” “build 2”
alias “dest_disp” “destroy 0”
alias “dest_stry” “destroy 3”
alias “dest_entr” “destroy 1”
alias “dest_exit” “destroy 2”
Last edited by ell,
Overwrites changing weapons for me I guess :x
Last edited by minimoose,
Quoted from minimoose
Overwrites changing weapons for me I guess :x
I have my weapons on e, q and f, quake style.
You get used to the class numbers every time you choose one, why have a rather arbitrary order to cause confusion? I prefer the consistent approach any time.
Quoted from atreides
You get used to the class numbers every time you choose one, why have a rather arbitrary order to cause confusion? I prefer the consistent approach any time.
Personally, I don’t confuse them and I like having the things I use most frequently as close to the wasd keys as possible. Typically you only use disguise 1-5 so there is not really that much to memorize. I’m not trying to impose my solution on anyone, but it’s good to point out why certain design decisions were made, since it’s not allways obvious. The point I want to get across is that the disguise command is there and can be used to simplify things. This is merely an inspiration, but hopefully it will serve as a good starting point for reasoning about you own solution.
Last edited by ell,
Add A Reply Pages: 1