Jump to content
  • 0

Question

Posted

Hello, all commands . with this working, party chat also, etc. But normal chat doesnt, here mine chatall.java

Example i say HELLO, i see that i say, but other players doesnt see, with party chat all good.

/*
* 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 net.sf.l2j.gameserver.handler.chathandlers;

import java.util.StringTokenizer;
import java.util.logging.Logger;

import net.sf.l2j.Config;

import net.sf.l2j.gameserver.handler.IChatHandler;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.handler.VoicedCommandHandler;
import net.sf.l2j.gameserver.model.BlockList;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;

/**
* A chat handler
* @author durgus
*/
public class ChatAll implements IChatHandler
{
private static final int[] COMMAND_IDS =
{
	0
};

private static Logger _log = Logger.getLogger(ChatAll.class.getName());

/**
 * Handle chat type 'all'
 * @see net.sf.l2j.gameserver.handler.IChatHandler#handleChat(int, net.sf.l2j.gameserver.model.actor.instance.L2PcInstance, java.lang.String, java.lang.String)
 */
@Override
public void handleChat(int type, L2PcInstance activeChar, String params, String text)
{
			boolean vcd_used = false;
			if (text.startsWith("."))

	{
					StringTokenizer st = new StringTokenizer(text);
							IVoicedCommandHandler vch;
							String command = "";

							if (st.countTokens() > 1)
							{
								command = st.nextToken().substring(1);
								params = text.substring(command.length() + 2);
							vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command);
					}
							else
							{
								command = text.substring(1);
								if (Config.DEBUG)
									_log.info("Command: " + command);
								vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command);
							}
							if (vch != null)
							{
								vch.useVoicedCommand(command, activeChar, params);
								vcd_used = true;
						}
						else
						{
							if (Config.DEBUG)
								_log.warning("No handler registered for bypass '" + command + "'");
							vcd_used = false;
							}
	}

				if (!vcd_used) {
							CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text);

						for (L2PcInstance player : activeChar.getKnownList().getKnownTypeInRadius(L2PcInstance.class, 1250))
							{
								if (!BlockList.isBlocked(player, activeChar))
									player.sendPacket(cs);
							}

						activeChar.sendPacket(cs);
					}
}

/**
 * Returns the chat types registered to this handler
 * @see net.sf.l2j.gameserver.handler.IChatHandler#getChatTypeList()
 */
@Override
public int[] getChatTypeList()
{
	return COMMAND_IDS;
}
}

2 answers to this question

Recommended Posts

  • 0
Posted

This is not aCis chatall.. Or i don't know if they changed it above 290 rev.

Anyway, try to replace this:

for (L2PcInstance player : activeChar.getKnownList().getKnownTypeInRadius(L2PcInstance.class, 1250))
							{
								if (!BlockList.isBlocked(player, activeChar))
									player.sendPacket(cs);
							}

 

with this:

 

		for (L2PcInstance player : activeChar.getKnownList().getKnownPlayers())
		{
			if (activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar))
				player.sendPacket(cs);
		}

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
Answer this question...

×   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.



×
×
  • Create New...