Jump to content

Chat Ban System


marwan

Recommended Posts

Hello , i dont know if its already shared or not

 

you will have to create chatban.txt file in data folder

when any character says any word in chatban.txt file he get chat ban for duration (configurable)

its all coded by me

 

http://pastebin.com/0NrvZTDL

 

dont forget to create chatban.txt in data

 

Didn't test yet , please anyone test.

 

oh forgot add this on config file

 

#-----------------------
#Chat Ban System
#-----------------------
# When you say any word in data/chatban.txt file you will be banned you can enable , disbale set the duration
EnableChatBan = True
ChatBanDuration = 10

Link to comment
Share on other sites

Nice idea and share, but I thing it would be better if you load all words in a list, instead of checking txt file all time and create one admin admin command to reload that file

Link to comment
Share on other sites

Nice idea and share, but I thing it would be better if you load all words in a list, instead of checking txt file all time and create one admin admin command to reload that file

yes it will make laag for every single chat that player do but there is no other way todo maybe i can store it in array but will be hard for people to change .txt file is easier

also please clarify what do you mean with list

Link to comment
Share on other sites

yes it will make laag for every single chat that player do but there is no other way todo maybe i can store it in array but will be hard for people to change .txt file is easier

also please clarify what do you mean with list

i mean a fastlist
Link to comment
Share on other sites

  • 3 weeks later...

Can you help me insert Please .... Cant use it..

 


