★ Smart Scoreboard 102p ★ [Updated 15/06/21]

Search, find and discuss about Mutators!
ProAsm
Skilled
Posts: 191
Joined: Sun Sep 29, 2013 7:12 am

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by ProAsm » Wed May 05, 2021 12:19 pm

Here is the source code for SmartSB's DeathMatch HUD.
If you understand UTScript you'll see SSB has absolutely nothing to do with any Rank or Spread.
Line 112 calls the Botpack.ChallengeHUD where the Rank and Spread is done.
The score is also part of the Powerups around line 432.
SmartSBHudDM.zip
You do not have the required permissions to view the files attached to this post.

User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by TankBeef » Wed May 05, 2021 4:53 pm

ProAsm wrote:
Wed May 05, 2021 12:19 pm
Here is the source code for SmartSB's DeathMatch HUD.
If you understand UTScript you'll see SSB has absolutely nothing to do with any Rank or Spread.
Line 112 calls the Botpack.ChallengeHUD where the Rank and Spread is done.
The score is also part of the Powerups around line 432.

SmartSBHudDM.zip
Ok, that may be true, just saying that from my experience, so far I have been unable to reproduce the issue without the SmartSB enabled. I am on 469b, btw. A report was opened on github, not by me, but I did comment. It was labeled invalid. Here is the link: https://github.com/OldUnreal/UnrealTour ... issues/208
And here is the explanation given:
This probably happens because the player score and the player frag count are not necessarily the same (this can happen due to suicides, for example) and because the score and frag count update independently of each other. The reason why they don't always update at the same time is that the base engine only keeps track of the player score, whereas SmartCTF/SmartDM tracks the player frag count. The spread is calculated based on player scores (and not based on frags).

In other words, this is not really a bug. If you want spreads based on frag counts, SmartCTF/DM will need an update.
So, is the SmartSB spread based on frags, or on player score?

User avatar
f7r
Average
Posts: 41
Joined: Mon Oct 19, 2020 6:53 pm

Re: ★ Smart Scoreboard 102a ★ [Updated 09/01/20]

Post by f7r » Wed May 05, 2021 8:56 pm

TankBeef wrote:
Wed May 05, 2021 3:45 am
BassXX wrote:
Mon Jan 11, 2021 3:47 pm
Also the Rank/Spread Display Freezes after some time, not displaying true Rank/Spread Info anymore
Yes, I also have that problem, still with this latest version 102i :?
Hey! I have that problem too. I am on 436 and 101xa.

User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

Re: ★ Smart Scoreboard 102a ★ [Updated 09/01/20]

Post by TankBeef » Wed May 05, 2021 9:10 pm

f7r wrote:
Wed May 05, 2021 8:56 pm
TankBeef wrote:
Wed May 05, 2021 3:45 am
BassXX wrote:
Mon Jan 11, 2021 3:47 pm
Also the Rank/Spread Display Freezes after some time, not displaying true Rank/Spread Info anymore
Yes, I also have that problem, still with this latest version 102i :?
Hey! I have that problem too. I am on 436 and 101xa.
Ok, so then it is not a 469b issue. I will have to check the log next time it occurs, maybe there is a clue as to how it is interacting with this Botpack.ChallengeHUD thing.

User avatar
f7r
Average
Posts: 41
Joined: Mon Oct 19, 2020 6:53 pm

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by f7r » Wed May 05, 2021 9:19 pm

It seems to me that this happens only in the DM. Not TDM or CTF. But I go mostly DM.

User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by TankBeef » Wed May 05, 2021 9:26 pm

f7r wrote:
Wed May 05, 2021 9:19 pm
It seems to me that this happens only in the DM. Not TDM or CTF. But I go mostly DM.
Correct

ProAsm
Skilled
Posts: 191
Joined: Sun Sep 29, 2013 7:12 am

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by ProAsm » Sat May 08, 2021 10:42 am

This is how UT calculates the Rank and Spread taken from Botpack.ChallengeHUD.
It's been like this since dot.

Code: Select all

