Jump to content

[SHARE] Noblesse Custom Item


Recommended Posts

Well , It's Been AGES since i shared this thing , and i thought it would be better if i shared the new version to you.

no more talking.

 

Here's The Diff:

Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties	(revision 4307)
+++ java/config/l2jmods.properties	(working copy)
@@ -132,3 +132,20 @@
# ex.: 1;2;3;4;5;6
# no ";" at the start or end
TvTEventDoorsCloseOpenOnStartEnd =
+
+#---------------------#
+#Noblesse Item Configs
+#---------------------#
+NoblesseItemEnabled = False
+
+# ID Of The Noblesse Item
+# Default : 6673 ( Festival Adena )
+NoblesseItemId = 6673
+
+# Noblesse Item Lvl Restriction
+# A Player Lower than 76 level won't be able to use this item
+NoblesseItemLvlRestriction = True
+
+# Noblesse Item Sub Restriction
+# A Player That is not with his subclass won't be able to use this item
+NoblesseItemSubRestriction = True
\ No newline at end of file
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 4307)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -882,6 +882,11 @@
     public static boolean L2JMOD_WEDDING_FORMALWEAR;
     public static int L2JMOD_WEDDING_DIVORCE_COSTS;

+    public static int NOBLESSE_ITEM_ID;
+    public static boolean NOBLESSE_ITEM_LEVEL_RESTRICTION;
+    public static boolean NOBLESSE_ITEM_SUBCLASS_RESTRICTION;
+    public static boolean NOBLESSE_ITEM_ENABLED;
+    
     // Packet information
     /** Count the amount of packets per minute ? */
     public static boolean  COUNT_PACKETS           = false;
@@ -1858,7 +1863,11 @@
                 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"));
-
+                NOBLESSE_ITEM_ID						= Integer.parseInt(L2JModSettings.getProperty("NoblesseItemId", "6673"));
+                NOBLESSE_ITEM_LEVEL_RESTRICTION			= Boolean.parseBoolean(L2JModSettings.getProperty("NoblesseItemLvlRestriction", "True"));
+                NOBLESSE_ITEM_SUBCLASS_RESTRICTION		= Boolean.parseBoolean(L2JModSettings.getProperty("NoblesseItemSubRestriction", "True"));
+                NOBLESSE_ITEM_ENABLED					= Boolean.parseBoolean(L2JModSettings.getProperty("NoblesseItemEnabled", "False"));
+                
                 if (TVT_EVENT_PARTICIPATION_NPC_ID == 0)
                 {
                     TVT_EVENT_ENABLED = false;
Index: java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java	(revision 4307)
+++ java/net/sf/l2j/gameserver/GameServer.java	(working copy)
@@ -136,6 +136,7 @@
import net.sf.l2j.gameserver.handler.itemhandlers.Harvester;
import net.sf.l2j.gameserver.handler.itemhandlers.MercTicket;
import net.sf.l2j.gameserver.handler.itemhandlers.MysteryPotion;
+import net.sf.l2j.gameserver.handler.itemhandlers.NoblesseItem;
import net.sf.l2j.gameserver.handler.itemhandlers.PaganKeys;
import net.sf.l2j.gameserver.handler.itemhandlers.Potions;
import net.sf.l2j.gameserver.handler.itemhandlers.Recipes;
@@ -476,6 +477,10 @@
		_itemHandler.registerItemHandler(new SpecialXMas());
		_itemHandler.registerItemHandler(new SummonItems());
		_itemHandler.registerItemHandler(new BeastSpice());
+		
+		if (Config.NOBLESSE_ITEM_ENABLED)
+		_itemHandler.registerItemHandler(new NoblesseItem());
+		
         _log.config("ItemHandler: Loaded " + _itemHandler.size() + " handlers.");

		_skillHandler = SkillHandler.getInstance();
Index: java/net/sf/l2j/gameserver/handler/itemhandlers/NoblesseItem.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/itemhandlers/NoblesseItem.java	(revision 0)
+++ java/net/sf/l2j/gameserver/handler/itemhandlers/NoblesseItem.java	(revision 0)
@@ -0,0 +1,54 @@
+package net.sf.l2j.gameserver.handler.itemhandlers;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.handler.IItemHandler;
+import net.sf.l2j.gameserver.model.L2ItemInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
+import net.sf.l2j.gameserver.serverpackets.MagicSkillUser;
+
+public class NoblesseItem implements IItemHandler
+{
+    private static final int ITEM_IDS[] = 
+    {
+        Config.NOBLESSE_ITEM_ID
+    };
+    
+    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
+    {
+            if(!(playable instanceof L2PcInstance))
+                return;
+            L2PcInstance activeChar = (L2PcInstance)playable;
+            if(activeChar.isNoble())
+            {
+                activeChar.sendMessage("You Are Already A Noblesse!");
+                return;
+            } 
+            if (activeChar.getLevel() < 76 && Config.NOBLESSE_ITEM_LEVEL_RESTRICTION)
+            {
+            	activeChar.sendMessage("You Must Be Over 76 Level To Use This Item!");
+            	return;
+            }
+            if (!activeChar.isSubClassActive() && Config.NOBLESSE_ITEM_SUBCLASS_RESTRICTION)
+            {
+            	activeChar.sendMessage("You Must Be With Your Subclass To Use This Item!");
+            	return;
+            }
+            else
+            {
+                MagicSkillUser MSU = new MagicSkillUser(playable, activeChar, 2023, 1, 1, 0);
+                activeChar.sendPacket(MSU);
+                activeChar.broadcastPacket(MSU);
+                activeChar.setNoble(true);
+                activeChar.sendMessage("You Are Now a Noble,You Are Granted With Noblesse Status , And Noblesse Skills.");
+                activeChar.broadcastUserInfo();
+                activeChar.getInventory().addItem("Noblesse Tiara",7694, 1, activeChar, playable);
+                playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
+            }
+        }
+
+    public int[] getItemIds()
+    {
+        return ITEM_IDS;
+    }
+}
\ No newline at end of file

 

Enjoy.

Link to comment
Share on other sites

Stefoulis is back ? :o Niceeee

Can i ask?What do you mean new version?What difference this custom item have?

 

 

well , the last version i've shared

hadn't any restrictions about level and active subclass.

eh , this gives you noblesse tiara when u click the item

also , when u clicked appeared the social action that appears when you become a hero. now its just a firework effect.

last one, the other wasnt that configurable. the only config was enable/disable.

now it has configs about the restrictions , the item id and enable/disable.

Link to comment
Share on other sites

well , the last version i've shared

hadn't any restrictions about level and active subclass.

eh , this gives you noblesse tiara when u click the item

also , when u clicked appeared the social action that appears when you become a hero. now its just a firework effect.

last one, the other wasnt that configurable. the only config was enable/disable.

now it has configs about the restrictions , the item id and enable/disable.

too nice.

Thnx for sharing.

Keep up :D

Link to comment
Share on other sites

WOOOOOOW!

I'm soo excited, Stef is BACK!

I hope you make the forum full of shares mate!

Jeus are u that... god..

 

Anyway, nice to have u back stef.

Link to comment
Share on other sites

  • 2 weeks later...

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
Reply to this topic...

×   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.




×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock