Addition of player limit for rank manager.
This commit is contained in:
parent
6abcec1ce6
commit
6f337395e5
@ -141,6 +141,7 @@ import org.l2jmobius.gameserver.instancemanager.PetitionManager;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.PremiumManager;
|
import org.l2jmobius.gameserver.instancemanager.PremiumManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
|
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.RankManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.SellBuffsManager;
|
import org.l2jmobius.gameserver.instancemanager.SellBuffsManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ServerRestartManager;
|
import org.l2jmobius.gameserver.instancemanager.ServerRestartManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
|
import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
|
||||||
@ -351,6 +352,7 @@ public class GameServer
|
|||||||
CursedWeaponsManager.getInstance();
|
CursedWeaponsManager.getInstance();
|
||||||
TransformData.getInstance();
|
TransformData.getInstance();
|
||||||
BotReportTable.getInstance();
|
BotReportTable.getInstance();
|
||||||
|
RankManager.getInstance();
|
||||||
if (Config.SELLBUFF_ENABLED)
|
if (Config.SELLBUFF_ENABLED)
|
||||||
{
|
{
|
||||||
SellBuffsManager.getInstance();
|
SellBuffsManager.getInstance();
|
||||||
|
@ -37,11 +37,13 @@ public class RankManager
|
|||||||
{
|
{
|
||||||
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
|
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
|
||||||
|
|
||||||
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE level > 84 ORDER BY exp DESC";
|
public static final int PLAYER_LIMIT = 100;
|
||||||
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE level > 84 AND race = ? ORDER BY exp DESC";
|
|
||||||
|
|
||||||
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC";
|
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE level > 84 ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
|
||||||
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC";
|
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE level > 84 AND race = ? ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
|
||||||
|
|
||||||
|
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
|
||||||
|
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
|
||||||
|
|
||||||
private final Map<Integer, StatsSet> _mainList = new ConcurrentHashMap<>();
|
private final Map<Integer, StatsSet> _mainList = new ConcurrentHashMap<>();
|
||||||
private Map<Integer, StatsSet> _snapshotList = new ConcurrentHashMap<>();
|
private Map<Integer, StatsSet> _snapshotList = new ConcurrentHashMap<>();
|
||||||
@ -53,26 +55,6 @@ public class RankManager
|
|||||||
ThreadPool.scheduleAtFixedRate(this::update, 0, 1800000);
|
ThreadPool.scheduleAtFixedRate(this::update, 0, 1800000);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getRankList()
|
|
||||||
{
|
|
||||||
return _mainList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getSnapshotList()
|
|
||||||
{
|
|
||||||
return _snapshotList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getOlyRankList()
|
|
||||||
{
|
|
||||||
return _mainOlyList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getSnapshotOlyList()
|
|
||||||
{
|
|
||||||
return _snapshotOlyList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private synchronized void update()
|
private synchronized void update()
|
||||||
{
|
{
|
||||||
// Load charIds All
|
// Load charIds All
|
||||||
@ -80,6 +62,7 @@ public class RankManager
|
|||||||
_mainList.clear();
|
_mainList.clear();
|
||||||
_snapshotOlyList = _mainOlyList;
|
_snapshotOlyList = _mainOlyList;
|
||||||
_mainOlyList.clear();
|
_mainOlyList.clear();
|
||||||
|
|
||||||
try (Connection con = DatabaseFactory.getConnection();
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
PreparedStatement statement = con.prepareStatement(SELECT_CHARACTERS))
|
PreparedStatement statement = con.prepareStatement(SELECT_CHARACTERS))
|
||||||
{
|
{
|
||||||
@ -117,6 +100,7 @@ public class RankManager
|
|||||||
{
|
{
|
||||||
LOGGER.log(Level.WARNING, "Could not load chars total rank data: " + this + " - " + e.getMessage(), e);
|
LOGGER.log(Level.WARNING, "Could not load chars total rank data: " + this + " - " + e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// load olympiad data.
|
// load olympiad data.
|
||||||
try (Connection con = DatabaseFactory.getConnection();
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
PreparedStatement statement = con.prepareStatement(GET_CURRENT_CYCLE_DATA))
|
PreparedStatement statement = con.prepareStatement(GET_CURRENT_CYCLE_DATA))
|
||||||
@ -237,13 +221,33 @@ public class RankManager
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class SingletonHolder
|
public Map<Integer, StatsSet> getRankList()
|
||||||
{
|
{
|
||||||
protected static final RankManager INSTANCE = new RankManager();
|
return _mainList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Integer, StatsSet> getSnapshotList()
|
||||||
|
{
|
||||||
|
return _snapshotList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Integer, StatsSet> getOlyRankList()
|
||||||
|
{
|
||||||
|
return _mainOlyList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Integer, StatsSet> getSnapshotOlyList()
|
||||||
|
{
|
||||||
|
return _snapshotOlyList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RankManager getInstance()
|
public static RankManager getInstance()
|
||||||
{
|
{
|
||||||
return SingletonHolder.INSTANCE;
|
return SingletonHolder.INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class SingletonHolder
|
||||||
|
{
|
||||||
|
protected static final RankManager INSTANCE = new RankManager();
|
||||||
|
}
|
||||||
}
|
}
|
@ -37,5 +37,4 @@ public class RequestOlympiadMyRankingInfo implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
client.sendPacket(new ExOlympiadMyRankingInfo(client.getPlayer()));
|
client.sendPacket(new ExOlympiadMyRankingInfo(client.getPlayer()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -48,5 +48,4 @@ public class RequestOlympiadRankingInfo implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
client.sendPacket(new ExOlympiadRankingInfo(client.getPlayer(), _tabId, _rankingType, _unk, _classId, _serverId));
|
client.sendPacket(new ExOlympiadRankingInfo(client.getPlayer(), _tabId, _rankingType, _unk, _classId, _serverId));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.Config;
|
|||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.data.sql.impl.ClanTable;
|
import org.l2jmobius.gameserver.data.sql.impl.ClanTable;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.RankManager;
|
||||||
import org.l2jmobius.gameserver.model.entity.Hero;
|
import org.l2jmobius.gameserver.model.entity.Hero;
|
||||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
@ -34,11 +35,11 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExOlympiadHeroAndLegendInfo implements IClientOutgoingPacket
|
public class ExOlympiadHeroAndLegendInfo implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private static final String GET_HEROES = "SELECT characters.charId, characters.char_name, characters.race, characters.sex, characters.base_class, characters.level, characters.clanid, olympiad_nobles_eom.competitions_won, olympiad_nobles_eom.competitions_lost, olympiad_nobles_eom.olympiad_points, heroes.legend_count, heroes.count FROM heroes, characters, olympiad_nobles_eom WHERE characters.charId = heroes.charId AND characters.charId = olympiad_nobles_eom.charId ORDER BY olympiad_nobles_eom.olympiad_points DESC, characters.base_class ASC";
|
// TODO: Move query and store data at RankManager.
|
||||||
|
private static final String GET_HEROES = "SELECT characters.charId, characters.char_name, characters.race, characters.sex, characters.base_class, characters.level, characters.clanid, olympiad_nobles_eom.competitions_won, olympiad_nobles_eom.competitions_lost, olympiad_nobles_eom.olympiad_points, heroes.legend_count, heroes.count FROM heroes, characters, olympiad_nobles_eom WHERE characters.charId = heroes.charId AND characters.charId = olympiad_nobles_eom.charId ORDER BY olympiad_nobles_eom.olympiad_points DESC, characters.base_class ASC LIMIT " + RankManager.PLAYER_LIMIT;
|
||||||
|
|
||||||
public ExOlympiadHeroAndLegendInfo()
|
public ExOlympiadHeroAndLegendInfo()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -26,6 +26,7 @@ import java.util.GregorianCalendar;
|
|||||||
|
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.RankManager;
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.entity.Hero;
|
import org.l2jmobius.gameserver.model.entity.Hero;
|
||||||
@ -38,8 +39,10 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private static final String GET_CURRENT_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles WHERE class_id = ?";
|
// TODO: Move query and store data at RankManager.
|
||||||
private static final String GET_PREVIOUS_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles_eom WHERE class_id = ?";
|
private static final String GET_CURRENT_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles WHERE class_id = ? ORDER BY olympiad_points DESC LIMIT " + RankManager.PLAYER_LIMIT;
|
||||||
|
private static final String GET_PREVIOUS_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles_eom WHERE class_id = ? ORDER BY olympiad_points DESC LIMIT " + RankManager.PLAYER_LIMIT;
|
||||||
|
|
||||||
private final PlayerInstance _player;
|
private final PlayerInstance _player;
|
||||||
|
|
||||||
public ExOlympiadMyRankingInfo(PlayerInstance player)
|
public ExOlympiadMyRankingInfo(PlayerInstance player)
|
||||||
@ -98,6 +101,7 @@ public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
|||||||
{
|
{
|
||||||
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
int previousPlace = 0;
|
int previousPlace = 0;
|
||||||
int previousWins = 0;
|
int previousWins = 0;
|
||||||
int previousLoses = 0;
|
int previousLoses = 0;
|
||||||
@ -126,6 +130,7 @@ public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
|||||||
{
|
{
|
||||||
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
int heroCount = 0;
|
int heroCount = 0;
|
||||||
int legendCount = 0;
|
int legendCount = 0;
|
||||||
if (Hero.getInstance().getCompleteHeroes().containsKey(_player.getObjectId()))
|
if (Hero.getInstance().getCompleteHeroes().containsKey(_player.getObjectId()))
|
||||||
|
@ -138,6 +138,7 @@ import org.l2jmobius.gameserver.instancemanager.PetitionManager;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.PremiumManager;
|
import org.l2jmobius.gameserver.instancemanager.PremiumManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
|
import org.l2jmobius.gameserver.instancemanager.PunishmentManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.RankManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.SellBuffsManager;
|
import org.l2jmobius.gameserver.instancemanager.SellBuffsManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ServerRestartManager;
|
import org.l2jmobius.gameserver.instancemanager.ServerRestartManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
|
import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
|
||||||
@ -347,6 +348,7 @@ public class GameServer
|
|||||||
CursedWeaponsManager.getInstance();
|
CursedWeaponsManager.getInstance();
|
||||||
TransformData.getInstance();
|
TransformData.getInstance();
|
||||||
BotReportTable.getInstance();
|
BotReportTable.getInstance();
|
||||||
|
RankManager.getInstance();
|
||||||
if (Config.SELLBUFF_ENABLED)
|
if (Config.SELLBUFF_ENABLED)
|
||||||
{
|
{
|
||||||
SellBuffsManager.getInstance();
|
SellBuffsManager.getInstance();
|
||||||
|
@ -37,11 +37,13 @@ public class RankManager
|
|||||||
{
|
{
|
||||||
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
|
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
|
||||||
|
|
||||||
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE level > 84 ORDER BY exp DESC";
|
public static final int PLAYER_LIMIT = 100;
|
||||||
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE level > 84 AND race = ? ORDER BY exp DESC";
|
|
||||||
|
|
||||||
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC";
|
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE level > 84 ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
|
||||||
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC";
|
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE level > 84 AND race = ? ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
|
||||||
|
|
||||||
|
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
|
||||||
|
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
|
||||||
|
|
||||||
private final Map<Integer, StatsSet> _mainList = new ConcurrentHashMap<>();
|
private final Map<Integer, StatsSet> _mainList = new ConcurrentHashMap<>();
|
||||||
private Map<Integer, StatsSet> _snapshotList = new ConcurrentHashMap<>();
|
private Map<Integer, StatsSet> _snapshotList = new ConcurrentHashMap<>();
|
||||||
@ -53,26 +55,6 @@ public class RankManager
|
|||||||
ThreadPool.scheduleAtFixedRate(this::update, 0, 1800000);
|
ThreadPool.scheduleAtFixedRate(this::update, 0, 1800000);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getRankList()
|
|
||||||
{
|
|
||||||
return _mainList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getSnapshotList()
|
|
||||||
{
|
|
||||||
return _snapshotList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getOlyRankList()
|
|
||||||
{
|
|
||||||
return _mainOlyList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, StatsSet> getSnapshotOlyList()
|
|
||||||
{
|
|
||||||
return _snapshotOlyList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private synchronized void update()
|
private synchronized void update()
|
||||||
{
|
{
|
||||||
// Load charIds All
|
// Load charIds All
|
||||||
@ -80,6 +62,7 @@ public class RankManager
|
|||||||
_mainList.clear();
|
_mainList.clear();
|
||||||
_snapshotOlyList = _mainOlyList;
|
_snapshotOlyList = _mainOlyList;
|
||||||
_mainOlyList.clear();
|
_mainOlyList.clear();
|
||||||
|
|
||||||
try (Connection con = DatabaseFactory.getConnection();
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
PreparedStatement statement = con.prepareStatement(SELECT_CHARACTERS))
|
PreparedStatement statement = con.prepareStatement(SELECT_CHARACTERS))
|
||||||
{
|
{
|
||||||
@ -117,6 +100,7 @@ public class RankManager
|
|||||||
{
|
{
|
||||||
LOGGER.log(Level.WARNING, "Could not load chars total rank data: " + this + " - " + e.getMessage(), e);
|
LOGGER.log(Level.WARNING, "Could not load chars total rank data: " + this + " - " + e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// load olympiad data.
|
// load olympiad data.
|
||||||
try (Connection con = DatabaseFactory.getConnection();
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
PreparedStatement statement = con.prepareStatement(GET_CURRENT_CYCLE_DATA))
|
PreparedStatement statement = con.prepareStatement(GET_CURRENT_CYCLE_DATA))
|
||||||
@ -237,13 +221,33 @@ public class RankManager
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class SingletonHolder
|
public Map<Integer, StatsSet> getRankList()
|
||||||
{
|
{
|
||||||
protected static final RankManager INSTANCE = new RankManager();
|
return _mainList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Integer, StatsSet> getSnapshotList()
|
||||||
|
{
|
||||||
|
return _snapshotList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Integer, StatsSet> getOlyRankList()
|
||||||
|
{
|
||||||
|
return _mainOlyList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Integer, StatsSet> getSnapshotOlyList()
|
||||||
|
{
|
||||||
|
return _snapshotOlyList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RankManager getInstance()
|
public static RankManager getInstance()
|
||||||
{
|
{
|
||||||
return SingletonHolder.INSTANCE;
|
return SingletonHolder.INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class SingletonHolder
|
||||||
|
{
|
||||||
|
protected static final RankManager INSTANCE = new RankManager();
|
||||||
|
}
|
||||||
}
|
}
|
@ -37,5 +37,4 @@ public class RequestOlympiadMyRankingInfo implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
client.sendPacket(new ExOlympiadMyRankingInfo(client.getPlayer()));
|
client.sendPacket(new ExOlympiadMyRankingInfo(client.getPlayer()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -48,5 +48,4 @@ public class RequestOlympiadRankingInfo implements IClientIncomingPacket
|
|||||||
{
|
{
|
||||||
client.sendPacket(new ExOlympiadRankingInfo(client.getPlayer(), _tabId, _rankingType, _unk, _classId, _serverId));
|
client.sendPacket(new ExOlympiadRankingInfo(client.getPlayer(), _tabId, _rankingType, _unk, _classId, _serverId));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.Config;
|
|||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
import org.l2jmobius.gameserver.data.sql.impl.ClanTable;
|
import org.l2jmobius.gameserver.data.sql.impl.ClanTable;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.RankManager;
|
||||||
import org.l2jmobius.gameserver.model.entity.Hero;
|
import org.l2jmobius.gameserver.model.entity.Hero;
|
||||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
@ -34,11 +35,11 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExOlympiadHeroAndLegendInfo implements IClientOutgoingPacket
|
public class ExOlympiadHeroAndLegendInfo implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private static final String GET_HEROES = "SELECT characters.charId, characters.char_name, characters.race, characters.sex, characters.base_class, characters.level, characters.clanid, olympiad_nobles_eom.competitions_won, olympiad_nobles_eom.competitions_lost, olympiad_nobles_eom.olympiad_points, heroes.legend_count, heroes.count FROM heroes, characters, olympiad_nobles_eom WHERE characters.charId = heroes.charId AND characters.charId = olympiad_nobles_eom.charId ORDER BY olympiad_nobles_eom.olympiad_points DESC, characters.base_class ASC";
|
// TODO: Move query and store data at RankManager.
|
||||||
|
private static final String GET_HEROES = "SELECT characters.charId, characters.char_name, characters.race, characters.sex, characters.base_class, characters.level, characters.clanid, olympiad_nobles_eom.competitions_won, olympiad_nobles_eom.competitions_lost, olympiad_nobles_eom.olympiad_points, heroes.legend_count, heroes.count FROM heroes, characters, olympiad_nobles_eom WHERE characters.charId = heroes.charId AND characters.charId = olympiad_nobles_eom.charId ORDER BY olympiad_nobles_eom.olympiad_points DESC, characters.base_class ASC LIMIT " + RankManager.PLAYER_LIMIT;
|
||||||
|
|
||||||
public ExOlympiadHeroAndLegendInfo()
|
public ExOlympiadHeroAndLegendInfo()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -26,6 +26,7 @@ import java.util.GregorianCalendar;
|
|||||||
|
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.commons.network.PacketWriter;
|
import org.l2jmobius.commons.network.PacketWriter;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.RankManager;
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.entity.Hero;
|
import org.l2jmobius.gameserver.model.entity.Hero;
|
||||||
@ -38,8 +39,10 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
private static final String GET_CURRENT_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles WHERE class_id = ?";
|
// TODO: Move query and store data at RankManager.
|
||||||
private static final String GET_PREVIOUS_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles_eom WHERE class_id = ?";
|
private static final String GET_CURRENT_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles WHERE class_id = ? ORDER BY olympiad_points DESC LIMIT " + RankManager.PLAYER_LIMIT;
|
||||||
|
private static final String GET_PREVIOUS_CYCLE_DATA = "SELECT charId, olympiad_points, competitions_won, competitions_lost FROM olympiad_nobles_eom WHERE class_id = ? ORDER BY olympiad_points DESC LIMIT " + RankManager.PLAYER_LIMIT;
|
||||||
|
|
||||||
private final PlayerInstance _player;
|
private final PlayerInstance _player;
|
||||||
|
|
||||||
public ExOlympiadMyRankingInfo(PlayerInstance player)
|
public ExOlympiadMyRankingInfo(PlayerInstance player)
|
||||||
@ -98,6 +101,7 @@ public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
|||||||
{
|
{
|
||||||
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
int previousPlace = 0;
|
int previousPlace = 0;
|
||||||
int previousWins = 0;
|
int previousWins = 0;
|
||||||
int previousLoses = 0;
|
int previousLoses = 0;
|
||||||
@ -126,6 +130,7 @@ public class ExOlympiadMyRankingInfo implements IClientOutgoingPacket
|
|||||||
{
|
{
|
||||||
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
LOGGER.warning("Olympiad my ranking: Couldnt load data: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
int heroCount = 0;
|
int heroCount = 0;
|
||||||
int legendCount = 0;
|
int legendCount = 0;
|
||||||
if (Hero.getInstance().getCompleteHeroes().containsKey(_player.getObjectId()))
|
if (Hero.getInstance().getCompleteHeroes().containsKey(_player.getObjectId()))
|
||||||
|
Loading…
Reference in New Issue
Block a user