function UpdateRankAndSpread()
{
	local PlayerReplicationInfo PRI;
	local int HighScore;
	local int i, j;

	PlayerCount = 0;                  // clear all varaibles
	HighScore = -100;
	bTiedScore = False;
	Rank = 1;                       
	for (i=0; i<32; i++)              // 32 possible players
	{
		PRI = PlayerOwner.GameReplicationInfo.PRIArray[i];                 
		if ( (PRI != None) && (!PRI.bIsSpectator || PRI.bWaitingPlayer) )
		{
			PlayerCount++;                                                    // PRI is a player so count it
			if (PRI != PawnOwner.PlayerReplicationInfo)                       // if PRI is not you
			{
				if (PRI.Score > PawnOwner.PlayerReplicationInfo.Score)        // if PRI's score is greater than yours
					Rank += 1;                                                // raise the Rank by 1
				else if (PRI.Score == PawnOwner.PlayerReplicationInfo.Score)  // however if the players score is the same as yours
				{
					bTiedScore = True;                                        // make it a tie
					if (PRI.Deaths < PawnOwner.PlayerReplicationInfo.Deaths)  // if players deaths is less than yours
						Rank += 1;                                            // raise the Rank by 1
					else 
					if (PRI.Deaths == PawnOwner.PlayerReplicationInfo.Deaths) // however if the players deaths is the same as yours
						if (PRI.PlayerID < PawnOwner.PlayerReplicationInfo.PlayerID) // and if players ID is less than yours
							Rank += 1;                                               // raise the Rank by 1
				}
				if (PRI.Score > HighScore)                                    // if players score is higher than HighScore
					HighScore = PRI.Score;                                    // make them the same
			}
		}
	}
	Lead = int(PawnOwner.PlayerReplicationInfo.Score) - HighScore;            // the Lead is your score minus the calculated HighScore.
}

//  Rank Displays
    Canvas.DrawText(" "$Rank@"/"@PlayerCount, False); // if a tie color it Red
    
//  Spread Display
	if (Lead > 0)
		Spread = SpreadString$" +"$Lead;   // SpreadString = "SPREAD:"
	else
		Spread = SpreadString$" "$Lead;
	Canvas.DrawText(Spread, False);


User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by TankBeef » Sat May 08, 2021 2:10 pm

ProAsm wrote:
Sat May 08, 2021 10:42 am
This is how UT calculates the Rank and Spread taken from Botpack.ChallengeHUD.
It's been like this since dot.

Code: Select all

function UpdateRankAndSpread()
{
	local PlayerReplicationInfo PRI;
	local int HighScore;
	local int i, j;

	PlayerCount = 0;                  // clear all varaibles
	HighScore = -100;
	bTiedScore = False;
	Rank = 1;                       
	for (i=0; i<32; i++)              // 32 possible players
	{
		PRI = PlayerOwner.GameReplicationInfo.PRIArray[i];                 
		if ( (PRI != None) && (!PRI.bIsSpectator || PRI.bWaitingPlayer) )
		{
			PlayerCount++;                                                    // PRI is a player so count it
			if (PRI != PawnOwner.PlayerReplicationInfo)                       // if PRI is not you
			{
				if (PRI.Score > PawnOwner.PlayerReplicationInfo.Score)        // if PRI's score is greater than yours
					Rank += 1;                                                // raise the Rank by 1
				else if (PRI.Score == PawnOwner.PlayerReplicationInfo.Score)  // however if the players score is the same as yours
				{
					bTiedScore = True;                                        // make it a tie
					if (PRI.Deaths < PawnOwner.PlayerReplicationInfo.Deaths)  // if players deaths is less than yours
						Rank += 1;                                            // raise the Rank by 1
					else 
					if (PRI.Deaths == PawnOwner.PlayerReplicationInfo.Deaths) // however if the players deaths is the same as yours
						if (PRI.PlayerID < PawnOwner.PlayerReplicationInfo.PlayerID) // and if players ID is less than yours
							Rank += 1;                                               // raise the Rank by 1
				}
				if (PRI.Score > HighScore)                                    // if players score is higher than HighScore
					HighScore = PRI.Score;                                    // make them the same
			}
		}
	}
	Lead = int(PawnOwner.PlayerReplicationInfo.Score) - HighScore;            // the Lead is your score minus the calculated HighScore.
}

//  Rank Displays
    Canvas.DrawText(" "$Rank@"/"@PlayerCount, False); // if a tie color it Red
    
//  Spread Display
	if (Lead > 0)
		Spread = SpreadString$" +"$Lead;   // SpreadString = "SPREAD:"
	else
		Spread = SpreadString$" "$Lead;
	Canvas.DrawText(Spread, False);

But there has to be something, somewhere. It is not my imagination. At least three players apart from myself have confirmed the spread freeze, and it is apparently only in deathmatch mode, on the others it works fine. It is not 469 either, cause players on 436 are experiencing it also. I don't know what is triggering this yet, but I will be keeping an eye on the logs to see if something comes up.

ProAsm
Skilled
Posts: 191
Joined: Sun Sep 29, 2013 7:12 am

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by ProAsm » Sat May 08, 2021 8:18 pm

