Go Back   Steam Users' Forums > Steam Game Discussions > T - Z > Team Fortress 2 > Classes and Balance Discussion > Spy

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 11-16-2010, 02:05 PM   #1
stabby stabby
 
 
 
Join Date: Nov 2010
Reputation: 565
Posts: 1,744
Thumbs up Helpful Spy Scripts

Hello stabbers and pistol poppers.

I've received a number of requests for a few scripts I use, so I figured I'd post them here for the lot of you.

You may view my config in action here:
http://www.youtube.com/watch?v=7DGr85c3rsY


And now the scripts themselves!
  • Crosshair color flasher/type toggler
    Flashes the crosshair's color and/or type with any action you'd like; includes an example script for setting each movement key to flash between two colors upon press and release. Helpful for visibility if you use a small crosshair (which I recommend trying). The "type" toggler is very useful for keeping the Ambassador crosshair from expanding too much upon firing.

    Code:
    // first you set up the colors and shapes/sizes you want the xhair to toggle through (cl_crosshair_file = type cl_crosshair_scale = size). Keep in mind that the base size of the crosshair varies depending on the weapon: //
    // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //  //
     
    //xhair TYPE toggle--switches crosshair type when shooting; good for preventing Amby xhair from expanding too large (uses my settings as an example). NOTE: Must be manually integrated with viewmodel scripts to work in conjunction.
    //=========================================================
    alias dotxhairtype "dotxhairtypeb"
    alias dotxhairtypeb "cl_crosshair_file crosshair5;cl_crosshair_scale 14;alias dotxhairtype dotxhairtyper" // tweak crosshair_scale values to your liking
    alias dotxhairtyper "cl_crosshair_file crosshair2;cl_crosshair_scale 22;alias dotxhairtype dotxhairtypeb"
    
    bind mouse1 +crosshairfire
    alias +crosshairfire "+attack;dotxhairtype;spec_next"
    alias -crosshairfire "-attack;dotxhairtype"
    //=========================================================
     
    // xhair COLOR toggle
    //=========================================================
    alias dotxhaircolor "dotxhaircolorb"
    alias dotxhaircolorb "cl_crosshair_blue 0; cl_crosshair_green 255; cl_crosshair_red 0;alias dotxhaircolor dotxhaircolorc"
    alias dotxhaircolorc "cl_crosshair_blue 255; cl_crosshair_green 0; cl_crosshair_red 255;alias dotxhaircolor dotxhaircolord"
    alias dotxhaircolord "cl_crosshair_blue 240; cl_crosshair_green 255; cl_crosshair_red 0;alias dotxhaircolor dotxhaircolorb"
    //=========================================================
     
    // // // // // // // // // // // // // // // // //
    // movement color toggle/flashing xhair example //
    // // // // // // // // // // // // // // // // //
     
    bind "w" +fw
    alias +fw "+forward;dotxhaircolor"
    alias -fw "-forward;dotxhaircolor"
     
    bind "s" +bw
    alias +bw "+back;dotxhaircolor"
    alias -bw "-back;dotxhaircolor"
     
    bind "d" +mr
    alias +mr "+moveright;dotxhaircolor"
    alias -mr "-moveright;dotxhaircolor"
     
    bind "a" +ml
    alias +ml "+moveleft;dotxhaircolor"
    alias -ml "-moveleft;dotxhaircolor"
    //=========================================================
     
    // // // // // // // // // // //
    // Other color cycle examples //
    // // // // // // // // // // //
     
    //Black/White xhair color toggle
    //=========================================================
    alias dotxhaircolorbw "dotxhaircolorbwb"
    alias dotxhaircolorblack "cl_crosshair_blue 0; cl_crosshair_green 0; cl_crosshair_red 0;alias dotxhaircolorbw dotxhaircolorwhite"
    alias dotxhaircolorwhite "cl_crosshair_blue 255; cl_crosshair_green 255; cl_crosshair_red 255;alias dotxhaircolorbw dotxhaircolorblack"
    //=========================================================
     
    //xhair team color toggle
    //=========================================================
    alias dotxhairteamcolor "dotxhairteamcolorred"
    alias dotxhairteamcolorred "cl_crosshair_blue 0; cl_crosshair_green 0; cl_crosshair_red 255;alias dotxhairteamcolor dotxhairteamcolorblu"
    alias dotxhairteamcolorblu "cl_crosshair_blue 255; cl_crosshair_green 0; cl_crosshair_red 0;alias dotxhairteamcolor dotxhairteamcolorred"
     
    // Set "dotxhairteamcolor" to appropriate team
    bind [key1] dotxhairteamcolor dotxhaircolorblu
    bind [key2] dotxhairteamcolor dotxhaircolored
     
    // Make "lastdisguise" show your disguise's current team color
    bind [last disguise key] "lastdisguise;dotxhaircolor"
    Crosshair Flasher + Null Movement Script
    Same as the crosshair flasher script, but adds null movement--when you hit "a" while "d" is still pressed down, you will not stop moving, but immediately switch directions instead. Helpful for dodging and hard-to-hit movement.

    Code:
    // color toggler
    alias dotxhaircolor "dotxhaircolorb"
    alias dotxhaircolorb "cl_crosshair_blue 0; cl_crosshair_green 255; cl_crosshair_red 0;alias dotxhaircolor dotxhaircolorc"
    alias dotxhaircolorc "cl_crosshair_blue 255; cl_crosshair_green 0; cl_crosshair_red 255;alias dotxhaircolor dotxhaircolord"
    alias dotxhaircolord "cl_crosshair_blue 240; cl_crosshair_green 255; cl_crosshair_red 0;alias dotxhaircolor dotxhaircolorb"
    
    // Null-cancelling movement script
    // (prevents you from pressing two opposing directions, which causes you to stop moving)
    
    bind w +mfwd
    bind s +mback
    bind a +mleft
    bind d +mright
    
    alias +mfwd "-back;+forward;alias checkfwd +forward;dotxhaircolor"
    alias +mback "-forward;+back;alias checkback +back;dotxhaircolor"
    alias +mleft "-moveright;+moveleft;alias checkleft +moveleft;dotxhaircolor"
    alias +mright "-moveleft;+moveright;alias checkright +moveright;dotxhaircolor"
    alias -mfwd "-forward;checkback;alias checkfwd none;dotxhaircolor"
    alias -mback "-back;checkfwd;alias checkback none;dotxhaircolor"
    alias -mleft "-moveleft;checkright;alias checkleft none;dotxhaircolor"
    alias -mright "-moveright;checkleft;alias checkright none;dotxhaircolor"
    alias checkfwd none
    alias checkback none
    alias checkleft none
    alias checkright none
    alias none ""
  • Viewmodel Script *
    Hides viewmodels when firing the gun. Gets that darn reload animation out of your face--autoreload ftw! Viewmodels reappear when using the watch or knife.

    edit: Special thanks to alarossi for rooting out the typos that were causing bugs--give the man some rep!
    Code:
      // Stabby's Viewmodel Script for Spy //
         
        // // // // // // // // // // //  // // // // // // // // // // // //  //
        //Viewmodels<< on when shooting amby, off when knife or watch out//
        // // // // // // // // // // //  // // // // // // // // // // // //  //
         
         
        // spawn with knife out and viewmodel mode set to "on"
         
        slot3
        r_drawviewmodel 1
        knife_vm_mode
         
         
        // replace [KEY] with the your Keybinds for the sapper/knife/ambassador/watch
         
        bind "2" +equip_sap         // Key/button for sapper
        bind "3" +equip_knife      // Key/button for knife
        bind "1" +equip_amby      // Key/button for ambassador
        bind "mouse2" "+watch;spec_prev"          // Key for watch (mouse2 default)
         
         
        //re-bind mouse1
         
        alias knife_vm_mode "bind mouse1 +viewmodel_knife" // binds mouse1 to turn viewmodel on when attacking (for knife knife)
        alias amby_vm_mode "bind mouse1 +viewmodel_amby"  // binds mouse1 to turn viewmodel off when attacking (for amby)
        alias sap_vm_mode "bind mouse1 +viewmodel_sap"   // binds mouse 1 to turn viewmodel on when attacking and off when not (for sapper)
         
         
        // causes viewmodel to go off or on when you shoot
         
        alias +viewmodel_knife "+attack;r_drawviewmodel 1;spec_next"          // attacks, turns viewmodel on
        alias -viewmodel_knife "-attack;r_drawviewmodel 1"         // finishes atack, turns viewmodel on again as safeguard
         
        alias +viewmodel_amby "+attack;r_drawviewmodel 0;spec_next"          // attacks, turns viewmodel off
        alias -viewmodel_amby "-attack;r_drawviewmodel 0"         // finishes attack, turns viewmodel off again as a safeguard
         
        alias +viewmodel_sap "+attack;r_drawviewmodel 1;spec_next"          // shows sapper when sapping
        alias -viewmodel_sap "-attack;r_drawviewmodel 0"         // hides sapper when mouse1 released
         
         
        // Equip item, turn vm on/off, set vm toggle for attack
         
        alias +equip_knife "slot3;r_drawviewmodel 1"             // Equips knife, turns viewmodels on
        alias -equip_knife "knife_vm_mode;r_drawviewmodel 1"    // Sets viewmodels to turn ON when stabbing (makes sure it stays on)
         
        alias +equip_amby "slot1"                               // Equips amby
        alias -equip_amby "amby_vm_mode"                        // Sets viewmodels to turn OFF when shooting
         
        alias +equip_sap "slot2;r_drawviewmodel 1"             // Equips sapper, turns viewmodels on
        alias -equip_sap "sap_vm_mode"                        // Sets viewmodels to turn on while firing, and off when not
         
        alias +watch "+attack2;r_drawviewmodel 1"              // watch up/cloak on/secondary attack + viewmodels on
        alias -watch "-attack2;r_drawviewmodel 1"             // viewmodels on again as safeguard
         
         
        // // // // // // // // // // //  //
         
         
        echo "Viewmodel script loaded" // confirms script loaded in the console
    Virus' Viewmodel Adaptation with Quickswitch Support
    Effectively same as the above, but with support for quickswitch. Courtesy Virus--give rep!

    Code:
    bind "q" "switcher"
    bind "mouse2" "+watch;spec_prev" 
    
    
    alias knife_vm_mode "bind mouse1 +viewmodel_knife"
    alias amby_vm_mode "bind mouse1 +viewmodel_amby"
    alias sap_vm_mode "bind mouse1 +viewmodel_sap"
    
    alias +viewmodel_knife "+attack;r_drawviewmodel 1;spec_next"
    alias -viewmodel_knife "-attack;r_drawviewmodel 1" 
    alias +viewmodel_amby "+attack;r_drawviewmodel 0;spec_next"
    alias -viewmodel_amby "-attack;r_drawviewmodel 0" 
    alias +viewmodel_sap "+attack;r_drawviewmodel 1;spec_next"
    alias -viewmodel_sap "-attack;r_drawviewmodel 1"
    
    
    alias equip_knife "slot3;r_drawviewmodel 1;knife_vm_mode"
    
    alias equip_knife2amby "equip_knife;alias switcher equip_amby2knife;bind 2 equip_sap2knife;bind 3 equip_knife;bind 1 equip_amby2knife"
    alias equip_knife2sap "equip_knife;alias switcher equip_sap2knife;bind 2 equip_sap2knife;bind 3 equip_knife;bind 1 equip_amby2knife"
    
    alias equip_amby "slot1;r_drawviewmodel 1;amby_vm_mode"
    
    alias equip_amby2sap "equip_amby;alias switcher equip_sap2amby;bind 2 equip_sap2amby;bind 3 equip_knife2amby;bind 1 equip_amby"
    alias equip_amby2knife "equip_amby;alias switcher equip_knife2amby;bind 2 equip_sap2amby;bind 3 equip_knife2amby;bind 1 equip_amby"
    
    alias equip_sap "slot2;r_drawviewmodel 1;sap_vm_mode"
    
    alias equip_sap2knife "equip_sap;alias switcher equip_knife2sap;bind 2 equip_sap;bind 3 equip_knife2sap;bind 1 equip_amby2sap"
    alias equip_sap2amby "equip_sap;alias switcher equip_amby2sap;bind 2 equip_sap;bind 3 equip_knife2sap;bind 1 equip_amby2sap"
    
    alias +watch "+attack2;r_drawviewmodel 1" 
    alias -watch "-attack2;r_drawviewmodel 1" 
    
    equip_knife2amby
    2C3C's Viewmodel Script Adaptation
    The main thing I did was separate the variable, customizable functions of the script from the equip command and put them into their own thing (the _mode commands). This doesn't do anything functionally different, but it should let people who aren't terribly experienced with scripting modify it to their liking with wading through the swamp of code.


  • Weapon-Specific Viewmodel, Sensitivity, FOV, & Crosshair Script*

    Pressing "1", will bring out the Revolver(/Amby/Enforcer), hide the gun, turn your FOV to 75, and set the sensitivity to 1. Press "3" for the Knife; sets the FOV back to 90, sensitivity to 3. Press "2" for the sapper; attacking with the sapper will say "Sapping" to your team in the chat. Attacking with any weapon flashes to a smaller crosshair type.

    Tweak to your liking.

    * This script replaces the viewmodel script posted above. Do not use the two together.

    Code:
    bind mouse1 vmon
    fov_desired 90
    
    //sapper
    alias vmsap "bind mouse1 +sap"
    alias +sap "+attack;dotxhaircolor;dotxhairtype;r_drawviewmodel 1;sapalert"
    alias -sap "-attack;dotxhaircolor;dotxhairtype"
    alias sapalert "say_team sapping"
    
    alias +sapper "slot2;dotxhairtype;dotxhaircolor;sensitivity 3;r_drawviewmodel 1;vmon;fov_desired 90;viewmodel_fov 99"
    alias -sapper "dotxhairtype;dotxhaircolor"
    bind "2" "+sapper;vmsap" //rebind to liking
    
    
    //knife
    alias vmon "bind mouse1 +viewmodelon"
    alias +viewmodelon "+attack;dotxhairtype;dotxhaircolor;r_drawviewmodel 1;spec_next"
    alias -viewmodelon "-attack;dotxhairtype;dotxhaircolor;r_drawviewmodel 1"
    
    alias +equip3 ";vmon;slot3;sensitivity 3;dotxhairtype;dotxhaircolor;cl_autoreload 1;m_yaw .0220000000;viewmodel_fov 99;r_drawviewmodel 1;alias wpn slot3"
    alias -equip3 "dotxhaircolor;dotxhairtype;fov_desired 90;r_drawviewmodel 1"
    bind "3" +equip3 //rebind to liking
    
    
    //gun
    alias vmoff "bind mouse1 +viewmodeloff"
    alias +viewmodeloff "+attack;dotxhairtype;dotxhaircolor;r_drawviewmodel 0;spec_next"
    alias -viewmodeloff "-attack;dotxhairtype;dotxhaircolor;r_drawviewmodel 0"
    
    alias +equip1 ";slot1;dotxhairtype;dotxhaircolor;r_drawviewmodel 1;sensitivity 1;viewmodel_fov 99"
    alias -equip1 "dotxhaircolor;dotxhairtype;sensitivity 1;r_drawviewmodel 0;vmoff"
    bind "1" +equip1  //rebind to liking
    
    
    
    //watch
    bind "mouse2" "+spycustomattack2"
    alias +spycustomattack2 ";+attack2;dotxhaircolor;dotxhairtype;r_drawviewmodel 1;spec_prev"
    alias -spycustomattack2 "-attack2;dotxhaircolor;dotxhairtype;r_drawviewmodel 1"
    
    
    
    
    // Crosshair Flashers
    
    // xhair color toggle
    //=========================================================
    alias dotxhaircolor "dotxhaircolorb"
    alias dotxhaircolorb "cl_crosshair_blue 0; cl_crosshair_green 0; cl_crosshair_red 0;alias dotxhaircolor dotxhaircolorr"
    alias dotxhaircolorr "cl_crosshair_blue 64; cl_crosshair_green 255; cl_crosshair_red 255;alias dotxhaircolor dotxhaircolorb"
    //=========================================================
    
    
    // xhair type toggle
    //=========================================================
    alias dotxhairtype "dotxhairtypeb"
    alias dotxhairtypeb "cl_crosshair_file crosshair5;cl_crosshair_scale 14;alias dotxhairtype dotxhairtyper"
    alias dotxhairtyper "cl_crosshair_file crosshair2;cl_crosshair_scale 32;alias dotxhairtype dotxhairtypeb"
    //=========================================================

  • Weapon Disguise Script
    Changes the weapon your disguised character is holding with the press of a key and maintains your (actual) currently equipped weapon.

    Code:
    //disguise slot1
    bind "[KEY]" +slot1_disguiser
    alias +slot1_disguiser "slot1;lastdisguise"
    alias -slot1_disguiser "lastinv"
    
    //disguise slot2
    bind "[KEY]" +slot2_disguiser
    alias +slot2_disguiser "slot2;lastdisguise"
    alias -slot2_disguiser "lastinv"
    
    //disguise slot3
    bind "[KEY]" +slot3_disguiser
    alias +slot3_disguiser "slot3;lastdisguise"
    alias -slot3_disguiser "lastinv"
  • Disguise Script
    Binds the "F#" keys to corresponding class disguises to allow you to bypass the disguise kit entirely. The "t" key toggles disguise team (friendly/enemy). Plays class voice lines to confirm the selected class and color ("Yes" for enemy, "No" for friendly).
    Thanks to 2C3C, AlanStatham, and Alarossi for their edits and improvements.
    Code:
    alias e_scout "disguise 1 -1; play vo\scout_yes01"
    alias e_sniper "disguise 2 -1; play vo\sniper_yes03"
    alias e_soldier "disguise 3 -1; play vo\soldier_yes04"
    alias e_demoman "disguise 4 -1; play vo\demoman_yes01"
    alias e_medic "disguise 5 -1; play vo\medic_yes03"
    alias e_hwguy "disguise 6 -1; play vo\heavy_yes03"
    alias e_pyro "disguise 7 -1; play vo\pyro_moveup01"
    alias e_spy "disguise 8 -1; play vo\spy_yes02"
    alias e_engineer "disguise 9 -1; play vo\engineer_yes03"
    
    alias a_scout "disguise 1 -2; play vo\scout_no02"
    alias a_sniper "disguise 2 -2; play vo\sniper_no01"
    alias a_soldier "disguise 3 -2; play vo\soldier_no02"
    alias a_demoman "disguise 4 -2; play vo\demoman_no03"
    alias a_medic "disguise 5 -2; play vo\medic_no01"
    alias a_hwguy "disguise 6 -2; play vo\heavy_no03"
    alias a_pyro "disguise 7 -2; play vo\pyro_no01"
    alias a_spy "disguise 8 -2; play vo\spy_no03"
    alias a_engineer "disguise 9 -2; play vo\engineer_no01"
    
    bind f1 e_scout
    bind f2 e_soldier
    bind f3 e_pyro
    bind f4 e_demoman
    bind f5 e_hwguy
    bind f6 e_engineer
    bind f7 e_medic
    bind f8 e_sniper
    bind f9 e_spy
    bind f10 drop_disg
    alias drop_disg "disguise 8 -2" // instantly removes disguise
    
    
    
    alias +f_disg "bind f1 a_scout; bind f2 a_soldier; bind f3 a_pyro; bind f4 a_demoman; bind f5 a_hwguy; bind f6 a_engineer; bind f7 a_medic; bind f8 a_sniper; bind f9 a_spy"
    alias -f_disg "bind f1 e_scout; bind f2 e_soldier; bind f3 e_pyro; bind f4 e_demoman; bind f5 e_hwguy; bind f6 e_engineer; bind f7 e_medic; bind f8 e_sniper; bind f9 e_spy"
    
    bind t +f_disg

