Jump to content

Recommended Posts

Posted

Hello Again.  ;D

Today I Haved New Idea !

To Create A New Voiced Command. Salvation Blessing.

When You Type .salvationbless You Will Feel The Power Of Salvation  :D

Of Couce You Must Pay For It  ::) By Config Is 500 000 000 Adena. But You Can Change It As You Whant !

And Here Is It:

Index: /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/Config.java
===================================================================
--- /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/Config.java (revision 51)
+++ /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/Config.java (revision 56)
@@ -276,4 +276,7 @@
    public static String    ALLOWED_SKILLS;
    public static FastList<Integer> ALLOWED_SKILLS_LIST = new FastList<Integer>();
+    public static boolean   ENABLE_SALVATION_BLESS_COMMAND;
+    public static int       SALVATION_BLESS_COST;
+    public static int       SALVATION_BLESS_ITEM_ID;
    
    /** Event Settings Parameters */
@@ -1767,4 +1770,7 @@
                	ALLOWED_SKILLS_LIST.add(Integer.parseInt(id.trim()));
                }
+                ENABLE_SALVATION_BLESS_COMMAND   = Boolean.parseBoolean(Modifications.getProperty("SalvationCommand", "False"));
+                SALVATION_BLESS_COST             = Integer.parseInt(Modifications.getProperty("SalvationCost", "500000000"));
+                SALVATION_BLESS_ITEM_ID          = Integer.parseInt(Modifications.getProperty("SalvationItemID", "57"));

            }
Index: /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/SalvationBlessing.java
===================================================================
--- /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/SalvationBlessing.java (revision 56)
+++ /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/gameserver/handler/voicedcommandhandlers/SalvationBlessing.java (revision 56)
@@ -0,0 +1,78 @@
+/* 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 2, 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+package net.sf.l2j.gameserver.handler.voicedcommandhandlers;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.serverpackets.InventoryUpdate;
+import net.sf.l2j.gameserver.serverpackets.MagicSkillLaunched;
+import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
+
+/**
+ * @author SkyLanceR
+ */
+
+public class SalvationBlessing implements IVoicedCommandHandler
+{
+	private static final String[] VOICED_COMMANDS = { "salvationbless"};
+	
+	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
+	{
+		if (command.equalsIgnoreCase("salvationbles"))
+		{
+			if(activeChar.isInOlympiadMode())
+	        {
+				activeChar.sendMessage("You cannot use this feature during olympiad.");
+	            return false;
+	        }
+			if(activeChar.isDead())
+			{
+				activeChar.sendMessage("You cannot use Salvation while you are dead.");
+				return false;
+			}
+                     if (activeChar == null) return false;
+
+                     if (activeChar.isCastingNow() || activeChar.isMovementDisabled() || activeChar.isMuted() || activeChar.isAlikeDead())
+				return false;
+			if(activeChar.isPhoenixBlessed())
+			{
+				activeChar.sendMessage("You already have this effect !");
+				return false;
+			}
+			
+			if (activeChar.getInventory().getInventoryItemCount(Config.SALVATION_BLESS_ITEM_ID, 0) >= Config.SALVATION_BLESS_COST)
+			{
+				InventoryUpdate iu = new InventoryUpdate();
+				MagicSkillLaunched mcl = new MagicSkillLaunched(activeChar, 1410, 1);
+				activeChar.getInventory().destroyItemByItemId("Salvation", Config.SALVATION_BLESS_ITEM_ID, Config.SALVATION_BLESS_COST, activeChar, null);
+				activeChar.getInventory().updateDatabase();
+				activeChar.sendPacket(mcl);
+				activeChar.setIsPhoenixBlessed(true);
+				activeChar.sendPacket(iu);
+				activeChar.sendMessage("You are now Salvation Blessed ! Have fun.");
+			}
+			else
+			{
+				activeChar.sendMessage("Not enought items ! Try again latter.");
+			}
+				
+		}
+		return false;
+	}
+	
+	public String[] getVoicedCommandList()
+	{
+		return VOICED_COMMANDS;
+	}
+}
Index: /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/gameserver/GameServer.java (revision 18)
+++ /Trunk/Interlude Server/SkyLanceR's_IL_GS/java/net/sf/l2j/gameserver/GameServer.java (revision 56)
@@ -197,4 +197,5 @@
import net.sf.l2j.gameserver.handler.usercommandhandlers.PartyInfo;
import net.sf.l2j.gameserver.handler.usercommandhandlers.Time;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.SalvationBlessing;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Wedding;
import net.sf.l2j.gameserver.idfactory.IdFactory;
@@ -591,4 +592,7 @@
		if(Config.ALLOW_WEDDING)
			_voicedCommandHandler.registerVoicedCommandHandler(new Wedding());
