OmniONSScoring
- captainsnarf
- Posts: 2713
- Joined: Tue Jul 06, 2021 1:51 pm
- Location: Washington
- Server Sponsor: Yes
- Server Admin: Yes
- Contact:
Re: OmniONSScoring
Unregs happened again last night on Pandemonium I'm really not sure why though. Maybe because there are so many nodes? The changes above seemed to fix it for most maps, but Pandemonium was definitely broken after the first round. This is a tough bug to squash.
- captainsnarf
- Posts: 2713
- Joined: Tue Jul 06, 2021 1:51 pm
- Location: Washington
- Server Sponsor: Yes
- Server Admin: Yes
- Contact:
Re: OmniONSScoring
I checked logs, it looks like that weird issue happened again after first round only
We did have some players rq after first round, I wonder if that did it
Code: Select all
Warning: MutOmniONSScoring ONS-Pandem)o(nium-V1.MutOmniONSScoring (Function OmniONSScoring.MutOmniONSScoring.MainCoreDestroyedOmniScoring:03C3) Accessed None 'PC'
Warning: MutOmniONSScoring ONS-Pandem)o(nium-V1.MutOmniONSScoring (Function OmniONSScoring.MutOmniONSScoring.MainCoreDestroyedOmniScoring:03CB) Accessed None
OmniONSScoring: C.RoundHasEnded called for
Warning: MutOmniONSScoring ONS-Pandem)o(nium-V1.MutOmniONSScoring (Function OmniONSScoring.MutOmniONSScoring.MainCoreDestroyedOmniScoring:03F5) Accessed None 'C'
- pooty
- Posts: 4535
- Joined: Sat Apr 03, 2021 10:22 am
- Location: Michigan
- Server Sponsor: Yes
- Server Admin: Yes
Re: OmniONSScoring
Possibly. That function is identical to the normal game function with the exception of two lines....where it sets the value for the score to a config value. All the logic around RoundhasEnded is exactly the same as the one here.We did have some players rq after first round, I wonder if that did it
https://ericdives.com/UT2004-UnCodex/So ... tgame.html
Code: Select all
//round has ended
for (C = Level.ControllerList; C != None; C = C.NextController)
{
PC = PlayerController(C);
if (PC != None)
{
PC.ClientSetBehindView(true);
PC.ClientSetViewTarget(PowerCores[FinalCore[T]]);
PC.SetViewTarget(PowerCores[FinalCore[T]]);
if (!bGameEnded)
PC.ClientRoundEnded();
}
if (!bGameEnded)
C.RoundHasEnded();
}
They are just warnings though and usually it just skips the code if the object is none.
Now we do have the view not getting set right, which was working, but there was a change we made in UTComp that affected it. Doesn't seem to bother anything end of round when the view isn't right.. it doesn't crash (yay!) and next round starts..
- captainsnarf
- Posts: 2713
- Joined: Tue Jul 06, 2021 1:51 pm
- Location: Washington
- Server Sponsor: Yes
- Server Admin: Yes
- Contact:
Re: OmniONSScoring
New version! download here OmniONSScoring_1.2.zip
Changes
- Move MainCoreDestroyed to a state transition which ignores Tick.
- Call Level.Disable('Tick') and Level.Enable('Tick') before/after MainCoreDestroyed logic.
I tested it out and seems to work ok. Not sure if it fixes the problem. The idea is that maybe disabling Tick will keep the ControllerList from getting modified while inside that function by an external event.
Changes
- Move MainCoreDestroyed to a state transition which ignores Tick.
- Call Level.Disable('Tick') and Level.Enable('Tick') before/after MainCoreDestroyed logic.
I tested it out and seems to work ok. Not sure if it fixes the problem. The idea is that maybe disabling Tick will keep the ControllerList from getting modified while inside that function by an external event.
- pooty
- Posts: 4535
- Joined: Sat Apr 03, 2021 10:22 am
- Location: Michigan
- Server Sponsor: Yes
- Server Admin: Yes
Re: OmniONSScoring
Did you load it on the server?
- captainsnarf
- Posts: 2713
- Joined: Tue Jul 06, 2021 1:51 pm
- Location: Washington
- Server Sponsor: Yes
- Server Admin: Yes
- Contact:
Re: OmniONSScoring
nope I didn't have time this morning
- pooty
- Posts: 4535
- Joined: Sat Apr 03, 2021 10:22 am
- Location: Michigan
- Server Sponsor: Yes
- Server Admin: Yes
Re: OmniONSScoring
Loaded on the server.