Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.12 KB | None | 0 0
  1. # ChillyComp
  2.  
  3. A sourcemod plugin to handle all the tasks for a tf2 competitive match.
  4.  
  5. ## Introduction
  6. This plugin was made to be modular and easily configurable, to help it the plugin is filled with configurable cvars and commands. To keep all the commands and cvars in one place, "cc_" prefix is used instead of "sm_".
  7.  
  8. ## Features
  9. - **Match Status**: The plugin fully manages the status of the match which can be used to execute configs according to the status. Also the status can be used by other plugins.
  10. - **Modular**: The plugin is really modular, each stage can have multiple features or a stage can be done in different ways by just changing a convar.
  11. - **Automated**: The aim of the plugin is to make the matches completely automated without any admin involvement.
  12. - **Easily Configurable**: The plugin is filled with cvars and commands to allow full control over the plugin to make the perfect match for you.
  13. - **Warmup Restart**: The plugin restarts the match during warmup period to help players warmup.
  14. - **Team Limit**: The plugin enforces team size restrictions so that other players cannot join a team for unfair match.
  15. - **Chat Control**: The plugin filters the chat for unnecessary things like cvar change notifications and color chat exploit.
  16. - **Per Player Ready Up**: The plugin forces each player to ready up to ensure no player is inactive.
  17.  
  18. ## Steps
  19. - Step 1: Plugin waits for enough players in each team depending on cc_match_teamsize
  20. - Step 2: Plugin goes into rolling mode
  21. - Step 2.1: Sends roll message randomly to all players and counts how many players went to team spectator
  22. - Step 2.2: Last 2 players are made captain for each team
  23. - Step 3: Plugin makes the 2 captains fight
  24. - Step 3.1 Winner of the fight gets to pick first
  25. - Step 4: Plugin allows captains to pick players via menu or chat
  26. - Step 5: Once enough players are picked or once all players are picked then picking is complete
  27. - Step 6: Wait for players to ready up and start the match
  28. - Step 7: Plugin restarts the match for warmup depending on cc_liverestart
  29. - Step 8: Once all restarts are complete then the match is marked as LIVE
  30. - Step 9: Waits for the match to end
  31. - Step 10: Resets itself once match ends for next match
  32.  
  33. ## Status and Configs
  34. Plugin will automatically execute configs when the status of the match changes, so use the config however you like to control the match.<br>
  35. The config path is configurable with cc_config_path.<br>
  36. <br>
  37. **Example**: If cc_config_path is conpconfig then config path is<br>
  38. "cfg/compconfig/status_live.cfg|
  39.  
  40. | Status | File Name | Description |
  41. | -------- | --------------- | ---------------------------------------------------------- |
  42. | Initial | status_initial | Initial period of the match |
  43. | Rolling | status_rolling | Rolling period of the match |
  44. | Fighting | status_fighting | Fighting period of the match |
  45. | Picking | status_picking | Picking period of the match |
  46. | Setup | status_setup | After the teams are picked and teams are doing preparation |
  47. | Warmup | status_warmup | Match is being restarted for player warmup |
  48. | Live | status_live | Match is live! |
  49. | Post | status_post | Post match completion |
  50.  
  51. ## Convars
  52. Use this variables in config files to control your match how you want.
  53. | Name | Default | Description |
  54. | ------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  55. | cc_enable | 1 | Enables or disables the whole plugin<br>0 = Disabled<br>1 = Enabled |
  56. | cc_rolling_autostart | 0 | Should the plugin automatically start when enough players present<br>0 = Disabled<br>1 = Enabled |
  57. | cc_rolling_mode | 1 | Which rolling mode should the plugin use<br>1 = Spectator Roll: All the players have to roll to spectator team and the last 2 left become captains<br>**NOTE**:*More modes will come in future* |
  58. | cc_config_path | compconfigs | Which path should plugin use to execute per status configs |
  59. | cc_rolling_penalty_enable | 0 | Should a player be penalized for trying to roll early<br>0 = Disabled<br>1 = Enabled |
  60. | cc_rolling_penalty_time | 2 | How many seconds should the penalty last for (in seconds) |
  61. | cc_rolling_fight_health | 150 | How much health should the captain have during the fight |
  62. | cc_match_status | 0 | The current status of the match, this is for other plugins to know the status. Do not change this by yourself |
  63. | cc_match_teamsize | 6 | How many players should each team have for the match |
  64. | cc_match_teamlimit | 1 | Should the teams be limited by the team size (value from cc_match_teamsize)<br>0 = Disabled<br>1 = Enabled |
  65. | cc_match_postcooldown | 30 | How many seconds should the plugin wait after the match has ended before starting new match (in seconds) |
  66. | cc_warmup_liverestart | 1 | How many times should the match restart during the warmup process |
  67. | cc_chat_blockcolorchat | 1 | Blocks all the cvar change notify chat<br>0 = Disabled<br>1 = Enabled |
  68. | cc_chat_blockcolorchat | 1 | Blocks all the color chats that can be sent by players due to SCP or CCP exploit<br>0 = Allows color chat<br>1 = Allows only for Admins<br>2 = Blocks for everyone |
  69. | cc_setup_perplayerreadyup | 0 | Should each player ready up before the team can ready up<br>0 = Disabled<br>1 = Enabled |
  70.  
  71. ## Commands
  72. Use these commands to have full control over the plugin.
  73. | Name | Alias | Permission | Stage | Description |
  74. | ---------------- | ----------------- | ------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
  75. | pick | p | Team Captain | Picking | Allows the team captain to pick a player.<br>Usage: pick {player name / player ID}<br>**NOTE**: *Player ID can be found with list command* |
  76. | list | - | Any Player | Picking | Allows the player to see the list of players that have rolled for the match |
  77. | ready | - | Any Player | Setup | Allows the player to set his status as ready<br>**NOTE**: *This command is only allowed if cc_setup_perplayerreadyup is set to 1* |
  78. | unready | - | Any Player | Setup | Allows the player to set his status as unready<br>**NOTE**: *This command is only allowed if cc_setup_perplayerreadyup is set to 1* |
  79. | startroll | - | Admin (Ban) | Initial | Allows admin to manually start a roll<br>**NOTE**: *This command will not work if auto start feature is enabled* |
  80. | mark | - | Admin (Ban) | Initial - Picking | Allows admin to mark a player is plus one |
  81. | restartpicking | rspicking | Admin (Ban) | Picking | Allows admin to restart the picking stage |
  82. | changecaptainred | changecapred, ccr | Admin (Ban) | Fighting | Allows admin to switch the captain for RED team with another rolled player |
  83. | changecaptainblu | changecapblu, ccb | Admin (Ban) | Fighting | Allows admin to switch the captain for BLU team with another rolled player |
  84. | changeroll | - | Admin (Ban) | Fighting - Picking | Allows admin to change the roll status of a player |
  85.  
  86. ## Checklist
  87. ### Testing
  88. - [ ] Rolling Stage
  89. - [ ] Spectator Roll Mode
  90. - [ ] Plus One Marking (Admin Command)
  91. - [ ] Early Penalty
  92. - [ ] Fighting Stage
  93. - [ ] Change Player Roll Status (Admin Command)
  94. - [ ] Swap Captain (Admin Command)
  95. - [ ] Change Player Health
  96. - [ ] Picking Stage
  97. - [ ] Menu Picking
  98. - [ ] Chat Picking
  99. - [ ] Features
  100. - [ ] Auto Start
  101. - [ ] Team Limit
  102. - [ ] Status Config
  103. - [ ] Warmup Restart
  104. - [ ] Chat Control
  105. - [x] Block Cvar Change Notifications
  106. - [ ] Block Color Chats
  107. - [ ] Per Player Ready Up
  108. - [ ] Team Ready Up Disabled
  109. - [ ] Auto Team Ready Up
  110. - [ ] Disconnect Handling
  111. - [ ] When Captain Disconnects
  112. - [ ] When Player Disconnects (Total Rolled Players <= 12)
  113. - [ ] When Player Disconnects (Total Rolled Players > 12)
  114. - [ ] Others
  115. - [ ] 6v6 Match
  116. - [ ] Highlander Match
  117.  
  118. ### Todo (v4.1.0)
  119. - [x] Match Status
  120. - [x] Per Status Config
  121. - [x] Warmup Restarts
  122. - [x] Chat Control
  123. - [x] Per Player Ready Up Command
  124. - [x] Match End Cool down Period
  125. - [ ] Substitute Command
  126. - [ ] Discord Logging
  127.  
  128. ## Changelog
  129. - 4.0.4
  130. - Fixed an issue where players were not counted as rolled due to an array issue
  131. - Fixed captains not being swapped with selected player
  132. - Added a new condition to startroll command
  133. - Added post match cooldown timer
  134. - 4.0.3
  135. - Added per player ready up feature
  136. - Added new cvar to enable or disable per player ready up
  137. - 4.0.2
  138. - Added cvar change chat filter
  139. - Added color chat filter
  140. - Added new cvars to control chat filters
  141. - Changed how colors are handled in translations file
  142. - Moved command block error messages to translation file
  143. - 4.0.1
  144. - Fixed commands not replying with error messages when used at wrong stage
  145. - Fixed rolled players not being detected for swap captain menu
  146. - Changed how rolled players and plus one players are managed
  147. - 4.0.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement