Jump to content

Recommended Posts

Posted
  On 6/24/2016 at 4:39 PM, Growa said:

I pretty much believe that right now, L2Crabbed is the most stable choice since I don't really like wasting my time here and there. I love what I'm doing and the reason server is not up yet (because it could easily open even right here right now) is just because we focus even on the little detail which will push players to join us and not any other PvP server.

 

actually not he XD , as about my past I don't really want to get into it since its useless info for anyone around to know. Many Prides players used to know me back then but I wonder if a 4 years dead story about pride gives me any really extra credibility.

 

@xxdem, since you don't really like Lorenzo focus on your server's topic rather than spamming Crabbed's topic endlessly. I got nothing personal with you but for gods sake dear you are like the Holy Judge has an opinion about everyone and anything lol

(no offence, I'm just kidding :P , don't take it personally)

 

I got no personal problems with him, Im just pointing out how this low-life mono wants to be an admin now

 

PS: Don't talk about your server's stability when its not even online, you're stability will be tested IF AND ONLY IF 20 days after GO the problems are minimal so stop embarrassing yourself even further

Posted (edited)
  On 6/24/2016 at 4:43 PM, xxdem said:

I got no personal problems with him, Im just pointing out how this low-life mono wants to be an admin now

 

PS: Don't talk about your server's stability when its not even online, you're stability will be tested IF AND ONLY IF 20 days after GO the problems are minimal so stop embarrassing yourself even further

Don't get me wrong, by word stable I mean the interested part of the staff to continue working on something while others just get a few penis and head to hawai for mojitos and gins here and there rofl, that's why I'm not embarrassing myself in any case.

Theres not need to talk big about me or our staff. Proofs about our stability (the way you give it out) will be given on mid/end September.

Edited by Growa
Posted (edited)

I will never understand why these server owners set up such distant opening dates.

You don't hype up a server in months, it usually takes 3-4 weeks or so for people to get interested. Anything after that and people will just join something else. The servers that announce opening dates for several months ahead, usually last 1 or 2 weeks, because everyone expects more and more from the server and end up dissapointed.

Everything looks like it's already done, so why will it take 3 months to open? You're gonna kill the server's lifespan.

Edited by Apathy
Posted
  On 6/25/2016 at 12:52 AM, Apathy said:

I will never understand why these server owners set up such distant opening dates.

 

You don't hype up a server in months, it usually takes 3-4 weeks or so for people to get interested. Anything after that and people will just join something else. The servers that announce opening dates for several months ahead, usually last 1 or 2 weeks, because everyone expects more and more from the server and end up dissapointed.

 

Everything looks like it's already done, so why will it take 3 months to open? You're gonna kill the server's lifespan.

be smart dude and think about it ,its freaking summer ,most people got vacations,examinations and shits ,september is the perfect time to open it,and till then many people will already know about it and have plenty of time in order to get in touch with other friends that they wanna play together.

Posted
  On 6/25/2016 at 9:11 AM, XIQMrGo said:

be smart dude and think about it ,its freaking summer ,most people got vacations,examinations and shits ,september is the perfect time to open it,and till then many people will already know about it and have plenty of time in order to get in touch with other friends that they wanna play together.

That just means it will have more competition. And this server has way too many custom features to keep a big population. Retail-like servers take up the vast majority of the playerbase, and that is a FACT.

 

I like the project, but September is a huge no-no, since I will probably join a bigger project with 3k online or so.

Posted
  On 6/25/2016 at 5:55 PM, Apathy said:

That just means it will have more competition. And this server has way too many custom features to keep a big population. Retail-like servers take up the vast majority of the playerbase, and that is a FACT.

 

I like the project, but September is a huge no-no, since I will probably join a bigger project with 3k online or so.

i get what u say,but there isnt any other project like this one,pride style project,the only projects that you will see is standard h5 shits or interlude trashes ffs interlude is way too old,its unique so it worths.

Posted
  On 6/25/2016 at 10:13 PM, XIQMrGo said:

i get what u say,but there isnt any other project like this one,pride style project,the only projects that you will see is standard h5 shits or interlude trashes ffs interlude is way too old,its unique so it worths.

 

if thats what you believe

Posted (edited)

