Since I'm now finished with university for summer, I've had the last few days to chill out and do some stuff. This time I'm dropping a big gamemode, a QoL improvement for some, and an experimental CallAdmin revamp.
Here's a thread documenting my recent work:
You all know the gamemode (Arms Race from CS, GunGame from CoD), kill to get the next weapon rank.
Currently still quite beta, while I sort out the last remaining issue or two.
Rules:
If you have any suggestions, additions, whatever, post below, referencing GGR.
These may or may not be available soon after I commit them to our Git repo, depends if Ben wants to use or not.
Leave any comments, suggestions, whatever, below.
-N
Here's a thread documenting my recent work:
GunGame Redux
My rewrite of the GunGame gamemode to work with new SM and game versions, and add some new twists.
My rewrite of the GunGame gamemode to work with new SM and game versions, and add some new twists.
You all know the gamemode (Arms Race from CS, GunGame from CoD), kill to get the next weapon rank.
Currently still quite beta, while I sort out the last remaining issue or two.
Rules:
- Kill to promote yourself
- You are always given a pan. Killing someone with this will demote them.
- Dying 3 times without promoting will cause you to be demoted also.
- Being panned for your third death in a row will cause you to be double demoted.
- You always have your pan. If your current weapon is a melee weapon, use your +attack3 key to change. Same as your MvM medic shield key.
- The weapon progression is config based, and customisable, the ladder is below. 26 ranks. (Still potentially looking to reduce, depends how playtest with 26 goes.)
- Assists are not counted towards. I considered counting 3 assists to promote someone, but then after a little playtesting, especially when we had a lot of players on, the killstealing nature added to the chaotic aim (win by killcount) and actually made the game more tense, and a bit funnier, at least for me.
- A player's wins are recorded and announced on the hud upon round win.
- Scoreboard reflects players' ranks. Promotions and demotions.
- I still need to do another playtest wave. A bunch of things have been moved, fixed and changed a bit since the first one, I'll announce a Steam event to fill the server. I'm mainly after reducing the lag spikes that result from player regenning with the new class/weapons.
- Strange farming. This is the big one I've been working around (been doing things below for the last day or two). The scoreboard reflects your score, and updates your score according to your rank, up or down. However, I did not account for strange cosmetics. The way I set the scoreboard caused the player to be reallocated their points on every 'think' (that means a lot). Fixed.
- Result:
Servers:
77.75.122.206:27265
185.44.76.140:27075
Rank Ladder:77.75.122.206:27265
185.44.76.140:27075
1.Engineer - Lugermorph
2. Scout - Pretty Boy's Pistol
3.Heavy - Family Business
4.Medic - Blutsauger
5.Scout - Force a Nature
14. Sniper - Hunstman
15. Demo - Loose Cannon
16. Soldier - Direct Hit
17. Demo - Grenade Launcher
22. Engineer - Golden Wrench
23. Scout - Flying Guillotine
2. Scout - Pretty Boy's Pistol
3.Heavy - Family Business
4.Medic - Blutsauger
5.Scout - Force a Nature
- Sniper - SMG
- Engineer - Rescue Ranger
- Pyro - Backburner
- Spy - Ambassador
- Soldier - Cow Mangler
- Demo - Sticky Launcher
- Heavy - Minigun
- Pyro - Phlog
14. Sniper - Hunstman
15. Demo - Loose Cannon
16. Soldier - Direct Hit
17. Demo - Grenade Launcher
- Medic - Crossbow
- Demo - Caber
- Pyro - Flare Gun
- Scout- Sandman
22. Engineer - Golden Wrench
23. Scout - Flying Guillotine
- Pyro - Manmelter
- Heavy - Fists of Steel
- Spy - Saxxy
If you have any suggestions, additions, whatever, post below, referencing GGR.
TopX
A reward for players at the top of the leaderboard
Simple concept. Reward players at the top of each server's leaderboard with a tag and colour:
Obviously in my example, 1 is gold, 2 is silver and 3 is bronze. Again, customisable via config/cvar to reward however many you want and with what tag/colour.
Ties in with HLStats if you didn't already guess that. Simple, easy, free way to reward/motivate players.
I have no idea what this is going to do to Ben's store tags, if they'll cancel each other out, or one will override the other, or they'll happily coexist in some fashion.
May or may not be added. HLStats is pure garbage to code for, and the values don't make sense, so this is likely unpredictable, but proof of concept is there.
Maybe in the future, when things change, hint hint.
CallAdmin Verification
https://blackwonder.tf/threads/jims-calladmin-idea.6124/#post-27546
Did it in about an hour or two tonight, so there's one or two lazy methods in there.
I was keen on keeping everything very query-low due to the current state of Ben's MySQL.
I don't know if you guys were doing this or not, but now you have the means to do so, or to experiment with it.A reward for players at the top of the leaderboard
Simple concept. Reward players at the top of each server's leaderboard with a tag and colour:
Ties in with HLStats if you didn't already guess that. Simple, easy, free way to reward/motivate players.
I have no idea what this is going to do to Ben's store tags, if they'll cancel each other out, or one will override the other, or they'll happily coexist in some fashion.
May or may not be added. HLStats is pure garbage to code for, and the values don't make sense, so this is likely unpredictable, but proof of concept is there.
Maybe in the future, when things change, hint hint.
CallAdmin Verification
https://blackwonder.tf/threads/jims-calladmin-idea.6124/#post-27546
Did it in about an hour or two tonight, so there's one or two lazy methods in there.
I was keen on keeping everything very query-low due to the current state of Ben's MySQL.
Additions:
- Public calladmin is no longer available
- Players must apply on the forums
- After which, admins must go on a server, any server, and type: sm_addcaller "STEAM_0:xxxxxx" in the console. Yes, it will spew some shit at you, I know, but it will still process.
- Once added to the DB, the player can now use CA again.
- Donators and admins bypass this requirement to apply.
- As per your usual /claim, you can now do sm_invalidcall to mark the call as abuse (does not mirror to Discord, nor is this /claim. They're different plugins, sorry. You'll need to claim it still.)
- /invalidcall will update the player's invalidcall count.
- Invalid call works in two ways: leaving it argument-less, like /invalidcall will use the Steam ID of the last report on the server.
- Alternatively, you can add a Steam2 ID: /invalidcall Steam2 will update that specific user's invalid count.
- A cvar controlled value (defaulted to 5) will determine how many invalid calls a player can have before they are again restricted from calling.
- Callers can be removed from access with sm_removecaller "STEAM_0:xxxxx" in console.
- All calculations (getting invalidcounts etc) are done on client join, as to reduce querying as much as possible. As such, if you invalidate someone and that pushes them over the limit, it will take a map change for the restriction to take effect. Same with adding/removing their caller rights.
- If this system actually sees any uptake/good reception, it can be developed further, perhaps seeing a webpanel in the future, to manage adding/removing and changing invalid call counts (which is only available via root DB access, not via command, though easily done if needed).
These may or may not be available soon after I commit them to our Git repo, depends if Ben wants to use or not.
Leave any comments, suggestions, whatever, below.
-N