Jump to content
  • 0

error hidden drop event [Jfrozen 1132]


heladito

Question

hi! i added this code but its giving me a little error in this line of L2PcInstance.java

 

the full code

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/L2PcInstance.java
=========================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/L2PcInstance.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/L2PcInstance.java

import com.l2jfrozen.gameserver.model.entity.event.CTF;
import com.l2jfrozen.gameserver.model.entity.event.DM;
+/** Hide Event */
+import com.l2jfrozen.gameserver.model.entity.event.Hide;

import com.l2jfrozen.util.database.L2DatabaseFactory;
import com.l2jfrozen.util.random.Rnd;
+/** hide event */
+import com.l2jfrozen.gameserver.network.clientpackets.Say2;

		if (target.getItemLootShedule() != null && (target.getOwnerId() == getObjectId() || isInLooterParty(target.getOwnerId())))
		{
			target.resetOwnerTimer();
		}
+			
+			if(target.isHide())
+			{
+					        	
+				getInventory().addItem("", Hide.rewardId, Hide.rewardCount, this, null);
+				sendPacket(new InventoryUpdate());
+				sendMessage("You won the event!");
+				Hide.cleanEvent();
+				Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Winner is: "+getName()+". Event ended."));
+				target.setHide(false);
+				System.out.println("Automatic Hide Event finished with success.");
+				return;
+			}
+
		// Fixed it's not possible pick up the object if you exceed the maximum weight.
		if (_inventory.getTotalWeight() + target.getItem().getWeight() * target.getCount() > getMaxLoad())
		{
			sendMessage("You have reached the maximun weight.");
			return;
		}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java
============================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java

import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminWho;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminZone;
+/** Hide Event */
+import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminGoHide;

	registerAdminCommandHandler(new AdminBuffs());
	registerAdminCommandHandler(new AdminAio());
+		/** Hide Event */
+		registerAdminCommandHandler(new AdminGoHide());

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/admincommandhandler/AdminGoHide.java
=======================================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/admincommandhandler/AdminGoHide.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/admincommandhandler/AdminGoHide.java

+/* 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.handler.admincommandhandlers;
+
+import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
+import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfrozen.gameserver.model.entity.event.Hide;
+
+/**
+ *
+ * @author  Iracundus ( Remaded Sakretsos )
+ */
+public class AdminGoHide implements IAdminCommandHandler
+{
+
+	private static String[] ADMIN_COMMANDS = {"admin_gohide"};
+
+	@Override
+	public boolean useAdminCommand(String command, L2PcInstance activeChar)
+	{
+		if(command.startsWith("admin_gohide")){
+			if(activeChar == null)
+				return false;
+			
+			if(Hide.running == false){
+				activeChar.sendMessage("Event is not in progress");
+				return false;
+			}
+			
+			int x = Hide.getX() , y = Hide.getY() , z = Hide.getZ();
+			activeChar.teleToLocation(x, y, z);
+		}
+		
+		return true;
+	}
+
+	
+	@Override
+	public String[] getAdminCommandList()
+	{
+		return ADMIN_COMMANDS;
+	}
+	
+}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java
===================================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java

/** Location of the item : Inventory, PaperDoll, WareHouse. */
private ItemLocation _loc;

/** Slot where item is stored. */
private int _locData;
+	
+	/** Hide Event */
+	private boolean hide;

	if(Config.LOG_ITEMS)
	{
		LogRecord record = new LogRecord(Level.INFO, "CHANGE:" + process);
		record.setLoggerName("item");
		record.setParameters(new Object[]
		{
				this, creator, reference
		});
		_logItems.log(record);
		record = null;
	}
}
+	
+	/** Hide Event */
+	public boolean isHide()
+	{
+			return hide;
+	}
+	
+	public void setHide(boolean j)
+	{
+			hide = j;
+	}
+

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/entity/event/Hide.java
=======================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/entity/event/Hide.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/entity/event/Hide.java