Ok, try this out and see if its any better as I've added the Rank/Spread internally now.
If it's still not correct, then lets see if we can redo it somehow.
Exactly how should it work ?
You guys come up with some formula and I'll see if I can implement it :)
Oh and yes, Rank and Spread only works in DeathMatch and LastManStanding.

Changes to 102j
-------------------
Fixed CTF4 game captures and returns.
Fixed CTF4 multi flag displays.
Fixed MultiCTF captures and returns.
Added Autoscaling to Menus.
Added Rank/Spread displays.
Adjusted Powerups display.
ssb102j.zip
You do not have the required permissions to view the files attached to this post.

User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

Re: ★ Smart Scoreboard 102i ★ [Updated 12/04/21]

Post by TankBeef » Sat May 08, 2021 8:52 pm

ProAsm wrote:
Sat May 08, 2021 8:18 pm
Ok, try this out and see if its any better as I've added the Rank/Spread internally now.
If it's still not correct, then lets see if we can redo it somehow.
Exactly how should it work ?
You guys come up with some formula and I'll see if I can implement it :)
Oh and yes, Rank and Spread only works in DeathMatch and LastManStanding.

Changes to 102j
-------------------
Fixed CTF4 game captures and returns.
Fixed CTF4 multi flag displays.
Fixed MultiCTF captures and returns.
Added Autoscaling to Menus.
Added Rank/Spread displays.
Adjusted Powerups display.

ssb102j.zip
Thank you, downloading now. Sure, will let you know if something comes up. The scoreboard is fantastic, love it, I really appreciate your efforts, just want to see what is going on with this small thing.
EDIT: Yes!!! Played a few matches, so far so good :tu: @f7r, try this update.

User avatar
Que
Adept
Posts: 396
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: ★ Smart Scoreboard 102j ★ [Updated 09/05/21]

Post by Que » Sun May 09, 2021 6:44 am

ProAsm wrote:
Sat May 08, 2021 8:18 pm
Ok, try this out and see if its any better as I've added the Rank/Spread internally now.

Changes to 102j
-------------------
Fixed CTF4 game captures and returns.
Fixed CTF4 multi flag displays.
Fixed MultiCTF captures and returns.
Added Autoscaling to Menus.
Added Rank/Spread displays.
Adjusted Powerups display.

ssb102j.zip
Updated First Post with Latest Beta.
Jump in and have a few games on our Servers >>>
Show
Image
Image
Image
*Join our Discord Here.*

User avatar
Que
Adept
Posts: 396
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: ★ Smart Scoreboard 102k ★ [Updated 20/05/21]

Post by Que » Thu May 20, 2021 3:23 am

//UPDATED 102K//

Code: Select all

Changes to 102k
---------------
Added back SCORE: in DM and LMS.
Added Rank/Spread refreshing.
Image

hopefully resolved the issue when spread would freeze.
Jump in and have a few games on our Servers >>>
Show
Image
Image
Image
*Join our Discord Here.*

User avatar
[rev]rato.skt
Adept
Posts: 364
Joined: Mon Aug 16, 2010 1:09 pm

Re: ★ Smart Scoreboard 102k ★ [Updated 20/05/21]

Post by [rev]rato.skt » Thu May 20, 2021 3:49 am

good i go test :D
Brazilian Server:
Classic madruga.utbr.tk:7777
Duel x1.utbr.tk:6666
UT2004 2004.utbr.tk:5555

User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

Re: ★ Smart Scoreboard 102k ★ [Updated 20/05/21]

Post by TankBeef » Sun May 23, 2021 6:34 pm

Sorry for saying this, but I am still experiencing the spread freeze with the 102k. :? I took some shots.

Spread:0 Rank:2/6 Real Rank:2
Shot01734.png
Shot01735.png
Spread:0 Rank:2/6 Real Rank:3
Shot01737.png
Shot01738.png
Spread:0 Rank:2/6 Real Rank:4
Shot01739.png
Shot01740.png
You do not have the required permissions to view the files attached to this post.

ProAsm
Skilled
Posts: 191
Joined: Sun Sep 29, 2013 7:12 am

Re: ★ Smart Scoreboard 102k ★ [Updated 20/05/21]

Post by ProAsm » Sun May 23, 2021 7:19 pm

TankBeef wrote:
Sun May 23, 2021 6:34 pm
Sorry for saying this, but I am still experiencing the spread freeze with the 102k. :? I took some shots.
Do me a favour, play a map where the UDamage (Amplifier) is accessible.
Then when the Spread freezes, go pickup the amplifier and check if the Spread unfreezes.