The Whomian Version of Amongus Voting!

The age old question that has been on the forums since the beginning of time itself: How do you make voting in amongus! There have been multiple solutions before, involving teaming, buttons, and other things. But today, I am going to show you how to make a voting system with popups that display the name of the person you are voting for! This guide is all over the place though, and needs major editing and refining. (not the best at making big guides like this) I will be trying my best to simplify it and fix any mistakes or things I forgot in the guide. If you find any mistakes or such, and ways it can be improved, do not hesitate to tell me.
Credit to @WolfTechnology for the initial idea.

Warnings and Disclaimers

WARNING: Memory Intensive
WARNING: Device Intensive
WARNING: Includes Blocks
WARNING: Length Alert
WARNING: Major Repetition
WARNING: Unclear Sections
WARNING: Few Pictures (coming soon)
WARNING: Organization is key. Make sure you are organized!!!
DISCLAIMER: This system is flawed. Bugs may appear, and everyone has to be on their screen when voting is initiated, or else the voting system may not work for them.

Anyways, let’s dive right into the guide!

Initial Settings

Prep Settings

For voting to be compatible in your game, you need the following settings

Team Mode: Specific Team Amount
Number of Teams:10
Late Players Join Spectators: Yes
Ally and Enemy Indicators: Off
Leaderboard:Enabled
Tracking: Research
Score Group:Player
1 live player counter that tracks all the players in the game, connected to property NumberOfPlayers

Ways to Trigger Meeting

Part 1. The Trigger

In order, to initiate voting, you need something to start it. As of right now, in the actual game, there are two ways: Calling an emergency meeting, or reporting a body.

As of right now, there are two ways to make attacks in gimkit.

  1. Tagging
  2. Knocking Someone Out.

Right now, I am going to go with knocking someone out, since it is easier to explain.
All you need for this is a knockout manager. When player is knocked out, have then drop a lotteryt ticket. This ticket will be the “body” Now place down an inventory item manager, and have it update a property “Body”

Now, go to that property, turn mark as changed on game start to off, and have it broadcast on channel Emergency Meeting when the property value changes.

Alright, you have the body trigger!

Next up, you have to make the button be able to trigger a meeting as well. This is quite easy, all you have to do is make it broadcast on channel Emergency Meeting when pressed. And you are done with the ways to start off your emergency meeting!

The Report

The Report

Okay, you have your ways of starting a meeting! Now how do you do the meeting itself?
So place down a respawn device, and set it to respawn people when receiving on Emergency Meeting. Assuming you placed your spawn pads around the emergency button, this should essentially teleport everyone back to the table. Alright, here’s where the actual voting begins. To show who called the meeting, place down a trigger to trigger when receiving on Emergency Meeting. Next, place down a popup, and put the caption to EMERGENCY MEETING, and make sure it cannot be closed. After, copy the code below and put it into the popup block code “on wire pulse”


Alright, you now have a popup to display who called the emergency meeting!

Voting

The Voting

Now, place down another trigger, to also trigger when receiving on " emergency meeting"
However, have this trigger have a delay of 5 seconds. Then place down a relay to relay on the behalf of everyone. Have the relay transmit on channel “Emergency 1”
Alright, here is the tedious part…
Place down 10 relays, relaying their pulse when receiving on channel "Emergency Meeting. Set them to relay on the behalf of a random player on a specific team. Make those 10 relays relay on teams 1-10. Ex: Relay 1 relays for Team 1, Relay 2 relays for Team 2, etc.)
Place down a popup. This popup should open on channel “Emergency 1”. Make the header say, “No Players Here”, the content to say “Vote on this popup to skip voting!”, and two popups, one saying next, and the other saying “Vote!” Make it so when pressing the vote button, the button will transmit on the channel, “IVoted” Now open up the block code interface. Make it so on wire pulse, it will display the name of a player with this block code below!

After, open the same popup and add a different block of code, like this! Make it so it triggers when receiving on channel MeetingEnd

Alright, repetition time. Take the popup and copy it. Make this one does not open on emergency1. Copy that 9 more times. These 9 more times are for the 9 other players. Now connect those relays to the popups. Relay relaying on team 1 goes to the first popup, relay relaying on team 2 goes to the second popup, etc.

What this system does is make each popup display a different player’s name, and then after the popup showing who called the meeting closes, the popup for voting opens up.
Now, take a wire and wire the first popup to the second popup. On Primary Call to Action Clicked-----Open Popup.
Now place down another popup, (this one does not need block code), lable the call to actions next and vote, make the content say skip vote, and make the call to action vote transmit on IVoted.

Now place down another popup that will open when receiving on IVoted and close on MeetingEnd. Make sure this one cannot be closed.
Now you have a voting interface!

Casting Votes

Casting Votes

You have a voting interface now, but what use are they when you cannot cast votes on people? Place down 10 properties, labled from Player1 to Player10. Make them transmit on channel RunCheck when the property is updated. After that, place down 10 counters, each one updating a property. The first counter will update property player1, the next one will update player2, etc. Make sure the counters reset on receiving on channel MeetingEnd. Connect each popup to their corresponding counter. On secondary button pressed--------increment counter. Place down another counter and property. The property will be named VotedPlayers, and the counter will update VotedPlayers and increment on channel IVoted.

Place down a trigger to trigger on RunCheck, and copy down this code


Make another block of code and copy down this:

Then place down another trigger and connect it to your live player counter (you built one, right?)
and make it run this code

Make sure you have a property named VotingMajority as well.

Place down 10 more relays. The first one should relay on behalf of team 1, and relay when receiving on KickPlayer1. The next one should relay on behalf of team 2, and relay when receiving on KickPlayer2. Continue until you reach KickPlayer10. Now take 10 team switchers, each to switch the player to spectator Connect each relay to a team switcher. Now place down a notification and copy down this code.

Take the notif and copy it 9 more times. Connect each relay to a notification. There! You should now have a voting system that will allow players to cast votes, eject someone accordingly, and close the the popups when voting ends!

I know this guide is very confusing. If you find any sections that have not been explained on the picture, please tell me, I probably forgot to add it in. I know this is very confusing, and I will be simplifying, refining, and making it easier to understand over time. Patience is key. Please put any suggestions in the comments below!

10 Likes

I will be updating the guide to fix bugs and simplify it over time.

  • 1/10
  • 2/10
  • 3/10
  • 4/10
  • 5/10
  • 6/10
  • 7/10
  • 8/10
  • 9/10
  • 10/10
0 voters
5 Likes

Nice guide @WhoAmI!

Nice guide!

Nice guide! Quick question, about how much memory does that take up?

My current map has about 23 percent.

1 Like

what is that?

Goat gim

did you make it?

what does it have to do with this guide?

@WhoAmI ten teams?

10 teams, for 10 players. Raise the amount for more players.

1 Like

Cool guide! Great job @WhoAmI!

1 Like

Coca-colastic guide, @WhoAmI!

1 Like

Just some constructive critism, all the current guides for voting systems has the same issue: the amount of players has to be EXACT, which can be a problem. How bout making a system that adapts to the amount of players in the game and seperates everyone to a team automactically?

That what I’m working on.

Great, can’t wait to see your guide!

Just one question: can health granters subtract health?

I don’t think so.

As of right now it is impossible sadly…