Jump to content

[Share] Hero Custom Item


Recommended Posts

  • 1 month later...

choose package where you want create a new file .java, right click on mouse and choose New --> Class .

Tested.You are right thnx a lot man

 

EDIT : When i have to add a java code and i must to write the code at a .properties files in Config folder but in mine pack doesn't exist.Can i paste it to other file.properties or i create one with this name and i paste only the code?

Link to comment
Share on other sites

EDIT : When i have to add a java code and i must to write the code at a .properties files in Config folder but in mine pack doesn't exist.Can i paste it to other file.properties or i create one with this name and i paste only the code?

 

look for example on this line :

 

ALLOW_HERO_CUSTOM_ITEM = Boolean.parseBoolean(L2JModSettings.getProperty("AllowHeroCustomItem", "false"));

 

look for red color here you can give name of propeties where you put for example this :

 

# Allow hero custom item?
# When players double click on your selected item, they will become hero untill server restart.
AllowHeroCustomItem = False

# Hero Custom Item ID?
# Default: Festival Adena (6673)
HeroCustomItemId = 6673

# Hero Custom Item Level Restriction?
# A player with lower than 76 lvl, won't be able to use item.
HeroCustomItemLevelRestriction = False

 

but remember you must change red line for this propeties where you add this ofc this is example :

 

# Hero Custom Item Level Restriction?
# A player with lower than 76 lvl, won't be able to use item.
HeroCustomItemLevelRestriction = False

Link to comment
Share on other sites

Well, actually i got the idea from Stefoulis share for nobless custom item, with these configs, so i made for hero item, with the same configs +1 more. I have made it and tested it on Gracia Epilogue, Latest rev of dp and core of l2jserver, 100% clean, just checked out with eclipse.

 

 

 

 

 

DP:

Index: data/scripts/handlers/MasterHandler.java
===================================================================
--- data/scripts/handlers/MasterHandler.java	(revision 7524)
+++ data/scripts/handlers/MasterHandler.java	(working copy)
@@ -227,6 +227,8 @@
		ItemHandler.getInstance().registerItemHandler(new Disguise());
		ItemHandler.getInstance().registerItemHandler(new ManaPotion());
		ItemHandler.getInstance().registerItemHandler(new EnergyStarStone());
+		if (Config.ALLOW_HERO_CUSTOM_ITEM)
+		ItemHandler.getInstance().registerItemHandler(new HeroCustomItem());
		_log.config("Loaded " + ItemHandler.getInstance().size() + " ItemHandlers");
	}

 

Core:

Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties	(revision 4307)
+++ java/config/l2jmods.properties	(working copy)
@@ -379,3 +379,23 @@
# Basic protection against L2Walker.
# Default: False
L2WalkerProtection = False
+
+# Allow hero custom item?
+# When players double click on your selected item, they will become hero untill server restart.
+AllowHeroCustomItem = False
+
+# Hero Custom Item ID?
+# Default: Festival Adena (6673)
+HeroCustomItemId = 6673
+
+# Hero Custom Item Level Restriction?
+# A player with lower than 76 lvl, won't be able to use item.
+HeroCustomItemLevelRestriction = False
+
+# Hero Custom Item Needs Nobless?
+# A player that isn't Nobless, won't be able to use it.
+HeroCustomItemNoblessNeeded = False
+
+# Hero Custom Item SubClass Restriction?
+# A player that isn't in a subclass, won't be able to use it.
+HeroCustomItemSubclassRestriction = False
Index: java/com/l2jserver/Config.java
===================================================================
--- java/com/l2jserver/Config.java	(revision 4307)
+++ java/com/l2jserver/Config.java	(working copy)
@@ -681,6 +681,11 @@
	public static String L2JMOD_MULTILANG_DEFAULT;
	public static boolean L2JMOD_MULTILANG_VOICED_ALLOW;
	public static boolean L2WALKER_PROTECTION;
