Weighted Traitor Selection Addon

Discussion in 'TTT Suggestions' started by Insight, Jul 1, 2017.

  1. Insight

    Insight New Member

    I am the creator of this addon and have used it on some of my own servers in the past, overall I think it adds a good change to the default traitor selection. People also get to see what their traitor chance is for the next round, like 30% or 10%, it supports mysql as well as sqlite which makes it persistent across maps. So if you have a 30% chance to become traitor on the last round it will remain in the next map (as long as no one joins with a better weight). I am also interested in knowing what larger communities like the system and what kind of feedback I can get. Its been a while since first release, almost a year, but just want to try to get it out there more since its been getting updated recently.

    You can view lots of this same information over on the github located here - https://github.com/lzinga/TTTWeightedTraitorSelection

    Weighted Traitor Selection allows players to be fairly selected to become traitors and have more people become traitors rather then not getting traitor 5 maps in a row. The longer you go with out being traitor the higher chance you have at becoming traitor. Now that might sound like you could determine who the traitor is; However the algorithm is non-deterministic, making it practically impossible to deduce the current traitors (with the exception with only 2 people playing)

    Admin Commands
    ttt_weightlogs: (just typed into console) This allows admins to view all players weight and their chance to become traitor. Admins are also able to see a count of how many times each player has been a specific role. In the weight menu you can also get the players SteamID and set their weight back to default or set the weight to what ever you want, giving the player a higher chance or lower chance at becoming traitor in next round.

    To gives users permission to ttt_weightlogs they must be in an allowed group. Any group you want to have access must be added to the data/weightsystem/groupperms.txt file which gets generated on first load of the script.
    [​IMG]

    Commands
    ttt_traitor_chance_command: Sets the command players can use to see their traitor chance. If ttt_show_traitor_chance is set to 0 this will not work. (default !TC)

    ttt_karma_increase_weight: If you want people to get a slight increase in weight (0-2 weight) for good karma you have to enable this command. (Default 0)

    ttt_karma_increase_weight_threshold: This is the minimum amount of karma needed to get the increased weight buff. If they are below it they will just get regular weight. (default 950, based off of the default max karma in regular TTT)

    ttt_show_traitor_chance: At the beginning of every round it sends out a message stating what your chance is to become traitor for the NEXT round, or in the next map.

    ttt_weight_system_fun_mode: Allows the players weight to be portrayed onto their model. (default 0) would not suggest this to be on 24/7 more of a fun mode to have on every now and then (0% chance is normal model, 100% chance is much fatter model, everything else is in between)
    [​IMG]

    Group Extra Weight
    With group weight being used you can give certain groups some extra weight. For example you can have donators get 1 or 2 extra weight every round to increase their chances of being traitor more often but just slightly because of the way the system works.
     
    • Informative Informative x 4
    • Like Like x 1
    • Disagree Disagree x 1
  2. Python~

    Python~ Young Bard VIP Silver Emerald

    Eh, I'd prefer it how it is. Everyone has the same chance of being traitor every round. Sure, sometimes you get unlucky and go against the odds to not be traitor for 2 maps, but at least it's fair

    And what does the weight do except fuck with hitboxes?
     
    • Agree Agree x 4
  3. Insight

    Insight New Member

    You don't have to turn on the funmode which makes the "weight" appear visually, and even when it is on it doesn't mess with hitboxes at all. The "Weight" is just a number in the background.

    This system is completely fair too, you don't have to enable the group extra weight or the karma settings. It can be used with out any of that and simply the longer you go with out being traitor, the higher chance you have of becoming traitor and vice versa. You can still go pretty long with out getting traitor on a highly populated server. If you have 10 people all with the weight of 10, the first traitor selected will go back down to a default low weight and the weight for the other 9 will be increased slightly giving them a slightly higher chance to become traitor in the next round.

    So if you go many rounds with out being a traitor, your weight gets higher and higher increasing your chances of becoming traitor. However just because you have a 70% chance of being traitor, doesn't mean you will. Someone with a weight of 5 can still manage to be selected.
     
    Last edited: Jul 1, 2017
  4. Python~

    Python~ Young Bard VIP Silver Emerald

    Regardless of the population of a server, there is always at least a 20% chance of being picked for traitor, no matter what. This way will always be fair. There is nobody that has a higher chance of being traitor than anyone else (unless you buy it)

    I see what you're trying to fix, the fact that sometimes you go a few rounds or maps even without being picked as traitor, however I don't think this idea is necessary, regardless of how much you wanna whine about how the odds aren't in your favor