Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: dist/game/config/SmartCB.properties
- ===================================================================
- --- dist/game/config/SmartCB.properties (revision 0)
- +++ dist/game/config/SmartCB.properties (working copy)
- @@ -0,0 +1,33 @@
- +# ---------------------------------------------------------------------------
- +# Smart CommunityBoard Settings
- +# ---------------------------------------------------------------------------
- +# This properties file is solely for the Smart CB modifications.
- +# The Smart CB has been created by Darule.
- +
- +# ---------------------------------------------------------------------------
- +# Top Players Options
- +# ---------------------------------------------------------------------------
- +# Explanation 1
- +# Default value 19
- +TopPlayerRowHeight = 19
- +
- +# Here you can specify the amount of the results that will be displayed.
- +# Default value 20
- +TopPlayerResults = 20
- +
- +# Explanation 1
- +# Default value 17
- +RaidListRowHeight = 17
- +
- +# Here you can specify the amount of the results that will be displayed.
- +# Default value 20 , max is 26. If you change this you have to check the Raids Pagination because some pages might be empty.
- +RaidListResults = 20
- +
- +# If you enable this option Raid List results will be sorted using asceding level (Smaller level raids will appear 1st)
- +# Default = True
- +RaidListSortAsc = True
- +
- +# If you enable this option on the stat page 2 rows will appear under Players Online on stats page.
- +# Real active players and detached players.
- +# Default = True
- +AllowRealOnlineStats = True
- \ No newline at end of file
- Index: java/com/l2jserver/Config.java
- ===================================================================
- --- java/com/l2jserver/Config.java (revision 5370)
- +++ java/com/l2jserver/Config.java (working copy)
- @@ -90,8 +90,19 @@
- public static final String SECURITY_CONFIG_FILE = "./config/security.properties";
- public static final String EMAIL_CONFIG_FILE = "./config/email.properties";
- public static final String CH_SIEGE_FILE = "./config/ConquerableHallSiege.properties";
- + public static final String SMART_CB = "./config/SmartCB.properties";
- // --------------------------------------------------
- + // Smart Community Board Definitions
- + // --------------------------------------------------
- + public static int TOP_PLAYER_ROW_HEIGHT;
- + public static int TOP_PLAYER_RESULTS;
- + public static int RAID_LIST_ROW_HEIGHT;
- + public static int RAID_LIST_RESULTS;
- + public static boolean RAID_LIST_SORT_ASC;
- + public static boolean ALLOW_REAL_ONLINE_STATS;
- +
- + // --------------------------------------------------
- // L2J Variable Definitions
- // --------------------------------------------------
- public static boolean ALT_GAME_DELEVEL;
- @@ -1260,6 +1271,25 @@
- throw new Error("Failed to Load " + COMMUNITY_CONFIGURATION_FILE + " File.");
- }
- + // Load Smart CB Properties file (if exists)
- + final File smartcb = new File(SMART_CB);
- + try (InputStream is = new FileInputStream(smartcb))
- + {
- + L2Properties smartCB = new L2Properties();
- + smartCB.load(is);
- + TOP_PLAYER_ROW_HEIGHT = Integer.parseInt(smartCB.getProperty("TopPlayerRowHeight", "19"));
- + TOP_PLAYER_RESULTS = Integer.parseInt(smartCB.getProperty("TopPlayerResults", "20"));
- + RAID_LIST_ROW_HEIGHT = Integer.parseInt(smartCB.getProperty("RaidListRowHeight", "18"));
- + RAID_LIST_RESULTS = Integer.parseInt(smartCB.getProperty("RaidListResults", "20"));
- + RAID_LIST_SORT_ASC = Boolean.parseBoolean(smartCB.getProperty("RaidListSortAsc", "True"));
- + ALLOW_REAL_ONLINE_STATS = Boolean.parseBoolean(smartCB.getProperty("AllowRealOnlineStats", "True"));
- + }
- + catch (Exception e)
- + {
- + _log.warning("Config: " + e.getMessage());
- + throw new Error("Failed to Load " + SMART_CB + " File.");
- + }
- +
- // Load Feature L2Properties file (if exists)
- final File feature = new File(FEATURE_CONFIG_FILE);
- try (InputStream is = new FileInputStream(feature))
- Index: java/com/l2jserver/gameserver/communitybbs/BB/Forum.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/BB/Forum.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/BB/Forum.java (working copy)
- @@ -292,7 +292,7 @@
- */
- public void vload()
- {
- - if (!_loaded)
- + if (_loaded == false)
- {
- load();
- getChildren();
- Index: java/com/l2jserver/gameserver/communitybbs/CastleStatus.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/CastleStatus.java (revision 0)
- +++ java/com/l2jserver/gameserver/communitybbs/CastleStatus.java (working copy)
- @@ -0,0 +1,102 @@
- +package com.l2jserver.gameserver.communitybbs;
- +
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import java.text.SimpleDateFormat;
- +import java.util.Date;
- +
- +import com.l2jserver.L2DatabaseFactory;
- +
- +import javolution.text.TextBuilder;
- +
- +public class CastleStatus
- +{
- + private TextBuilder _playerList = new TextBuilder();
- +
- + public CastleStatus()
- + {
- + loadFromDB();
- + }
- +
- + @SuppressWarnings("null")
- + private void loadFromDB()
- + {
- + Connection con = null;
- +
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- +
- + for (int i = 1; i < 9; i++)
- + {
- + PreparedStatement statement = con.prepareStatement("SELECT clan_name, clan_level FROM clan_data WHERE hasCastle=" + i + ";");
- + ResultSet result = statement.executeQuery();
- +
- + PreparedStatement statement2 = con.prepareStatement("SELECT name, siegeDate, taxPercent FROM castle WHERE id=" + i + ";");
- + ResultSet result2 = statement2.executeQuery();
- +
- + while (result.next())
- + {
- + String owner = result.getString("clan_name");
- + int level = result.getInt("clan_level");
- +
- + while (result2.next())
- + {
- + String name = result2.getString("name");
- + long someLong = result2.getLong("siegeDate");
- + int tax = result2.getInt("taxPercent");
- + Date anotherDate = new Date(someLong);
- + String DATE_FORMAT = "dd-MMM-yyyy HH:mm";
- + SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
- +
- + addCastleToList(name, owner, level, tax, sdf.format(anotherDate));
- + }
- +
- + result2.close();
- + statement2.close();
- + }
- +
- + result.close();
- + statement.close();
- + }
- + }
- +
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- +
- + finally
- + {
- + try
- + {
- + con.close();
- + }
- + catch (Exception e)
- + {
- + }
- + }
- + }
- +
- + private void addCastleToList(String name, String owner, int level, int tax, String siegeDate)
- + {
- + _playerList.append("<table border=0 cellspacing=0 cellpadding=2 width=750>");
- + _playerList.append("<tr>");
- + _playerList.append("<td FIXWIDTH=10></td>");
- + _playerList.append("<td FIXWIDTH=100>" + name + "</td>");
- + _playerList.append("<td FIXWIDTH=100>" + owner + "</td>");
- + _playerList.append("<td FIXWIDTH=80>" + level + "</td>");
- + _playerList.append("<td FIXWIDTH=40>" + tax + "</td>");
- + _playerList.append("<td FIXWIDTH=180>" + siegeDate + "</td>");
- + _playerList.append("<td FIXWIDTH=5></td>");
- + _playerList.append("</tr>");
- + _playerList.append("</table>");
- + _playerList.append("<img src=\"L2UI.Squaregray\" width=\"740\" height=\"1\">");
- + }
- +
- + public String loadCastleList()
- + {
- + return _playerList.toString();
- + }
- +}
- Index: java/com/l2jserver/gameserver/communitybbs/ClanList.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/ClanList.java (revision 0)
- +++ java/com/l2jserver/gameserver/communitybbs/ClanList.java (working copy)
- @@ -0,0 +1,116 @@
- +package com.l2jserver.gameserver.communitybbs;
- +
- +import com.l2jserver.L2DatabaseFactory;
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import javolution.text.TextBuilder;
- +
- +public class ClanList
- +{
- + private TextBuilder _clanList = new TextBuilder();
- +
- + public ClanList(int type)
- + {
- + loadFromDB(type);
- + }
- +
- + private void loadFromDB(int type)
- + {
- + Connection con = null;
- + int stpoint = 0;
- + int results = 20;
- + String castlename = "";
- + String allystatus = "";
- + String leadername = "";
- + for (int count = 1; count != type; count++)
- + {
- + stpoint += 20;
- + }
- +
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement("SELECT clan_id, clan_name, ally_name, leader_id, clan_level, reputation_score, hasCastle, ally_id FROM clan_data ORDER BY `clan_level` desc Limit " + stpoint + ", " + results);
- + ResultSet result = statement.executeQuery();
- + int pos = 0;
- +
- + while (result.next())
- + {
- + int clanid = result.getInt("leader_id");
- + String clan = result.getString("clan_name");
- + String ally = result.getString("ally_name");
- + int clanleader = result.getInt("leader_id");
- + int clanlevel = result.getInt("clan_level");
- + int reputation = result.getInt("reputation_score");
- + int hascastle = result.getInt("hasCastle");
- + int allyid = result.getInt("ally_id");
- + if (allyid != 0)
- + {
- + if (allyid == clanid)
- + allystatus = "Alliance Leader";
- + allystatus = "Affiliated Clan";
- + }
- + else
- + {
- + allystatus = "-";
- + ally = "[no-ally]";
- + }
- + if (hascastle != 0)
- + {
- + PreparedStatement statement2 = con.prepareStatement("SELECT name FROM castle WHERE id=" + hascastle);
- + ResultSet result2 = statement2.executeQuery();
- + if (result2.next())
- + castlename = result2.getString("name");
- + result2.close();
- + statement2.close();
- + }
- + else
- + castlename = "[none]";
- + PreparedStatement statement3 = con.prepareStatement("SELECT char_name FROM characters WHERE charId=" + clanleader);
- + ResultSet result3 = statement3.executeQuery();
- +
- + if (result3.next())
- + leadername = result3.getString("char_name");
- + result3.close();
- + statement3.close();
- + pos++;
- + addClanToList(pos, clan, ally, leadername, clanlevel, reputation, castlename, allystatus);
- + }
- + result.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + L2DatabaseFactory.close(con);
- + }
- + }
- +
- + private void addClanToList(int pos, String clan, String ally, String leadername, int clanlevel, int reputation, String castlename, String allystatus)
- + {
- + _clanList.append("<table border=0 cellspacing=0 cellpadding=2 width=760>");
- + _clanList.append("<tr>");
- + _clanList.append("<td FIXWIDTH=5></td>");
- + _clanList.append("<td FIXWIDTH=20>" + pos + "</td>");
- + _clanList.append("<td FIXWIDTH=90>" + clan + "</td>");
- + _clanList.append("<td FIXWIDTH=90>" + ally + "</td>");
- + _clanList.append("<td FIXWIDTH=85>" + leadername + "</td>");
- + _clanList.append("<td FIXWIDTH=45 align=center>" + clanlevel + "</td>");
- + _clanList.append("<td FIXWIDTH=70 align=center>" + reputation + "</td>");
- + _clanList.append("<td FIXWIDTH=50 align=center>" + castlename + "</td>");
- + _clanList.append("<td FIXWIDTH=70 align=center>" + allystatus + "</td>");
- + _clanList.append("<td FIXWIDTH=5></td>");
- + _clanList.append("</tr>");
- + _clanList.append("</table>");
- + _clanList.append("<img src=\"L2UI.Squaregray\" width=\"740\" height=\"1\">");
- + }
- +
- + public String loadClanList()
- + {
- + return _clanList.toString();
- + }
- +}
- Index: java/com/l2jserver/gameserver/communitybbs/CommunityBoard.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/CommunityBoard.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/CommunityBoard.java (working copy)
- @@ -27,6 +27,10 @@
- public class CommunityBoard
- {
- + private CommunityBoard()
- + {
- + }
- +
- public static CommunityBoard getInstance()
- {
- return SingletonHolder._instance;
- @@ -144,6 +148,7 @@
- }
- }
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final CommunityBoard _instance = new CommunityBoard();
- Index: java/com/l2jserver/gameserver/communitybbs/GrandBossList.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/GrandBossList.java (revision 0)
- +++ java/com/l2jserver/gameserver/communitybbs/GrandBossList.java (working copy)
- @@ -0,0 +1,84 @@
- +package com.l2jserver.gameserver.communitybbs;
- +
- +import com.l2jserver.L2DatabaseFactory;
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import javolution.text.TextBuilder;
- +
- +public class GrandBossList
- +{
- + private TextBuilder _GrandBossList = new TextBuilder();
- +
- + public GrandBossList()
- + {
- + loadFromDB();
- + }
- +
- + private void loadFromDB()
- + {
- + Connection con = null;
- + int pos = 0;
- +
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement("SELECT boss_id, status FROM grandboss_data");
- + ResultSet result = statement.executeQuery();
- +
- + nextnpc:
- + while (result.next())
- + {
- + int npcid = result.getInt("boss_id");
- + int status = result.getInt("status");
- + if (npcid == 29066 || npcid == 29067 || npcid == 29068 || npcid == 29118)
- + continue nextnpc;
- +
- + PreparedStatement statement2 = con.prepareStatement("SELECT name FROM npc WHERE id=" + npcid);
- + ResultSet result2 = statement2.executeQuery();
- +
- + while (result2.next())
- + {
- + pos++;
- + boolean rstatus = false;
- + if (status == 0)
- + rstatus = true;
- + String npcname = result2.getString("name");
- + addGrandBossToList(pos, npcname, rstatus);
- + }
- + result2.close();
- + statement2.close();
- + }
- +
- + result.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + L2DatabaseFactory.close(con);
- + }
- + }
- +
- + private void addGrandBossToList(int pos, String npcname, boolean rstatus)
- + {
- + _GrandBossList.append("<table border=0 cellspacing=0 cellpadding=2>");
- + _GrandBossList.append("<tr>");
- + _GrandBossList.append("<td FIXWIDTH=5></td>");
- + _GrandBossList.append("<td FIXWIDTH=50>" + pos + "</td>");
- + _GrandBossList.append("<td FIXWIDTH=130>" + npcname + "</td>");
- + _GrandBossList.append("<td FIXWIDTH=60 align=center>" + ((rstatus) ? "<font color=99FF00>Alive</font>" : "<font color=CC0000>Dead</font>") + "</td>");
- + _GrandBossList.append("<td FIXWIDTH=5></td>");
- + _GrandBossList.append("</tr>");
- + _GrandBossList.append("</table>");
- + _GrandBossList.append("<img src=\"L2UI.Squaregray\" width=\"250\" height=\"1\">");
- + }
- +
- + public String loadGrandBossList()
- + {
- + return _GrandBossList.toString();
- + }
- +}
- Index: java/com/l2jserver/gameserver/communitybbs/HeroeList.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/HeroeList.java (revision 0)
- +++ java/com/l2jserver/gameserver/communitybbs/HeroeList.java (working copy)
- @@ -0,0 +1,197 @@
- +package com.l2jserver.gameserver.communitybbs;
- +
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import java.util.Map;
- +
- +import com.l2jserver.L2DatabaseFactory;
- +
- +import javolution.text.TextBuilder;
- +import javolution.util.FastMap;
- +
- +public class HeroeList
- +{
- + private int _posId;
- + private TextBuilder _heroeList = new TextBuilder();
- +
- + public HeroeList()
- + {
- + loadFromDB();
- + }
- +
- + @SuppressWarnings("null")
- + private void loadFromDB()
- + {
- + java.sql.Connection con = null;
- + try
- + {
- + _posId = 0;
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement("SELECT h.count, h.played, ch.char_name, ch.base_class, ch.online, cl.clan_name, cl.ally_name FROM heroes h LEFT JOIN characters ch ON ch.charId=h.charId LEFT OUTER JOIN clan_data cl ON cl.clan_id=ch.clanid ORDER BY h.count DESC, ch.char_name ASC LIMIT 20");
- +
- + ResultSet result = statement.executeQuery();
- +
- + while (result.next())
- + {
- + boolean status = false;
- + _posId = _posId + 1;
- +
- + if (result.getInt("online") == 1)
- + status = true;
- +
- + addPlayerToList(_posId, result.getInt("count"), result.getInt("played"), result.getString("char_name"), result.getInt("base_class"), result.getString("clan_name"), result.getString("ally_name"), status);
- + }
- + result.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + try
- + {
- + con.close();
- + }
- + catch (Exception e)
- + {
- + }
- + }
- + }
- +
- + public String loadHeroeList()
- + {
- + return _heroeList.toString();
- + }
- +
- + private void addPlayerToList(int objId, int count, int played, String name, int ChrClass, String clan, String ally, boolean isOnline)
- + {
- + _heroeList.append("<table border=0 cellspacing=0 cellpadding=2 width=750>");
- + _heroeList.append("<tr>");
- + _heroeList.append("<td FIXWIDTH=10></td>");
- + _heroeList.append("<td FIXWIDTH=40>" + objId + ".</td>");
- + _heroeList.append("<td FIXWIDTH=150>" + name + "</td>");
- + _heroeList.append("<td FIXWIDTH=160>" + className(ChrClass) + "</td>");
- + _heroeList.append("<td FIXWIDTH=80>" + count + "</td>");
- + _heroeList.append("<td FIXWIDTH=80>" + played + "</td>");
- + _heroeList.append("<td FIXWIDTH=160>" + clan + "</td>");
- + _heroeList.append("<td FIXWIDTH=160>" + ally + "</td>");
- + _heroeList.append("<td FIXWIDTH=70>" + ((isOnline) ? "<font color=99FF00>Online</font>" : "<font color=CC0000>Offline</font>") + "</td>");
- + _heroeList.append("<td FIXWIDTH=5></td>");
- + _heroeList.append("</tr>");
- + _heroeList.append("</table>");
- + _heroeList.append("<img src=\"L2UI.Squaregray\" width=\"740\" height=\"1\">");
- + }
- +
- + public final static String className(int classId)
- + {
- + Map<Integer, String> classList;
- + classList = new FastMap<Integer, String>();
- + classList.put(0, "Fighter");
- + classList.put(1, "Warrior");
- + classList.put(2, "Gladiator");
- + classList.put(3, "Warlord");
- + classList.put(4, "Knight");
- + classList.put(5, "Paladin");
- + classList.put(6, "Dark Avenger");
- + classList.put(7, "Rogue");
- + classList.put(8, "Treasure Hunter");
- + classList.put(9, "Hawkeye");
- + classList.put(10, "Mage");
- + classList.put(11, "Wizard");
- + classList.put(12, "Sorcerer");
- + classList.put(13, "Necromancer");
- + classList.put(14, "Warlock");
- + classList.put(15, "Cleric");
- + classList.put(16, "Bishop");
- + classList.put(17, "Prophet");
- + classList.put(18, "Elven Fighter");
- + classList.put(19, "Elven Knight");
- + classList.put(20, "Temple Knight");
- + classList.put(21, "Swordsinger");
- + classList.put(22, "Elven Scout");
- + classList.put(23, "Plains Walker");
- + classList.put(24, "Silver Ranger");
- + classList.put(25, "Elven Mage");
- + classList.put(26, "Elven Wizard");
- + classList.put(27, "Spellsinger");
- + classList.put(28, "Elemental Summoner");
- + classList.put(29, "Oracle");
- + classList.put(30, "Elder");
- + classList.put(31, "Dark Fighter");
- + classList.put(32, "Palus Knightr");
- + classList.put(33, "Shillien Knight");
- + classList.put(34, "Bladedancer");
- + classList.put(35, "Assasin");
- + classList.put(36, "Abyss Walker");
- + classList.put(37, "Phantom Ranger");
- + classList.put(38, "Dark Mage");
- + classList.put(39, "Dark Wizard");
- + classList.put(40, "Spellhowler");
- + classList.put(41, "Phantom Summoner");
- + classList.put(42, "Shillien Oracle");
- + classList.put(43, "Shilien Elder");
- + classList.put(44, "Orc Fighter");
- + classList.put(45, "Orc Raider");
- + classList.put(46, "Destroyer");
- + classList.put(47, "Orc Monk");
- + classList.put(48, "Tyrant");
- + classList.put(49, "Orc Mage");
- + classList.put(50, "Orc Shaman");
- + classList.put(51, "Overlord");
- + classList.put(52, "Warcryer");
- + classList.put(53, "Dwarven Fighter");
- + classList.put(54, "Scavenger");
- + classList.put(55, "Bounty Hunter");
- + classList.put(56, "Artisan");
- + classList.put(57, "Warsmith");
- + classList.put(88, "Duelist");
- + classList.put(89, "Dreadnought");
- + classList.put(90, "Phoenix Knight");
- + classList.put(91, "Hell Knight");
- + classList.put(92, "Sagittarius");
- + classList.put(93, "Adventurer");
- + classList.put(94, "Archmage");
- + classList.put(95, "Soultaker");
- + classList.put(96, "Arcana Lord");
- + classList.put(97, "Cardinal");
- + classList.put(98, "Hierophant");
- + classList.put(99, "Evas Templar");
- + classList.put(100, "Sword Muse");
- + classList.put(101, "Wind Rider");
- + classList.put(102, "Moonlight Sentinel");
- + classList.put(103, "Mystic Muse");
- + classList.put(104, "Elemental Master");
- + classList.put(105, "Evas Saint");
- + classList.put(106, "Shillien Templar");
- + classList.put(107, "Spectral Dancer");
- + classList.put(108, "Ghost Hunter");
- + classList.put(109, "Ghost Sentinel");
- + classList.put(110, "Storm Screamer");
- + classList.put(111, "Spectral Master");
- + classList.put(112, "Shillien Saint");
- + classList.put(113, "Titan");
- + classList.put(114, "Grand Khavatari");
- + classList.put(115, "Dominator");
- + classList.put(116, "Doomcryer");
- + classList.put(117, "Fortune Seeker");
- + classList.put(118, "Maestro");
- + classList.put(123, "Male Soldier");
- + classList.put(124, "Female Soldier");
- + classList.put(125, "Trooper");
- + classList.put(126, "Warder");
- + classList.put(127, "Berserker");
- + classList.put(128, "Male Soulbreaker");
- + classList.put(129, "Female Soulbreaker");
- + classList.put(130, "Arbalester");
- + classList.put(131, "Doombringer");
- + classList.put(132, "Male Soulhound");
- + classList.put(133, "Female Soulhound");
- + classList.put(134, "Trickster");
- + classList.put(135, "Inspector");
- + classList.put(136, "Judicator");
- +
- + return classList.get(classId);
- + }
- +}
- Index: java/com/l2jserver/gameserver/communitybbs/Manager/AdminBBSManager.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/Manager/AdminBBSManager.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/Manager/AdminBBSManager.java (working copy)
- @@ -27,6 +27,14 @@
- return SingletonHolder._instance;
- }
- + private AdminBBSManager()
- + {
- + }
- +
- + /**
- + *
- + * @see com.l2jserver.gameserver.communitybbs.Manager.BaseBBSManager#parsecmd(java.lang.String, com.l2jserver.gameserver.model.actor.instance.L2PcInstance)
- + */
- @Override
- public void parsecmd(String command, L2PcInstance activeChar)
- {
- @@ -65,6 +73,7 @@
- }
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final AdminBBSManager _instance = new AdminBBSManager();
- Index: java/com/l2jserver/gameserver/communitybbs/Manager/ClanBBSManager.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/Manager/ClanBBSManager.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/Manager/ClanBBSManager.java (working copy)
- @@ -24,6 +24,10 @@
- public class ClanBBSManager extends BaseBBSManager
- {
- + private ClanBBSManager()
- + {
- + }
- +
- public static ClanBBSManager getInstance()
- {
- return SingletonHolder._instance;
- @@ -274,6 +278,7 @@
- clanhome(activeChar, activeChar.getClan().getClanId());
- }
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final ClanBBSManager _instance = new ClanBBSManager();
- Index: java/com/l2jserver/gameserver/communitybbs/Manager/ForumsBBSManager.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/Manager/ForumsBBSManager.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/Manager/ForumsBBSManager.java (working copy)
- @@ -41,7 +41,7 @@
- return SingletonHolder._instance;
- }
- - protected ForumsBBSManager()
- + private ForumsBBSManager()
- {
- _table = new FastList<Forum>();
- @@ -157,6 +157,7 @@
- {
- }
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final ForumsBBSManager _instance = new ForumsBBSManager();
- Index: java/com/l2jserver/gameserver/communitybbs/Manager/PostBBSManager.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/Manager/PostBBSManager.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/Manager/PostBBSManager.java (working copy)
- @@ -32,10 +32,16 @@
- public class PostBBSManager extends BaseBBSManager
- {
- +
- private Map<Topic, Post> _postByTopic;
- - protected PostBBSManager()
- + public static PostBBSManager getInstance()
- {
- + return SingletonHolder._instance;
- + }
- +
- + private PostBBSManager()
- + {
- _postByTopic = new FastMap<Topic, Post>();
- }
- @@ -45,7 +51,7 @@
- post = _postByTopic.get(t);
- if (post == null)
- {
- - post = new Post(t);
- + post = load(t);
- _postByTopic.put(t, post);
- }
- return post;
- @@ -67,6 +73,17 @@
- }
- }
- + /**
- + * @param t
- + * @return
- + */
- + private Post load(Topic t)
- + {
- + Post p;
- + p = new Post(t);
- + return p;
- + }
- +
- @Override
- public void parsecmd(String command, L2PcInstance activeChar)
- {
- @@ -288,34 +305,31 @@
- }
- else
- {
- - final Post p = getGPosttByTopic(t);
- + CPost cp = null;
- + Post p = getGPosttByTopic(t);
- if (p != null)
- {
- - final CPost cp = p.getCPost(idp);
- - if (cp == null)
- - {
- - ShowBoard sb = new ShowBoard("<html><body><br><br><center>the post: " + idp
- - + " does not exist !</center><br><br></body></html>", "101");
- - activeChar.sendPacket(sb);
- - activeChar.sendPacket(new ShowBoard(null, "102"));
- - activeChar.sendPacket(new ShowBoard(null, "103"));
- - }
- - else
- - {
- - p.getCPost(idp).postTxt = ar4;
- - p.updatetxt(idp);
- - parsecmd("_bbsposts;read;" + f.getID() + ";" + t.getID(), activeChar);
- - }
- + cp = p.getCPost(idp);
- }
- + if (cp == null)
- + {
- + ShowBoard sb = new ShowBoard("<html><body><br><br><center>the post: " + idp
- + + " does not exist !</center><br><br></body></html>", "101");
- + activeChar.sendPacket(sb);
- + activeChar.sendPacket(new ShowBoard(null, "102"));
- + activeChar.sendPacket(new ShowBoard(null, "103"));
- + }
- + else
- + {
- + p.getCPost(idp).postTxt = ar4;
- + p.updatetxt(idp);
- + parsecmd("_bbsposts;read;" + f.getID() + ";" + t.getID(), activeChar);
- + }
- }
- }
- }
- - public static PostBBSManager getInstance()
- - {
- - return SingletonHolder._instance;
- - }
- -
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final PostBBSManager _instance = new PostBBSManager();
- Index: java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java (working copy)
- @@ -54,6 +54,10 @@
- }
- };
- + private RegionBBSManager()
- + {
- + }
- +
- @Override
- public void parsecmd(String command, L2PcInstance activeChar)
- {
- @@ -564,6 +568,7 @@
- return null;
- }
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final RegionBBSManager _instance = new RegionBBSManager();
- Index: java/com/l2jserver/gameserver/communitybbs/Manager/TopBBSManager.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/Manager/TopBBSManager.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/Manager/TopBBSManager.java (working copy)
- @@ -1,66 +1,128 @@
- -/*
- - * This program is free software: you can redistribute it and/or modify it under
- - * the terms of the GNU General Public License as published by the Free Software
- - * Foundation, either version 3 of the License, or (at your option) any later
- - * version.
- - *
- - * This program is distributed in the hope that it will be useful, but WITHOUT
- - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- - * details.
- - *
- - * You should have received a copy of the GNU General Public License along with
- - * this program. If not, see <http://www.gnu.org/licenses/>.
- - */
- package com.l2jserver.gameserver.communitybbs.Manager;
- +import java.io.File;
- import java.util.StringTokenizer;
- +import com.l2jserver.Config;
- +import com.l2jserver.gameserver.GameTimeController;
- import com.l2jserver.gameserver.cache.HtmCache;
- +import com.l2jserver.gameserver.communitybbs.CastleStatus;
- +import com.l2jserver.gameserver.communitybbs.ClanList;
- +import com.l2jserver.gameserver.communitybbs.GrandBossList;
- +import com.l2jserver.gameserver.communitybbs.HeroeList;
- +import com.l2jserver.gameserver.communitybbs.RaidList;
- +import com.l2jserver.gameserver.communitybbs.TopPlayers;
- +import com.l2jserver.gameserver.model.L2World;
- import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jserver.gameserver.network.serverpackets.ShowBoard;
- -
- public class TopBBSManager extends BaseBBSManager
- {
- +
- + private TopBBSManager()
- + {
- + }
- +
- @Override
- public void parsecmd(String command, L2PcInstance activeChar)
- {
- - if (command.equals("_bbstop"))
- + String path = "data/html/CommunityBoard/";
- + String filepath = "";
- + String content = "";
- +
- + if (command.equals("_bbstop") | command.equals("_bbshome"))
- {
- - String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/index.htm");
- - if (content == null)
- - {
- - content = "<html><body><br><br><center>404 :File not found: 'data/html/CommunityBoard/index.htm' </center></body></html>";
- - }
- + filepath = path + "index.htm";
- + content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), filepath);
- separateAndSend(content, activeChar);
- }
- - else if (command.equals("_bbshome"))
- - {
- - String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/index.htm");
- - if (content == null)
- - {
- - content = "<html><body><br><br><center>404 :File not found: 'data/html/CommunityBoard/index.htm' </center></body></html>";
- - }
- - separateAndSend(content, activeChar);
- - }
- else if (command.startsWith("_bbstop;"))
- {
- StringTokenizer st = new StringTokenizer(command, ";");
- st.nextToken();
- - int idp = Integer.parseInt(st.nextToken());
- - String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/" + idp + ".htm");
- - if (content == null)
- + String file = st.nextToken();
- + filepath = path + file + ".htm";
- + File filecom = new File(filepath);
- +
- + if (!(filecom.exists()))
- {
- - content = "<html><body><br><br><center>404 :File not found: 'data/html/CommunityBoard/" + idp
- - + ".htm' </center></body></html>";
- + content = "<html><body><br><br><center>The command " + command + " points to file(" + filepath + ") that NOT exists.</center></body></html>";
- + separateAndSend(content, activeChar);
- + return;
- }
- + content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), filepath);
- +
- + if (content.isEmpty())
- + content = "<html><body><br><br><center>Content Empty: The command " + command + " points to an invalid or empty html file(" + filepath + ").</center></body></html>";
- +
- + switch (file)
- + {
- + case "toppvp":
- + TopPlayers pvp = new TopPlayers(file);
- + content = content.replaceAll("%toppvp%", pvp.loadTopList());
- + break;
- + case "toppk":
- + TopPlayers pk = new TopPlayers(file);
- + content = content.replaceAll("%toppk%", pk.loadTopList());
- + break;
- + case "toprbrank":
- + TopPlayers raid = new TopPlayers(file);
- + content = content.replaceAll("%toprbrank%", raid.loadTopList());
- + break;
- + case "topadena":
- + TopPlayers adena = new TopPlayers(file);
- + content = content.replaceAll("%topadena%", adena.loadTopList());
- + break;
- + case "toponline":
- + TopPlayers online = new TopPlayers(file);
- + content = content.replaceAll("%toponline%", online.loadTopList());
- + break;
- + case "heroes":
- + HeroeList hr = new HeroeList();
- + content = content.replaceAll("%heroelist%", hr.loadHeroeList());
- + break;
- + case "castle":
- + CastleStatus status = new CastleStatus();
- + content = content.replaceAll("%castle%", status.loadCastleList());
- + break;
- + case "boss":
- + GrandBossList gb = new GrandBossList();
- + content = content.replaceAll("%gboss%", gb.loadGrandBossList());
- + break;
- + case "stats":
- + content = content.replace("%online%", Integer.toString(L2World.getInstance().getAllPlayersCount()));
- + content = content.replace("%servercapacity%", Integer.toString(Config.MAXIMUM_ONLINE_USERS));
- + content = content.replace("%serverruntime%", getServerRunTime());
- + if (Config.ALLOW_REAL_ONLINE_STATS)
- + content = content.replace("%serveronline%", getRealOnline());
- + else
- + content = content.replace("%serveronline%", "");
- + break;
- + default:
- + break;
- +
- + }
- + if (file.startsWith("clan"))
- + {
- + int cid = Integer.parseInt(file.substring(4));
- + ClanList cl = new ClanList(cid);
- + content = content.replaceAll("%clanlist%", cl.loadClanList());
- + }
- + if (file.startsWith("raid"))
- + {
- + String rfid = file.substring(4);
- + RaidList rd = new RaidList(rfid);
- + content = content.replaceAll("%raidlist%", rd.loadRaidList());
- + }
- + if (content.isEmpty())
- + {
- + content = "<html><body><br><br><center>404 :File not found or empty: " + filepath + " your command is " + command + "</center></body></html>";
- + }
- separateAndSend(content, activeChar);
- }
- else
- {
- - ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + command
- - + " is not implemented yet</center><br><br></body></html>", "101");
- + ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + command + " is not implemented yet</center><br><br></body></html>", "101");
- activeChar.sendPacket(sb);
- activeChar.sendPacket(new ShowBoard(null, "102"));
- activeChar.sendPacket(new ShowBoard(null, "103"));
- @@ -77,8 +139,34 @@
- return SingletonHolder._instance;
- }
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final TopBBSManager _instance = new TopBBSManager();
- }
- +
- + public String getServerRunTime()
- + {
- + int timeSeconds = (GameTimeController.getGameTicks() - 36000) / 10;
- + String timeResult = "";
- + if (timeSeconds >= 86400)
- + timeResult = Integer.toString(timeSeconds / 86400) + " Days " + Integer.toString((timeSeconds % 86400) / 3600) + " hours";
- + else
- + timeResult = Integer.toString(timeSeconds / 3600) + " Hours " + Integer.toString((timeSeconds % 3600) / 60) + " mins";
- + return timeResult;
- + }
- +
- + public String getRealOnline()
- + {
- + int counter = 0;
- + for (L2PcInstance onlinePlayer : L2World.getInstance().getAllPlayersArray())
- + {
- + if (onlinePlayer.isOnline() && (onlinePlayer.getClient() != null && !onlinePlayer.getClient().isDetached()))
- + {
- + counter++;
- + }
- + }
- + String realOnline = "<tr><td fixwidth=11></td><td FIXWIDTH=280>Players Active</td><td FIXWIDTH=470><font color=26e600>" + counter + "</font></td></tr>" + "<tr><td fixwidth=11></td><td FIXWIDTH=280>Players Shops</td><td FIXWIDTH=470><font color=26e600>" + (L2World.getInstance().getAllPlayersCount() - counter) + "</font></td></tr>";
- + return realOnline;
- + }
- }
- \ No newline at end of file
- Index: java/com/l2jserver/gameserver/communitybbs/Manager/TopicBBSManager.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/Manager/TopicBBSManager.java (revision 5370)
- +++ java/com/l2jserver/gameserver/communitybbs/Manager/TopicBBSManager.java (working copy)
- @@ -42,7 +42,7 @@
- return SingletonHolder._instance;
- }
- - protected TopicBBSManager()
- + private TopicBBSManager()
- {
- _table = new FastList<Topic>();
- _maxId = new FastMap<Forum, Integer>().shared();
- @@ -442,6 +442,7 @@
- separateAndSend(html.toString(), activeChar);
- }
- + @SuppressWarnings("synthetic-access")
- private static class SingletonHolder
- {
- protected static final TopicBBSManager _instance = new TopicBBSManager();
- Index: java/com/l2jserver/gameserver/communitybbs/RaidList.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/RaidList.java (revision 0)
- +++ java/com/l2jserver/gameserver/communitybbs/RaidList.java (working copy)
- @@ -0,0 +1,101 @@
- +package com.l2jserver.gameserver.communitybbs;
- +
- +import com.l2jserver.Config;
- +import com.l2jserver.L2DatabaseFactory;
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import javolution.text.TextBuilder;
- +
- +public class RaidList
- +{
- + private TextBuilder _raidList = new TextBuilder();
- +
- + public RaidList(String rfid)
- + {
- + loadFromDB(rfid);
- + }
- +
- + private void loadFromDB(String rfid)
- + {
- + int type = Integer.parseInt(rfid);
- + Connection con = null;
- + int stpoint = 0;
- + int pos = 0;
- + String sort = "";
- + if (Config.RAID_LIST_SORT_ASC)
- + sort = "ASC";
- + else
- + sort = "DESC";
- + for (int count = 1; count != type; count++)
- + {
- + stpoint += Config.RAID_LIST_RESULTS;
- + }
- +
- +
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement("SELECT id, name, level FROM npc WHERE type='L2RaidBoss' AND EXISTS (SELECT * FROM raidboss_spawnlist WHERE raidboss_spawnlist.boss_id = npc.id) ORDER BY `level` " + sort + " Limit " + stpoint + ", " + Config.RAID_LIST_RESULTS);
- + ResultSet result = statement.executeQuery();
- + pos = stpoint;
- +
- + while (result.next())
- + {
- + int npcid = result.getInt("id");
- + String npcname = result.getString("name");
- + int rlevel = result.getInt("level");
- + PreparedStatement statement2 = con.prepareStatement("SELECT respawn_time, respawn_min_delay, respawn_max_delay FROM raidboss_spawnlist WHERE boss_id=" + npcid);
- + ResultSet result2 = statement2.executeQuery();
- +
- + while (result2.next())
- + {
- + pos++;
- + boolean rstatus = false;
- + long respawn = result2.getLong("respawn_time");
- + if (respawn == 0)
- + rstatus = true;
- + int mindelay = result2.getInt("respawn_min_delay");
- + int maxdelay = result2.getInt("respawn_max_delay");
- + mindelay = mindelay / 60 / 60;
- + maxdelay = maxdelay / 60 / 60;
- + addRaidToList(pos, npcname, rlevel, mindelay, maxdelay, rstatus);
- + }
- + result2.close();
- + statement2.close();
- + }
- +
- + result.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + L2DatabaseFactory.close(con);
- + }
- + }
- +
- + private void addRaidToList(int pos, String npcname, int rlevel, int mindelay, int maxdelay, boolean rstatus)
- + {
- + _raidList.append("<table border=0 cellspacing=0 cellpadding=2 width=750 height="+Config.RAID_LIST_ROW_HEIGHT+">");
- + _raidList.append("<tr>");
- + _raidList.append("<td FIXWIDTH=5></td>");
- + _raidList.append("<td FIXWIDTH=20>" + pos + "</td>");
- + _raidList.append("<td FIXWIDTH=270>" + npcname + "</td>");
- + _raidList.append("<td FIXWIDTH=50>" + rlevel + "</td>");
- + _raidList.append("<td FIXWIDTH=120 align=center>" + mindelay + " - " + maxdelay + "</td>");
- + _raidList.append("<td FIXWIDTH=50 align=center>" + ((rstatus) ? "<font color=99FF00>Alive</font>" : "<font color=CC0000>Dead</font>") + "</td>");
- + _raidList.append("<td FIXWIDTH=5></td>");
- + _raidList.append("</tr>");
- + _raidList.append("</table>");
- + _raidList.append("<img src=\"L2UI.Squaregray\" width=\"740\" height=\"1\">");
- + }
- +
- + public String loadRaidList()
- + {
- + return _raidList.toString();
- + }
- +}
- Index: java/com/l2jserver/gameserver/communitybbs/TopPlayers.java
- ===================================================================
- --- java/com/l2jserver/gameserver/communitybbs/TopPlayers.java (revision 0)
- +++ java/com/l2jserver/gameserver/communitybbs/TopPlayers.java (working copy)
- @@ -0,0 +1,243 @@
- +package com.l2jserver.gameserver.communitybbs;
- +
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import java.util.Map;
- +
- +import javolution.text.TextBuilder;
- +import javolution.util.FastMap;
- +
- +import com.l2jserver.Config;
- +import com.l2jserver.L2DatabaseFactory;
- +
- +public class TopPlayers
- +{
- + private int pos;
- + private TextBuilder _topList = new TextBuilder();
- + String sort = "";
- +
- + public TopPlayers(String file)
- + {
- + loadDB(file);
- + }
- +
- + @SuppressWarnings("null")
- + private void loadDB(String file)
- + {
- + Connection con = null;
- +
- + switch (file)
- + {
- + case "toppvp":
- + sort = "pvpkills";
- + break;
- + case "toppk":
- + sort = "pkkills";
- + break;
- + case "topadena":
- + sort = "SUM(it.count)";
- + break;
- + case "toprbrank":
- + sort = "SUM(chr.points)";
- + break;
- + case "toponline":
- + sort = "onlinetime";
- + break;
- + default:
- + break;
- +
- + }
- +
- + try
- + {
- + pos = 0;
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement("SELECT SUM(chr.points), SUM(it.count), ch.char_name, ch.pkkills, ch.pvpkills, ch.onlinetime, ch.base_class, ch.online FROM characters ch LEFT JOIN character_raid_points chr ON ch.charId=chr.charId LEFT OUTER JOIN items it ON ch.charId=it.owner_id WHERE item_id=57 GROUP BY ch.charId ORDER BY " + sort + " DESC LIMIT " + Config.TOP_PLAYER_RESULTS);
- +
- + ResultSet result = statement.executeQuery();
- +
- + while (result.next())
- + {
- + boolean status = false;
- + pos++;
- +
- + if (result.getInt("online") == 1)
- + status = true;
- + String timeon = getPlayerRunTime(result.getInt("ch.onlinetime"));
- + String adenas = getAdenas(result.getInt("SUM(it.count)"));
- +
- + addChar(pos, result.getString("ch.char_name"), result.getInt("base_class"), result.getInt("ch.pvpkills"), result.getInt("ch.pkkills"), result.getInt("SUM(chr.points)"), adenas, timeon, status);
- + }
- +
- + result.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + try
- + {
- + con.close();
- + }
- + catch (Exception e)
- + {
- +
- + }
- + }
- + }
- +
- + public String loadTopList()
- + {
- + return _topList.toString();
- + }
- +
- + private void addChar(int position, String name, int classid, int pvp, int pk, int raid, String adenas, String online, boolean isOnline)
- + {
- + _topList.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=050505 height=" + Config.TOP_PLAYER_ROW_HEIGHT + "><tr><td FIXWIDTH=5></td>");
- + _topList.append("<td FIXWIDTH=20>" + position + ".</td>");
- + _topList.append("<td FIXWIDTH=180>" + name + "</td>");
- + _topList.append("<td FIXWIDTH=175>" + className(classid) + "</td>");
- + _topList.append("<td FIXWIDTH=60>" + pvp + "</td>");
- + _topList.append("<td FIXWIDTH=60>" + pk + "</td>");
- + _topList.append("<td FIXWIDTH=65>" + raid + "</td>");
- + _topList.append("<td FIXWIDTH=150>" + adenas + "</td>");
- + _topList.append("<td FIXWIDTH=148>" + online + "</td>");
- + _topList.append("<td FIXWIDTH=65>" + ((isOnline) ? "<font color=99FF00>Online</font>" : "<font color=CC0000>Offline</font>") + "</td>");
- + _topList.append("</tr></table><img src=\"L2UI.Squaregray\" width=\"758\" height=\"1\">");
- +
- + }
- +
- + public final static String className(int classid)
- + {
- + Map<Integer, String> classList;
- + classList = new FastMap<Integer, String>();
- + classList.put(0, "Fighter");
- + classList.put(1, "Warrior");
- + classList.put(2, "Gladiator");
- + classList.put(3, "Warlord");
- + classList.put(4, "Knight");
- + classList.put(5, "Paladin");
- + classList.put(6, "Dark Avenger");
- + classList.put(7, "Rogue");
- + classList.put(8, "Treasure Hunter");
- + classList.put(9, "Hawkeye");
- + classList.put(10, "Mage");
- + classList.put(11, "Wizard");
- + classList.put(12, "Sorcerer");
- + classList.put(13, "Necromancer");
- + classList.put(14, "Warlock");
- + classList.put(15, "Cleric");
- + classList.put(16, "Bishop");
- + classList.put(17, "Prophet");
- + classList.put(18, "Elven Fighter");
- + classList.put(19, "Elven Knight");
- + classList.put(20, "Temple Knight");
- + classList.put(21, "Swordsinger");
- + classList.put(22, "Elven Scout");
- + classList.put(23, "Plains Walker");
- + classList.put(24, "Silver Ranger");
- + classList.put(25, "Elven Mage");
- + classList.put(26, "Elven Wizard");
- + classList.put(27, "Spellsinger");
- + classList.put(28, "Elemental Summoner");
- + classList.put(29, "Oracle");
- + classList.put(30, "Elder");
- + classList.put(31, "Dark Fighter");
- + classList.put(32, "Palus Knightr");
- + classList.put(33, "Shillien Knight");
- + classList.put(34, "Bladedancer");
- + classList.put(35, "Assasin");
- + classList.put(36, "Abyss Walker");
- + classList.put(37, "Phantom Ranger");
- + classList.put(38, "Dark Mage");
- + classList.put(39, "Dark Wizard");
- + classList.put(40, "Spellhowler");
- + classList.put(41, "Phantom Summoner");
- + classList.put(42, "Shillien Oracle");
- + classList.put(43, "Shilien Elder");
- + classList.put(44, "Orc Fighter");
- + classList.put(45, "Orc Raider");
- + classList.put(46, "Destroyer");
- + classList.put(47, "Orc Monk");
- + classList.put(48, "Tyrant");
- + classList.put(49, "Orc Mage");
- + classList.put(50, "Orc Shaman");
- + classList.put(51, "Overlord");
- + classList.put(52, "Warcryer");
- + classList.put(53, "Dwarven Fighter");
- + classList.put(54, "Scavenger");
- + classList.put(55, "Bounty Hunter");
- + classList.put(56, "Artisan");
- + classList.put(57, "Warsmith");
- + classList.put(88, "Duelist");
- + classList.put(89, "Dreadnought");
- + classList.put(90, "Phoenix Knight");
- + classList.put(91, "Hell Knight");
- + classList.put(92, "Sagittarius");
- + classList.put(93, "Adventurer");
- + classList.put(94, "Archmage");
- + classList.put(95, "Soultaker");
- + classList.put(96, "Arcana Lord");
- + classList.put(97, "Cardinal");
- + classList.put(98, "Hierophant");
- + classList.put(99, "Evas Templar");
- + classList.put(100, "Sword Muse");
- + classList.put(101, "Wind Rider");
- + classList.put(102, "Moonlight Sentinel");
- + classList.put(103, "Mystic Muse");
- + classList.put(104, "Elemental Master");
- + classList.put(105, "Evas Saint");
- + classList.put(106, "Shillien Templar");
- + classList.put(107, "Spectral Dancer");
- + classList.put(108, "Ghost Hunter");
- + classList.put(109, "Ghost Sentinel");
- + classList.put(110, "Storm Screamer");
- + classList.put(111, "Spectral Master");
- + classList.put(112, "Shillien Saint");
- + classList.put(113, "Titan");
- + classList.put(114, "Grand Khavatari");
- + classList.put(115, "Dominator");
- + classList.put(116, "Doomcryer");
- + classList.put(117, "Fortune Seeker");
- + classList.put(118, "Maestro");
- + classList.put(123, "Male Soldier");
- + classList.put(124, "Female Soldier");
- + classList.put(125, "Trooper");
- + classList.put(126, "Warder");
- + classList.put(127, "Berserker");
- + classList.put(128, "Male Soulbreaker");
- + classList.put(129, "Female Soulbreaker");
- + classList.put(130, "Arbalester");
- + classList.put(131, "Doombringer");
- + classList.put(132, "Male Soulhound");
- + classList.put(133, "Female Soulhound");
- + classList.put(134, "Trickster");
- + classList.put(135, "Inspector");
- + classList.put(136, "Judicator");
- +
- + return classList.get(classid);
- + }
- +
- + public String getPlayerRunTime(int secs)
- + {
- + String timeResult = "";
- + if (secs >= 86400)
- + timeResult = Integer.toString(secs / 86400) + " Days " + Integer.toString((secs % 86400) / 3600) + " hours";
- + else
- + timeResult = Integer.toString(secs / 3600) + " Hours " + Integer.toString((secs % 3600) / 60) + " mins";
- + return timeResult;
- + }
- + public String getAdenas(int adena)
- + {
- + String adenas = "";
- + if (adena >= 1000000000)
- + adenas = Integer.toString(adena / 1000000000) + " Billion " + Integer.toString((adena % 1000000000) / 1000000) + " million";
- + else
- + adenas = Integer.toString(adena / 1000000) + " Million " + Integer.toString((adena % 1000000) / 1000) + " k";
- + return adenas;
- + }
- +}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement