func(player: player, channel: int): void=
# Check if the signal came from our specific channel (Channel 1)
if channel == 1:
# Award the accolade to the player who triggered it.
# This is where the XP gets handed out.
Accolades.Award(player, "Slayer of Ice")
)
Award
methodAward<public>(Agent: agent): void
Awards the XP to `agent`.
- Module
- /Fortnite.com/Devices
- Declared in
- accolades_device
- Source
- fortnite
Used in
OnRedZoneEntered(Player : ?agent) : void =
set RedScore += 1
# Award the point through the Score Manager device wired to Team 1.
# score_manager_device.Activate() grants the score value configured on the device.
if (LivePlayer := Player?):
RedScoreManager.Activate(LivePlayer)
# Called whenever a player steps into the Blue capture zone.
OnBlueZoneEntered(Player : ?agent) : void =
Level Up! How to Give Players Awesome Rewards
verse-library
# # note: item_granter_device.GrantItem() accepts an agent
# and grants whatever item is set up in the device properties.
ItemGranter.GrantItem(Agent)
# 2. Give them an accolade (XP and badge).
# The accolade name and XP value are set in the editor.
# Calling Award() triggers the device for this agent.
# # note: accolades_device.Award() signals the device to
# display the configured accolade for the given agent.
Accolades.Award(Agent)
# 3. Print a debug message confirming the reward fired.
# Use a HUD Message device in the editor for in-game text.
The "Don't Make It Boring" Guide to Verse Design
verse-library
# Activates the vfx_creator_device wired to HitVFX.
HitVFX.Begin(Agent)
# 3. Update the local score counter
set Score = Score + 1
# 4. Award score through the score_manager_device
# This updates the player's in-game score on the HUD scoreboard.
ScoreManager.Activate(Agent)
# 5. Show feedback message via hud_message_device
# note: hud_message_device shows a preset message; to display
# dynamic text you change the Message property in the editor
GamePlay / Checkpoint Device
verse-source
if (IsFirst?):
# Award points for first unlock
ScoreManager.SetScoreAward(FirstUnlockPoints)
ScoreManager.Activate(RewardedAgent)
# Award XP for first unlock
AccoladesFirstPlayer.Award(RewardedAgent)
else:
VhsSystem / Vhs Controller Device
verse-source
# Award points via score system - skip if replaying a broadcast
if (Session.HasCompletedBroadcast = false):
if(AwardBroadcastScore[Agent, ScoreResult]):
if (EnableDebug?):
Logger.Print("Awarded {ScoreResult.TotalScore} points to player via score system")
VhsSystem / Vhs Scoring
verse-source
# Award score to player using existing score_data system
AwardScoreToPlayer<public>(Agent : agent, Result : vhs_score_result)<transacts><decides> : void =
PlayerData := GetPlayerData[Agent]
# Add to player's total score
set PlayerData.SessionData.ScoreData.Score += Result.TotalScore
# Track VHS-specific achievement
set PlayerData.SessionData.ScoreData.Objective.ObjectivesCompleted += 1
# If victory, increment wins
if (Result.IsVictory?):
set PlayerData.SessionData.ScoreData.Wins += 1
Logger.Print("Awarded {Result.TotalScore} points to player (Total: {PlayerData.SessionData.ScoreData.Score})")
PlantSystem / Player Farming Progression
verse-source
# Award experience to player
AwardExperience<public>(Agent : agent, Amount : int)<transacts><decides>:void =
CheckPlayerInfoForPlayer[Agent]
if (PlayerInfo := PlayerInfoMap[Agent]):
NewXP := PlayerInfo.Experience + Amount
NewLevel := Min((NewXP / XPPerLevel) + 1, MaxLevel)
# Create updated player info
set PlayerInfoMap[Agent] = farming_player_info:
MakePlayerInfo<constructor>(PlayerInfo)
Experience := NewXP
Level := NewLevel
if (NewLevel > PlayerInfo.Level):
OnPlayerLevelUp(Agent, NewLevel)
XPDevice.AwardXP(Agent)
# Save progress after significant changes
SavePlayerData[Agent]
PlantSystem / Farming Game
verse-source
# Award XP
ProgressionSystem.AwardHarvestingXP(Agent)
# Grant rewards
AwardHarvestRewards(Agent, PlantType)
# Update score
JoustingGame / Jousting Score Controller
verse-source
# Award XP for the Team 1000 points per Category Win
if(WinnerScore > 0):
Controller.AwardTeamXP(Config.TeamXPPerVictoryPoint)
# Announce total victory points awarded to each team this round
Sleep(2.0) # Wait for individual announcements to complete
AnnounceRoundVictoryPointTotals()