Jump to content

Recommended Posts

Posted

Hello to all guys Today i modify Away code from SySt3MGaM3RFr3aKs link Here I do for the l2j Interlude And i made configs if you wan't to Change How much money you wan't to pay for .away command and you can choose what item :D:D

 

Lets Start:

 

Index: trunk/C6 Server/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/away.java

===================================================================

--- trunk/C6 Server/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/away.java (revision 0)

+++ trunk/C6 Server/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/away.java (revision 0)

Create away.java

And add this code in file:

+/*
+ * 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 net.sf.l2j.gameserver.handler.voicedcommandhandlers;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+
+public class away implements IVoicedCommandHandler
+{
+    private static final String[] VOICED_COMMANDS = { "away", "back" };
+    
+
+   public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+   {
+        if (command.equalsIgnoreCase("away"))
+        {
+        	 if(activeChar.isInJail())
+        		           {
+        		                activeChar.sendMessage("You cannot use this command while you are in Jail!");
+        		                return false;
+        		            }
+        	 if(activeChar.isInOlympiadMode())
+        		           {
+        		                 activeChar.sendMessage("You cannot use this command while you are in the Olympiad now!");
+        		                 return false;
+        		            }
+        	 if (activeChar.isInDuel())
+        		             {
+        		                 activeChar.sendMessage("You cannot use this command while you are in a Duel!");
+        		                 return false;
+        		             }
+        	 if(activeChar.atEvent)
+        		             {
+        		                 activeChar.sendMessage("You cannot use this command while you are in an event!");
+        		                 return false;
+        		             }   
+        	 if (activeChar.inObserverMode())
+        		             {
+        		                activeChar.sendMessage("You cannot use this command while you are in Observer Mode!");
+        		                 return false;
+        		             }
+        	 if (activeChar.isFestivalParticipant())
+    		 				 {
+        		 				activeChar.sendMessage("You cannot use this command while you are in a festival!");
+        		 				return false;
+    		 				 }
+        	if(activeChar.getInventory().getItemByItemId (Config.AWAY_ITEM_ID) != null && +activeChar.getInventory().getItemByItemId(Config.AWAY_ITEM_ID).getCount() >= Config.AWAY_PRICE)
+        	{
+            activeChar.getInventory().destroyItemByItemId("Away", Config.AWAY_ITEM_ID, Config.AWAY_PRICE, activeChar, +activeChar.getTarget());
+            activeChar.sendMessage("You are away from keyboard!");
+            activeChar.getAppearance().setTitleColor(0xFFFF00);
+            activeChar.setTitle("*Away*"); // Title text when somebody is away.
+            activeChar.broadcastUserInfo();
+        	} 
+        	
+        
+        }
+        else
+        	if (command.equalsIgnoreCase("back"))
+    		{
+        	 if(activeChar.isInJail())
+        		{
+        		activeChar.sendMessage("You cannot use this command while you are in Jail!");
+        		return false;
+        		}
+        	 if(activeChar.isInOlympiadMode())
+        		 {
+        		activeChar.sendMessage("You cannot use this command while you are in the Olympiad now!");
+        		return false;
+        		 }
+        	 if (activeChar.isInDuel())
+        		 {
+        		 activeChar.sendMessage("You cannot use this command while you are in a Duel!");
+        		 return false;
+        		 }
+        	 if(activeChar.atEvent)
+        		 {
+        		 activeChar.sendMessage("You cannot use this command while you are in an event!");
+        		 return false;
+        		 }
+        	 if (activeChar.inObserverMode())
+        		 {
+        		 activeChar.sendMessage("You cannot use this command while you are in Observer Mode!");
+        		 return false;
+        		 }
+        	 if (activeChar.isFestivalParticipant())
+        		 {
+        		 activeChar.sendMessage("You cannot use this command while you are in a festival.");
+        		 return false;
+        		 }
+           	activeChar.sendMessage("You Are Back!");
+           	activeChar.setTitle(" ");
+           	activeChar.broadcastUserInfo();
+    		}
+           	return true;
+ 
+	}
+    public String[] getVoicedCommandList()
+    {
+        return VOICED_COMMANDS;
+    }
+}

 

Next Step Go to:

Index: trunk/C6 Server/java/net/sf/l2j/gameserver/GameServer.java

===================================================================

--- trunk/C6 Server/java/net/sf/l2j/gameserver/GameServer.java

+++ trunk/C6 Server/java/net/sf/l2j/gameserver/GameServer.java

Find that Line:
import net.sf.l2j.gameserver.handler.usercommandhandlers.OlympiadStat;
import net.sf.l2j.gameserver.handler.usercommandhandlers.PartyInfo;
import net.sf.l2j.gameserver.handler.usercommandhandlers.Time;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.away;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Online;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Wedding;



Find that Line :
_log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");

And before that line add that:
+
+	if (Config.AWAY_BUY)
+	  _voicedCommandHandler.registerVoicedCommandHandler(new away());
+			

The code will be like this :

if (Config.AWAY_BUY)
					_voicedCommandHandler.registerVoicedCommandHandler(new away());

	_log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");

Next go to :

Index: trunk/C6 Server/java/config/L2JMods.properties

===================================================================

--- trunk/C6 Server/java/config/L2JMods.properties

+++ trunk/C6 Server/java/config/L2JMods.properties

Find this :
TvTEventTargetTeamMembersAllowed = true
TvTEventPotionsAllowed = false
TvTEventSummonByItemAllowed = false
# Door id's to close/open on start/end
# ex.: 1;2;3;4;5;6
# no ";" at the start or end
TvTEventDoorsCloseOpenOnStartEnd =
+
+#================================================================
+# Allows user to Use .Away Command
+#----------------------------------------------------------------
+#.Away Enable?
+AlowAway = False
+
+#What the ID of item is need to buy Away ?
+AwayItemID = 57
+
+#How Many Cost Away ?
+AwayPrice = 100000
+

Next Step Go to:

Index: trunk/C6 Server/java/net/sf/l2j/Config.java

===================================================================

--- trunk/C6 Server/java/net/sf/l2j/Config.java

+++ trunk/C6 Server/java/net/sf/l2j/Config.java

 

Find this :
   public static int L2JMOD_WEDDING_TELEPORT_PRICE;
   public static int L2JMOD_WEDDING_TELEPORT_DURATION;
   public static boolean L2JMOD_WEDDING_SAMESEX;
   public static boolean L2JMOD_WEDDING_FORMALWEAR;
   public static int L2JMOD_WEDDING_DIVORCE_COSTS;
+
+//Away System
+    public static boolean AWAY_BUY;
+    public static int AWAY_ITEM_ID;
+    public static int AWAY_PRICE;
+

Find This:
L2JMOD_WEDDING_TELEPORT_DURATION        = Integer.parseInt(L2JModSettings.getProperty("WeddingTeleportDuration", "60"));
               L2JMOD_WEDDING_SAMESEX                  = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingAllowSameSex", "False"));
               L2JMOD_WEDDING_FORMALWEAR               = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True"));
               L2JMOD_WEDDING_DIVORCE_COSTS            = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20"));
+
+AWAY_BUY                           = Boolean.parseBoolean(L2JModSettings.getProperty("AlowAway", "False"));
+AWAY_ITEM_ID                     = Integer.parseInt(L2JModSettings.getProperty("AwayItemID", "57"));
+AWAY_PRICE                         = Integer.parseInt(L2JModSettings.getProperty("AwayPrice", "100000"));
+               

 

That's All guys Test it and working by me :) Enjoy for any Question or problem post here

Cya!!!

Posted

i think thi exist and before.

but w/e

 

Haven't test it yet but i guess you should fix it for oly.

you can be ported into olympiad with that command and no one can hit you since can't even target.

Posted

Haven't test it yet but i guess you should fix it for oly.

you can be ported into olympiad with that command and no one can hit you since can't even target.

Yeah,there is that bug.

 

 

I think i have seen it again this code in mxc,but i am not sure :D

Good work,keep sharing

Posted

I say dude in start :D Is Away code from SySt3MGaM3RFr3aKs and me modify :)

No dude that is only one title ;) No problem with olympiad is only one title!!!!

Edit : No Bug i try now xD:)

Posted

Unlocked.. its not the same code.. altho this code and 's one looks retarded >.> price to get afk? rofl, easier to go into a town xD

Posted
Ok, it's the same but with little configs, http://www.maxcheaters.com/forum/index.php?topic=118507.msg831195#msg831195
Anyway, keep sharing.

read my post!!

modify Away code from SySt3MGaM3RFr3aKs

Guest
This topic is now closed to further replies.


  • Posts

    • Very nice attempt and good luck with your sales.   Don't let the voices in this topic discourage you. Most of those people are just flexing. So if Celestine decides to write a bootkit or hook system calls or whatever and false-feed your anti-cheat fake info just because it sits in user mode just to go play in a private server with 100 people, I'll tell you one thing:   Who the fuck cares ... 😛   The average player won't / can't make these things, the big players like adrenaline won't bother (yet) (they don't have signed drivers do they ? They also run in user mode I believe). And even if they somehow manage to do so, there's a minority of players who would trust putting this thing on their pc. I wouldn't let anyone tamper with my kernel mode even if he had a signed certificate from Microsoft.    Also, in a scene where collusion has been brought out between bot makers and cheat guards, having many options is a blessing regardless of their strength. It makes colusion, conflict of interest and cartel more difficult, it drains from cheating software creators more resources to focus on more cheat guards, and it gives server owners plurality.    This arms race is a numbers game, you stop 90% of the cheaters you add value to all of us.    A couple of senior devs flexing their powers in a forum are not a concern.   If i'd ever make a server, I would definitelly buy from you, not because you have the best anti-cheat, but because you are not well known yet to be the focus of counter measures.     
    • TILL OPENING LEFT LESS THAN - 2 DAYS ! GRAND OPENING FROM - 10/07/2026, FRIDAY, 20:00 +3 GMT !
    • Add me on discord, lets talk   Discord: splicho
    • Add more information about your project, client, rates etc, this can help you find a developer more easily on your needs!
    • Hey guys! I am working on a new l2 private server and lookin for any developers who may be interested in helping me get it up n running. It would require a ton of work at the beginning, but once I am able to handle things on my own, I can do a lot of the work too. I just need someone who is tech savy to help me get things setup, make serious edits, and help me get this project going.   So far I have the project running on Java through eclipse. I have the server up locally, and pushing to GitHub. I just need help with managing edits to quests, skills, and other random functions to get me rolling.   Please reach out if you are interested!   Some current content I am working on: - Class skill edits - NPC skills, stats, and placements - Quest icons for turn in, completion, pick up etc - Quest logic (i.e. kill x mobs, turn in y amount, trigger a mini solo or mini group boss fights) I can handle the quest texts and story - Ability to more quickly upload changes to inventory, crafting, NPC stats/drops, etc... and gear setup. I would like to quickly add new recipes to shops or mob drops so players can start crafting it themselves
  • 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..