Open Settings > Map Options > Teams. Set the Team mode to “Specific Team Amount”, Set Number Of Teams to the amount of players you expect to j oin the game. Set Team Placement to “Split Evenly”.
Add a Relay, set the Relay Audience to “Random Player On Specific Team”. Set Team to whatever team you want, this will be your impostor team. Wire a Lifecycle with the relay.
NOTE: The team has to be between the amount of players in the game or it WON’T work.
Next, add an Item Granter, set Item To Grant to whatever weapon you like. Wire the Relay to the Item Granter. Now, the impostor team will have a weapon to kill others. You can also make a popup that says “Ur impostor” etc. to let the player know if their an impostor or not.
EMERGENCY MEETING BUTTON
Add a button. Wire it to a relay. Set the Relay Audience to “All Players”.
Now, place down a teleporter outside your map. This will be the “Voting Zone”. Wire the relay to the teleporter: Relay trigger > teleport player here.
Place down barriers around your voting zone.
Add a new property, name it something like “votesTeam1” . Set the property type to NUMBER.
Place down a button. Set “When button pressed, transmit on” to Cooldown. Set “Deactivate button when receiving on” to Cooldown. Set Active Scope to “player”. This way, the button will deactivate on interact, which means players only get to vote 1 time.
Place down a counter. Set Update Property to “Yes”, set “Property to update” to the property you created earlier (votesTeam1).
Wire the button to the counter: Button pressed > increment counter.
Place down a relay, set Relay Audience to “All Players On Specific Team”.
Wire the relay to a text: Relay trigger > Run wire pulse block.
Select the text you just created and go to BLOCKS > On wire pulse.
Follow the super short code below:
Now, when you’re done, it should look like this:
Now repeat that process until the amount of buttons you have = amount of players.
SUPER IMPORTANT NOTE: ALL COUNTERS MUST UPDATE A DIFFERENT PROPERTY AND EACH RELAY MUST SET A DIFFERENT TEAM.
Once you’re done, wire the emergency meeting button to all the relays and you should have something like this:
CHECK VOTING RESULTS
Add a button to end the meeting. Add a trigger, set Visible In Game to “No” and Trigger By Player Collision to “No”.
Wire the button to the trigger: Button pressed > Trigger.
Select the trigger > Blocks > When triggered.
Now, follow the code below to check the votes:
Add a relay, configure it like the image below:
Add a team switcher, set Switch Strategy to “Specific Team”, set Team to “Spectators”.
Wire the relay to the team switcher.
Repeat this until the amount of relays you have = amount of players in the game, with each relay setting to a different team and triggers when receiving on a specific message.
You can also make it automatically end the game when the impostor team is voted out.
And you’re done! Now, it should go like this: Player calls meeting > Teleport players to voting zone > Players interact buttons to vote > Check voting results and eject players.