Giter VIP home page Giter VIP logo

strat-roulette's Introduction

Strat Roulette

A CS:GO Sourcemod Plugin

What is Strat Roulette?
Strat Roulette is a gamemode in which every round has a different mechanic applied. This ranges from using only certain weapons in a round to only being able to no-scope. It currently consists of 100+ strats! If you have ideas for new rounds, you can create an issue in the form of a Feature Request.

How to install:
Make sure your server has sourcemod installed. You can find the install instructions for sourcemod on their website. Download the release, unzip it and paste the contained csgo folder in your server installation. That's it!

How to use:
There are a few commands that help with controlling the gamemode.

  • /start - Starts the match
  • /end - Ends the match
  • /setround [round number] - Forcefully sets the next round strat
  • /endround - Forcefully ends the round

Keep in mind that this plugin works best if there are no other plugins controlling the match in any other way. Except for PugSetup, as strat roulette nicely integrates with it.

Maps: Strat Roulette works best on any of the following maps:

  • de_lake
  • de_safehouse
  • de_stmarc
  • de_bank
  • de_rialto
  • de_sugarcane

The reason this is mentioned, is that some of the more involved rounds only function on these maps, and will never be picked on other maps. Moreover, the game is a lot more fun with a single bombsite on more casual maps.

Donate:
If you like what I do, feel free to donate: CSGO Skins

strat-roulette's People

Contributors

0xgabrielel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

strat-roulette's Issues

Strat-Roulette errors logs

hi;
logs/errors_20200331.log

L 03/31/2020 - 14:09:28: [SM] Call stack trace:
L 03/31/2020 - 14:09:28: [SM] [0] AcceptEntityInput
L 03/31/2020 - 14:09:28: [SM] [1] Line 71, stratroulette/round-modifiers/clone.sp::CloneLookAtWeaponListener
L 03/31/2020 - 14:09:54: [SM] Exception reported: Entity 235 (235) is invalid
L 03/31/2020 - 14:09:54: [SM] Blaming: stratroulette.smx
L 03/31/2020 - 14:09:54: [SM] Call stack trace:
L 03/31/2020 - 14:09:54: [SM] [0] SetEntPropEnt
L 03/31/2020 - 14:09:54: [SM] [1] Line 89, stratroulette/round-modifiers/clone.sp::GiveCloneWeapon
L 03/31/2020 - 14:09:54: [SM] [2] Line 79, stratroulette/round-modifiers/clone.sp::DelayCloneWeaponTimer
L 03/31/2020 - 14:12:29: [SM] Exception reported: Entity -1 (-1) is invalid
L 03/31/2020 - 14:12:29: [SM] Blaming: stratroulette.smx
L 03/31/2020 - 14:12:29: [SM] Call stack trace:
L 03/31/2020 - 14:12:29: [SM] [0] SetEntProp
L 03/31/2020 - 14:12:29: [SM] [1] Line 367, stratroulette/util.sp::SetClipAmmo
L 03/31/2020 - 14:12:29: [SM] [2] Line 47, stratroulette/round-modifiers/shared-ammo.sp::SharedAmmoWeaponFireEvent
L 03/31/2020 - 14:12:29: [SM] Exception reported: Entity -1 (-1) is invalid
L 03/31/2020 - 14:12:29: [SM] Blaming: stratroulette.smx

Round descriptions

Add a description to each explaining what it is about, which is shows at the start of that round. Could also include whether it is a kill round (only ends when either team is completely dead) or a normal bomb scenario round.

Round request (Do not suck)

Round name
Do not suck

Describe the contents of the round
Whenever you miss a shot you take x amount of damage.

Describe alternatives you've considered
Maybe for a sniper you take 50 damage if you miss and for something like negev you take 1-5 damage.

Round request (kill list)

Round name
Kill List

Describe the contents of the round
One person per team is randomly selected to be the target. If another person than the target is hit, the attacker is killed. Once the target is down, the next is selected.

Round request (breach, breach, breach)

Round name
Breach, breach, breach!

Describe the contents of the round
Everyone gets breach charges.

Describe alternatives you've considered
Perhaps put a limit on how many active breach charges a player can have, or let them explode after a time limit.

Round request (shoot till you die)

