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

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

    • [New Server] L2Aquila — Gracia Final x9300 No Wipe | Custom Farming Zones Hi all, Rolling a fresh Gracia Final x9300 server — stable core, dedicated box, no wipe, no close, 24/7. WHAT TO EXPECT • 9300x EXP / 3000x SP / 5500x Adena / Safe +3 / Max +25 • Custom Shop + Custom Farming Zones • Free Starter Pack with 20 Custom Coins • Accounts auto-created on first login — no registration • Olympiads, TvT, CTF, offline trading, buff shop LINKS • Website & downloads: https://l2aquila.com/downloads/ • Forum: https://l2aquila.com/forum/ • Discord: https://discord.gg/5ZyBRvG4k • Gameplay tour: https://youtu.be/5QS8qpDG_wc • Install guide: https://youtu.be/F_BfBeiof-s Happy to answer any questions here. Feedback welcome!
    • [New Server] L2Aquila — Gracia Final x9300 No Wipe | Custom Farming Zones Hi all, Rolling a fresh Gracia Final x9300 server — stable core, dedicated box, no wipe, no close, 24/7. WHAT TO EXPECT • 9300x EXP / 3000x SP / 5500x Adena / Safe +3 / Max +25 • Custom Shop + Custom Farming Zones • Free Starter Pack with 20 Custom Coins • Accounts auto-created on first login — no registration • Olympiads, TvT, CTF, offline trading, buff shop LINKS • Website & downloads: https://l2aquila.com/downloads/ • Forum: https://l2aquila.com/forum/ • Discord: https://discord.gg/5ZyBRvG4k • Gameplay tour: https://youtu.be/5QS8qpDG_wc • Install guide: https://youtu.be/F_BfBeiof-s Happy to answer any questions here. Feedback welcome!
    • Hey everyone! A few of us are currently brainstorming and designing a new Lineage 2 private server. Our goal is to capture that classic L2 atmosphere we all fell in love with back in the day, but with a modern, refined feel. We’re aiming for a community-driven, dynamic server where good PvP, meaningful progression, clan life, and that nostalgic L2 vibe take center stage—a place where it just feels good to log in and play. Instead of deciding everything on our own behind closed doors, we want to build something the community actually wants to play on. We’ve put together a short survey to gather your thoughts: What did you love most about older/classic servers? What burnout factors or mechanics are you tired of? What systems or QoL (quality of life) features would you like to see? What red flags make you avoid a server entirely? It only takes a few minutes to fill out, and every single response helps us shape the vision for this project. We can't promise every single idea will be implemented, but we promise to read and consider all of your feedback.   https://docs.google.com/forms/d/e/1FAIpQLScKXptLs9ci_y8PfSmfy9dr2iSvZ9KI9dF3qDaKeFgg9RAaMQ/viewform?pli=1   Thanks a lot for your time and help in bringing this project to life! Let us know your thoughts in the comments as well.
    • Standard Google accounts added in login:password format; aged 7–14 days on average after registration; high quality, manually registered!
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..