+	public static boolean ALLOW_HERO_CUSTOM_ITEM;
+	public static int HERO_CUSTOM_ITEM_ID;
+	public static boolean HERO_CUSTOM_ITEM_LEVEL_RESTRICTION;
+	public static boolean HERO_CUSTOM_ITEM_NOBLESS_NEEDED;
+	public static boolean HERO_CUSTOM_ITEM_SUBCLASS_RESTRICTION;

	//--------------------------------------------------
	// NPC Settings
@@ -2004,6 +2009,11 @@
					is = new FileInputStream(new File(L2JMOD_CONFIG_FILE));
					L2JModSettings.load(is);

+					ALLOW_HERO_CUSTOM_ITEM = Boolean.parseBoolean(L2JModSettings.getProperty("AllowHeroCustomItem", "false"));
+					HERO_CUSTOM_ITEM_LEVEL_RESTRICTION = Boolean.parseBoolean(L2JModSettings.getProperty("HeroCustomItemLevelRestriction", "false"));
+					HERO_CUSTOM_ITEM_SUBCLASS_RESTRICTION = Boolean.parseBoolean(L2JModSettings.getProperty("HeroCustomItemSubclassRestriction", "false"));
+					HERO_CUSTOM_ITEM_NOBLESS_NEEDED = Boolean.parseBoolean(L2JModSettings.getProperty("HeroCustomItemNoblessNeeded", "false"));
+					HERO_CUSTOM_ITEM_ID = Integer.parseInt(L2JModSettings.getProperty("HeroCustomItemId", "6673"));
					L2JMOD_CHAMPION_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("ChampionEnable", "false"));
					L2JMOD_CHAMPION_PASSIVE = Boolean.parseBoolean(L2JModSettings.getProperty("ChampionPassive", "false"));
					L2JMOD_CHAMPION_FREQUENCY = Integer.parseInt(L2JModSettings.getProperty("ChampionFrequency", "0"));

 

Go to (DP) data/scripts/handlers/itemhandlers and make 1 new HeroCustomItem.java file, and paste in:

/*
* 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 handlers.itemhandlers;

import com.l2jserver.Config;
import com.l2jserver.gameserver.handler.IItemHandler;
import com.l2jserver.gameserver.model.L2ItemInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PlayableInstance;
import com.l2jserver.gameserver.serverpackets.MagicSkillUser;
import com.l2jserver.gameserver.serverpackets.SocialAction;

public class NoblesseItem implements IItemHandler
{
    private static final int ITEM_IDS[] = 
    {
        Config.HERO_CUSTOM_ITEM_ID
    };
    
    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
            if(!(playable instanceof L2PcInstance))
                return;
            L2PcInstance activeChar = (L2PcInstance)playable;
            if(activeChar.isHero())
            {
                activeChar.sendMessage("You Are Already A Server Hero!");
                return;
            } 
            if (activeChar.getLevel() < 76 && Config.HERO_CUSTOM_ITEM_LEVEL_RESTRICTION)
            {
            	activeChar.sendMessage("You need to be lvl 76 to use this item.");
            	return;
            }
            if (!activeChar.isSubClassActive() && Config.HERO_CUSTOM_ITEM_SUBCLASS_RESTRICTION)
            {
            	activeChar.sendMessage("You must be in a subclass to use this item.");
            	return;
            }
            if (!activeChar.isNoble() && Config.HERO_CUSTOM_ITEM_NOBLESS_NEEDED)
            {
            	activeChar.sendMessage("You must be nobless to use this item.");
            	return;
            }
            else
            {
                activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 16));
                activeChar.setHero(true);
                activeChar.sendMessage("You Are Now a Server Hero,You Are Granted With Hero Status , And Hero Skills.");
                activeChar.broadcastUserInfo();
                playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
            }
        }

    public int[] getItemIds()
    {
        return ITEM_IDS;
    }
}

 

Compile it and you are done.

 

the system is like l2mafia's???there was a hero coin(gold dragon)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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