/*
* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.network.clientpackets;

import java.nio.BufferUnderflowException;
import java.util.Collection;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.datatables.csv.MapRegionTable;
import com.l2jfrozen.gameserver.event.EventManager;
import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;
import com.l2jfrozen.gameserver.handler.VoicedCommandHandler;
import com.l2jfrozen.gameserver.managers.PetitionManager;
import com.l2jfrozen.gameserver.model.BlockList;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.L2Object;
import com.l2jfrozen.gameserver.model.L2World;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance.PunishLevel;
import com.l2jfrozen.gameserver.network.SystemChatChannelId;
import com.l2jfrozen.gameserver.network.SystemMessageId;
import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
import com.l2jfrozen.gameserver.network.serverpackets.SocialAction;
import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
import com.l2jfrozen.gameserver.powerpak.PowerPak;
import com.l2jfrozen.gameserver.powerpak.PowerPakConfig;
import com.l2jfrozen.gameserver.util.Util;

public final class Say2 extends L2GameClientPacket
{
private static Logger _log = Logger.getLogger(Say2.class.getName());
private static Logger _logChat = Logger.getLogger("chat");

public final static int ALL = 0;
public final static int SHOUT = 1; //!
public final static int TELL = 2;
public final static int PARTY = 3; //#
public final static int CLAN = 4; //@
public final static int GM = 5; ////gmchat
public final static int PETITION_PLAYER = 6; // used for petition
public final static int PETITION_GM = 7; //* used for petition
public final static int TRADE = 8; //+
public final static int ALLIANCE = 9; //$
public final static int ANNOUNCEMENT = 10; ////announce
public final static int PARTYROOM_ALL = 16; //(Red)
public final static int PARTYROOM_COMMANDER = 15; //(Yellow)
public final static int HERO_VOICE = 17; //%

private final static String[] CHAT_NAMES =
{
		"ALL  ", "SHOUT", "TELL ", "PARTY", "CLAN ", "GM   ", "PETITION_PLAYER", "PETITION_GM", "TRADE", "ALLIANCE", "ANNOUNCEMENT", //10
		"WILLCRASHCLIENT:)",
		"FAKEALL?",
		"FAKEALL?",
		"FAKEALL?",
		"PARTYROOM_ALL",
		"PARTYROOM_COMMANDER",
		"HERO_VOICE"
};

private String _text;
private int _type;
private SystemChatChannelId _type2Check;
private String _target;

@Override
protected void readImpl()
{
	_text = readS();
	try
	{
		_type = readD();
		_type2Check = SystemChatChannelId.getChatType(_type);

	}
	catch(BufferUnderflowException e)
	{
		if(Config.ENABLE_ALL_EXCEPTIONS)
			e.printStackTrace();

		_type = CHAT_NAMES.length;
		_type2Check = SystemChatChannelId.CHAT_NONE;
	}
	_target = _type == TELL ? readS() : null;
}

@Override
protected void runImpl()
{
	if(Config.DEBUG)
	{
		_log.info("Say2: Msg Type = '" + _type + "' Text = '" + _text + "'.");
	}

	if(_type < 0 || _type >= CHAT_NAMES.length)
	{
		_log.warning("Say2: Invalid type: " + _type);
		return;
	}

	L2PcInstance activeChar = getClient().getActiveChar();

	// Anti-PHX Announce
	if (_type2Check == SystemChatChannelId.CHAT_NONE
			|| _type2Check == SystemChatChannelId.CHAT_ANNOUNCE
			|| _type2Check == SystemChatChannelId.CHAT_CRITICAL_ANNOUNCE
			|| _type2Check == SystemChatChannelId.CHAT_SYSTEM
			|| _type2Check == SystemChatChannelId.CHAT_CUSTOM
			|| (_type2Check == SystemChatChannelId.CHAT_GM_PET && !activeChar.isGM()))
	{
	   _log.warning("[Anti-PHX Announce] Illegal Chat channel was used by character: [" + activeChar.getName() + "]");
	   return;
	}

	if(activeChar == null)
	{
		_log.warning("[say2.java] Active Character is null.");
		return;
	}

	if( activeChar.isChatBanned() && !activeChar.isGM() && _type != CLAN && _type != ALLIANCE && _type != PARTY)
	{
		activeChar.sendMessage("You may not chat while a chat ban is in effect.");
		return;
	}

	if(EventManager.getInstance().isRegistered(activeChar))
		EventManager.getInstance().getCurrentEvent().onSay(_type, activeChar, _text);

	if(activeChar.isInJail() && Config.JAIL_DISABLE_CHAT)
	{
		if(_type == TELL || _type == SHOUT || _type == TRADE || _type == HERO_VOICE)
		{
			activeChar.sendMessage("You can not chat with players outside of the jail.");
			return;
		}
	}

	if (!getClient().getFloodProtectors().getSayAction().tryPerformAction("Say2"))
	{
		activeChar.sendMessage("You cannot speak too fast.");
		return;
	}

	if(activeChar.isCursedWeaponEquiped() && (_type == TRADE || _type == SHOUT))
	{
		activeChar.sendMessage("Shout and trade chatting cannot be used while possessing a cursed weapon.");
		return;
	}

	if(_type == PETITION_PLAYER && activeChar.isGM())
	{
		_type = PETITION_GM;
	}

	if(_text.length() > Config.MAX_CHAT_LENGTH)
	{
		if(Config.DEBUG)
		{
			_log.info("Say2: Msg Type = '" + _type + "' Text length more than " + Config.MAX_CHAT_LENGTH + " truncate them.");
		}
		_text = _text.substring(0, Config.MAX_CHAT_LENGTH);
		//return;
	}

	if(Config.LOG_CHAT)
	{
		LogRecord record = new LogRecord(Level.INFO, _text);
		record.setLoggerName("chat");

		if(_type == TELL)
		{
			record.setParameters(new Object[]
			{
					CHAT_NAMES[_type], "[" + activeChar.getName() + " to " + _target + "]"
			});
		}
		else
		{
			record.setParameters(new Object[]
			{
					CHAT_NAMES[_type], "[" + activeChar.getName() + "]"
			});
		}

		_logChat.log(record);
	}


	if (Config.L2WALKER_PROTEC && _type == TELL && checkBot(_text))
	{
		Util.handleIllegalPlayerAction(activeChar, "Client Emulator Detect: Player " + activeChar.getName() + " using l2walker.", Config.DEFAULT_PUNISH);
		return;
	}
	_text = _text.replaceAll("\\\\n", "");

	// Say Filter implementation
	if(Config.USE_SAY_FILTER)
	{
		checkText(activeChar);
	}

	if(PowerPakConfig.ENABLE_SAY_SOCIAL_ACTIONS && !activeChar.isAlikeDead() && !activeChar.isDead()){
		if ((_text.equalsIgnoreCase("hello") 
				|| _text.equalsIgnoreCase("hey") 
				|| _text.equalsIgnoreCase("aloha") 
				|| _text.equalsIgnoreCase("alo") 
				|| _text.equalsIgnoreCase("ciao")
				|| _text.equalsIgnoreCase("hi"))
				&& (!activeChar.isRunning() 
						|| !activeChar.isAttackingNow() 
						|| !activeChar.isCastingNow()
						|| !activeChar.isCastingPotionNow()))
			activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 2));

		if ((_text.equalsIgnoreCase("lol") 
				|| _text.equalsIgnoreCase("haha") 
				|| _text.equalsIgnoreCase("xaxa") 
				|| _text.equalsIgnoreCase("ghgh")
				|| _text.equalsIgnoreCase("jaja"))
				&& (!activeChar.isRunning() || !activeChar.isAttackingNow() || !activeChar.isCastingNow() || !activeChar.isCastingPotionNow()))
			activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 10));

		if ((_text.equalsIgnoreCase("yes") 
				|| _text.equalsIgnoreCase("si")
				|| _text.equalsIgnoreCase("yep"))
				&& (!activeChar.isRunning() || !activeChar.isAttackingNow() || !activeChar.isCastingNow()|| !activeChar.isCastingPotionNow()))
			activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 6));

		if ((_text.equalsIgnoreCase("no") 
				|| _text.equalsIgnoreCase("nop") 
				|| _text.equalsIgnoreCase("nope"))
				&& (!activeChar.isRunning() || !activeChar.isAttackingNow() || !activeChar.isCastingNow()|| !activeChar.isCastingPotionNow()))
			activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 5));

	}

	// by Azagthtot
	PowerPak.getInstance().chatHandler(activeChar, _type, _text);
	//CreatureSay cs = new CreatureSay(activeChar.getObjectId(),_type, activeChar.getName(), _text);

	L2Object saymode = activeChar.getSayMode();
	if(saymode != null)
	{
		String name = saymode.getName();
		int actor = saymode.getObjectId();
		_type = 0;
		Collection<L2Object> list = saymode.getKnownList().getKnownObjects().values();

		CreatureSay cs = new CreatureSay(actor, _type, name, _text);
		for(L2Object obj : list)
		{
			if(obj == null || !(obj instanceof L2Character))
			{
				continue;
			}
			L2Character chara = (L2Character) obj;
			chara.sendPacket(cs);
		}
		return;
	}

	CreatureSay cs = new CreatureSay(activeChar.getObjectId(), _type, activeChar.getName(), _text);
	switch(_type)
	{
		case TELL:
			L2PcInstance receiver = L2World.getInstance().getPlayer(_target);
			if ((receiver != null) && (!BlockList.isBlocked(receiver, activeChar) || activeChar.isGM()))
			{
				if(receiver.isAway())
				{
					activeChar.sendMessage("Player is Away try again later.");
				}

				if(Config.JAIL_DISABLE_CHAT && receiver.isInJail())
				{
					activeChar.sendMessage("Player is in jail.");
					return;
				}

				if(receiver.isChatBanned() && !activeChar.isGM())
				{
					activeChar.sendMessage("Player is chat banned.");
					return;
				}


				if (receiver.isOffline())
				{
					activeChar.sendMessage("Player is in offline mode.");
					return;
				}


				if(!receiver.getMessageRefusal())
				{
					receiver.sendPacket(cs);
					activeChar.sendPacket(new CreatureSay(activeChar.getObjectId(), _type, "->" + receiver.getName(), _text));
				}
				else
				{
					activeChar.sendPacket(new SystemMessage(SystemMessageId.THE_PERSON_IS_IN_MESSAGE_REFUSAL_MODE));
				}
			}
			else if(receiver != null && BlockList.isBlocked(receiver, activeChar))
			{
				SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_ADDED_YOU_TO_IGNORE_LIST);
				sm.addString(_target);
				activeChar.sendPacket(sm);
				sm = null;
			}
			else
			{
				SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_NOT_ONLINE);
				sm.addString(_target);
				activeChar.sendPacket(sm);
				sm = null;
			}
			break;
		case SHOUT:

			// Flood protect Say
			if (!getClient().getFloodProtectors().getGlobalChat().tryPerformAction("global chat"))
				return;

	           if(Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("on") || Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("gm") && activeChar.isGM())
	           {
	              int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
	              for(L2PcInstance player : L2World.getInstance().getAllPlayers())
	              {
	                 if(region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
	                 {
	                    player.sendPacket(cs);
	                 }
	              }
	           }
	           else if(Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("global"))
	           {
	              if(Config.GLOBAL_CHAT_WITH_PVP)
	              {
	                 if((activeChar.getPvpKills() < Config.GLOBAL_PVP_AMOUNT) && !activeChar.isGM())
	                 {
	                    activeChar.sendMessage("You must have at least " + Config.GLOBAL_PVP_AMOUNT+ " pvp kills in order to speak in global chat");
	                    return;
	                 }
	                 for(L2PcInstance player : L2World.getInstance().getAllPlayers())
	                 {
	                    player.sendPacket(cs);
	                 }
	              }
	              else
	              {
	                 for(L2PcInstance player : L2World.getInstance().getAllPlayers())
	                 {
	                    player.sendPacket(cs);
	                 }
	              }
	           }
	           break;
	        case TRADE:
	           if(Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("on"))
	           {
	              if(Config.TRADE_CHAT_WITH_PVP)
	              {
	                 if((activeChar.getPvpKills() <= Config.TRADE_PVP_AMOUNT) && !activeChar.isGM())
	                 {
	                    activeChar.sendMessage("You must have at least " + Config.TRADE_PVP_AMOUNT+ "  pvp kills in order to speak in trade chat");
	                    return;
	                 }
	                 for(L2PcInstance player : L2World.getInstance().getAllPlayers())
	                 {
	                    player.sendPacket(cs);
	                 }
	              }
	              else
	              {
	                 for(L2PcInstance player : L2World.getInstance().getAllPlayers())
	                 {
	                    player.sendPacket(cs);
	                 }
	              }
	           }
	           else if(Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("limited"))
	           {
	        	   
				if(Config.TRADE_CHAT_IS_NOOBLE)
				{
					if(!activeChar.isNoble() && !activeChar.isGM())
					{
						activeChar.sendMessage("Only Nobless Players Can Use This Chat");
						return;
					}

					int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
					for(L2PcInstance player : L2World.getInstance().getAllPlayers())
					{
						if(region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
						{
							player.sendPacket(cs);
						}
					}

				}
				else
				{
					int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
					for(L2PcInstance player : L2World.getInstance().getAllPlayers())
					{
						if(region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
						{
							player.sendPacket(cs);
						}
					}
				}


	           }
	           break;
		case ALL:
			if(_text.startsWith("."))
			{	
				StringTokenizer st = new StringTokenizer(_text);
				IVoicedCommandHandler vch;
				String command = "";
				String target = "";

				if(st.countTokens() > 1)
				{
					command = st.nextToken().substring(1);
					target = _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, target);
					break;
				}
			}

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

			break;
		case CLAN:
			if(activeChar.getClan() != null)
			{
				activeChar.getClan().broadcastToOnlineMembers(cs);
			}
			break;
		case ALLIANCE:
			if(activeChar.getClan() != null)
			{
				activeChar.getClan().broadcastToOnlineAllyMembers(cs);
			}
			break;
		case PARTY:
			if(activeChar.isInParty())
			{
				activeChar.getParty().broadcastToPartyMembers(cs);
			}
			break;
		case PETITION_PLAYER:
		case PETITION_GM:
			if(!PetitionManager.getInstance().isPlayerInConsultation(activeChar))
			{
				activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_IN_PETITION_CHAT));
				break;
			}

			PetitionManager.getInstance().sendActivePetitionMessage(activeChar, _text);
			break;
		case PARTYROOM_ALL:
			if(activeChar.isInParty())
			{
				if(activeChar.getParty().isInCommandChannel() && activeChar.getParty().isLeader(activeChar))
				{
					activeChar.getParty().getCommandChannel().broadcastCSToChannelMembers(cs, activeChar);
				}
			}
			break;
		case PARTYROOM_COMMANDER:
			if(activeChar.isInParty())
			{
				if(activeChar.getParty().isInCommandChannel() && activeChar.getParty().getCommandChannel().getChannelLeader().equals(activeChar))
				{
					activeChar.getParty().getCommandChannel().broadcastCSToChannelMembers(cs, activeChar);
				}
			}
			break;
		case HERO_VOICE:
			if(activeChar.isGM())
			{
				for(L2PcInstance player : L2World.getInstance().getAllPlayers())
					if(!BlockList.isBlocked(player, activeChar))
					{
						player.sendPacket(cs);
					}
			}
			else if(activeChar.isHero())
			{
				// Flood protect Hero Voice
				if (!getClient().getFloodProtectors().getHeroVoice().tryPerformAction("hero voice"))
					return;

				for(L2PcInstance player : L2World.getInstance().getAllPlayers())
					if(!BlockList.isBlocked(player, activeChar))
					{
						player.sendPacket(cs);
					}
			}
			break;
	}
}

private static final String[] WALKER_COMMAND_LIST = { "USESKILL", "USEITEM", "BUYITEM", "SELLITEM", "SAVEITEM", "LOADITEM", "MSG", "SET", "DELAY", "LABEL", "JMP", "CALL",
	"RETURN", "MOVETO", "NPCSEL", "NPCDLG", "DLGSEL", "CHARSTATUS", "POSOUTRANGE", "POSINRANGE", "GOHOME", "SAY", "EXIT", "PAUSE", "STRINDLG", "STRNOTINDLG", "CHANGEWAITTYPE",
	"FORCEATTACK", "ISMEMBER", "REQUESTJOINPARTY", "REQUESTOUTPARTY", "QUITPARTY", "MEMBERSTATUS", "CHARBUFFS", "ITEMCOUNT", "FOLLOWTELEPORT" };



private boolean checkBot(String text)
{
	for (String botCommand : WALKER_COMMAND_LIST)
	{
		if (text.startsWith(botCommand))
			return true;
	}
	return false;
}


private void checkText(L2PcInstance activeChar)
{
	if(Config.USE_SAY_FILTER)
	{
		String filteredText = _text.toLowerCase();

		for(String pattern : Config.FILTER_LIST)
		{
			filteredText = filteredText.replaceAll("(?i)" + pattern, Config.CHAT_FILTER_CHARS);
		}

		if(!filteredText.equalsIgnoreCase(_text))
		{				
			if(Config.CHAT_FILTER_PUNISHMENT.equalsIgnoreCase("chat"))
			{
				activeChar.setPunishLevel(PunishLevel.CHAT, Config.CHAT_FILTER_PUNISHMENT_PARAM1);
				activeChar.sendMessage("Administrator banned you chat from " + Config.CHAT_FILTER_PUNISHMENT_PARAM1 + " minutes");
			}
			else if(Config.CHAT_FILTER_PUNISHMENT.equalsIgnoreCase("karma"))
			{
				activeChar.setKarma(Config.CHAT_FILTER_PUNISHMENT_PARAM2);
				activeChar.sendMessage("You have get " + Config.CHAT_FILTER_PUNISHMENT_PARAM2 + " karma for bad words");
			}
			else if(Config.CHAT_FILTER_PUNISHMENT.equalsIgnoreCase("jail"))
			{
				activeChar.setPunishLevel(PunishLevel.JAIL, Config.CHAT_FILTER_PUNISHMENT_PARAM1);
			}	
			activeChar.sendMessage("The word "+_text+" is not allowed!");
			_text = filteredText;
		}
	}
}

@Override
public String getType()
{
	return "[C] 38 Say2";
}
}

Link to comment
Share on other sites

    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			^
    [javac]   symbol:   class DataInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			                         ^
    [javac]   symbol:   class DataInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			                                             ^
    [javac]   symbol:   class BufferedInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			                                                                     ^
    [javac]   symbol:   class FileInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:118: error: cannot find symbol
    [javac] 			BufferedReader cbbr = new BufferedReader(new InputStreamReader(cb));
    [javac] 			^
    [javac]   symbol:   class BufferedReader
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:118: error: cannot find symbol
    [javac] 			BufferedReader cbbr = new BufferedReader(new InputStreamReader(cb));
    [javac] 			                          ^
    [javac]   symbol:   class BufferedReader
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:118: error: cannot find symbol
    [javac] 			BufferedReader cbbr = new BufferedReader(new InputStreamReader(cb));
    [javac] 			                                             ^
    [javac]   symbol:   class InputStreamReader
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:122: error: cannot find symbol
    [javac] 				activeChar.setPunishLevel(L2PcInstance.PunishLevel.CHAT, Config.CHAT_BAN_DURATION);
    [javac] 				^
    [javac]   symbol:   variable activeChar
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:125: error: cannot find symbol
    [javac] 		catch (IOException e)
    [javac] 		       ^
    [javac]   symbol:   class IOException
    [javac]   location: class Say2
    [javac] 9 errors
    [javac] 1 warning

Link to comment
Share on other sites

    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			^
    [javac]   symbol:   class DataInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			                         ^
    [javac]   symbol:   class DataInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			                                             ^
    [javac]   symbol:   class BufferedInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:117: error: cannot find symbol
    [javac] 			DataInputStream cb = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/chatban.txt/")));
    [javac] 			                                                                     ^
    [javac]   symbol:   class FileInputStream
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:118: error: cannot find symbol
    [javac] 			BufferedReader cbbr = new BufferedReader(new InputStreamReader(cb));
    [javac] 			^
    [javac]   symbol:   class BufferedReader
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:118: error: cannot find symbol
    [javac] 			BufferedReader cbbr = new BufferedReader(new InputStreamReader(cb));
    [javac] 			                          ^
    [javac]   symbol:   class BufferedReader
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:118: error: cannot find symbol
    [javac] 			BufferedReader cbbr = new BufferedReader(new InputStreamReader(cb));
    [javac] 			                                             ^
    [javac]   symbol:   class InputStreamReader
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:122: error: cannot find symbol
    [javac] 				activeChar.setPunishLevel(L2PcInstance.PunishLevel.CHAT, Config.CHAT_BAN_DURATION);
    [javac] 				^
    [javac]   symbol:   variable activeChar
    [javac]   location: class Say2
    [javac] D:\workspace\L2jFrozenInterlude\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\Say2.java:125: error: cannot find symbol
    [javac] 		catch (IOException e)
    [javac] 		       ^
    [javac]   symbol:   class IOException
    [javac]   location: class Say2
    [javac] 9 errors
    [javac] 1 warning

import them from quick fix

its only for the specific word? like if he write 123456 banned and if you write 123455?

no if lol ban and you wrote lol1 then it will not ban

 

updated now it bans

 

http://pastebin.com/azcy4i1k

 

Link to comment
Share on other sites

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

    • Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11 Telegram : https://t.me/ultrastore1 Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11
    • L2 ArenaWar: Low Rate PvP Server with Free Buffs & Autofarm [PVP]⚔️ [Free]🆓 Classic Interlude with  3x XP rates! Free starter pack(no grade) to kickstart your adventure! Autofarm for convenient grinding! Free buffs to keep you fighting fit! (2 job buffs) No experience loss on death! (Except with Karma) Clear Karma system to keep things fair! ⚖️ Active community of 800-1k players! Join our Discord to learn more! >> Discord <<     Server website: https://l2arenawar.com/en/    
    • This is dedication! 2 years working on a problem. Congratulations!
    • You indeed have to save player position over Enterworld to properly clean it up later (if you don't, even trying to delete packet content would eventually keep it up), that's what we do with debug packet (which is a reusable Map of ExServerPrimitive packets) on aCis.   It doesn't solve the FPS stuttering - more you draw/delete lines, more your client becomes laggy. It's like if client wasn't deleting drawn points/lines properly, but instead simply hide them and redrawn content above.   If you got a solution, I would happy to integrate it.   You should check aCis#Player _debug packet integration, it allows very big amount of lines/points to be drawn, it is also reusable.   https://gitlab.com/Tryskell/acis_public/-/blob/master/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java?ref_type=heads https://gitlab.com/Tryskell/acis_public/-/blob/master/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java?ref_type=heads  
    • we sell website templates, make websites to order. Great selection at very good prices. My contacts discord : advert1231 telegram : https://t.me/ggwpins  
  • Topics

×
×
  • Create New...