Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
77 lines (49 sloc) 5.82 KB

csgo-executes

Build status

Status: Experimental, unsupported.

Warning: there's no backwards compatibility guarantees for spawn files yet. Use this at your own risk. Expect bugs and crashes.

Gameplay

The T team setup to execute onto a site with ~40 seconds left and the CT team is typically in a fairly standard setup. Grenades are automatically thrown for the T players and the rounds plays out the way counter-strike plays. The game goes through pistol rounds, forcebuy/lowbuy rounds, then standard gun rounds. Players can use the guns menu to select some preferences: whether they want to have an AWP, which M4 to use, and what site they prefer to play on the CT side.

When a T team wins a round, the players typically move to CT. The goal is the defend off the executes and stay on CT. However, because executes is typically best played 5v5 it's hard to get varied teams if this is strictly followed, so there is some auto-scrambling of teams every sm_executes_auto_scramble rounds.

Installation

Instructions

Download the archive from the latest build and extract ALL the files to the game server. This includes both the executes.smx and csutils.smx plugin files needed.

Note: the csutils.smx plugin comes from the practicemode project, and is used to throw the execute grenades.

Configuration

The file cfg/sourcemod/executes/executes.cfg will be autogenerated when the plugin is first run and you can tweak it if you wish.

You may also tweak the values in cfg/sourcemod/executes/executes_game.cfg, which is executed by the plugin each map start.

Some important cvars:

  • sm_executes_minplayers
  • sm_executes_maxplayers
  • sm_executes_ratio_constant
  • sm_executes_round_time
  • sm_executes_auto_scramble

Creating Executes and Spawns

No default spawns or executes are provided. You must launch the editor and add them yourself. It's kind of hard to work with, so feel free to submit a pull request to make it better.

!edit: launches the editor, opens the edit menu. You will use this a lot !setname: sets the name of the spawn/execute being edited !clearbuffers: clears any spawn/execute edit buffers

When working on a map, you should:

  1. Add CT spawns. Each has a notion of 'friendliness' to a site. For example, a B site spawn on de_cache should typically have a '5' friendliness to B and a '1' to A. A spawn in mid might have a '3' to each site. This must be accurate for the CT spawn algorithm to work.
  2. Add some basic T spawns. Add them in spots you don't throw nades from. Name them in a way you can identify where they are later, e.g. 'B main 1', 'B main 2', etc.
  3. Start adding the spawns for the smokes/mollies you want. To do this, stand in the spot, go to 'new spawn' in the menu, throw the greande, and save the spawn. The editor will remember the LAST grenade thrown and attach it to the next spawn made (unless you use !clearbuffs before then).
  4. Start adding executes. You will select a list of 'required' T spawns for the execute (typically these are your set smokes), and 'optional' ones. The execute is only eligible to be picked if all the required spawns can be chosen (so if there are 4 required spawns, there must be at least 4 T's).

Other notes:

  • All spawns have a 'awp friendliness' rating. Spots good for awpers should get a 5, spots very bad should get a 1. TODO: awp friendliness should be renamed something like 'range friendliness'.
  • I don't recommend using the special support for 'lurk' spawns. The feature was never finished.
  • You can set some flags on spawns for some extra flavor, e.g. CT spawns can be marked with a 'mag7' flag so sometimes a CT spawned there will get a mag7. There are several flags for T and CT spawns.
  • Only 1 player should be workiing on the editor at a time. It saves a single buffer for the spawn/execute being edited, not one per player. If multiple players are throwing nades, the buffer will keep getting overwritten.
  • Install practicemode for a better editing experience so you will have the .back command, which helps you make sure your nades landed before saving them.
  • The editor can be buggy. Saving the config & reloading them can help if your spawns aren't showing up on the 'add spawns' menu for the execute builder menu.
  • If you don't know how something works, look at the code.

Contributing

Pull requests will be reviewed if they meet a few guidelines:

  • Follow the code style (2 spaces for indentation, 100 line column limits, same bracing style)
  • Add some useful feature or make the use of plugin better.
  • Don't make arbitrary gameplay changes - those should be left out. I am not interesting in debating gameplay decisions. The plugin has an API for a reason - leave your other gameplay choices in other plugins. If you need a new native/forward (and you very likely will) feel free to add it.

There is a significant amount of bad code and TODOs - 95% of this was written in a few days. Cleaning those problems up is appreciated.

Known issues and limitations

  • Only 1 set grenade can be thrown from a spawn. This makes certain executes hard (upper executes on nuke, for example), but you can try to compensate by adding the 'flash' flag to T spawns that would typically flash after throwing their smoke/molotov.
  • Molotovs don't spread correctly when automatically thrown: this is a csutils bug.
  • The sm_executes_enabled cvar doesn't work very well.