Jump to content
  • 0

Question

12 answers to this question

Recommended Posts

  • 0
Posted

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
Posted

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
Posted

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
Posted

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
Posted

                         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
Posted

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
Posted

                         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
Posted

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.

Guest
This topic is now closed to further replies.


×
×
  • Create New...