I don't think that the reason behind the "low" population of custom servers is becuase of the fact that the vast majority simply wishes to play on retial -like.

(not to mention most retial like servers, even the big ones are far, very far from retial, if you played on official servers back in c1-hi5 you know what I mean).

 

The way i see it most of the custom servers have not really offered enough custom content, or content at all. Including all recent or old procejts, from AEpvp,pride likes,gracia pride likes, vesta, wargate, finest, etc etc.

 

-For exemple: Almost every single custom server I ve seen so far had vary plain and boring farm, instances.  Mobs were scattered all over the place without having a certain variety of monsters. Instead you had farm the very same mobs from day 1 till the end of the server.

-Monsters ai/and skill use almost never existed on these custom servers or it was very limited and simple.

-Quests were totally forgotten, while its a vey important rpg element.

-So called custom class balance never really existed, almost half of the classes very usually left as they were before or they tossed 2-3 skills to them without a second thought.

-And ofcourse the false features: Every single server owner posts a billion things in the features list, but when you join the server you realize not even half of the features are ready.

 

 

This shows clearly, that making a successful l2 server is not just about having great coding skill. Its also about having imagination, and fresh ideas and the ability to understand the gameplay in depths: including economy, classes, skills, pve etc.

 

 

And there's this stupid thing almost all of the owners do. The neverending hate, and flame and spam when somebody else tries to open a server. Many of you jump at eachother like rabbid dogs and trying to ruin the reputation of the servers even before they lunched. And while some may think it actually is a good thing so they can get more players for their own project they ruin their own image/reputation.

For exemple xdem. I say this without the slightest bad intention. You are obviously one of the best if not the best dev around here, and yet far more people hates or don't like you than do. All becuase of you manners towards others.

If people like xdem and other owners used all those energies they waste on this pointless forum/flame/ddos wars and worked on thier projhects or shared ideas with eachother, I m sure we could have seen more than one great custom server.

 

 

 

On topic, good luck with your server.

Edited by Horse
Posted
  On 6/26/2016 at 8:22 AM, Horse said:

I don't think that the reason behind the "low" population of custom servers is becuase of the fact that the vast majority simply wishes to play on retial -like.

(not to mention most retial like servers, even the big ones are far, very far from retial, if you played on official servers back in c1-hi5 you know what I mean).

 

The way i see it most of the custom servers have not really offered enough custom content, or content at all. Including all recent or old procejts, from AEpvp,pride likes,gracia pride likes, vesta, wargate, finest, etc etc.

 

-For exemple: Almost every single custom server I ve seen so far had vary plain and boring farm, instances.  Mobs were scattered all over the place without having a certain variety of monsters. Instead you had farm the very same mobs from day 1 till the end of the server.

-Monsters ai/and skill use almost never existed on these custom servers or it was very limited and simple.

-Quests were totally forgotten, while its a vey important rpg element.

-So called custom class balance never really existed, almost half of the classes very usually left as they were before or they tossed 2-3 skills to them without a second thought.

-And ofcourse the false features: Every single server owner posts a billion things in the features list, but when you join the server you realize not even half of the features are ready.

 

 

This shows clearly, that making a successful l2 server is not just about having great coding skill. Its also about having imagination, and fresh ideas and the ability to understand the gameplay in depths: including economy, classes, skills, pve etc.

 

 

And there's this stupid thing almost all of the owners do. The neverending hate, and flame and spam when somebody else tries to open a server. Many of you jump at eachother like rabbid dogs and trying to ruin the reputation of the servers even before they lunched. And while some may think it actually is a good thing so they can get more players for their own project they ruin their own image/reputation.

For exemple xdem. I say this without the slightest bad intention. You are obviously one of the best if not the best dev around here, and yet far more people hates or don't like you than do. All becuase of you manners towards others.

If people like xdem and other owners used all those energies they waste on this pointless forum/flame/ddos wars and worked on thier projhects or shared ideas with eachother, I m sure we could have seen more than one great custom server.

 

 

 

On topic, good luck with your server.

 

I agree with all of your points, but you see its not a matter of hating or envy I got towards other servers. When I've firstly read the topic I was happy that theres a new and fresh custom pride like and this is proved by my first comment.

 