+/* 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.model.entity.event;
+
+import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
+import com.l2jfrozen.gameserver.network.clientpackets.Say2;
+import com.l2jfrozen.gameserver.network.SystemMessageId;
+import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
+import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
+import com.l2jfrozen.gameserver.util.Broadcast;
+import com.l2jfrozen.util.random.Rnd;
+import com.l2jfrozen.gameserver.model.L2World;
+import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
+
+public class Hide{
+	
+	public static final int rewardId = (Config.HIDE_EVENT_REWARD_ID);
+	public static final int rewardCount = (Config.HIDE_EVENT_REWARD_COUNT);
+	private static Hide _instance;
+	private final int delay = (Config.HIDE_EVENT_DELAY_BEFORE_START);
+	private final static int itemId = (Config.HIDE_EVENT_ITEM_WILL_DROP);
+	private final static int itemCount = 1;
+	public static boolean running = false;
+	private static int x;
+	private static int y;
+	private static int z = 0;
+	private final int[][] teleports = { {116496,145020,-2569} , {18605,145378,-3129} , {-83083,150505,-3134} };
+	static L2ItemInstance item = null;
+	
+	public static int getX(){
+		return x;
+	}
+	
+	public static int getY(){
+		return y;
+	}
+	
+	public static int getZ(){
+		return z;
+	}
+	
+	public static int getItemId(){
+		return itemId;
+	}
+	
+	public static int getItemCount(){
+		return itemCount;
+	}
+	
+	public void startEvent(){
+		running = true;
+		System.out.println("Automatic Hide Event started with success.");
+		int s = Rnd.get(teleports.length);
+		x = teleports[s][0];
+		y = teleports[s][1];
+		z = teleports[s][2];
+		SystemMessage sm = new SystemMessage(SystemMessageId.S2_WAS_DROPPED_IN_THE_S1_REGION);
+		sm.addZoneName(getX(), getY(), getZ()); 
+		sm.addItemName(itemId);
+		item = new L2ItemInstance(Rnd.get(65535),itemId);
+		L2World.getInstance().storeObject(item);
+		item.setCount(itemCount);
+		item.setHide(true);
+		item.getPosition().setWorldPosition(x, y ,z);
+        item.getPosition().setWorldRegion(L2World.getInstance().getRegion(item.getPosition().getWorldPosition()));
+        item.getPosition().getWorldRegion().addVisibleObject(item);
+        item.setProtected(false);
+        item.setIsVisible(true);
+        L2World.getInstance().addVisibleObject(item, item.getPosition().getWorldRegion(), null);
+	    
+        
+   
+        Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Event started, Item dropped: "+item.getItem().getName()+", find it and win!"));
+        Broadcast.toAllOnlinePlayers(sm);
+        ThreadPoolManager.getInstance().scheduleGeneral(new Check(), 60000);
+	}
+	
+	public void checkAfterTime(){
+		if(running == false)
+			return;
+		if(item.isHide())
+			item.setHide(false);
+		item.decayMe();
+		L2World.getInstance().removeObject(item);
+		cleanEvent(); 
+		Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Unfortunately, None find the item, event finished!"));
+		System.out.println("Automatic Hide event finished with success.");
+	}
+	
+	public static void cleanEvent(){
+		x = 0;
+		y = 0;
+		z = 0;
+		running = false;
+		if(item != null){
+			item.decayMe();
+		L2World.getInstance().removeObject(item);
+		}
+		item = null;
+	}
+	
+	private Hide(){
+		ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Event(), delay, delay);
+		System.out.println("Automatic Hide Event aboarded with success.");
+	}
+	
+	public static Hide getInstance(){
+		if(_instance == null)
+			_instance = new Hide();
+		return _instance;
+	}
+	
+	public class Check implements Runnable{
+		@Override
+		public void run(){
+			checkAfterTime();
+		}
+	}
+	public class Event implements Runnable{
+		@Override
+		public void run(){
+			startEvent();	
+		}
+	}
+}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/GameServer.java
==========================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/GameServer.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/GameServer.java

import com.l2jfrozen.gameserver.model.entity.Hero;
import com.l2jfrozen.gameserver.model.entity.MonsterRace;
+import com.l2jfrozen.gameserver.model.entity.event.Hide;

	CursedWeaponsManager.getInstance();
	TaskManager.getInstance();
+		/** Hide Event */
+		if (Config.HIDE_EVENT)
+		{
+		Hide.getInstance();
+		}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/Config.java
===========================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/Config.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/Config.java

public static String PVP1_CUSTOM_MESSAGE;
public static String PVP2_CUSTOM_MESSAGE;
+	/** Hide Event Enabled */
+	public static boolean HIDE_EVENT;
+	public static int HIDE_EVENT_REWARD_ID;
+	public static int HIDE_EVENT_REWARD_COUNT;
+	public static int HIDE_EVENT_ITEM_WILL_DROP;
+	public static int HIDE_EVENT_DELAY_BEFORE_START;
+


		PVP1_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP1CustomMeesage", "You have been teleported to PvP Zone 1!");
		PVP2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP2CustomMeesage", "You have been teleported to PvP Zone 2!");
+			/** Hide Event */
+			HIDE_EVENT = Boolean.parseBoolean(L2JFrozenSettings.getProperty("HideEvent", "false"));
+			HIDE_EVENT_REWARD_ID = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventRewardId", "2807"));
+			HIDE_EVENT_REWARD_COUNT = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventRewardCount", "1"));
+			HIDE_EVENT_ITEM_WILL_DROP = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventItemWillDrop", "2807"));
+			HIDE_EVENT_DELAY_BEFORE_START = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventDelayBeforeStart", "180000"));
+

Index: C:/Workspace/L2jFrozen_GameServer/config/functions/l2jfrozen.properties
==============================================================================
--- C:/Workspace/L2jFrozen_GameServer/config/functions/l2jfrozen.properties
+++ C:/Workspace/L2jFrozen_GameServer/config/functions/l2jfrozen.properties
+
+# -----------------------------------------
+# Hide Event -
+# -----------------------------------------
+# Default = False
+HideEvent = True
+HideEventRewardId = 2807
+HideEventRewardCount = 20
+HideEventItemWillDrop = 6579
+#Hide Event Start Every ( 180000 Milliseconds )
+#Milliseconds ( 180000 milliseconds = 180 seconds )
+HideEventDelayBeforeStart = 18000

 

and this is the line of error

Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Winner is: "+getName()+". Event ended."));

 

