With the increase of Online Events this year (and likely into next year) I thought now would be a good time to update my Observer Pack which has been long overdue. In this post you will be able to not only download the pack, but also find out the inner workings of how the keybinds work so you can make your own custom paths!
Firstly you’ll want to download the Observer Pack from this link. (Google Drive)
Then you will want to extract the contents to the following directory by default (C:Program Files (x86)SteamsteamappscommonCounter-Strike Global Offensivecsgocfg) if you have CS:GO installed anywhere else you will need to locate this directory yourself.
BACKUP your current keybinds / config (This is important as executing any of these config files WILL overwrite some if not all of your existing settings. It is recommended to make yourself an AutoExec.cfg which you can put all important settings like crosshair, viewmodel, fps limiter, sound settings ect so you can simply just execute this file and it will revert any changes the observing pack will make.) You can use this tool if you get stuck.
You will need a Numpad/Keypad on your keyboard for the default binds to work (if you do not have one of these you will need to go into the config files manually and changes these to something that works for you, I won’t be covering how to do this in this guide.)
You will want to know what keybinds to use so you can achieve the desired effect / camera angle. Here is a quick guide for that.
How to Use
After you’ve followed the Getting Started guide and made sure you’ve backed up your current config there will be 2 main things you need to do.
Make sure your CS:GO developer console is enabled (Go to Settings > Game > “Enable Developer Console (~)” > Yes – and to make sure this works go back to the Main Menu and press the button left of your number “1” key on your keyboard. Depending on your region / keyboard layout it could look like ~ ` or ¬.
Now you can enter the developer console you can execute the different configs. There are 2 main types of configs provided in the package. The base “Observer” which controls the overall look and feel of the game, and then there are each individual map configs such as “Dust 2” or “Overpass”
Now with this knowledge you can either load up a demo file or join a live GOTV slot, for the purposes of this guide I’ll suggest just joining a matchmaking GOTV by pressing the “TV” on your side menu and then in the “LIVE” tab select a game with one of the active duty maps. Click “Watch Live“.
Now that you are loaded into the GOTV server open your developer console with the key defined earlier and type the following “exec observer“. You should see an output in the console saying “Misty’s Observer Config has been loaded.” as well as some adjustments to the in game view model. Now it’s time to execute the map specific config, depending on the map you have loaded into do the same thing again. So open your developer console and type “exec <insert map name>” and you should see the following output in your console. “Misty’s <map> Observing Config has now been loaded.“
Now refer to the Keybinds quick guide and you’re ready to go! These binds are the same for all maps for simplicity and so you can generate some muscle memory. To exit a lerp at any time press one of your standard observing keys (0-9). This also means you can leave a lerp early if the action decides to go a different way than you were expecting.
How to Make Your Own
The package is made by utilising two key features within CS:GO.
The developer console which allows us to execute pre-defined config files.
The “Spec” and “Spec_Lerpto” commands.
Here is a string for CT Spawn on Dust 2 (You can run this directly from your console without the needing to download the config files).
spec_mode 5;spec_mode 6;spec_goto 549.0 2090.8 -13.7 6.7 136.2;spec_lerpto 156.0 2214.5 17.6 18.4 64.5 12 16
Let’s break this down
spec_mode 5/6 allows us to jump from 1st person to freecam (this is required to be in the string otherwise if you do back to back lerps the game will try to reach the end of the second lerp from your current position wherever that might be on the map).
spec_goto tells the In-Game camera to go to specific co-ordinates on the map.
spec_lerpto tells the camera to smoothly glide from its current location to the new set of co-ordinates.
Now here is that string broken down
Those two numbers at the very end are important (12 & 16) as they tell the camera how smoothly and quickly you want it to move from Point A to Point B.
Use the command “spec_pos” to get the co-ordinates in your console (they will appear in red after executing the command and will copy your exact camera location).
If you get stuck in the console it should try and auto complete the search for you where you can press TAB to select it. If you’re not seeing any output at all you haven’t put the config files in the correct folder. Go back to step 2 of the Getting Started section and try again.
It is to note that this pack (v4) only supports the main active duty maps, this at time of writing is currently Dust 2, Inferno, Mirage, Nuke, Train, Overpass and Vertigo.
Can I use these for filmmaking? Absolutely! It’s the same concept just used on demos rather than live servers. Although this can provide you with some basic animations I do recommend learning the 3rd party tool HLAE if you’re serious about CS:GO filmmaking.
Why do my custom lerps clip through the map geometry? Lerps have a limitation which is that they are only linear. Point A to Point B, in a straight line, that’s it. So if you want to go around a corner you either need to take it wide enough where you don’t clip or look into daisy chaining strings. Essentially making a string that not only makes a camera movement but rebinds that same keybind immediately after use to another “alias” which preps the second part of the lerp. I won’t be jumping too deep into this as it’s a far more difficult and time consuming way to achieve the same outcome that a 3rd party tool can do such as HLAE.
More documentation on CS:GO’s built in camera tools can be found here.
I hope you find this guide useful and I look forward to seeing it in action / what you make on your own!