Notes:
  • To install the scripts, simply paste them into your spy.cfg.

    You must rebind all keys in your other class .cfg's or the script will carry over to all classes.


    Put the following in your autoexec and/or any class .cfg's for which you don't want the script to transfer over. If you have changed any binds from the default, change them here as well:

    Code:
    developer 1
    echo "default settings loaded"
    developer 0
    
    // viewmodel/combination script binds
    bind "0" "slot10"
    bind "1" "slot1"
    bind "2" "slot2"
    bind "3" "slot3"
    bind "4" "slot4"
    bind "q" "lastinv"
    
    bind "mouse1" "+attack"
    bind "mouse2" "+attack2"
    
    
    // crosshair script binds
    bind "a" "+moveleft"
    bind "d" "+moveright"
    bind "s" "+back"
    bind "w" "+forward"
    bind "SPACE" "+jump"
    bind "ctrl" "+duck"
    
    sensitivity // [#] Your default sens
    r_drawviewmodel // [0/1]  set to "1" for viewmodels on, "0" for off
  • The class cfg's may be found in your program files[x86]\steam\steamapps\[username]\team fortress 2\tf\cfg folder.

    Put the scripts you want to function for spy in your
    spy.cfg; you may put the crosshair script or any others you'd like to function for all classes in your autoexec.cfg, if you'd like. You will have to create this file with Notepad if you do not already have one--save it as "All Files" or it will save as "autoexec.cfg.txt".

    You may also create a "default.cfg" file and put the above in that. Enter "exec default" in your class cfg's instead of copy and pasting the whole thing.


  • All binds (i.e. "bind x +command") may be have the "x" value replaced to whatever key you like. What I have included are only examples, typically using the default bind.

  • The "Combination" script does not currently support the item quickswitch feature.


Enjoy!! Do let me know if you have any questions/difficulties or find any bugs.


You may find some other useful spy scripts here: http://wiki.net/wiki/Spy_scripts

And fantastic HUD mods which I use here:
http://forums.steampowered.com/forum....php?t=2813094

Last edited by stabby stabby: 02-25-2013 at 05:01 PM.
stabby stabby is offline  
Reply With Quote
 

Go Back   Steam Users' Forums > Steam Game Discussions > T - Z > Team Fortress 2 > Classes and Balance Discussion > Spy


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT -7. The time now is 05:56 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.
Site Content Copyright Valve Corporation 1998-2012, All Rights Reserved.