Anyone can help me with this? :(

 

error.png

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
33 minutes ago, heladito said:

hi! i added this code but its giving me a little error in this line of L2PcInstance.java

 

the full code


Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/L2PcInstance.java
=========================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/L2PcInstance.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/L2PcInstance.java

import com.l2jfrozen.gameserver.model.entity.event.CTF;
import com.l2jfrozen.gameserver.model.entity.event.DM;
+/** Hide Event */
+import com.l2jfrozen.gameserver.model.entity.event.Hide;

import com.l2jfrozen.util.database.L2DatabaseFactory;
import com.l2jfrozen.util.random.Rnd;
+/** hide event */
+import com.l2jfrozen.gameserver.network.clientpackets.Say2;

		if (target.getItemLootShedule() != null && (target.getOwnerId() == getObjectId() || isInLooterParty(target.getOwnerId())))
		{
			target.resetOwnerTimer();
		}
+			
+			if(target.isHide())
+			{
+					        	
+				getInventory().addItem("", Hide.rewardId, Hide.rewardCount, this, null);
+				sendPacket(new InventoryUpdate());
+				sendMessage("You won the event!");
+				Hide.cleanEvent();
+				Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Winner is: "+getName()+". Event ended."));
+				target.setHide(false);
+				System.out.println("Automatic Hide Event finished with success.");
+				return;
+			}
+
		// Fixed it's not possible pick up the object if you exceed the maximum weight.
		if (_inventory.getTotalWeight() + target.getItem().getWeight() * target.getCount() > getMaxLoad())
		{
			sendMessage("You have reached the maximun weight.");
			return;
		}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java
============================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java

import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminWho;
import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminZone;
+/** Hide Event */
+import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminGoHide;

	registerAdminCommandHandler(new AdminBuffs());
	registerAdminCommandHandler(new AdminAio());
+		/** Hide Event */
+		registerAdminCommandHandler(new AdminGoHide());

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/admincommandhandler/AdminGoHide.java
=======================================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/admincommandhandler/AdminGoHide.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/handler/admincommandhandler/AdminGoHide.java

+/* 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.handler.admincommandhandlers;
+
+import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
+import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfrozen.gameserver.model.entity.event.Hide;
+
+/**
+ *
+ * @author  Iracundus ( Remaded Sakretsos )
+ */
+public class AdminGoHide implements IAdminCommandHandler
+{
+
+	private static String[] ADMIN_COMMANDS = {"admin_gohide"};
+
+	@Override
+	public boolean useAdminCommand(String command, L2PcInstance activeChar)
+	{
+		if(command.startsWith("admin_gohide")){
+			if(activeChar == null)
+				return false;
+			
+			if(Hide.running == false){
+				activeChar.sendMessage("Event is not in progress");
+				return false;
+			}
+			
+			int x = Hide.getX() , y = Hide.getY() , z = Hide.getZ();
+			activeChar.teleToLocation(x, y, z);
+		}
+		
+		return true;
+	}
+
+	
+	@Override
+	public String[] getAdminCommandList()
+	{
+		return ADMIN_COMMANDS;
+	}
+	
+}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java
===================================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java

/** Location of the item : Inventory, PaperDoll, WareHouse. */
private ItemLocation _loc;

/** Slot where item is stored. */
private int _locData;
+	
+	/** Hide Event */
+	private boolean hide;

	if(Config.LOG_ITEMS)
	{
		LogRecord record = new LogRecord(Level.INFO, "CHANGE:" + process);
		record.setLoggerName("item");
		record.setParameters(new Object[]
		{
				this, creator, reference
		});
		_logItems.log(record);
		record = null;
	}
}
+	
+	/** Hide Event */
+	public boolean isHide()
+	{
+			return hide;
+	}
+	
+	public void setHide(boolean j)
+	{
+			hide = j;
+	}
+

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/entity/event/Hide.java
=======================================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/entity/event/Hide.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/model/entity/event/Hide.java

+/* 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.model.entity.event;
+
+import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
+import com.l2jfrozen.gameserver.network.clientpackets.Say2;
+import com.l2jfrozen.gameserver.network.SystemMessageId;
+import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
+import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
+import com.l2jfrozen.gameserver.util.Broadcast;
+import com.l2jfrozen.util.random.Rnd;
+import com.l2jfrozen.gameserver.model.L2World;
+import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
+
+public class Hide{
+	
+	public static final int rewardId = (Config.HIDE_EVENT_REWARD_ID);
+	public static final int rewardCount = (Config.HIDE_EVENT_REWARD_COUNT);
+	private static Hide _instance;
+	private final int delay = (Config.HIDE_EVENT_DELAY_BEFORE_START);
+	private final static int itemId = (Config.HIDE_EVENT_ITEM_WILL_DROP);
+	private final static int itemCount = 1;
+	public static boolean running = false;
+	private static int x;
+	private static int y;
+	private static int z = 0;
+	private final int[][] teleports = { {116496,145020,-2569} , {18605,145378,-3129} , {-83083,150505,-3134} };
+	static L2ItemInstance item = null;
+	
+	public static int getX(){
+		return x;
+	}
+	
+	public static int getY(){
+		return y;
+	}
+	
+	public static int getZ(){
+		return z;
+	}
+	
+	public static int getItemId(){
+		return itemId;
+	}
+	
+	public static int getItemCount(){
+		return itemCount;
+	}
+	
+	public void startEvent(){
+		running = true;
+		System.out.println("Automatic Hide Event started with success.");
+		int s = Rnd.get(teleports.length);
+		x = teleports[s][0];
+		y = teleports[s][1];
+		z = teleports[s][2];
+		SystemMessage sm = new SystemMessage(SystemMessageId.S2_WAS_DROPPED_IN_THE_S1_REGION);
+		sm.addZoneName(getX(), getY(), getZ()); 
+		sm.addItemName(itemId);
+		item = new L2ItemInstance(Rnd.get(65535),itemId);
+		L2World.getInstance().storeObject(item);
+		item.setCount(itemCount);
+		item.setHide(true);
+		item.getPosition().setWorldPosition(x, y ,z);
+        item.getPosition().setWorldRegion(L2World.getInstance().getRegion(item.getPosition().getWorldPosition()));
+        item.getPosition().getWorldRegion().addVisibleObject(item);
+        item.setProtected(false);
+        item.setIsVisible(true);
+        L2World.getInstance().addVisibleObject(item, item.getPosition().getWorldRegion(), null);
+	    
+        
+   
+        Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Event started, Item dropped: "+item.getItem().getName()+", find it and win!"));
+        Broadcast.toAllOnlinePlayers(sm);
+        ThreadPoolManager.getInstance().scheduleGeneral(new Check(), 60000);
+	}
+	
+	public void checkAfterTime(){
+		if(running == false)
+			return;
+		if(item.isHide())
+			item.setHide(false);
+		item.decayMe();
+		L2World.getInstance().removeObject(item);
+		cleanEvent(); 
+		Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Unfortunately, None find the item, event finished!"));
+		System.out.println("Automatic Hide event finished with success.");
+	}
+	
+	public static void cleanEvent(){
+		x = 0;
+		y = 0;
+		z = 0;
+		running = false;
+		if(item != null){
+			item.decayMe();
+		L2World.getInstance().removeObject(item);
+		}
+		item = null;
+	}
+	
+	private Hide(){
+		ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Event(), delay, delay);
+		System.out.println("Automatic Hide Event aboarded with success.");
+	}
+	
+	public static Hide getInstance(){
+		if(_instance == null)
+			_instance = new Hide();
+		return _instance;
+	}
+	
+	public class Check implements Runnable{
+		@Override
+		public void run(){
+			checkAfterTime();
+		}
+	}
+	public class Event implements Runnable{
+		@Override
+		public void run(){
+			startEvent();	
+		}
+	}
+}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/GameServer.java
==========================================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/GameServer.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/gameserver/GameServer.java

import com.l2jfrozen.gameserver.model.entity.Hero;
import com.l2jfrozen.gameserver.model.entity.MonsterRace;
+import com.l2jfrozen.gameserver.model.entity.event.Hide;

	CursedWeaponsManager.getInstance();
	TaskManager.getInstance();
+		/** Hide Event */
+		if (Config.HIDE_EVENT)
+		{
+		Hide.getInstance();
+		}

Index: C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/Config.java
===========================================================================
--- C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/Config.java
+++ C:/Workspace/L2jFrozen_GameServer/head-src/com/l2jfrozen/Config.java

public static String PVP1_CUSTOM_MESSAGE;
public static String PVP2_CUSTOM_MESSAGE;
+	/** Hide Event Enabled */
+	public static boolean HIDE_EVENT;
+	public static int HIDE_EVENT_REWARD_ID;
+	public static int HIDE_EVENT_REWARD_COUNT;
+	public static int HIDE_EVENT_ITEM_WILL_DROP;
+	public static int HIDE_EVENT_DELAY_BEFORE_START;
+


		PVP1_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP1CustomMeesage", "You have been teleported to PvP Zone 1!");
		PVP2_CUSTOM_MESSAGE = L2JFrozenSettings.getProperty("PvP2CustomMeesage", "You have been teleported to PvP Zone 2!");
+			/** Hide Event */
+			HIDE_EVENT = Boolean.parseBoolean(L2JFrozenSettings.getProperty("HideEvent", "false"));
+			HIDE_EVENT_REWARD_ID = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventRewardId", "2807"));
+			HIDE_EVENT_REWARD_COUNT = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventRewardCount", "1"));
+			HIDE_EVENT_ITEM_WILL_DROP = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventItemWillDrop", "2807"));
+			HIDE_EVENT_DELAY_BEFORE_START = Integer.parseInt(L2JFrozenSettings.getProperty("HideEventDelayBeforeStart", "180000"));
+