Round name
Shoot till you die (don't know about this name though)

Describe the contents of the round
Everyone receives a gun with a high clip size, and once you start shooting, you can't stop until you are empty.

Describe alternatives you've considered
Probably spawn all players with a PP-Bizon, Negev, M249 or something similar and give them infinite reloads.

Round request (crab walk)

Round name
Crab walk

Describe the contents of the round
Player are crouched as the round starts and cannot stop crouching.

Describe alternatives you've considered
Probably with random weapons, but some weapons might be over powered, need to play test this one.

Round request (monkey see, monkey do)

Round name
Monkey see, Monkey do

Describe the contents of the round
One of each team is selected as the leader. All other CT's are teleported to the T leader and the other T's are teleported to the CT leader. The leaders are trying to get lose their followers by moving unexpectedly. If a player is too far from the leader, they receive damage. This continues until the followers of either of the 2 teams is completely wiped out.

Additional context
Maybe give the leaders a pistol or knife so they can break windows, but disallow damaging others.

PugSetup not detected

Describe the bug
Pug setup integration is not working. Seems like it is not detected.

To Reproduce
Steps to reproduce the behavior:

  1. Install pugsetup and this.
  2. Try to start a game using sm_start

Expected behavior
Plugin should tell me that pug setup handles starting or something according to the source code.
In reality, it tries to start the game while pugsetup warmup is running resulting in strats getting into the warmup.

Additional context
Here is some console output:

sm plugins info pugsetup
  Filename: pugsetup.smx
  Title: CS:GO PugSetup (Tools for setting up pugs/10mans)
  Author: splewis
  Version: 2.0.5
  URL: https://github.com/splewis/csgo-pug-setup
  Status: running
  Timestamp: 08/05/2018 15:11:30
  Hash: 30656067272e9d28b0010a379df6f9b2
sm plugins info stratroulette
  Filename: stratroulette.smx
  Title: Strat Roulette (Random strats every round)
  Author: Extremelyd1
  Version: 3.0
  Status: running
  Timestamp: 02/07/2021 01:50:09
  Hash: 33c2630f7d4879066de51d8077da8671
sm_start
L 02/07/2021 - 02:10:59: [SM] Exception reported: Client index 0 is invalid
L 02/07/2021 - 02:10:59: [SM] Blaming: pugsetup.smx
L 02/07/2021 - 02:10:59: [SM] Call stack trace:
L 02/07/2021 - 02:10:59: [SM]   [0] FakeClientCommand
L 02/07/2021 - 02:10:59: [SM]   [1] Line 943, ./scripting/pugsetup.sp::Command_Start
L 02/07/2021 - 02:10:59: Starting Freeze period
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
L 02/07/2021 - 02:10:59: World triggered "Match_Start" on "de_mirage"
Picked strat 21
sm_end
L 02/07/2021 - 02:11:15: Starting Freeze period
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
Attempted to create unknown entity type cs_bot_patrol_route_waypoint!
Can't init cs_bot_patrol_route_waypoint
L 02/07/2021 - 02:11:15: World triggered "Match_Start" on "de_mirage"

Random crashes

Describe the bug
A clear and concise description of what the bug is.
The server will just crash
To Reproduce
Steps to reproduce the behavior:
I have no idea, just playing and it crashed.

Expected behavior
When playing, sometimes it just crashes. Sometimes lasts 3-4 rounds, sometimes doesn't even last a round.

Round request (true crab walk)

Round name
True crab walk

Describe the contents of the round
Everybody is constantly crouched and can only strafe and not go forward or backward

Round request (down under)

Round name
Down Under

Describe the contents of the round
Turn the screen of all players upside down. Apparently this is possible by changing screen tilt.

Respawn enabled

Round name
Reincarnation

Describe the contents of the round
Just a normal round with C4 enabled, however, everyone can respawn infinitely. Rounds only end when time is up, C4 explodes or C4 is defused.

Round request (teleporter)

Round name
Teleporter

Describe the contents of the round
Everyone gets a shotgun and a USP-S. The player is teleported to the location where the USP-S is shot, but can not move otherwise.

Round modifier Beacon

	"beacon"		"1" // or 0

	add pls

	it would be nice to combine it on some rounds

	example  <------------


	"name"			"ExampleRoundName"
	"description"	"ExampleRoundDesc"
	"weapon"		"weapon_primary_random;weapon_secondary_random"
	"invisible"		"1"
	"infiniteammo"	"2"
	"armor"			"100"
	"helmet"		"1"
	"beacon"		"1"

Round request (blinding light)

Round name
Blinding Light (subject to change)

Describe the contents of the round
Getting flashed does damage and everyone has infinite flashes.

Bump mines

Round name
Minefield

Describe the contents of the round
A round in which everyone has unlimited bump mines.

Round Buddy System Bug

	"37"
	{
		"name"			"RoundBuddySystemName"
		"description"	"RoundBuddySystemDesc"
		"weapon"		"weapon_primary_random;weapon_secondary_random"
		"buddysystem"	"1"
	}

when he shoots his teammate's chicken
round does not end

Round request (don't breathe)

Round name
Don't Breathe

Describe the contents of the round
Smokes are transformed into poison clouds, if you are inside of a smoke, you slowly get damage.

Round request (hot potato)

Round name
Hot potato

Describe the contents of the round
A random player receives the hot potato (a gun, for example), while the others have nothing. When someone is hit with the gun, the gun transfers to that person. After some time, the person with the hot potato dies (explodes) and another random person is selected.

Round request (bodyguards)

Round name
Bodyguards

Describe the contents of the round
One person is the VIP and the others are bodyguards. The bodyguards can not die and all have shields, but when the VIP dies, the whole team dies.

Describe alternatives you've considered
The VIP receives a pistol with infinite ammo.

Round Request (1v1 knife arena)

Round name
1v1 Knife Arena

Describe the contents of the round
1v1 knife duels until a whole team is eliminated. Kill everyone except 2 players and make them duel, loser is eliminated, then respawn 2 others and let them duel etc, until everyone on a team is eliminated. Print progress/status to chat.

Round request (bomberman)

Round name
Bomberman

Describe the contents of the round
Everyone receives C4, the round does not end when it explodes, but you can plant anywhere.

Describe alternatives you've considered
The only way to kill each other is to plant the C4 and stay out of the active ranges. Possibly give players another C4 once in a while and/or reduce the bomb timer.

language translation file

Chat messages ( math questions etc )
and
for the voting menu
language translation file is very good
Respects.

Round request (stealth)

Round name
Stealth

Describe the contents of the round
Everyone is invisible, you become visible if you move or shoot.

True slow motion/speed rounds

Refactor the current slow motion/speed rounds to use host_timescale, since this actually influences the time of the game.

Round request (captcha)

Round name
Captcha

Describe the contents of the round
Randomly get a message with a math expression to solve. You can only continue playing once this expression is correctly solved.

Pure Server file tunnel vision

Describe the bug
There is a problem cause, when we choose tunnel vision, we don't have any tunnel look and in console I have this error: Pure server: file: GAME\materials/overlays/stratroulette/tunnel_vision_overlay.vmt ( 1 104 68 ) could not open file to hash : 195c92bf5bfa444e686c61e8e52241eb

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Add options to turn off rounds in config file

Add an option to the config file to disable certain rounds.
In order to make this work, their needs to be a first pass over all rounds to check which ones are enabled/disabled and only pick rounds from the enabled pool.

Round change request (random guns)

Round name
Random guns

Describe the contents of the round
Whenever you hit an enemy with your gun, you get a random new gun.

Describe alternatives you've considered
Perhaps even when you fire, you change weapons. Probably get either a primary or secondary, but not both.

SnowBall Round

Round name
Snowball round

Describe the contents of the round
Everyone gets limited snowball (3 snowball)

Describe alternatives you've considered
Everybody has 10 health

Additional context
must be taken from the ground again when the snowball is exhausted

sample video: https://youtu.be/0OoOSzVZBDY?t=58

Round change request (one in the chamber)

Round name
One in the Chamber

Describe the contents of the round
One bullet in your gun, everyone dies in one shot, you only get another bullet if you kill someone.

errors_20191125.log

L 11/25/2019 - 17:46:40: [SM] Blaming: stratroulette.smx
L 11/25/2019 - 17:46:40: [SM] Call stack trace:
L 11/25/2019 - 17:46:40: [SM] [0] GetClientName
L 11/25/2019 - 17:46:40: [SM] [1] Line 70, stratroulette/round-modifiers/kill-list.sp::SetTopList
L 11/25/2019 - 17:46:40: [SM] [2] Line 8, stratroulette/round-modifiers/kill-list.sp::ConfigureKillList
L 11/25/2019 - 17:46:40: [SM] [3] Line 399, stratroulette/readfile.sp::ReadNewRound
L 11/25/2019 - 17:46:40: [SM] [4] Line 13, stratroulette/events.sp::RoundStartEvent
L 11/25/2019 - 18:18:30: Error log file session closed.

help pls

Round request (tomahawk)

Round name
Tomahawk

Describe the contents of the round
Everyone gets the hammer from dangerzone. If you hit your throw, you receive a new hammer.

Describe alternatives you've considered
Possibly make it so that hammers can be picked up from the ground.

Round request (teamwork)

Round name
Teamwork

Describe the contents of the round
Once you shoot a gun, you can't shoot again until you have given it to a teammate. Then that teammate can shoot and vice versa.

Describe alternatives you've considered
Possibly have one gun among the whole team, preferably something hard-hitting. But this might be less fun as some players might never get a chance to shoot it.

Add checkpoints to Monkey see, Monkey do

Every 2-5 seconds, the leader for each team registers a checkpoint. If the followers do not reach that checkpoint within a given time, they are eliminated. This would work better than the distance calculation currently. As gaining distance between leader/followers does not imply that they followed the leaders steps.

This would also increase the potential for players to do skill jumps/moves, in order to rid themselves of enemies.

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.