Author Topic: Votegag & Votemute  (Read 4001 times)

0 Members and 1 Guest are viewing this topic.

Offline Cerberus

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Votegag & Votemute
« on: October 25, 2012, 12:13:09 PM »
We have votekick and voteban could we add votegag and votemute? it would timed of course (default 1 minute?), which would kinda link into this http://forums.ulyssesmod.net/index.php/topic,5759.0.html

Offline MrPresident

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 2728
  • Karma: 430
    • |G4P| Gman4President
Re: Votegag & Votemute
« Reply #1 on: October 25, 2012, 03:10:33 PM »
Here is how gag and mute currently work:

1. When a player is gagged/muted, a variable is set on their player object telling ULX that they are gagged/muted.
2. When they try and talk they are not allowed to.

Note: Variable flags are not saved across session so essentially a player will become unmuted/gagged if the server changes map or restarts.



Here is how gagging/muting would HAVE to work for it to work with timers:

1. When a player is gagged/muted, a variable is set on their player object telling ULX that they are gagged/muted.
2. an entry is created in an SQL file or text file storing the end time of the gag/mute as well as any other information that would need to be tracked.
3. When the server changed maps or restarted ULX would have to look for and load in all related data for mutes/gags.
4. ULX would then have to go through and prune any gags/mutes that have expired since the last time it checked.
5. When a player joins the server ULX will then check to see if they are gagged/muted and apply the flag if necessary
6. When a gag/mute expires ULX will need to remove the entry from the database or file
7. If a player tried to talk ULX will check to see if they have the gag/mute flag and allow or not allow them accordingly.


Any time you start writing entries like this to files/databases you are creating the possibility for error and failure which just causes more problems than its worth.

Having a ban time makes sense.. and we've already had lots of issues with it alone.. (just search the support forum for bans)


The way I see it, if someone is doing something that deserves to be gagged/muted AT ALL (be especially for more than a single server session) then they should probably just get banned, but that's just my philosophy. :D

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: Votegag & Votemute
« Reply #2 on: October 25, 2012, 08:21:55 PM »
Though the vote functions themselves might be a good idea, you totally seemed to ignore my post from that same thread, which MrPresident gives more indepth detail, about why adding time feature is most likely more challenge to supporting than adding the code.

Perhaps some developer for our community could write a ULX module that would allow turning just about any punishment not already included in our original vote code to become votable.
ulx punishvote <player> <punishment> <time if punishment ALREADY has time input> <question:defaults to a premade string "Type .... to Punish <player> with <?>">
Where punishment could be gag, mute, freeze, jail, maul, ...
Adding time to things not already timed, at least across connection sessions, still not recommended.
« Last Edit: October 25, 2012, 08:23:50 PM by JamminR »
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming