Heres how I would do it, kinda using @dark ruin 's method
Assuming you know how many players you can vote for, (Say, 3)
And, assuming you want to use Instant Run-off voting (Bad idea like, always, but, hey, its how the US election works)
Create an int variable for the max number of candidates
Name them Candidate [Number] Votes, for example, for the first candidate, Candidate 1 Votes
Create a role an call it Voter
Now, create an event definition and name it Start Vote
When you want to start a vote, have the local player send the event Start Vote to All
Create an event definition and name it CandidateChoices, add a List<Player> type to this, I'll call this CandidatePlayers, and a List<String> to it, I'll call this CandidateNames, and a List<Player>, I'll call this PlayersOnVote
When the event Start Vote is received, check if the local player has the role Candidate
If they do have the role, dont let them vote, it would be unfair letting candidates votes
If they dont have the role, send the event CandidateChoices to local, with CandidatePlayers being Get All Players With Role (Candidate), Candidate Names being a blank List Create, and PlayersOnVote being Get All Players
When the event Candidate Choices is received, run a For Each on the received CandidatePlayers
For each item, add their name To String to CandidateNames
When the For Each is done, run a Prompt Multiple Choice Player on CandidateNames
When the prompt is complete, use an Execution Integer Switch on Choice Index
If the result is -1, Set PlayersAnswered to PlayersAnswered + 1
If the result is 1, set the variable Candidate 1 Votes to Candidate 1 Votes + 1, Set PlayersAnswered to PlayersAnswered + 1
If the result is N, set the variable Candidate N Votes to Candidate N Votes + 1, Set PlayersAnswered to PlayersAnswered + 1
This is message (1/2), running out of space