Stat Creator is resetting Value for Players who Join In Progress

Summary

This is not about not showing UI on the HUD for Players who Join In Progress, that is separate issue. This is about resetting Value from Stat Creator (Values and Levels for JIP are available through Scoreboard and it is also possible to show them with Verse).

For example Player1 has Value 10 and Player2 has Value 20 from earlier session. If Player1 start new session, he will still have Value 10. But if Player2 will join his session, he will have Value 0 and not 20.

Resetting is happening only to Value from Stat Creator and Level is not affected by this (if Stat Creator is set up to have more Levels). So in another example we have Player3 who has Level 3 & Value 300 and Player4 who has Level 4 & Value 400. If now Player3 start new session, he will still have Level 3 & Value 300. But if Player4 will join his session, he will still have Level 4, but Value 0.

It is happening every time in a Playtest and also in a Live version of a map. It is about a fact if someone will join a session in progress. In that case his Value is reset every time. But if the player has some Value and then start new session, he will keep his Value normally and he will lose it only when he will join some other session in progress.

I even tried to set “Load” function of Stat Creator to all Player Spawners, but it had no effect on that.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Devices

Steps to Reproduce

Relevant settings:
Selected Team: Any
Selected Class: Any
Scope: Player
Use Persistence: On
Auto Save: On
Auto Load: On

Expected Result

Players who Join In Progress will enter the session with their Value from earlier session if they played the map before.

Observed Result

Players who Join In Progress will enter the session with their Value reset to 0 every time (only their Level is loaded if they progressed to a higher Level before).

Platform(s)

PC/Windows

Island Code

7121-1251-3865

1 Like

This is happening to me too. Is there any way to fix it?

Well, I have some new info about this. It is still doing that in live version of my island (which I finished and uploaded 8 hours ago), but in my newly created private versions it is not happening anymore while I am doing a Playtest with another account, which is for the first time since I created the system for leveling up with Stat Creator in this island soon after Update v33.00 went live.

But only changes that I did in last few hours is that I changed 1 screenshot in the map (which should have no effect on this), renamed few devices in connection with Stat Creator so they don’t have “XP” in their names anymore (which also should have no effect on this) and then I changed few settings on these devices, but after some testing I changed them back to the values that they had before. So I don’t understand why it is now OK in all new Private versions that I am doing right now.

I made a new version of that island public and it is not happening in a Live session either, so now it is fixed for me. If someone else is having this issue, I recommend to just delete Stat Counters and then insert them into your project and configure them again if you need them. Stat Counters have a function to set Value of 0 on some event which would explain it, but I did not have them configured in that way and also in a way that they would affect only Players who Join In Progress and not all Players (I don’t see any standard settings that could be doing this even on purpose). Right now I removed all Stat Counters from that island becouse at this moment I only need functions that could be done with Stat Creator itself and with Stat Powerups.

I added Stat Creator Device in another map and I had the same problem like I mentioned in the first post (in private and also public versions), that its values were resetting for Players who Join In Progress. I tried to delete Stat Counters and add them again, but it did not solve the issue. After a lot of testing I figured out that when I set to display not only its Levels, but also its Values in Scoreboard in Island Settings, it suddenly starts working every time (I tested it in many private versions of 3 maps and also in 2 public versions of them).

Then I tried it in a situation where there was only 1 Stat Creator and no Stat Counter to modify or track its stats (they were increased only with 1 Stat Powerup), there was no Verse code in connection with it to display its values like in previous maps and attempts and it was not included in Scoreboard in Island Settings, so its stats were displaying only in default widget which is currently not visible for JIP Players. And it was happening as well even in this default situation.

To see its data in a scenario like that you have to gain some points to increase the stats, leave the session, then start a new session where you would be alone to see Values and Levels to verify that you actually have some stats, then leave the session, then join some session in progress that was started by some other player (which will in fact reset your stats, but you will not see them in this default scenario), then leave the session and start new session again to finally see and verify, if you still have some Values and Levels or not after you Joined In Progress in previous session.

I also tried to use 2 Stat Creator devices at the same time for tracking and changing 2 sets of points for different actions (and with different rules) and it was happening as well. When I set to have in Scoreboard only Values and Levels of first Stat Creator, the JIP Player still had its stats from earlier session, but he lost the stats of second Stat Creator that was not present in Scoreboard. And when I added to Scoreboard also Values and Levels of second Stat Creator, only then the JIP Player had stats for both of them when he joined new session which was in progress. But you can only have a maximum of 5 different informations in Scoreboard, so this fix will make posssible to use only 2 different Stat Creator devices.

I have tried it in 3 different maps and in so many different versions and individual attempts, that I can say that it is not just a coincidence. And this was probably also the thing that fixed this issue in my first map (mentioned in the first post), becouse now I also have there both Values and Levels in Scoreboard and I remember that I added it to Scoreboard only after some time (it was not there from the beginning). I just didn’t think that adding to display it in Scoreboard could be a factor for some data to be reset.

There is some issue with initialization of these data when Player Join In Progress. We are already waiting for a fix to display stats of Stat Creator devices on the HUD for JIP Players, so that could fix this problem as well, but maybe not. Maybe this resetting issue could be also fixed by some Verse code in “OnBegin” section, but I don’t know what code would do that.

Just wanted to bump this post with a new script I found, unsure how this would help though…anybody have any ideas?

I saw this “fix” earlier too, but even if it works, it also creates new issue that every time some new player would join your island, whole stat system based on that stat creator would be disabled for 1.2 seconds. That sounds like a very short time, but if you have a map for a lot of players and many of them are joining and leaving over time, then it could be disabled in a short interval when some player for example finished some quest or defeated some boss, so he/she will not get any points for it. So it is not a viable solution to this problem at all.

I couldnt agree more

Many things creators need to find work arounds for but something like this is an epic issue and needs resolving

The tracker and time ui also need doing

They need to change how they test things being released as every creator knows to check join in progress players in a map they make so i dnt get why this eludes epic games

Its ok tho as br and reload ect dont allow join in progress so its no big issue just for all us little creators is it a nightmare

I am curious the idea behind the script though? The stat device is not even called, and I am unsure how the mostly depracated channel device could do anything that would solve this issue? I’m guessing it uses channel signal events to ‘re’ intialize the stat device when a player JIP? if this is the case, wouldnt it not be easier to just use the actual devices load call on a per player basis instead of relying on the buggy auto load option? Also theoretically, couldnt one avoid the potential issues you mentioned by changing the scope of the call to only affect the JIP agent’s arguement? As in

FixJIP(Agent:agent):void=
    Self.DoSomething()

instead of the way they have it, as you mentioned- would be global

FixJIP(Agent:agent):void=
    DoSomething()

I’m only of intermediate knowledge, but curious about this so any insight is appreciated!

FORT-858026 has been created and its status is ‘Unconfirmed’. This is now in a queue to be reproduced and confirmed.