Coder Social home page Coder Social logo

splewis / csgo-executes Goto Github PK

View Code? Open in Web Editor NEW
59.0 12.0 22.0 156 KB

CS:GO SourceMod plugin for a site-execute practice gamemode

License: GNU General Public License v3.0

Python 0.70% SourcePawn 99.30%
csgo counter-strike-global-offensive sourcemod counter-strike

csgo-executes's Introduction

csgo-executes

Build status Discord Chat

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.

Discord Chat

A Discord channel is available for general discussion.

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.

csgo-executes's People

Contributors

1099255210 avatar dcowen91 avatar joinedsenses avatar nicobuu avatar splewis avatar surajbhari avatar timche avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

csgo-executes's Issues

Add famas/gallil to the guns menu

Thanks to #26 moving the current rifle choices to enums it should be pretty easy. Some players like practicing with these weapons, so allowing them to choose them doesn't have many downsides. If someone really hates that they are there, a cvar to disable them would be fine, but I don't see it as necessary.

Add preference for Aug & SG in guns menu

Aug and SG553 usage is much more prevalent in CS than it has ever been before. Consider adding a guns menu options to let players choose to use these weapons.

Gun menu

Would you add a weapon menu similar to the retake plugin? I want to cancel the force round and choose to change pistols. Can you get us to arrange this?

Error on saving map data.

L 04/19/2021 - 20:14:42: "AG<2><STEAM_1:1:239041290>" say "!edit"
L 04/19/2021 - 20:14:43: [SM] Exception reported: Array index out-of-bounds (index -1, limit 512)
L 04/19/2021 - 20:14:43: [SM] Blaming: executes.smx
L 04/19/2021 - 20:14:43: [SM] Call stack trace:
L 04/19/2021 - 20:14:43: [SM] [1] Line 365, executes/executes_config.sp::CollapseSpawnExclusionsToString
L 04/19/2021 - 20:14:43: [SM] [2] Line 181, executes/executes_config.sp::WriteSpawns
L 04/19/2021 - 20:14:43: [SM] [3] Line 55, executes/executes_config.sp::WriteMapConfig
L 04/19/2021 - 20:14:43: [SM] [4] Line 373, executes/editor.sp::SaveMapData
L 04/19/2021 - 20:14:43: [SM] [5] Line 67, executes/editor_menus.sp::EditorMenuHandler

Language phrase "JoinedQueueMessage" not found

L 12/25/2018 - 03:50:30: [SM] Exception reported: Language phrase "JoinedQueueMessage" not found
(arg 4)
L 12/25/2018 - 03:50:30: [SM] Blaming: executes.smx
L 12/25/2018 - 03:50:30: [SM] Call stack trace:
L 12/25/2018 - 03:50:30: [SM] [0] FormatNativeString
L 12/25/2018 - 03:50:30: [SM] [1] Line 50, ./scripting/executes/natives.sp::Native_PluginMessage
L 12/25/2018 - 03:50:30: [SM] [3] Executes_Message
L 12/25/2018 - 03:50:30: [SM] [4] Line 620, ./scripting/executes.sp::PlacePlayer
L 12/25/2018 - 03:50:30: [SM] [5] Line 594, ./scripting/executes.sp::Command_JoinTeam

ANYONE KNOW HOW TO FIX IT ^

Smokes config

Since i already have an retake server i decided to get and execute and i tried and tried so hard to put the smokes and make everything works perfectly BUT I CANT :( So i hope there is any kind persons out there who may have some saved files for smokes spawns and everything rdy they can share with me :)

Smokes don't launched at the end of freeze time

Hello,

For an unknow reason on Mirage, the stuff is correctly launch after the freeze time,
but on cache map, the stuff don't want launch.

Do you have an idea about my problem ?
ps : I checked and the line "grenade type" contain "smoke"

Best Regards,
Beldah

do tick rate matters ?

well , i was half through making executes making new map de_ruby config , and there are no smokes i can find , so i was making my own
half through i realized that my tickrate was set to 64 . but my server is on 128 ,
i don't think tickrate matters as they are not real smokes ?
can you confirm it ?

TAKE MY CONFIGS

executes.zip
just take it , merge it ,
an company forcefully took them from me , so i am making it public :)
these are 100 % balanced and tested . with maxplayers 10 . , v̶e̶r̶t̶i̶g̶o̶ ̶m̶a̶y̶ ̶c̶o̶n̶t̶a̶i̶n̶ ̶b̶u̶g̶s̶ ( UPDATED )
PEACE

Translation file's problem

In translations/chi/executes.phrases.txt line 5 there's a redundant quotation mark, which cause errors.
Please fix this.

Gun Menu

Hey @splewis, thanks for your code. I'm trying to add another gunmenu to the server, with no success. Is it possible to change the command guns for another one?

Thanks!

Plugin Files Upload

Can you share all the necessary files? I compiled it, but couldn't run the plugin. Can you send the required smx and setting files?

crashes

so after the today's update with BR mode being launched
The plugin just F up , it just crashes whenever someone try to choose a team , i know You have already fixed retakes , Please fix this as fast as possible

ALSO

you can see enemy on radar through smokes
I think it is csutils issue

TY in advance <3 ;) . appreciate your hard work

retake spawns

i am using your retake plugins and it is awesome but i wanted the default plant spawns for players with bomb eg; inferno apps plant a site, b site default coffin plant, overpass plant box a site plant, b site default plant, train default a&b plant can you please help me ?

