Bleadd Posted March 12, 2012 Posted March 12, 2012 hello, How can i make a new channel ? L2jServer Hi5. Cordially, Bleadd
0 Bleadd Posted March 13, 2012 Author Posted March 13, 2012 Bump with a question. I've made the files to create a new channel but there is a problem : How can i bind a button to this channel? (Example : ! for shout, $ for my channel.)
0 Tryskell Posted March 13, 2012 Posted March 13, 2012 Apart the fact you must create a chathandler, it's clientcoded.
0 Bleadd Posted March 13, 2012 Author Posted March 13, 2012 I've modified the Say2.java and add the 2 handlers that i want to create. After i've create the 2 handler in data/handlers/chathandlers The core part is over now? Do you know where is clientcoded?
0 Tryskell Posted March 13, 2012 Posted March 13, 2012 I've modified the Say2.java and add the 2 handlers that i want to create. After i've create the 2 handler in data/handlers/chathandlers The core part is over now? Do you know where is clientcoded? About core, you're ok once you created handlers and registered them in master handler. About client, got no clue - not my cup of tea ;D.
0 An4rchy Posted March 13, 2012 Posted March 13, 2012 Just modify ChatAll.java.. Make a boolean, and if text begins with your prefix, for example ~ say the text in the way you want(your channel) and set the boolean to false. Then say the text normally if the boolean is true and not false. I hope you get me.
0 Bleadd Posted March 13, 2012 Author Posted March 13, 2012 if ((text.charAt(0) == ':') && activeChar.isVIP()) { CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getAppearance().getVisibleName(), "[VIP] "+text); Collection<L2PcInstance> plrs = activeChar.getKnownList().getKnownPlayers().values(); for (L2PcInstance player : plrs) { if (player.isVIP()) { player.sendPacket(cs); } } activeChar.sendPacket(cs); } Work for this L2Pcinstance but not for others players.
0 Tryskell Posted March 13, 2012 Posted March 13, 2012 You're taking the knownlist of the activeChar. If no one is around, then it's not spread out.
0 Bleadd Posted March 13, 2012 Author Posted March 13, 2012 if ((text.charAt(0) == ':') && activeChar.isVIP()) { CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getAppearance().getVisibleName(), "[VIP] "+text); for (L2PcInstance player : L2World.getInstance().getAllPlayersArray()) { if (player.isVIP()) { player.sendPacket(cs); } } } Working. Thanks both to you. Edit : I guess colors for chat are in client? Edit 2 : if ((text.charAt(0) == ':') && activeChar.isVIP()) { StringBuffer temptext = new StringBuffer(text); temptext.deleteCharAt(0); String text2 = ""; text2 = text2+ temptext.toString(); text2 = ':' + ' ' + text; // For an easy read. CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getAppearance().getVisibleName(), "[VIP Channel] "+text2); I want to delete the character ':' from the string. INGAME it's look like : Pseudo: [VIP Channel] 122:test Why 122 and not : "Pseudo: [VIP Channel] : text" ?
0 An4rchy Posted March 14, 2012 Posted March 14, 2012 if ((text.startsWith(":") && activeChar.isVIP()) { CreatureSay cs = new CreatureSay(activeChar.getObjectId(), 15, activeChar.getName(), "[VIP] "+text.substring(1)); Collection<L2PcInstance> plrs = L2World.getInstance().getAllPlayers().values(); for (L2PcInstance player : plrs) { if (player.isVIP()) { player.sendPacket(cs); } } activeChar.sendPacket(cs); } Like this it should work fine. The 15 i put is a red color of text. Try the types in Say2, for example Say2.TRADE and choose the one you like.
0 Bleadd Posted March 14, 2012 Author Posted March 14, 2012 if ((text.startsWith(":") && activeChar.isVIP())) { CreatureSay cs = new CreatureSay(activeChar.getObjectId(), Say2.PARTYROOM_ALL, activeChar.getName(), "[Demon Channel] "+text.substring(1)); for (L2PcInstance player : L2World.getInstance().getAllPlayersArray()) { if (player.isVIP()) { player.sendPacket(cs); } } } Is finally the good code. Thanks An4rchy.
0 Tryskell Posted March 17, 2012 Posted March 17, 2012 Not a new channel at all (as the name says, Say2.PARTYROOM_ALL, it's for partymatching), but np :P. I lock.
Question
Bleadd
hello,
How can i make a new channel ?
L2jServer Hi5.
Cordially,
Bleadd
12 answers to this question
Recommended Posts