Giter Club home page Giter Club logo

csgo-executes's Introduction

csgo-executes

Build status

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

The plugin now comes with some default spawn configs, but you are strongly recommended to create your own. The provides spawns are likely quite out of date (some grenades may not even work) and may reflect a poor variety of executes that don't represent the current meta.

!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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.