Jump to content

Recommended Posts

Posted

esekg1a5oirw6x03o35.jpg

Lineage 2 Gracia Epilogue от L2jOfficial rev.1488

 

DOWNLOAD LINK: http://www.failai.lt/bqac5stew2td/L2jOfficial_-_1488.rar.htm

________________________________________________________________________

mwktgoyx1puj01wbwdby.jpg

L2JTW Gracia epiloge 564 [CT2.4]

 

DOWNLOAD LINK: http://www.failai.lt/nkn7zufz08u3/L2JTW_Gracia_epiloge_564.rar.htm

 

Ayta einai ta prota pack poy ginontai share stoys maxcheaters gia to Gracia Final Epilogue...

 

Den ta exw testarei alla perimenw na dw ta comment sas.....Eyxaristw

Posted

Loipon...pistebw pws den 8a xrhshmopih8ei apo polous mexri na ma8eftei oti einai se kalo stadio kai xwris bugs!

An eimai la8os dior8oste me...exw na na mpw 1week giati eixa faei week ban!

Anyway...file pistebw pws 8a einai kalo!

Posted

Koita filaraki otan leme ek protis opseos enooyme sinithws oloi mas arxika legwntas ayto ''EMFANISIAKA'' kai soy lew egw oti ta spaei alla ontos yparxoyn bug. O logos poy edwsa ta links einai an theloyn na doyn pos einai to CT2.4. Tespa eyxaristw poly file.

Posted

Exoune bgei tosa epilogue packs.. l2off kai l2j... alla den exoune mpei sto MxC..oles oi omades exoune proxorisi sto epilogue alla distixos oi pio polles exoune problimata.. omws i L2JFree apoti blepw den prepei na exei bugs ktlp.. kai giati den prepei na exei bugs ? Giati eiparxoune 2-3 epilogue servers kai alloi tosoi opou einai test servers.. kai etsi ama kaneis den prokite na peksi se aftous den 8a bgoun bugs.. ta bugs den ta brisoun mono oi players.. dld afou den exoune bgei akoma bugs gia to gracia epilogue, tote apla den eiparxoun bugs sta pack.. ok ? xD

 

 

@Rozdex  http://www.google.gr/search?q=l2jtw&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:el:official&client=firefox-a  .I L2JTW exei polla problimata sta packs tis kai oi developer tis einai xalia... kalitera L2JFree i L2JOfficial..

Posted

Koita file egw ena share ekana 2 pack poy brika kai to l2j official m fanike kalo. Gia ayto to ebala kai sto english section. Den einai ypoxreotiko to download osoi dn to theloyn dn to katebazoyn... eyxaristw

Posted

Edw einai greek section oxi english.. xD omws ama afta ta packs ta katebasei kanenas asxetos kai aniksi online server kai mpoune mesa atoma kai arxisoun na xrisimopoioun ta apla bugs.. paei.. 8a girisi piso o allos kai 8a lei : mou dosate pack me ola ta bugs tou kosmou.... kai 8a arxisoun ta flames..

Posted

Bugs υπάρχουν και θα υπάρχουν πάντα. Το θέμα είναι να έχεις επίγνωση το τι σου γίνεται και να μην είσαι κλαψιάρης. Προσωπικά το L2JTW δεν το έχω χρησιμοποιήσει αλλά δεν το εμπιστεύομαι. Εμπιστεύομαι περισσότερο το L2JOfficial βλέποντας μόνο τον κώδικα και δίχως να έχω κάνει χρήση του σαν server.

 

Το να φτιάξεις έναν server χωρίς πολλά bugs, είναι θέμα απόφασης, απλά στον L2J όλοι δουλεύουν τον κώδικα του L2Inc (που είναι αισχρός) και έχουν παρατήσει τα public fixes, δυστυχώς. Εγώ δίνω τις ελπίδες μου στο L2JOfficial αν και αυτοί έχουν κάνει κάτι τελείως άκυρα fixes κατά καιρούς...

Posted

esekg1a5oirw6x03o35.jpg

Lineage 2 Gracia Epilogue от L2jOfficial rev.1488

 