+		
+		if(Config.ENABLE_SALVATION_BLESS_COMMAND)
+			_voicedCommandHandler.registerVoicedCommandHandler(new SalvationBlessing());

		_log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");
Index: /Trunk/Interlude Server/SkyLanceR's_IL_GS/Settings/Modifications.properties
===================================================================
--- /Trunk/Interlude Server/SkyLanceR's_IL_GS/Settings/Modifications.properties (revision 51)
+++ /Trunk/Interlude Server/SkyLanceR's_IL_GS/Settings/Modifications.properties (revision 56)
@@ -124,2 +124,17 @@
# List of Skills that are allowed for all Classes if CheckSkillsOnEnter = true
AllowedSkills = 541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,617,618,619
+
+# ========================== #
+#       Voiced Commands      #
+# ========================== #
+# Salvation Command
+# Usage: .salvationbless
+# Enable Salvation Command ?
+SalvationCommand = False
+
+# How Many It Will Cost
+SalvationCost = 500000000
+
+# Item ID For Transaction
+# Default: 57 - Adena
+SalvationItemID = 57

I Hope That Is Useful.

Please Leave Your Comments :)

NOTE: It Will Work Only If You Have Core Support For Salvation Skills !

Credits: Me

Posted

Put these checks

 

if (activeChar.isCastingNow() || activeChar.isMovementDisabled() || activeChar.isMuted() || activeChar.isAlikeDead())

return false;

 

uuuh for avoid npe ... if (activechar != null)

Posted

Put these checks

 

if (activeChar.isCastingNow() || activeChar.isMovementDisabled() || activeChar.isMuted() || activeChar.isAlikeDead())

return false;

 

uuuh for avoid npe ... if (activechar != null)

 

Added ! Thanks For The Advice

Posted

seems good BUT this makes PvP never end  :o

 

they will use it as makro dosnt matter that u have to pay - maybe u could make it so u can use the command only if u have full HP/CP

 

or just in peace zone  ;D

Posted

they will not use it as macro if you make the farming harder ...

Ex: Cost 500 Gold Dragons 1 Mob Drops 2-5 :)

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

    • Can't find you on discord ,can you share your discord profile here?
    • Hello lovely community, When you talk, about trust first of all I want you to stay and think for a second. - If was not a trusted person why I would even share this information? (seriously not a single reason) - I did not share any information about how this happened, and which company had the vulnurability (the issue has been fixed from their side and they was very helpful and took quick action + our dev as expert took that quick action) I also want warmly thank abusix.com for providing detailed information (not going to share the whole email for obivious reasons) Mentioning  - So lets clarify now what to except from the project. We have different different protocols and 2 engines. But first we are going to start with Interlude Mastered which is going to be a modern engine but a familiar one. Secondary project will be with the latest engine UE however this one needs allot of work is not that easy it takes time(so we will have it soon as is ready) I got to agree with Seamless, Good project are developed quietly. Also we have already clarified that the servers that we are working are under development how is possible guys to give you detailed information about something that is not finished yet? The topic opened on General Discussion Instead of  Private Servers for a reason. Some of you already have serves in this topic please and none of you have approach they way i do and be open for your own servers unless you have it ready until now so please.... atleast I'm taking a step and I'm pretty much open to share information with everyone. Once everything is ready Server information and everything will be shared in the topic: Private servers. Thanks in advance.  
    • Boost your connection speed and secure your privacy today!  Official Website: https://novproxy.com?kwd=tt-max
    • Good projects are developed quietly and launched only when they are ready to maintain a consistent online presence and build a community. The formula is simple, yet people keep making the same mistakes.   Start with an alpha phase and keep access limited. Since the author claims to already have an inner circle, use that group for early testing. Then open a closed beta through invitation keys or a similar system. Later, announce an open beta.   During these early stages, do not accept donations, partnerships, or other forms of support. Focus entirely on improving the project. Once it is stable, announce it and continue maintaining it regardless of the maximum number of users on
    • in best case this project will open with 100 ppl
  • 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..