Verse Library verse

01 Snippet

Custom device that tracks player votes, calculates the winning option, and handles game state selection.

extracted-snippets/community/snippets/2rrO/fortnite-voting-system/01-snippet.verse

# Source URL: https://dev.epicgames.com/community/snippets/2rrO/fortnite-voting-system
# Local doc:  epic-docs/community/snippets/2rrO/fortnite-voting-system.md
  using { /Fortnite.com/Devices }
  using {/Fortnite.com/Playspaces}
  using {/Fortnite.com/Characters}
  using { /Verse.org/Simulation }
  using { /UnrealEngine.com/Temporary/Diagnostics }
  # See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
  # A Verse-authored creative device that can be placed in a level
  vote_manager_device := class(creative_device):
  var CurrentClassVotes : [player]int = map{}
  @editable TotalClassCount : int = 4
  @editable VoteClassOptionDevices : []vote_class_option_device = array{}
  # Runs when the device is started in a running game
  OnBegin<override>()<suspends>:void=
  return
  GetWinnerAndSetClass(): void =
  WinningClass := GetWinningClass()
  SelectWinningClassAndSend(WinningClass)
  VoteForClass(AgentIn : agent, ClassIn : int):void =
  if (Player := player[AgentIn]):
  var NewMap : [player]int = map{}
  if (CurrentClassVotes[Player]):
  for (Key -> Value : CurrentClassVotes, Key <> Player):
  if {set NewMap[Key] = Value}
  if {set NewMap[Player] = ClassIn}
  set CurrentClassVotes = NewMap
  else:
  if {set CurrentClassVotes[Player] = ClassIn}
  return

Sign in free to read the full source 🌴

This Verse Library file is members-only. Create a free account to view the complete source and download the .verse file.

Sign in with Discord

Comments

    Sign in to vote, comment, or suggest an edit. Sign in