DOWNLOAD LINK: http://www.failai.lt/bqac5stew2td/L2jOfficial_-_1488.rar.htm

________________________________________________________________________

mwktgoyx1puj01wbwdby.jpg

L2JTW Gracia epiloge 564 [CT2.4]

 

DOWNLOAD LINK: http://www.failai.lt/nkn7zufz08u3/L2JTW_Gracia_epiloge_564.rar.htm

 

Ayta einai ta prota pack poy ginontai share stoys maxcheaters gia to Gracia Final Epilogue...

 

Den ta exw testarei alla perimenw na dw ta comment sas.....Eyxaristw

 

 

file katarxas giati  to exw kaneis download  kai exw fix polla  problima pou exei to l2jofficial ama den exeis mpei sto forum tous min kaneis to pack etsi post... giati to pack akoma den  to exoun ftia3eis kai ektos  oti einai full problima  tsampa xronon...

 

 

l2jofficial Forum  koita ti  leei kai poios .... kai 8a katalaveis...

 

 

Author  Message

JIV

User avatar

 

Joined: Sun May 17, 2009 8:15 pm

Posts: 924

Location: Slovakia

 

Post Gracia Epilogue

From today TRUNK is Gracia Epilogue. Its not yet finished so please dont use on live or only at own risk.

 

Gracia Final can be found at branches - development is discontinued.

 

 

