its two codes that work together.
#Made by Oleszyk
using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Verse.org/Simulation }
using { /Verse.org/Random }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/UI }
using { /Fortnite.com/UI }
using { /UnrealEngine.com/Temporary/SpatialMath}
using { /Verse.org/Colors }
using { /Verse.org/Colors/NamedColors }
using { /Verse.org/Simulation/Tags }
using { /Verse.org/Assets }
RankProgressBar := class():
ProgressBarColorBase : color_block = color_block{
DefaultColor := MakeColorFromHex(“000000”)
DefaultDesiredSize := vector2{X:= 202.0, Y := 43.0}}
var ProgressBarColorTop<private> : color_block = color_block{}
var Overlay<private> : overlay = overlay{}
PBarTitleTextBlock<private> : text_block = text_block{DefaultTextColor := MakeColorFromHex("FFFFFF")}
HPTitleText<private><localizes>(HPText : string) : message = "{HPText}"
Init(Current : int, Goal : int):void=
PBarTitleTextBlock.SetText(HPTitleText("{Current}/{Goal}"))
UpdateWidthAndText(iCurrent : int, Goal : int):void=
var NewCurrent : float = iCurrent * 1.0
var NewGoal : float = Goal * 1.0
RankPercentage := NewCurrent / NewGoal
BarSize := ProgressBarColorBase.DefaultDesiredSize
NewHealthBarWidth := BarSize.X * RankPercentage
if (Current := float[NewGoal], Total := float[NewGoal]):
PBarTitleTextBlock.SetText(HPTitleText("{iCurrent}/{Goal}"))
UpdateHealthBar(NewHealthBarWidth)
ShowUIForPlayer(Player : player):void=
if (PlayerUI := GetPlayerUI[Player]):
if (Fortchar := Player.GetFortCharacter[]):
if (Instigator : agent = Fortchar.GetAgent[]):
PlayerUI.AddWidget(CreateUI(Instigator))
UpdateHealthBar(NewWidth : float):void=
Overlay.RemoveWidget(PBarTitleTextBlock)
Overlay.RemoveWidget(ProgressBarColorTop)
set ProgressBarColorTop = CreateTopHealthBar(NewWidth)
Overlay.AddWidget(CreateOverlaySlot(ProgressBarColorTop, horizontal_alignment.Left))
Overlay.AddWidget(CreateOverlaySlot(PBarTitleTextBlock,horizontal_alignment.Center))
CreateOverlaySlot<private>(TheWidget : widget, HAlignment : horizontal_alignment):overlay_slot=
overlay_slot:
Widget := TheWidget
HorizontalAlignment := HAlignment
CreateTopHealthBar<private>(Width: float):color_block=
ColorBlock := color_block{
DefaultColor := MakeColorFromHex("00eeff")
DefaultDesiredSize := vector2{X:= Width, Y := 43.0}}
set ProgressBarColorTop = ColorBlock
CreateOverlay<private>(Agent : agent) : overlay=
TheOverlay := overlay:
Slots := array:
overlay_slot:
Widget := ProgressBarColorBase
overlay_slot:
Widget := CreateTopHealthBar(1200.0)
overlay_slot:
Widget := PBarTitleTextBlock
set Overlay = TheOverlay
CreateUI<private>(Agent : agent) : canvas=
TheCanvas : canvas = canvas:
Slots := array:
canvas_slot:
Anchors := anchors{Minimum := vector2{X := 0.175149, Y := 0.833333}, Maximum := vector2{X := 0.175149, Y := 0.833333}}
Offsets := margin{Top := -20.0, Left := -96.0, Right := 0.0, Bottom := 0.0}
Alignment := vector2{X := 0.0, Y := 0.0}
Widget := stack_box:
Orientation := orientation.Vertical
Slots := array:
stack_box_slot:
Widget := CreateOverlay(Agent)
return TheCanvas
AllSpawners := class(tag){}
RankSystem := class(creative_device):
var PlayerMap : [agent]PlayerVariable = map{}
#Change names to your texture ones
@editable EliminationTracker : tracker_device = tracker_device{}
Unreanked : texture = ImagesRankj.Unranked
Bronze1 : texture = ImagesRankj.Bronze_1
Bronze2 : texture = ImagesRankj.Bronze_2
Bronze3 : texture = ImagesRankj.Bronze_3
Silver1 : texture = ImagesRankj.Silver_1
Silver2 : texture = ImagesRankj.Silver_2
Silver3 : texture = ImagesRankj.Silver_3
Gold1 : texture = ImagesRankj.Gold_1
Gold2 : texture = ImagesRankj.Gold_2
Gold3 : texture = ImagesRankj.Gold_3
Plat1 : texture = ImagesRankj.Platinum_1
Plat2 : texture = ImagesRankj.Platinum_2
Plat3 : texture = ImagesRankj.Platinum_3
Diamond1 : texture = ImagesRankj.Diamond_1
Diamond2 : texture = ImagesRankj.Diamond_2
Diamond3 : texture = ImagesRankj.Diamond_3
Elite : texture = ImagesRankj.ELITE_1
Champion : texture = ImagesRankj.Champ_1
Unreal : texture = ImagesRankj.Unreal_1
InitSpawners():void=
Spawners := GetCreativeObjectsWithTag(AllSpawners{})
for (Obj : Spawners):
if (Spawner := player_spawner_device[Obj]):
Spawner.SpawnedEvent.Subscribe(OnPlayerAdded)
# Runs when the device is started in a running game
OnBegin<override>()<suspends>:void=
# TODO: Replace this with your code
InitSpawners()
GetPlayspace().PlayerRemovedEvent().Subscribe(OnPlayerRemoved)
Sleep(0.3)
AlllPlayers := GetPlayspace().GetPlayers()
for(Player : AlllPlayers):
OnPlayerAdded(Player)
OnPlayerAdded(Agent : agent):void=
if (PlayerObj := player[Agent]):
if (PlayerExists := PlayerMap[Agent]):
else:
PV : PlayerVariable = PlayerVariable{AgentOB := Agent}
PV.RankBar.Init(PV.GetCurrentValue(), PV.GetCurrentGoal())
PV.RankBar.ShowUIForPlayer(PlayerObj)
spawn{MakeCurrentValue(Agent)}
spawn{RankedLoopHudMessage(Agent, PlayerObj)}
option:
set PlayerMap[Agent] = PV
MakeCurrentValue(Agent : agent)<suspends>:void=
loop:
Sleep(0.01)
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentValue(EliminationTracker.GetValue(Agent))
PV.RankBar.UpdateWidthAndText(PV.GetCurrentValue(), PV.GetCurrentGoal())
RankedLoopHudMessage(Agent : agent, Player : player)<suspends>:void =
RankTextureBlock : texture_block = texture_block{DefaultImage := Unreanked, DefaultDesiredSize := vector2{X := 390.0, Y := 130.0}}
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >0 ):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(10)
RankTextureBlock.SetImage(Unreanked)
NewCanvas : canvas = canvas:
Slots := array:
canvas_slot:
Widget := RankTextureBlock
Anchors := anchors{Minimum := vector2{X := 0.15, Y := 0.8}, Maximum := vector2{X := 0.15, Y := 0.8}}
Offsets := margin{Top := -60.0,Left := -212.0, Right :=0.0, Bottom :=0.0}
Alignment := vector2{X := 0.0, Y := 0.0}
if (PlayerUI := GetPlayerUI[Player]):
PlayerUI.AddWidget(NewCanvas)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 10):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(20)
RankTextureBlock.SetImage(Bronze1)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 20 ):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(30)
RankTextureBlock.SetImage(Bronze2)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 30 ):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(50)
RankTextureBlock.SetImage(Bronze3)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 50):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(70)
RankTextureBlock.SetImage(Silver1)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 70 ):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(90)
RankTextureBlock.SetImage(Silver2)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 90):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(120)
RankTextureBlock.SetImage(Silver3)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 120):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(150)
RankTextureBlock.SetImage(Gold1)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 150):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(180)
RankTextureBlock.SetImage(Gold2)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 180):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(220)
RankTextureBlock.SetImage(Gold3)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 220):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(260)
RankTextureBlock.SetImage(Plat1)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 260):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(300)
RankTextureBlock.SetImage(Plat2)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 300):
if (CP : PlayerVariable = PlayerMap[Agent]):
CP.SetCurrentGoal(350)
RankTextureBlock.SetImage(Plat3)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 350):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(400)
RankTextureBlock.SetImage(Diamond1)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 400):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(450)
RankTextureBlock.SetImage(Diamond2)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 450):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(510)
RankTextureBlock.SetImage(Diamond3)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 510):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(570)
RankTextureBlock.SetImage(Elite)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 570):
if (PV : PlayerVariable = PlayerMap[Agent]):
PV.SetCurrentGoal(640)
RankTextureBlock.SetImage(Champion)
break
loop:
Sleep(0.01)
if (EliminationTracker.GetValue(Agent) >= 640):
if (PV : PlayerVariable = PlayerMap[Agent]):
RankTextureBlock.SetImage(Unreal)
break
OnPlayerRemoved(PlayerLeft : agent):void =
if (Agent := agent[PlayerLeft]):
if (ActualPlayer := PlayerMap[Agent]):
var TempAllPlayersMap : [agent]PlayerVariable = map{}
for (Key -> Value : PlayerMap, Key <> Agent):
set TempAllPlayersMap = ConcatenateMaps(TempAllPlayersMap, map{Key => Value})
set PlayerMap = TempAllPlayersMap
Second code
#Made by Oleszyk
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/Characters }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /UnrealEngine.com/Temporary/UI }
using { /Verse.org/Assets }
PlayerVariable := class():
AgentOB : agent
RankBar : RankProgressBar = RankProgressBar{}
var CurrentGoal : int = 10
var CurrentValue : int = 0
GetCurrentGoal() : int =
return CurrentGoal
SetCurrentGoal(Change : int) : int =
set CurrentGoal = Change
GetCurrentValue() : int =
return CurrentValue
SetCurrentValue(Change : int) : int =
set CurrentValue = Change