But I am a very smart guy, and immediately found out that this server is yet another mistake, its L2Humility renamed with admins like TheAllKnowing (Greek guy with lots of friends) and AAG (twostepsaway a corrupted faggot that is as amateur as a 15 year old). So whats the deal here? Its another server that gives false hopes to people, through stupid videos and faggy eye candies. (Don't get me wrong).

 

As for the pride-like features regarding PvE, you got a point there but creative imagination is not enough and should be rarely implemented. People won't appreciate easily your own ideas unless they are very close to L2Pride, so the policy of a pride-like is stick close to L2Pride farming even if its shit (It is, it doesn't even fit to a 2K16 MMO/RPG standards)

Posted
  On 6/26/2016 at 10:47 AM, xxdem said:

I agree with all of your points, but you see its not a matter of hating or envy I got towards other servers. When I've firstly read the topic I was happy that theres a new and fresh custom pride like and this is proved by my first comment.

 

But I am a very smart guy, and immediately found out that this server is yet another mistake, its L2Humility renamed with admins like TheAllKnowing (Greek guy with lots of friends) and AAG (twostepsaway a corrupted faggot that is as amateur as a 15 year old). So whats the deal here? Its another server that gives false hopes to people, through stupid videos and faggy eye candies. (Don't get me wrong).

 

As for the pride-like features regarding PvE, you got a point there but creative imagination is not enough and should be rarely implemented. People won't appreciate easily your own ideas unless they are very close to L2Pride, so the policy of a pride-like is stick close to L2Pride farming even if its shit (It is, it doesn't even fit to a 2K16 MMO/RPG standards)

so basically guys,lets go play blade & soul

Posted (edited)
  On 6/26/2016 at 10:47 AM, xxdem said:

I agree with all of your points, but you see its not a matter of hating or envy I got towards other servers. When I've firstly read the topic I was happy that theres a new and fresh custom pride like and this is proved by my first comment.

 

But I am a very smart guy, and immediately found out that this server is yet another mistake, its L2Humility renamed with admins like TheAllKnowing (Greek guy with lots of friends) and AAG (twostepsaway a corrupted faggot that is as amateur as a 15 year old). So whats the deal here? Its another server that gives false hopes to people, through stupid videos and faggy eye candies. (Don't get me wrong).

 

As for the pride-like features regarding PvE, you got a point there but creative imagination is not enough and should be rarely implemented. People won't appreciate easily your own ideas unless they are very close to L2Pride, so the policy of a pride-like is stick close to L2Pride farming even if its shit (It is, it doesn't even fit to a 2K16 MMO/RPG standards)

 

 

Indeed, you were positive on the first page, I missed that, my bad.

 

Also, I understand that in some way you were trying to keep people from getting their hopes high while you already noticed that something was/is fishy about the server.

 

But, the way I see it, hate only gives birth to more hate and this damages that small remaining l2 comunity all together.

When the players who are looking for servers to play on, see nothing but endless flame wars (be it right or wrong) in almost every section, they might get demotivated to such extent that they simple give up playing the game.

Of course the continuous disappointment in servers leads there as well. Or it simply lowers the players' standards to a point where they thecnically call every half-assed server good, simply becuase they've forgotten or have never known what is/was a good server about. be it retial-like, custom, or pvp.

 

 

On the features part: I understand that the majority of people who re looking for custom servers have developed a certain kind of tunnel vision over the years.

However it is also becuase most of the custom server were pride-like servers for understandable reasons, and the rest were usually custom only in name (having 1-2 custom items and thats all).

 

So there hasn't been any other big or how should i put it, complete custom server project which was rich in features and yet  different gameplay, class,pve wise.

 

I know this is by no means easy and requires serious amount of time invested in it. But i do belive that the future of custom l2 should not be pride but something new.

 

 

Actually i hope that the ice will break before this game gets totally forgotten and we ll be able to create, or enjoy some servers that worth having fun on.

Edited by Horse

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

    • 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; } }  
    • Γεια σας ψαχνω ενα pride style interlude pack me patch αν ειναι ευκολο ευχαριστω πολυ
    • Greetings looking for interlude pride style pack  with patch if anyone can give me thank you 
  • Topics

×
×
  • Create New...