LOOK

 

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • Hello everyone, I would like some help adapting this file for a custom community board l2jFrozen:   package com.l2jfrozen.gameserver.communitybbs; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import java.util.StringTokenizer; import javolution.util.FastMap; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.cache.HtmCache; import com.l2jfrozen.gameserver.communitybbs.Manager.BaseBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.ClanBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.PostBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.TeleBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.TopicBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.shopBBSManager; import com.l2jfrozen.gameserver.handler.IBBSHandler; import com.l2jfrozen.gameserver.model.L2Clan; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.multisell.L2Multisell; import com.l2jfrozen.gameserver.network.L2GameClient; import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.ShowBoard; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; public class CommunityBoard { private static CommunityBoard _instance; private final Map<String, IBBSHandler> _handlers; protected final SimpleDateFormat fmt = new SimpleDateFormat("H:mm."); public CommunityBoard() { _handlers = new FastMap<>(); // null; } public boolean checkPlayerConditions(L2PcInstance activeChar, String command) { if (activeChar.isInOlympiadMode()) { activeChar.sendMessage("CommunityBoard use is prohibited at the Olympiad"); return false; } if (activeChar.isFlying() || activeChar.isMounted()) { activeChar.sendMessage("CommunityBoard use is prohibited at while flying or mounted!"); return false; } if (activeChar.inObserverMode()) { activeChar.sendMessage("CommunityBoard use is prohibited in ObserveMode!"); return false; } if (activeChar.isAlikeDead() || activeChar.isDead()) { activeChar.sendMessage("CommunityBoard use is prohibited While Dead"); return false; } if (activeChar.isInCombat()) { activeChar.sendMessage("CommunityBoard use is prohibited in Combat!"); return false; } if (activeChar.isCastingNow()) { activeChar.sendMessage("CommunityBoard use is prohibited while Casting!"); return false; } if (activeChar.isAttackingNow()) { activeChar.sendMessage("CommunityBoard use is prohibited while Attacking!"); return false; } if (activeChar.isInDuel()) { activeChar.sendMessage("CommunityBoard use is prohibited while Playing Duel!"); return false; } if (activeChar.isFishing()) { activeChar.sendMessage("CommunityBoard use is prohibited while Fishing!"); return false; } if (activeChar.isInStoreMode()) { activeChar.sendMessage("CommunityBoard use is prohibited in StoreMode!"); return false; } if (activeChar.isInJail() || activeChar.isCursedWeaponEquipped() || activeChar.isFlying() || activeChar.isInBoat() || activeChar.isProcessingTransaction() || activeChar.isStunned()) { activeChar.sendMessage("CommunityBoard use is prohibited right now!"); return false; } return true; } public static CommunityBoard getInstance() { if (_instance == null) { _instance = new CommunityBoard(); } return _instance; } /** * by Azagthtot * @param handler as IBBSHandler */ public void registerBBSHandler(final IBBSHandler handler) { for (final String s : handler.getBBSCommands()) { _handlers.put(s, handler); } } /** * by Azagthtot * @param client * @param command */ public void handleCommands(final L2GameClient client, final String command) { L2PcInstance activeChar = client.getActiveChar(); if (activeChar == null) return; if(!checkPlayerConditions(activeChar, command)) return; if (Config.COMMUNITY_TYPE.equals("full")) { String cmd = command.substring(4); String params = ""; final int iPos = cmd.indexOf(" "); if (iPos != -1) { params = cmd.substring(iPos + 1); cmd = cmd.substring(0, iPos); } final IBBSHandler bbsh = _handlers.get(cmd); if (bbsh != null) { bbsh.handleCommand(cmd, activeChar, params); } else { if (command.startsWith("_bbsclan")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsmemo")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsgetfav")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbstopics")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsposts")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbstop")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbshome")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsloc")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbstele")) { TeleBBSManager.getInstance().parsecmd(command, activeChar); } else if (command.startsWith("_bbsShop")) { shopBBSManager.getInstance().parsecmd(command, activeChar); } else if(command.startsWith("_bbsmultisell;")) { StringTokenizer st = new StringTokenizer(command, ";"); st.nextToken(); shopBBSManager.getInstance().parsecmd("_bbsShop;" + st.nextToken(), activeChar); L2Multisell.getInstance().SeparateAndSend(Integer.parseInt(st.nextToken()), activeChar, false, 0); } else { 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); sb = null; activeChar.sendPacket(new ShowBoard(null, "102")); activeChar.sendPacket(new ShowBoard(null, "103")); } } } else if (Config.COMMUNITY_TYPE.equals("old")) { RegionBBSManager.getInstance().parsecmd(command, activeChar); } else { activeChar.sendPacket(new SystemMessage(SystemMessageId.CB_OFFLINE)); } activeChar = null; } /** * @param client * @param url * @param arg1 * @param arg2 * @param arg3 * @param arg4 * @param arg5 */ public void handleWriteCommands(final L2GameClient client, final String url, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5) { L2PcInstance activeChar = client.getActiveChar(); if (activeChar == null) return; if (Config.COMMUNITY_TYPE.equals("full")) { if (url.equals("Topic")) { TopicBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else if (url.equals("Post")) { PostBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else if (url.equals("Region")) { RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else if (url.equals("Notice")) { ClanBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else { ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + url + " is not implemented yet</center><br><br></body></html>", "101"); activeChar.sendPacket(sb); sb = null; activeChar.sendPacket(new ShowBoard(null, "102")); activeChar.sendPacket(new ShowBoard(null, "103")); } } else if (Config.COMMUNITY_TYPE.equals("old")) { RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else { ShowBoard sb = new ShowBoard("<html><body><br><br><center>The Community board is currently disable</center><br><br></body></html>", "101"); activeChar.sendPacket(sb); sb = null; activeChar.sendPacket(new ShowBoard(null, "102")); activeChar.sendPacket(new ShowBoard(null, "103")); } activeChar = null; } }   And making it work in another l2jOrion project:   package l2jorion.game.community; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import l2jorion.Config; import l2jorion.game.community.manager.BaseBBSManager; import l2jorion.game.community.manager.ClanBBSManager; import l2jorion.game.community.manager.FavoriteBBSManager; import l2jorion.game.community.manager.FriendsBBSManager; import l2jorion.game.community.manager.MailBBSManager; import l2jorion.game.community.manager.PostBBSManager; import l2jorion.game.community.manager.RankBBSManager; import l2jorion.game.community.manager.RegionBBSManager; import l2jorion.game.community.manager.TopBBSManager; import l2jorion.game.community.manager.TopicBBSManager; import l2jorion.game.handler.ICommunityBoardHandler; import l2jorion.game.model.actor.instance.L2PcInstance; import l2jorion.game.network.L2GameClient; import l2jorion.game.network.SystemMessageId; import l2jorion.logger.Logger; import l2jorion.logger.LoggerFactory; public class CommunityBoardManager { protected static Logger LOG = LoggerFactory.getLogger(CommunityBoardManager.class); private Map<String, ICommunityBoardHandler> _handlers = new HashMap<>(); private final Map<Integer, String> _bypasses = new ConcurrentHashMap<>(); private static CommunityBoardManager _instance; public static CommunityBoardManager getInstance() { if (_instance == null) { _instance = new CommunityBoardManager(); } return _instance; } private CommunityBoardManager() { registerBBSHandler(new TopBBSManager()); registerBBSHandler(new FavoriteBBSManager()); registerBBSHandler(new RegionBBSManager()); registerBBSHandler(new ClanBBSManager()); registerBBSHandler(new TopicBBSManager()); registerBBSHandler(new MailBBSManager()); registerBBSHandler(new FriendsBBSManager()); registerBBSHandler(new TopicBBSManager()); registerBBSHandler(new PostBBSManager()); registerBBSHandler(new RankBBSManager()); LOG.info("CommunityBoardHandlers: Loaded " + _handlers.size() + " handlers"); } public void registerBBSHandler(ICommunityBoardHandler handler) { for (String bypass : handler.getBypassBbsCommands()) { if (_handlers.containsKey(bypass)) { continue; } _handlers.put(bypass, handler); } } public void onBypassCommand(L2GameClient client, String command) { final L2PcInstance player = client.getActiveChar(); if (player == null) { return; } if (Config.COMMUNITY_TYPE.equals("off")) { player.sendPacket(SystemMessageId.CB_OFFLINE); return; } /* * if (!AutoImageSenderManager.wereAllImagesSent(player)) { player.sendMessage("Community wasn't loaded yet, try again in few seconds."); player.sendPacket(new ExShowScreenMessage("Community wasn't loaded yet, try again in few seconds.", 2000, 2, false)); return; } */ String cmd = command.substring(4); String params = ""; final int iPos = cmd.indexOf(" "); if (iPos != -1) { params = cmd.substring(iPos + 1); cmd = cmd.substring(0, iPos); } ICommunityBoardHandler bypass = _handlers.get(cmd); if (bypass != null) { bypass.handleCommand(cmd, player, params); } else { if (command.startsWith("_bbshome")) { TopBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsgetfav") || command.startsWith("bbs_add_fav") || command.startsWith("_bbsdelfav_")) { FavoriteBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsloc")) { RegionBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsclan")) { ClanBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsmemo")) { TopicBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsmail") || command.equals("_maillist_0_1_0_")) { MailBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_friend") || command.startsWith("_block")) { FriendsBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbstopics")) { TopicBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsposts")) { PostBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsshowrank")) { RankBBSManager.getInstance().parseCmd(command, player); } else { BaseBBSManager.separateAndSend("<html><body><br><br><center>The command: " + command + " isn't implemented.</center></body></html>", player); } } } public void handleWriteCommands(L2GameClient client, String url, String arg1, String arg2, String arg3, String arg4, String arg5) { final L2PcInstance player = client.getActiveChar(); if (player == null) { return; } if (Config.COMMUNITY_TYPE.equals("off")) { player.sendPacket(SystemMessageId.CB_OFFLINE); return; } if (url.equals("Topic")) { TopicBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("Post")) { PostBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("_bbsloc")) { RegionBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("_bbsclan")) { ClanBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("Mail")) { MailBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("Clan")) { ClanBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("_friend")) { FriendsBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else { BaseBBSManager.separateAndSend("<html><body><br><br><center>The command: " + url + " isn't implemented.</center></body></html>", player); } } public ICommunityBoardHandler getCommunityHandler(String bypass) { if (_handlers.isEmpty()) { return null; } for (Map.Entry<String, ICommunityBoardHandler> entry : _handlers.entrySet()) { if (bypass.contains(entry.getKey())) { return entry.getValue(); } } return null; } public void addBypass(L2PcInstance player, String title, String bypass) { _bypasses.put(player.getObjectId(), title + "&" + bypass); } public String removeBypass(L2PcInstance player) { return _bypasses.remove(player.getObjectId()); } public Map<Integer, String> getAllBypass() { return _bypasses; } }  
  • Topics

×
×
  • Create New...