set AmpPlayerLevel = AmpPlayerLevel + 1
Print("Level + 1")
type or paste code here
you would need to post more of the code to see what’s going on with it
var AmpPlayerLevel<private> : int = 1
var XPPlayers : [player]experience_manager = map{}
OnBegin<override>()<suspends>:void=
Sleep(1.0)
if(AmpPlayerLevel = 1):
PowerUp1()
if(AmpPlayerLevel = 2):
PowerUp2()
if(AmpPlayerLevel = 3):
PowerUp3()
if(AmpPlayerLevel = 4):
PowerUp4()
if(AmpPlayerLevel = 5):
PowerUp5()
if(AmpPlayerLevel = 6):
PowerUp6()
loop:
Sleep(1.0)
Print("Level={AmpPlayerLevel}")
LevelReciever():void=
set AmpPlayerLevel = AmpPlayerLevel + 1
Print("Level + 1")
LevelUp() : void =
set CurrentXp = 0.0
set PlayerLevel = PlayerLevel + 1
Init(100.0 * PlayerLevel * 1.1)
LevelTransfer()
LevelTransfer() : void =
GameManagerDevice := game_manager_device{}
GameManagerDevice.LevelReciever(PlayerLevel)
DamageAmpDevice.LevelReciever()
Sometimes it increases the value by one and fires the level 2 event, but that is rare, once every 10 plays. BUT it only increases the value by +1 so level 2, then get’s stuck again?
It’s still really hard to follow what’s going on with this code, I don’t see how much of it connects with each other.
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 }
experience_manager := class():
Player:player
DamageAmpDevice : damage_amp_device = damage_amp_device{}
var TotalXp<private> : float = 1000.0
var CurrentXp<private> : float = 0.0
var PlayerLevel<public> : int = 1
var LevelWidget:text_block = text_block{DefaultTextColor := color{R:= 255.0, G:= 255.0, B:=255.0}}
var XpBarColorTop<private> : color_block = color_block{}
var Overlay<private> : overlay = overlay{}
XpBarColorBase<private> : color_block = color_block{
DefaultColor := MakeColorFromHex("3D3D3D")
DefaultDesiredSize := vector2{X:= 640.0, Y := 36.0}}
XpBarTitleTextBlock<private>:text_block=text_block{DefaultTextColor:=MakeColorFromHex("FFFFFF")}
XpTitleText<private><localizes>(XpText : string) : message = "{XpText}"
Init(LevelTotalXp: float) : void=
set TotalXp = LevelTotalXp
set CurrentXp = 0.0
XpBarTitleTextBlock.SetText(XpTitleText("Experience: {CurrentXp}/{TotalXp}"))
GainXp(XpAmount : float) : void =
set CurrentXp += XpAmount
if (CurrentXp >= TotalXp):
LevelUp()
XpPercentage := CurrentXp / TotalXp
BarSize := XpBarColorBase.GetDesiredSize()
NewXpBarWidth := BarSize.X * XpPercentage
if (Current := Int[CurrentXp], Total := Int[TotalXp]):
XpBarTitleTextBlock.SetText(XpTitleText("Experience: {Current}/{Total}"))
UpdateXpBar(NewXpBarWidth)
LevelUp() : void =
set CurrentXp = 0.0
set PlayerLevel = PlayerLevel + 1
Init(100.0 * PlayerLevel * 1.1)
LevelTransfer()
LevelTransfer() : void =
GameManagerDevice := game_manager_device{}
GameManagerDevice.LevelReciever(PlayerLevel)
DamageAmpDevice.LevelReciever()
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /Verse.org/Colors }
using { /Verse.org/Verse }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/UI }
using { /Fortnite.com/Characters }
using { /UnrealEngine.com/Temporary/UI }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Simulation }
using { /Verse.org/Simulation/Tags }
damage_amp_device := class(creative_device):
@editable DamageAmpDev1 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev2 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev3 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev4 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev5 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev6 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev7 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev8 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev9 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev10 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev11 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev12 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev13 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev14 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev15 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev16 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev17 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev18 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev19 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
@editable DamageAmpDev20 : damage_amplifier_powerup_device = damage_amplifier_powerup_device {}
var AmpPlayerLevel<private> : int = 1
var XPPlayers : [player]experience_manager = map{}
OnBegin<override>()<suspends>:void=
Sleep(1.0)
if(AmpPlayerLevel = 1):
PowerUp1()
if(AmpPlayerLevel = 2):
PowerUp2()
if(AmpPlayerLevel = 3):
PowerUp3()
if(AmpPlayerLevel = 4):
PowerUp4()
if(AmpPlayerLevel = 5):
PowerUp5()
if(AmpPlayerLevel = 6):
PowerUp6()
loop:
Sleep(1.0)
Print("Level={AmpPlayerLevel}")
Where would AmpPlayerLevel
get incremented in this?
First code block
var AmpPlayerLevel<private> : int = 1 <- INCREMENT HERE
var XPPlayers : [player]experience_manager = map{}
OnBegin<override>()<suspends>:void=
Sleep(1.0)
if(AmpPlayerLevel = 1):
PowerUp1()
if(AmpPlayerLevel = 2):
PowerUp2()
if(AmpPlayerLevel = 3):
PowerUp3()
if(AmpPlayerLevel = 4):
PowerUp4()
if(AmpPlayerLevel = 5):
PowerUp5()
if(AmpPlayerLevel = 6):
PowerUp6()
But that’s just where the variable is stored, where does the variable get changed?
Expanded view.
var AmpPlayerLevel<private> : int = 1
var XPPlayers : [player]experience_manager = map{}
OnBegin<override>()<suspends>:void=
Sleep(1.0)
if(AmpPlayerLevel = 1):
PowerUp1()
if(AmpPlayerLevel = 2):
PowerUp2()
if(AmpPlayerLevel = 3):
PowerUp3()
if(AmpPlayerLevel = 4):
PowerUp4()
if(AmpPlayerLevel = 5):
PowerUp5()
if(AmpPlayerLevel = 6):
PowerUp6()
loop:
Sleep(1.0)
Print("Level={AmpPlayerLevel}")
LevelReciever():void=
set AmpPlayerLevel = AmpPlayerLevel + 1 <- HERE
Print("Level + 1")
Try set AmpPlayerLevel += 1
. It’s the same goal, but written the standard cleaner way. Technically your method should work but I have never tried.
Replicate your issue in an isolated example. In doing that you will probably figure out what you’ve messed up, and if you don’t, you’ll have something you can put in a bug report instead.
I have change around the code a little bit, now instead calling the function to apply the damage modifier from the experience_manager. I get it to print all of the different Damage Amp Levels, but I can’t for the life of me get it to pick up the effect.
But it picks up on the OnBegin call.
LevelUp() : void =
set CurrentXp = 0.0
set PlayerLevel = PlayerLevel + 1
Init(100.0 * PlayerLevel * 1.1)
LevelTransfer()
LevelTransfer() : void =
if(PlayerLevel = 2):
DamageAmpDevice.PowerUp2()
if(PlayerLevel = 3):
DamageAmpDevice.PowerUp3()
if(PlayerLevel = 4):
DamageAmpDevice.PowerUp4()
OnBegin<override>()<suspends>:void=
DamageAmpDev1.Pickup()
PowerUp2(): void =
DamageAmpDev2.Pickup()
Print("Damage Amp 2 Picked up!")
PowerUp3(): void =
DamageAmpDev3.Pickup()
Print("Damage Amp 3 Picked up!")
PowerUp4(): void =
DamageAmpDev4.Pickup()
Print("Damage Amp 4 Picked up!")
I also use this at the top of the experience_manager
experience_manager := class():
Player:player
Solved with tags.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.