[EVENT] Polling Conditional Events

Poll

How do you like the idea?

It is good as is.
7 (70%)
It is good, but needs some minor changes.
1 (10%)
It is alright, but needs some moderate changes.
1 (10%)
It is bad, and needs major changes.
0 (0%)
It is bad, and shouldn't be made
1 (10%)

Total Members Voted: 10

Author Topic: [EVENT] Polling Conditional Events  (Read 879 times)

Basic Description:
An event-powered polling system that allows players to cast votes to trigger events based on voting results.

                                                                                                                          


     EVENTS     


  • OUTPUT EVENTS:
    • castPoll :: "Poll Name" :: "Poll Effect" :: "Majority Margin" :: "Event Lines Affected" :: "Time in Seconds"
      • Poll Name is the name of the poll.  When a poll is created, it posts a message to Chat Messages to all groups effected.
      • Poll Effect is those who are effected.  Has a checkbox and a text box.  If unchecked, the textbox is ignored, and it sends to poll to everyone on the server.  If checked, it acknowledges the text box.  If the text box is empty, it sends the poll to everyone in the minigame that the brick owner is in.  If the text box, lists a proper slayer team name, then it sends the poll to that team.  If the text box does not contain a valid team name, then it polls all in the minigame.
      • Majority Margin is the percentage of affirmative votes are needed for the poll to pass, from 0-100.
      • Time in Seconds is the duration of the poll.  Can last anywhere from 10-300 seconds.
  • INPUT EVENTS:
    • onPollCast «Self, Player, Owner (Owner of the brick who cast the poll), Client, Owner (Owner of the brick who cast the poll), Minigame, NAMED BRICK»
    • onPollResult «Self, Player (All who voted), Client (All who voted), Player, Owner (Owner of the brick who cast the poll), Client, Owner (Owner of the brick who cast the poll), Minigame, NAMED BRICK»
    • onPollAffirmative «Self, Player (All who voted affirmative), Client (All who voted affirmative), Player, Owner (Owner of the brick who cast the poll), Client, Owner (Owner of the brick who cast the poll), Minigame, NAMED BRICK»
    • onPollNegative «Self, Player (All who voted negative), Client (All who voted negative), Player, Owner (Owner of the brick who cast the poll), Client, Owner (Owner of the brick who cast the poll), Minigame, NAMED BRICK»
    • onPollTie «Self, Player (All who voted), Client (All who voted), Player, Owner (Owner of the brick who cast the poll), Client, Owner (Owner of the brick who cast the poll), Minigame, NAMED BRICK»
                                                                                                                          


     FEATURES     


  • Players vote by saying /poll {yes/no}, and vote either yes or no.  Not responding is the same as abstaining, and the vote will not be included any way.  Players can also say /poll withdraw to withdraw their vote.
  • Only one vote can run per effected area.  Additionally, if a poll is running outside of a minigame, it overrules any polls that can be cast inside of a minigame.  Only one poll of the same name can exist at a time.
  • Admins can say /poll cancel [POLL NAME] to cancel a vote, or /poll forceclose [POLL NAME] to force a poll to pass or fail depending on its results at that time.
  • Preferences to change the permissions of who can run polls.  Options include {Everyone, Admins, Super Admins, Host, Minigame Players, Minigame Owners}.  If these settings are set to Minigame Players or Minigame Owners, then the polls cannot be cast outside of minigames unless the player who owns the brick where the event is rooted is allowed to leave the minigame according to slayer settings.  For instance, if Super Admins and Host are allowed to leave the minigame according to Slayer settings, then Admins and normal players cannot create polls that affect players outside of the minigame.
  • Poll limit preferences per permission group.  Number of polls that a player can publish at any given time.  Valid values are all integers ≥0 and "-1", where -1 is unlimited polls at once.  Player groups are Players, Admins, Super Admins, Host, Minigame Players, Minigame Owners.
  • Polls are auto-announced to the effective group.  Message should say something like the following:
    Quote from: Poll Cast Message
    Poll "%NAME" has been cast with a success margin of %MARGIN%, and will run for %TIME seconds.  Say /poll yes or /poll no to vote, of /poll withdraw to remove your vote.
    Quote from: Poll Passed Message
    Poll "%NAME" has PASSED %VOTESAFFIRMATIVE to %VOTESNEGATIVE, at a success rate of %PERCENTSUCCESS.
    Quote from: Poll Failed Message
    Poll "%NAME" has FAILED %VOTESNEGATIVE to %VOTESPOSITIVE, at a failing rate of %PERCENTFAIL.
    Quote from: Poll Tied Message
    Poll "%NAME" has TIED %VOTESPOSITIVE to %VOTESNEGATIVE.



I may add more features to the OP, but I want to know what you guys think.

Bump.

Possible applications: TDM where vehicles, weapons, and other supplies are bought by the team.  Voting occurs for large purchases.

I like this idea! Hopefully someone makes it!

http://forum.blockland.us/index.php?topic=255978.0 is pretty much the same thing but without events. It could probably be modified pretty easily to add the events and such.

yeah but now non-admins can use it and can be incorporated into builds

http://forum.blockland.us/index.php?topic=255978.0 is pretty much the same thing but without events. It could probably be modified pretty easily to add the events and such.
I wouldn't necessarily say easily adapted, but it could be used somewhat as a platform to create the system.  The difference is that the event mod

could run more than one vote at once,
non-admins can use it and can be incorporated into builds

, and it could prove to make TDMs about team effort.  TDMs

could potentially become more robust, requiring players to make decisions that would benefit the team as a whole as is a goal of this mod.

Additionally, what do you guys think of also having a polling system that polls players with build trust and/or full trust to the player who cast the vote?
« Last Edit: March 10, 2016, 02:40:08 PM by SWAT One »

I wouldn't necessarily say easily adapted, but it could be used somewhat as a platform to create the system.  The difference is that the event mod

could run more than one vote at once,

, and it could prove to make TDMs about team effort.  TDMs

could potentially become more robust, requiring players to make decisions that would benefit the team as a whole as is a goal of this mod.

Additionally, what do you guys think of also having a polling system that polls players with build trust and/or full trust to the player who cast the vote?
I can agree here!

This could be useful on many different game modes.
Polling in game is one thing that I would add to vanilla, but with a mod it is just as good.

Bump.

So exactly how possible is this?
« Last Edit: March 19, 2016, 04:44:33 PM by SWAT One »

Bump.

So exactly how possible is this?

Completely possible.