Jump to content
  • 0

ExpOn ExpOff L2JServer


Question

Posted (edited)

hi... im trying to insert this code to l2jserver last develop rev.
but the pcstat.java isnt the same. so, anyone can helpme to do this? thx in advance:

i test that command ingame and is working fine but i need the pcstat core side working.
Core:
 

+++ java/com/l2jserver/gameserver/model/actor/stat/PcStat.java	(working copy)

 		{
 			return false;
 		}
+
+		// Check, if exp gain isn't disabled by voiced command
+		if (activeChar.canOverrideCond(PcCondOverride.DISABLE_EXP_GAIN))
+		{
+			return false;
+		}
 		
 		if (!super.addExp(value))
 		{

 		{
 			return false;
 		}
-		
+
+ 		// Check, if exp gain isn't disabled by voiced command
+		if (activeChar.canOverrideCond(PcCondOverride.DISABLE_EXP_GAIN))
+		{
+			addToExp = 0;
+		}
+
 		long baseExp = addToExp;
 		int baseSp = addToSp;
 		

Datapack Side:
 

Index: dist/game/data/scripts/handlers/MasterHandler.java
===================================================================
 import handlers.voicedcommandhandlers.Lang;
 import handlers.voicedcommandhandlers.StatsVCmd;
 import handlers.voicedcommandhandlers.TvTVoicedInfo;
+import handlers.voicedcommandhandlers.UserOptions;
 import handlers.voicedcommandhandlers.Wedding;
 
 /**
@@ -601,6 +602,7 @@
 		{
 			// Voiced Command Handlers
 			StatsVCmd.class,
+			UserOptions.class,
 			// TODO: Add configuration options for this voiced commands:
 			// CastleVCmd.class,
 			// SetVCmd.class,
Index: dist/game/data/scripts/handlers/voicedcommandhandlers/UserOptions.java
===================================================================
--- dist/game/data/scripts/handlers/voicedcommandhandlers/UserOptions.java	(revision 0)
+++ dist/game/data/scripts/handlers/voicedcommandhandlers/UserOptions.java	(working copy)
@@ -0,0 +1,44 @@
+package handlers.voicedcommandhandlers;
+
+import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
+import com.l2jserver.gameserver.model.PcCondOverride;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+
+/**
+ * @author GKR, Mr.Deff
+ */
+public class UserOptions implements IVoicedCommandHandler
+{
+	private static final String[] _voicedCommands =
+	{
+		"expon",
+		"expoff",
+	};
+
+	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+	{
+		if (activeChar == null)
+		{
+			return false;
+		}
+
+		switch(command)
+		{
+			case "expoff":
+				activeChar.addOverrideCond(PcCondOverride.DISABLE_EXP_GAIN);
+				activeChar.sendMessage("Exp gain disabled.");
+				break;
+			case "expon":
+				activeChar.removeOverridedCond(PcCondOverride.DISABLE_EXP_GAIN);
+				activeChar.sendMessage("Exp gain restored.");
+				break;
+		}
+
+		return true;
+	}
+
+	public String[] getVoicedCommandList()
+	{
+		return _voicedCommands;
+	}
+}

 

Edited by Urbanhack

2 answers to this question

Recommended Posts

  • 0
Posted

Did u try to add this

DISABLE_EXP_GAIN(16, "Overrides EXP Gain conditions");

below

DROP_ALL_ITEMS(15, "Overrides item drop conditions"),

in the package:

package com.l2jserver.gameserver.model.PcCondOverride

 

  • 0
Posted
On 1/7/2021 at 5:37 AM, JackCerutti said:

Did u try to add this


DISABLE_EXP_GAIN(16, "Overrides EXP Gain conditions");

below


DROP_ALL_ITEMS(15, "Overrides item drop conditions"),

in the package:


package com.l2jserver.gameserver.model.PcCondOverride

 

Please do not undig old posts

Guest
This topic is now closed to further replies.


  • Posts

    • Tool that allows you to download the Lineage 2 game client directly from the official publisher CDNs. It fetches the CDN's file list and downloads every patch file, decompresses it (LZMA / Zip) and writes the finished client to disk — and can resume or repair an existing installation instead of starting over. It runs several client downloads at once through a batch queue, so you can prepare multiple regions or versions in a single session.   Supported: NCSoft CDNs (TW / KR / JP / NA) and  4game CDNs(RU / EU)   Download: https://drive.google.com/file/d/11SDcNASqO2GKOBT79LFu7mqvSRSJZvBS
    • https://l2avokado.com/ Hello everyone,   After some time of development, we've decided to open L2Avokado to the public in its current development stage. We're looking for players who enjoy Interlude and would like to help shape the project before its official release.   This isn't a "launch" announcement. Instead, we're inviting the community to log in, explore the server, test the systems we've built, and provide honest feedback. Whether it's bug reports, balance suggestions, progression ideas, or quality-of-life improvements, we'd love to hear them.   Our goal has always been to create an Interlude server that feels familiar while offering a fresh progression experience. We've intentionally avoided custom weapons, armor, and client modifications. Instead, we've focused on redesigning progression through reworked hunting grounds, quests, crafting, and gameplay systems while remaining compatible with a clean Interlude client.   At this stage, the core progression path has been implemented, including the main hunting grounds, quests, custom systems, and events. However, as the project is still under active development, there will inevitably be bugs, balance issues, and areas that require further polishing.   This is exactly why we'd like your help.   We're looking for players who are willing to: Test gameplay and progression. Report bugs and exploits. Suggest balance improvements. Share ideas for new features or quality-of-life changes. Help us build a server that the community genuinely enjoys playing.   The Client and System downloads are already available on our website, so you can jump straight into the game. We're also working on a dedicated launcher that will simplify installation and future updates.   If you're interested in helping develop a unique Interlude project and want your feedback to genuinely influence the direction of the server, we'd love to have you with us.   We look forward to seeing you in-game and hearing your thoughts on Discord. https://l2avokado.com/
  • 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..