Jump to content

Recommended Posts

Posted

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

Posted

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

Posted

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
  • 3 weeks later...
Posted

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";
}
}

Posted
    [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

Posted

    [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

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • L2 Kings    Stage 1 – The Awakening Dynasty and Moirai Level Cap: 83 Gear: Dynasty -Moirai & Weapons (Shop for Adena + Drop from mobs/instances ) Masterwork System: Available (Neolithics S required with neolithics u can do armor parts foundation aswell) Class Cloaks: Level 1 - Masterwork sets such us moirai/dynasty stats are boosted also vesper(stage 2) Olf T-Shirt: +6 (fails don’t reset) safe is +2 Dolls: Level 1 Belts: Low & Medium Enchant: Safe +3 / Max +8 / Attribution Easy in Moirai-Dynasty . Main Zones: Varka Outpost: Easy farm, Adena, EXP for new players = > 80- 100kk hour Dragon Valley: Main farm zone — , 100–120kk/hour Weapon Weakness System active (all classes can farm efficiently) Archers get vampiric auto-hits vs mobs Dragon Valley Center: Main Party Zone — boosted drops (Blessed enchants, Neolithics chance) => farm like 150-200kk per hour. Dragon Valley North: Spoil Zone (Asofe + crafting materials for MW) Primeval Isle: Safe autofarm zone (low adena for casual players) ==> 50kk per hour Forge of the Gods & Imperial Tomb: Available from Stage 1 (lower Adena reward in compare with Dragon Valley) Hellbound also avaliable from stage 1 In few words all zones opened but MAIN farm zone with boosted adena and drops is Dragon valley also has more mobs Instances: Zaken (24h Reuse) → Instead of Vespers drop Moirai , 100% chance to drop 1 of 9 dolls lvl 1, Zaken 7-Day Jewelry Raid Bosses (7 RBs): Drop Moirai Parts + Neolithic S grade instead of Vespers parts that has 7 Rb Quest give Icarus Weapons Special Feature 7rb bosses level up soul crystals aswell. Closed Areas : Monaster of SIlence, LOA, ( It wont have mobs) / Mahum Quest/Lizardmen off) Grand Epics: Unlocked on Day 4 of Stage 1 → Antharas, Valakas, Baium, AQ, etc ================================================================================= Stage 2 – Rise of Vespers Level Cap: 85 Gear: Moirai Armors (Adena GM SHOP / Craft/ Drop) Weapons: Icarus Cloaks: Level 2 Olf: +8 Dolls: Level 2 Belts: High & Top Enchant: Safe +3 / Max +8 Masterwork can be with Neolithics S84 aswell but higher so craft will be usefull aswell. 7 Raid Boss Quest Updated: Now works retail give vesper weapons 7rb Bosses Drops : Vespers Instances: Zaken : Drops to retail vespers + the dolls and the extra items that we added on stage 1 New Freya Instance: Added — drops vespers and instead of mid s84 weapons will drop vespers . Extra drops Blessed Bottle of Freya - drops 100% chance 1 of 9 dolls. Farm Areas Dragon Valley remains main farm New Zone : Lair of Antharas (mobs nerfed and added drop Noble stone so solo players can farm too) New Party Zone : LOA Circle   ============================================================================   Stage 3 – The Vorpal ERA Gear: Vorpal Unclock Cloaks: Level 3 Olf: +10 (max cap) Dolls: Level 3 Enchant: Safe +3 / Max +12 Farm Zones : Dragon Valley Center Scorpions becomes a normal solo zone (no longer party zone) Drops:   LOA & Knorik → Mid Weapons avaliable in drop New Party Zone Kariks Instances: Easy Freya Drops Mid Weapons Frintezza Release =================================================================================     Stage 4 – Elegia Era (Final Stage) Elegia Unlock Gear: Elegia Weapons: Elegia TOP s84 ( farmed via H-Freya/ Drops ) Cloaks: Level 5 Dolls: Level 3 (final bonuses) Enchant: Safe +6 / Max +16 Instances: Hard Freya → Drops Elegia Weapons + => The Instance will drop 2-3 parts for sure and also will be able to Join with 7 people . Party Zone will have also drop chances for elegia armor parts and weapons but small   Events (Hourly): Win: 50 Event Medals + 3 GCM + morewards Lose: 25 Medals + 1 GCM + more rewards Tie: 30 Medals + 2 GCM + more rewards   ================================================================================ Epic Fragments Currency Participating in Daily Bosses mass rewarding all players Participating in Instances (zaken freya frintezza etc) all players get reward ================================================================================ Adena - Main server currency (all items in gm shop require adena ) Event Medals (Festival Adena) - Event shop currency Donation coins you can buy with them dressme,cosmetics and premium account Epic Fragments you can buy with them fake epic jewels Olympiad Tokens you can buy many items from olympiad shop (Hero Coin even items that are on next stages) Olympiad Win = 1000 Tokens / Lose = 500 Tokens ================================================================================= Offline Autofarm Allows limited Offline farming requires offline autofarm ticket that you get by voting etc ================================================================================= Grand Epics have Specific Custom NPC that can spawn Epics EU/LATIN TIME ZONE ================================================================================= First Olympiad Day 19 December First Heroes 22 December ( 21 December Last day of 1st Period) After that olympiad will be weekly. ================================================================================= Item price and economy Since adena is main coin of server and NOT donation coins we will always add new items in gm shop with adena in order to burn the adena of server and not be inflation . =================================================================================        
    • Hello, I'd like to change a title color for custom npc.  I created custom NPC, cloned existing. I put unique id for it in npcname-e, npcgrp and database. I have "0" to serverSideName in db, so that it would use npcname-e, but instead it has "NoNameNPC"and no title color change.
    • Trusted Guy 100% ,  I asked him for some work and he did it right away.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock