Jump to content
  • 0

[Request]Java/CostumVoiceCommand


Question

4 answers to this question

Recommended Posts

  • 0
Posted
Index: /l2forever/L][Forever-Server/java/com/l2jarchid/Config.java
===================================================================
--- /l2forever/L][Forever-Server/java/com/l2jarchid/Config.java	(revision 370)
+++ /l2forever/L][Forever-Server/java/com/l2jarchid/Config.java	(revision 396)
@@ -1283,4 +1283,5 @@
         {
             e.printStackTrace();
+            
             throw new Error("Failed to Load "+CLANHALL+" File.");
         }
@@ -2195,5 +2196,7 @@
     public static int AIO_PERIOD2;
     public static int AIO_PRICE3;
-    public static int AIO_PERIOD3;
+    public static int AIO_PERIOD3;    
+    /** Noexp voiced command */
+    public static boolean NOXPGAIN_ENABLED;
     
	// *******************************************************************************************
@@ -2527,5 +2530,6 @@
			            			}
			            		}
-			            	}            
+			            	}
+	     NOXPGAIN_ENABLED = Boolean.parseBoolean(L2JArchidSettings.getProperty("NoXPGainEnable", "false"));	            	

	   	}
Index: /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java	(revision 367)
+++ /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/model/actor/instance/L2PcInstance.java	(revision 396)
@@ -376,4 +376,16 @@
	private long _lastAccess;
	private long _uptime;
+	
+	private boolean _cantGainXP;
+	
+	public void cantGainXP(boolean b)
+	{
+	    _cantGainXP = b;
+	}
+	
+	public boolean cantGainXP()
+	{
+	   return _cantGainXP;
+	}

	private final ReentrantLock _subclassLock = new ReentrantLock();
Index: /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/model/actor/stat/PcStat.java
===================================================================
--- /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/model/actor/stat/PcStat.java	(revision 347)
+++ /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/model/actor/stat/PcStat.java	(revision 396)
@@ -68,11 +68,11 @@
     	L2PcInstance activeChar = getActiveChar();

+		//Player is Gm and access level is below or equal to canGainExp and is in party, don't give Xp
+		if (!getActiveChar().getAccessLevel().canGainExp() && getActiveChar().isInParty() || (Config.NOXPGAIN_ENABLED && getActiveChar().cantGainXP()))
+			return false;
+
		if (!super.addExp(value))
			return false;
-
-		//Player is Gm and access level is below or equal to canGainExp and is in party, don't give Xp
-		if (!getActiveChar().getAccessLevel().canGainExp() && getActiveChar().isInParty())
-			return false;
-
+		
         // Set new karma
         if (!activeChar.isCursedWeaponEquiped() && activeChar.getKarma() > 0 && (activeChar.isGM() || !activeChar.isInsideZone(L2Character.ZONE_PVP)))
@@ -114,5 +114,5 @@
     	//Player is Gm and acces level is below or equal to GM_DONT_TAKE_EXPSP and is in party, don't give Xp/Sp
     	L2PcInstance activeChar = getActiveChar();
-		if (!activeChar.getAccessLevel().canGainExp() && activeChar.isInParty())
+		if (!activeChar.getAccessLevel().canGainExp() && activeChar.isInParty() || (Config.NOXPGAIN_ENABLED && getActiveChar().cantGainXP()))
			return false;

Index: /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/handler/VoicedCommandHandler.java
===================================================================
--- /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/handler/VoicedCommandHandler.java	(revision 388)
+++ /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/handler/VoicedCommandHandler.java	(revision 396)
@@ -32,4 +32,5 @@
import com.l2jarchid.gameserver.handler.voicedcommandhandlers.JoinVIP;
import com.l2jarchid.gameserver.handler.voicedcommandhandlers.MakeBuff;
+import com.l2jarchid.gameserver.handler.voicedcommandhandlers.NoExp;
import com.l2jarchid.gameserver.handler.voicedcommandhandlers.Online;
import com.l2jarchid.gameserver.handler.voicedcommandhandlers.PasswordChanger;
@@ -123,4 +124,6 @@
		registerVoicedCommandHandler(new Suicade());
		}
+		if (Config.NOXPGAIN_ENABLED)
+		        registerVoicedCommandHandler(new NoExp());
		if (Config.ENABLED_FOOTBALL_EVENT) registerVoicedCommandHandler(new FootballEvent());

Index: /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/handler/voicedcommandhandlers/NoExp.java
===================================================================
--- /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/handler/voicedcommandhandlers/NoExp.java	(revision 396)
+++ /l2forever/L][Forever-Server/java/com/l2jarchid/gameserver/handler/voicedcommandhandlers/NoExp.java	(revision 396)
@@ -0,0 +1,60 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jarchid.gameserver.handler.voicedcommandhandlers;
+
+import com.l2jarchid.gameserver.handler.IVoicedCommandHandler;
+import com.l2jarchid.gameserver.model.actor.instance.L2PcInstance;
+
+/**
+ * This class allows user to turn XP-gain off and on.
+ *
+ * @author Notorious
+ */
+public class NoExp implements IVoicedCommandHandler
+{
+   private static final String[] _voicedCommands =
+   {
+      "xpoff",
+      "xpon"
+   };
+   
+   /**
+    * 
+    * @see com.l2jserver.gameserver.handler.IVoicedCommandHandler#useVoicedCommand(java.lang.String, com.l2jserver.gameserver.model.actor.instance.L2PcInstance, java.lang.String)
+    */
+   public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
+   {
+      if (command.equalsIgnoreCase("xpoff"))
+      {
+         activeChar.cantGainXP(true);
+         activeChar.sendMessage("You have turned XP-gain OFF!");
+      }
+      else if (command.equalsIgnoreCase("xpon"))
+      {
+         activeChar.cantGainXP(false);
+         activeChar.sendMessage("You have turned XP-gain ON!");
+      }
+      return true;
+   }
+   
+   /**
+    * 
+    * @see com.l2jserver.gameserver.handler.IVoicedCommandHandler#getVoicedCommandList()
+    */
+   public String[] getVoicedCommandList()
+   {
+      return _voicedCommands;
+   }
+}
qn = "335_TheSongOfTheHunter"
Index: /l2forever/L][Forever-Server/config/l2jarchid-customs.properties
===================================================================
--- /l2forever/L][Forever-Server/config/l2jarchid-customs.properties	(revision 370)
+++ /l2forever/L][Forever-Server/config/l2jarchid-customs.properties	(revision 396)
@@ -528,2 +528,9 @@
AioPrice3=3000
AioPeriod3=30
+
+# ---------------------------------------------------------------------------
+# Voice-command for turning off XP-gain
+# ---------------------------------------------------------------------------
+# Player can use .xpoff to disable XP-gain, and .xpon to enable again.
+# Default: False
+NoXPGainEnable = False

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...