From 04fc5ff5543f3bc6a2de64742a12e777d881c347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Paulo?= <jprzimba@gmail.com> Date: Mon, 20 Jan 2025 14:13:59 -0300 Subject: [PATCH] * Using group inteead of acocunt id --- src/game/game.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/game/game.cpp b/src/game/game.cpp index 70c32423..c9332144 100644 --- a/src/game/game.cpp +++ b/src/game/game.cpp @@ -8577,8 +8577,9 @@ std::string Game::generateHighscoreQueryForEntries(const std::string &categoryNa query << "SELECT *, @row AS `entries`, " << page << " AS `page` FROM (SELECT *, (@row := @row + 1) AS `rn` FROM (SELECT `id`, `name`, `level`, `vocation`, `" << categoryName << "` AS `points`, @curRank := IF(@prevRank = `" << categoryName << "`, @curRank, IF(@prevRank := `" << categoryName - << "`, @curRank + 1, @curRank + 1)) AS `rank` FROM `players` `p`, (SELECT @curRank := 0, @prevRank := NULL, @row := 0) `r` WHERE `account_id` != " - << 1 << " ORDER BY `" << categoryName << "` DESC) `t`"; + << "`, @curRank + 1, @curRank + 1)) AS `rank` FROM `players` `p`, (SELECT @curRank := 0, @prevRank := NULL, @row := 0) `r` WHERE `group_id` < " + << static_cast<int>(GROUP_TYPE_GAMEMASTER) << " ORDER BY `" << categoryName << "` DESC) `t`"; + if (vocation != 0xFFFFFFFF) { query << generateVocationConditionHighscore(vocation); } @@ -8593,8 +8594,9 @@ std::string Game::generateHighscoreQueryForOurRank(const std::string &categoryNa query << "SELECT *, @row AS `entries`, (@ourRow DIV " << entriesStr << ") + 1 AS `page` FROM (SELECT *, (@row := @row + 1) AS `rn`, @ourRow := IF(`id` = " << playerGUID << ", @row - 1, @ourRow) AS `rw` FROM (SELECT `id`, `name`, `level`, `vocation`, `" << categoryName << "` AS `points`, @curRank := IF(@prevRank = `" - << categoryName << "`, @curRank, IF(@prevRank := `" << categoryName << "`, @curRank + 1, @curRank + 1)) AS `rank` FROM `players` `p`, (SELECT @curRank := 0, @prevRank := NULL, @row := 0, @ourRow := 0) `r` WHERE `account_id` != " - << 1 << " ORDER BY `" << categoryName << "` DESC) `t`"; + << categoryName << "`, @curRank, IF(@prevRank := `" << categoryName << "`, @curRank + 1, @curRank + 1)) AS `rank` FROM `players` `p`, (SELECT @curRank := 0, @prevRank := NULL, @row := 0, @ourRow := 0) `r` WHERE `group_id` < " + << static_cast<int>(GROUP_TYPE_GAMEMASTER) << " ORDER BY `" << categoryName << "` DESC) `t`"; + if (vocation != 0xFFFFFFFF) { query << generateVocationConditionHighscore(vocation); }