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.

  • Posts

    • L2 NOOBWARS - BANNER     L2 OUTOFCONTROL - BANNER       L2 REVOLUTION - HTML DESIGN   L2 ECLIPSE - HTML DESIGN   ICONS - ANIMATED BORDER ON ICONS     L2 PLAYERS - COMMUNITY BOARD
    • Bump NEW USER IN TELEGRAM AND DISCORD IS "mileanum"  NEW USER IN TELEGRAM AND DISCORD IS "mileanum"  NEW USER IN TELEGRAM AND DISCORD IS "mileanum" NEW USER IN TELEGRAM AND DISCORD IS "mileanum" 
    • I'm not sure what you're concerned about. Could you elaborate a bit?
    • Opening January 25 at 19:00 (UTC +2) Lineage2dex.com Open Beta Test from January 21 Hello everyone! *This is pre-announcing of new server, so we want to share some key points of this new server. (Full details we announce a bit latter). This will be not seasonal server, server will be separate from Union and our seasonal program. We see a demand for a relaxed setup on a new game server. In the summer of 2022, we launched the first Skadi server, and it gained popularity among our players. You’ve been asking if we’d open it again. Yes, the time has come! After a rather hardcore last season, we want to give you a chance to take a break from excessive grind and enjoy a true PvP server this winter!  Skadi x300 – a server designed for faster character progression and simplified gear acquisition, tailored for solo players and small groups. One of its key features is to reduce the grind and minimize the "mandatory" routines, making it less dependent on joining large clans for character development. Skadi introduces unique (experimental) solutions not typically found on Dex servers. This server offers a refreshing break from the heavy grind present in our recent seasons. Some features: All unique Dex features will be available: New zones, Raids, Talent Tree, MW/PvP version of items, Events, TvT system etc No need craft to get A/S gr equipment. But the crafting system will remain Balanced Olympiad Box Limits: A maximum of 2 clients per PC. Only 1 client can actively participate in PvP/PvE, while the second client is limited to trading and moving around Masterwork items are now easier to obtain, craft simplified When enchanting with a Blessed Enchant Scroll, a failure will no longer reset the enchant level to 0. Instead, it will decrease by a few levels When enchanting with a regular Enchant Scroll, a failure will not destroy the item but will "freeze" it. A frozen item can no longer be enchanted or upgraded, but it can still be used in PvP and PvE Automacros with no time limits, but restricted to one game window per PC A simplified system for obtaining enchants, life stones, and giant's codexes An additional Epic Boss system will allow even solo players and small groups to eventually obtain the coveted Epic jewelry (details we post later) All Raid Bosses have been updated and boosted to level 80 A detailed description of the server will be published soon. Stay tuned for updates! Movies from our players Skadi 2022:  
    • Unfortunately, I couldn't get it to work with Hamachi, the only IP allowed is 127.0.0.1... I don’t really have a reason to buy it, I don’t even have a live server, I just wanted to play with my friend, and the only reason I wanted this was for the DressMe mod... I guess I’ll have to use L2JMobius instead...
  • Topics

×
×
  • Create New...