Remove P90/SG556/MAG7/NEGEV/M249/AWP/SCAR20

Hello Sir,

I create this issue for asking you if it's possible to remove some weapons from the execute script, because that creates an unfair situation during the round (guns vs negev or guns vs awp), when the equipement value betwen the two teams are unbalanced. I tried to replace the weapon in cause with other weapon but that doesn't work. So what can i do for solve that ? Could you give me advice to do this?

I look forward to hearing from you

When CT wins the round the game is not switching

what i know and used to see on other servers, everytime CT wins the round they go to T and when they lose they stay CT, But its not like that on my dedicated server? Everytime CT wins they stay CT but when T wins the round the game switch sites for the teams? what im doing wrong here

Another issue i have too is smokes is not throwing, I downloaded map spawns that was updated for 3-4 months "should work" but not working, is it bcs we are only 2 guys on the server testing? :)

// This file was auto-generated by SourceMod (v1.10.0.6478)
// ConVars for plugin "executes.smx"

// If greater than 0, scrambles teams every this many rounds
// -
// Default: "7"
sm_executes_auto_scramble "7"

// Whether executes is allowed to automanage team balance
// -
// Default: "1"
sm_executes_auto_set_teams "1"

// Default extra freezetime for terroristseach round
// -
// Default: "1.3"
sm_executes_default_extra_freeze_time "0"

// Whether the other bombsite for an execute is disabled each round
// -
// Default: "1"
sm_executes_disable_other_site "1"

// Whether the editor can be launched by admins
// -
// Default: "1"
sm_executes_editor_enabled "1"

// Whether the plugin is enabled
// -
// Default: "1"
sm_executes_enabled "1"

// Maximum number of players allowed in the game at once.
// -
// Default: "10"
// Minimum: "2.000000"
sm_executes_maxplayers "10"

// Minimum number of players needed to start playing
// -
// Default: "5"
// Minimum: "1.000000"
sm_executes_minplayers "1"

// Ratio constant for team sizes.
// -
// Default: "0.475"
sm_executes_ratio_constant "0.475"

// Round time in seconds.
// -
// Default: "40"
sm_executes_round_time "60"

// Whether round time variations are enabled
// -
// Default: "1"
sm_executes_round_time_variation_enabled "1"

// Consecutive CT wins to cause a team scramble.
// -
// Default: "5"
sm_executes_scramble_rounds "5"

Falling back to a random T to be bomb carrier: map

I made the configs and everything worked without any error for a while then
everyone started to get an error as follows:
L 05/23/2020 - 16:22:30: [executes.smx] Falling back to a random T to be bomb carrier: map=de_dust2, execute id=4, tCount=3
I have seen my configs and everything seems to be fine . can you explain what this is for?
I don't see an option that can fix it tho.
Wonder you can tell me what is wrong.

Weapons spawning when user connects

Hello! I have encountered this gun spawning bug on my server. When an user connects during ongoing round, their weapon spawn to one of the alive players. This bug is especially annoying during pistol rounds. Example video: https://streamable.com/bp4sw.

Edit:deleted last edit.
Edit aslo having issue #14 not sure if releated.

-wegee

Team joins are broken

It seems since panorama came out things have been wild.

Something in the "jointeam" hook is very wrong. I suspect removing the player_connect_full and player_team events will help the situation.

I can roughly describe the problems involving:

  • players join but the gamemode doesn't go live (it normally starts a warmup countdown; it sometimes isn't now)
  • players supposed to be forced to the spectator queue managed to go spec, then join a team immediately, resulting in all types of badness (aka there's more than the maxplayesr # of players)

My 5 minutes of debugging didn't yield any useful results.

Pull Request

Hello.

I wanted to give you guys a update, so the Danish translation of the plugin could be added, but I could not make a Pull Request.

I will add it here.
translations.zip

Question about spawns with the nades

Hi, so I tried to put spawns for smokes and molotovs as you said in the installation guide, but i do some thing wrong, somehow Players spawns where the smoke/molotov are throwing away.

After I did a nade spawn, i change the nades spawns to required and the T side players spawns to optional is it right?

UPD

Hello! Can you update this plugin, add something new?

Compiling Issue

I seem to be having the following issue when attempting to compile this plugin

// G:\CSGO\a_Plugins\Compile\executes.sp(353) : error 017: undefined symbol "PQ_Clear" // G:\CSGO\a_Plugins\Compile\executes.sp(354) : error 017: undefined symbol "PQ_Clear" // G:\CSGO\a_Plugins\Compile\executes.sp(879) : warning 217: loose indentation // G:\CSGO\a_Plugins\Compile\executes.sp(977) : error 017: undefined symbol "PQ_Clear" // G:\CSGO\a_Plugins\Compile\executes.sp(986) : warning 213: tag mismatch // G:\CSGO\a_Plugins\Compile\executes.sp(995) : warning 213: tag mismatch

This is happening when compiling on both the current stable SM release and the dev release. I've attempted to troubleshoot and have ensured all dependencies are in place in their correct paths. Any help on this would be appreciated.

After the update on 2.28.18 - Smokes no longer are thrown

As the title states, smokes are no longer thrown as of this update. I'm unsure of where the break down is happening. Just thought I would make an issue to get more eyes on it.

I've tried Unstable 1.10, 1.9 and stable 1.8 and all have the same effect. Playing on the official servers also shows that this is more widespread.

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.