fix sorting of the Scorestable during the round
This commit is contained in:
		@@ -488,7 +488,6 @@ if (Round_ForceEndRound || Round_SkipPauseRound) {
 | 
				
			|||||||
		Match_RegistrationIsOpen = False;
 | 
							Match_RegistrationIsOpen = False;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Eliminate last players
 | 
							// Eliminate last players
 | 
				
			||||||
		Race::SortScores(Race::C_Sort_PrevRaceTime);
 | 
					 | 
				
			||||||
		declare Integer ParticipantsNb = GetParticipantsNb();
 | 
							declare Integer ParticipantsNb = GetParticipantsNb();
 | 
				
			||||||
		declare Integer AliveScoresNb = GetAliveScoresNb();
 | 
							declare Integer AliveScoresNb = GetAliveScoresNb();
 | 
				
			||||||
		declare Integer LossOfLifeNb = GetLossOfLifeNb(Match_CurrentRoundNb, AliveScoresNb);
 | 
							declare Integer LossOfLifeNb = GetLossOfLifeNb(Match_CurrentRoundNb, AliveScoresNb);
 | 
				
			||||||
@@ -842,7 +841,6 @@ Text GetScoreRemainingLivesText(CSmScore _Score) {
 | 
				
			|||||||
Void UpdateCustomRanking(Boolean _DisplayTimes) {
 | 
					Void UpdateCustomRanking(Boolean _DisplayTimes) {
 | 
				
			||||||
	declare Text[] AccountIdsToDisplay = [];
 | 
						declare Text[] AccountIdsToDisplay = [];
 | 
				
			||||||
	declare Text[][Text] CustomPoints = [];
 | 
						declare Text[][Text] CustomPoints = [];
 | 
				
			||||||
	declare Integer[Text] CustomTimes = [];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	declare Integer ParticipantsNb = GetParticipantsNb();
 | 
						declare Integer ParticipantsNb = GetParticipantsNb();
 | 
				
			||||||
	declare Integer AliveScoresNb = GetAliveScoresNb();
 | 
						declare Integer AliveScoresNb = GetAliveScoresNb();
 | 
				
			||||||
@@ -854,10 +852,10 @@ Void UpdateCustomRanking(Boolean _DisplayTimes) {
 | 
				
			|||||||
		AccountIdsToDisplay.add(Score.User.WebServicesUserId);
 | 
							AccountIdsToDisplay.add(Score.User.WebServicesUserId);
 | 
				
			||||||
		if (!ScoreIsAlive(Score)) continue;
 | 
							if (!ScoreIsAlive(Score)) continue;
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		Scores::SetPlayerMatchPoints(Score, Scores.count + ParticipantsNb - Index); 
 | 
							if (_DisplayTimes) {
 | 
				
			||||||
		if (_DisplayTimes && Score.PrevRaceTimes.count == 0) {
 | 
								Scores::SetPlayerMatchPoints(Score, ParticipantsNb + ParticipantsNb - Index); 
 | 
				
			||||||
			CustomTimes[Score.User.WebServicesUserId] = 0; //@ prev race is updated automatically at the moment (22/10/20) so we need to use this
 | 
							} else {
 | 
				
			||||||
		} else if (!_DisplayTimes) {
 | 
								Scores::SetPlayerMatchPoints(Score, ParticipantsNb + GetScoreRemainingLives(Score)); 
 | 
				
			||||||
			CustomPoints[Score.User.WebServicesUserId] = [GetScoreRemainingLivesText(Score)];
 | 
								CustomPoints[Score.User.WebServicesUserId] = [GetScoreRemainingLivesText(Score)];
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (AliveScoresNb == 1 && ParticipantsNb > 1) {
 | 
							if (AliveScoresNb == 1 && ParticipantsNb > 1) {
 | 
				
			||||||
@@ -869,7 +867,9 @@ Void UpdateCustomRanking(Boolean _DisplayTimes) {
 | 
				
			|||||||
	declare Text[Text] CustomRanks = [];
 | 
						declare Text[Text] CustomRanks = [];
 | 
				
			||||||
	Race::SortScores(Race::C_Sort_TotalPoints);
 | 
						Race::SortScores(Race::C_Sort_TotalPoints);
 | 
				
			||||||
	foreach (Score in Scores) {
 | 
						foreach (Score in Scores) {
 | 
				
			||||||
		if (ScoreIsAlive(Score)) {
 | 
							if (AliveScoresNb == 1 && ScoreIsAlive(Score)) {
 | 
				
			||||||
 | 
								CustomRanks[Score.User.WebServicesUserId] = "1";
 | 
				
			||||||
 | 
							} else if (ScoreIsAlive(Score)) {
 | 
				
			||||||
			CustomRanks[Score.User.WebServicesUserId] = "-";
 | 
								CustomRanks[Score.User.WebServicesUserId] = "-";
 | 
				
			||||||
		}	else if (ScoreIsRegistered(Score)) {
 | 
							}	else if (ScoreIsRegistered(Score)) {
 | 
				
			||||||
			CustomRanks[Score.User.WebServicesUserId] = ""^Rank;
 | 
								CustomRanks[Score.User.WebServicesUserId] = ""^Rank;
 | 
				
			||||||
@@ -881,7 +881,6 @@ Void UpdateCustomRanking(Boolean _DisplayTimes) {
 | 
				
			|||||||
	UIModules_ScoresTable::SetCustomRanks(CustomRanks);
 | 
						UIModules_ScoresTable::SetCustomRanks(CustomRanks);
 | 
				
			||||||
	UIModules_ScoresTable::DisplayOnly(AccountIdsToDisplay); // Display only registered players
 | 
						UIModules_ScoresTable::DisplayOnly(AccountIdsToDisplay); // Display only registered players
 | 
				
			||||||
	UIModules_ScoresTable::SetCustomPoints(CustomPoints);
 | 
						UIModules_ScoresTable::SetCustomPoints(CustomPoints);
 | 
				
			||||||
	UIModules_ScoresTable::SetCustomTimes(CustomTimes);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
 | 
					// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user