Index: C:/Workspace/L2jFrozen_GameServer/config/functions/l2jfrozen.properties
==============================================================================
--- C:/Workspace/L2jFrozen_GameServer/config/functions/l2jfrozen.properties
+++ C:/Workspace/L2jFrozen_GameServer/config/functions/l2jfrozen.properties
+
+# -----------------------------------------
+# Hide Event -
+# -----------------------------------------
+# Default = False
+HideEvent = True
+HideEventRewardId = 2807
+HideEventRewardCount = 20
+HideEventItemWillDrop = 6579
+#Hide Event Start Every ( 180000 Milliseconds )
+#Milliseconds ( 180000 milliseconds = 180 seconds )
+HideEventDelayBeforeStart = 18000

 

and this is the line of error


Broadcast.toAllOnlinePlayers(new CreatureSay(0,Say2.ANNOUNCEMENT,"Hide Event","Winner is: "+getName()+". Event ended."));

 

Anyone can help me with this? :(

 

error.png

Since you do not show the error itself, I would dare to say that the attribute is not declared in the Say2 class or maybe it is declared as private and you have to access it through a getter or maybe it is declared as a non-integer value, as I understand it goes there an integer value.

Link to comment
Share on other sites

  • 0
4 minutes ago, TGSLineage2 said:

Since you do not show the error itself, I would dare to say that the attribute is not declared in the Say2 class or maybe it is declared as private and you have to access it through a getter or maybe it is declared as a non-integer value, as I understand it goes there an integer value.

that its the error only. i put too the full code. So, u say its not declared in say2? how to do it? can show me? please

Link to comment
Share on other sites

  • 0

this is the say2.java

 

/*
 * L2jFrozen Project - www.l2jfrozen.com 
 * 
 * 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 org.apache.log4j.Logger;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.datatables.csv.MapRegionTable;
import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;
import com.l2jfrozen.gameserver.handler.VoicedCommandHandler;
import com.l2jfrozen.gameserver.managers.PetitionManager;
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 LOGGER = Logger.getLogger(Say2.class);
    private static java.util.logging.Logger _logChat = java.util.logging.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; // %
    public final static int CRITICAL_ANNOUNCE = 18;
    
    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",
        "CRITICAL_ANNOUNCE",
        "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 (final 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)
        {
            LOGGER.info("Say2: Msg Type = '" + _type + "' Text = '" + _text + "'.");
        }
        
        if (_type < 0 || _type >= CHAT_NAMES.length)
        {
            LOGGER.warn("Say2: Invalid type: " + _type);
            return;
        }
        
        final 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()))
        {
            LOGGER.warn("[Anti-PHX Announce] Illegal Chat ( " + _type2Check + " ) channel was used by character: [" + activeChar.getName() + "]");
            return;
        }
        
        if (activeChar == null)
        {
            LOGGER.warn("[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 (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)
            {
                LOGGER.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)
        {
            final 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);
        
        final L2Object saymode = activeChar.getSayMode();
        if (saymode != null)
        {
            final String name = saymode.getName();
            final int actor = saymode.getObjectId();
            _type = 0;
            final Collection<L2Object> list = saymode.getKnownList().getKnownObjects().values();
            
            final CreatureSay cs = new CreatureSay(actor, _type, name, _text);
            for (final L2Object obj : list)
            {
                if (obj == null || !(obj instanceof L2Character))
                {
                    continue;
                }
                final L2Character chara = (L2Character) obj;
                chara.sendPacket(cs);
            }
            return;
        }
        
        final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), _type, activeChar.getName(), _text);
        switch (_type)
        {
            case TELL:
                final L2PcInstance receiver = L2World.getInstance().getPlayer(_target);
                
                if (receiver == null)
                {
                    
                    SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_NOT_ONLINE);
                    sm.addString(_target);
                    activeChar.sendPacket(sm);
                    sm = null;
                    return;
                    
                }
                
                if (!receiver.getBlockList().isInBlockList(activeChar.getName()) || 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.isInOfflineMode())
                    {
                        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.getBlockList().isInBlockList(activeChar.getName()))
                {
                    SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_ADDED_YOU_TO_IGNORE_LIST);
                    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())
                {
                    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;
                        }
                        final int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
                        for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            if (region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
                            {
                                // Like L2OFF if player is blocked can't read the message
                                if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                    player.sendPacket(cs);
                            }
                        }
                    }
                    else
                    {
                        final int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
                        for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            if (region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
                            {
                                // Like L2OFF if player is blocked can't read the message
                                if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                    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 (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            // Like L2OFF if player is blocked can't read the message
                            if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                player.sendPacket(cs);
                        }
                    }
                    else
                    {
                        for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            // Like L2OFF if player is blocked can't read the message
                            if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                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 (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            // Like L2OFF if player is blocked can't read the message
                            if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                player.sendPacket(cs);
                        }
                    }
                    else
                    {
                        for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            // Like L2OFF if player is blocked can't read the message
                            if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                player.sendPacket(cs);
                        }
                    }
                }
                else if (Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("limited"))
                {
                    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;
                        }
                        final int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
                        for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            if (region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
                            {
                                // Like L2OFF if player is blocked can't read the message
                                if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                    player.sendPacket(cs);
                            }
                        }
                    }
                    else if (Config.TRADE_CHAT_IS_NOOBLE)
                    {
                        if (!activeChar.isNoble() && !activeChar.isGM())
                        {
                            activeChar.sendMessage("Only Nobless Players Can Use This Chat");
                            return;
                        }
                        
                        final int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
                        for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            if (region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
                            {
                                // Like L2OFF if player is blocked can't read the message
                                if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                    player.sendPacket(cs);
                            }
                        }
                        
                    }
                    else
                    {
                        final int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
                        for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                        {
                            if (region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
                            {
                                // Like L2OFF if player is blocked can't read the message
                                if (!player.getBlockList().isInBlockList(activeChar.getName()))
                                    player.sendPacket(cs);
                            }
                        }
                    }
                    
                }
                break;
            case ALL:
                if (_text.startsWith("."))
                {
                    final 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)
                        {
                            LOGGER.info("Command: " + command);
                        }
                        vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command);
                    }
                    
                    if (vch != null)
                    {
                        vch.useVoicedCommand(command, activeChar, target);
                        break;
                    }
                }
                
                for (final L2PcInstance player : activeChar.getKnownList().getKnownPlayers().values())
                {
                    if (player != null && activeChar.isInsideRadius(player, 1250, false, true))
                    {
                        // Like L2OFF if player is blocked can't read the message
                        if (!player.getBlockList().isInBlockList(activeChar.getName()))
                            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 (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                    {
                        
                        if (player == null)
                            continue;
                        
                        player.sendPacket(cs);
                    }
                }
                else if (activeChar.isHero())
                {
                    // Flood protect Hero Voice
                    if (!getClient().getFloodProtectors().getHeroVoice().tryPerformAction("hero voice"))
                        return;
                    
                    for (final L2PcInstance player : L2World.getInstance().getAllPlayers())
                    {
                        
                        if (player == null)
                            continue;
                        
                        // Like L2OFF if player is blocked can't read the message
                        if (!player.getBlockList().isInBlockList(activeChar.getName()))
                            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(final String text)
    {
        for (final String botCommand : WALKER_COMMAND_LIST)
        {
            if (text.startsWith(botCommand))
                return true;
        }
        return false;
    }
    
    private void checkText(final L2PcInstance activeChar)
    {
        if (Config.USE_SAY_FILTER)
        {
            String filteredText = _text.toLowerCase();
            
            for (final 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

  • 0

new creature say :laughing:

Say2.ANNOUNCEMENT

there is already an announcement in broadcast no?

write Broadcast. (and hit ctrl+space to check)

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.

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