This repository contains a number of Gmod/TTT addons that I’ve made changes and improvements to for use by Dinkleberg’s Gaming Community.
Most (all?) of these addons were not created by me, and credit for them is reserved by the original creators, with the exception of the improvements made by me.
Shoutvote
Created by Chuteuk
Adds a voting system to the server, which in particular enables a mapvote to be called at the end of the round limit for the current map.
Improvements
I added the ability to rate and track the popularity of maps. Each time a mapvote comes up, players can leave a positive or negative rating for the map they just played. Total percentage ratings are displayed in the mapvote menu and nomination screens for players to see. There’s also a new option to enable a “Random Map” option in the mapvote, which if selected will choose a random map from the map pool.
To view and analyze the stats for each map, I added a new map stats menu. This consists of a number of customizable bar charts with each map rated by rating, times played, and total votes received. There’s also a table to show the stats for all maps.
I also added a configurable admin menu to customize min and max player limits on a map-by-map basis. This way, maps that are way too large or way too small for the number of players on the server can no longer be selected.
Finally, I added the !reopen
command (configurable), to allow players to reopen the mapvote menu after closing it. This is useful if a player accidentally closes the menu, or if they want to change their vote.
AWarn3
Created by Mr.President
Implements an in-depth warn system, with which players, online or offline, can be warned by server staff. The system allows for configurable punishments for warn accumulation, custom warn reason presets, etc.
Improvements
I’ve completely overhauled the system for giving out warns. Warnings are associated with configurable preset categories, each with a configurable number of points. Each category can be configured to have a number of preset warn reasons. When a player is warned, they (along with the server) are notified of the warn reason and how many points it was worth.
In addition, each warn category has a customizable warn duration, after which it will expire automatically and no longer count towards a player’s active warnings. For example, a two point warn may expire after one month, whereas a four point warn may expire after three months, and a ten point warn may never expire.
These improvements come with a number of related quality of life changes, like toggling expired warnings to be hidden in the menu, searching warned players by SteamID (in addition to by name and SteamID64), etc. In addition to these changes, I’ve added vastly improved autocomplete for console commands, inspired by ULX’s brilliant console autocomplete.
Pointshop Gambling
Created by Kamshak
Adds a Slots minigame to the Pointshop 2 menu, where players can gamble points on a virtual slot machine.
Improvements
Slots can get a bit boring, so I added a Blackjack minigame in another tab. It’s more or less a standard Blackjack games, with the dealer hitting on 16 or lower. Players can bet a configurable number of points, and can double down on their bet.
Pointshop Betting
Created by Chuteuk
Adds a betting system to Pointshop, allowing players to bet on the outcome of a round. For TTT in particular, players can bet on a specific player winning and making it to the end of the round.
Improvements
I’ve added the ability to toggle a playercount-based betting multiplier. By default, there is a static (albeit configurable) betting multiplier, which will be multiplied by the number of points a player bets to determine how much they would win.
With the system toggled on, it will interpolate between a configurable minimum and maximum betting multiplier. With the minimum number of alive players, the multiplier will be set to the minimum, whereas with the maximum number of alive players, the multiplier will be set to the maximum (the maximum number of alive players is read directly from the server’s maxplayers
convar).
This change was suggested by Nico. The idea is that with more players, there is a lower chance of a player winning, and therefore the multiplier should be higher. With fewer players, the chance of a player winning is higher, and therefore the multiplier should be lower.
To Do
- Fix issue with betting screen showing up too early on
initialpreptime
- Fix issue with slain players being counted towards final betting multiplier
- Make the multiplier change if players join in preround after betting prompt appears
Pointshop Trading
Created by Chuteuk
Adds a trading system to Pointshop, which enables players to trade items and points between each other.
Improvements
I implemented the ability to trade premium points with other players. I’m not sure why this wasn’t implemented in the first place (maybe to reserve premium points for donors only?), but Bryan requested that I add it.
ULX Modules (custom commands)
!playertime
/!playeridtime
- Shows a player/SteamID’s total playtime on the server