Jump to content

Recommended Posts

  • 1 month later...
Posted

How can i make new .java file?

 

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

Posted

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?

Posted

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

Posted

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)

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