B3none / cs2-retakes

CS2 implementation of retakes. Based on the version for CS:GO by Splewis.
GNU General Public License v3.0
180 stars 35 forks source link

Contribution Question - Plugin Improvements & Configurations #4

Closed yonilerner closed 8 months ago

yonilerner commented 9 months ago

Hey there, really appreciate this project, thank you so much for doing it.

I'd like to make some contributions to the project, but before I start coding I'd like to get some feedback on the ideas and make sure they make sense for the project before I write a bunch of code.

I have some ideas for improvements I'd like to make, but also acknowledge that not everything in the current plugin - or any of the changes I'd like to make - are a fit for all uses. So in addition to the following improvements, I think a config system would make sense.

Improvements

Configurations

In addition to making all of the above configurable, I also think things like these could be:

Im sure many more things could be configurable also, but these are just the ones off the top of my head after playing for an hour earlier today.

Anyway, let me know what you think. Thanks!

yonilerner commented 9 months ago

Well how funny I see this right after creating my issue :) https://github.com/B3none/cs2-retakes/commit/6a5f8138dae56c59aeed41be15057ef881a0414f

B3none commented 9 months ago

@yonilerner I think the weapon allocation should be a separate plugin and this one should contain fallback logic that makes the game somewhat playable. If you wanted to make your own cs2-retakes-allocator or something along those lines i’d be happy to test it with you and then suggest people use it alongside this plugin.

As for the team balancing I hadn’t considered that some people have servers where there is no changing of teams. There’s no reason why I couldn’t put all of the team management logic behind a config flag.

Ejz85 commented 9 months ago

Weapon allocation was a separate plugin in CSGO too. But I do want that, so code away!

We used this one in CSGO: https://github.com/shanapu/MyWeaponAllocator Or this one: https://github.com/RikiGomes/rikiallocator Or the default one: https://github.com/splewis/csgo-retakes/tree/master/scripting

Pistol/force buy rounds - Yes! Allow one or more AWPs per-side - Yes! Allow variable grenades - Yes!

Whether to scramble teams, and how long of a win streak should trigger a scramble - Yes!

Another suggestion: Damage in chat when you die.

yonilerner commented 9 months ago

@B3none sounds good. Can you add the configurations for balancing/scrambling and Ill go make my own plugin for weapon allocation? And seems like you've already added stuff to make weapon allocation fallback configurable, so presumably any user of the weapon allocation plugin would just disable that.

Also, I dont actually see an example config JSON or how to use it anywhere, do you think you could include one?

B3none commented 9 months ago

@yonilerner the team balancing is based on the terrorist ratio in the config, the scrambling is also set in that config so if you don’t want to scramble you should set it to more than the max rounds, and the defaults are set in the RetakesConfig.cs. It outputs a json file with properties the same as the class. If you’re not sure you can start a server locally with the plugin installed and it will create it for you. I didn’t want to add it to the release as then installing older versions could get hairy.

It might be easier to do the back and forth on Discord, look for B3none on the counter strike sharp discord and send me a DM / frq 😎

B3none commented 8 months ago

@yonilerner Is there anything else to action on this? If not I'll close it 👍