An4rchy Posted June 26, 2010 Posted June 26, 2010 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.
Matim Posted June 26, 2010 Posted June 26, 2010 Actualy its the same code... with little change: activeChar.setHero(true); (...)
Grim. Posted June 26, 2010 Posted June 26, 2010 Actualy its the same code... with little change: (...) lol.
An4rchy Posted June 26, 2010 Author Posted June 26, 2010 Actualy its the same code... with little change: (...) well yes you are right, but not only with this. 1 new config(:P) and some messeges change too :P
Matim Posted June 26, 2010 Posted June 26, 2010 Ye, but its still the same code, isn't it? Its just a template + config + method. Thats all, but what ever. My advice is: share something new, because we can create 1k new item/voiced handlers.. but with different method. But whats the point? - friendly.
An4rchy Posted June 26, 2010 Author Posted June 26, 2010 Ye, but its still the same code, isn't it? Its just a template + config + method. Thats all, but what ever. My advice is: share something new, because we can create 1k new item/voiced handlers.. but with different method. But whats the point? - friendly. Heh, everything i can think to make is already posted :P in this forum exist over 1k shares of java things(new not same) :P
Matim Posted June 26, 2010 Posted June 26, 2010 Really xD? I don't think so, use your imagination, you can create hundreds of new shits =D!
An4rchy Posted June 26, 2010 Author Posted June 26, 2010 Really xD? I don't think so, use your imagination, you can create hundreds of new shits =D! i will try :P thanks
Coyote™ Posted June 26, 2010 Posted June 26, 2010 alt + F. Search for: Noble Replace with: Hero and also, let's add setHero(true); TADAAAAAAAAAAAAAAAAAAAAAAA NEW CODE! OMG OMG, LMAOROFL! Didn't I tell you to start making your own codes? >_>
An4rchy Posted June 26, 2010 Author Posted June 26, 2010 alt + F. Search for: Noble Replace with: Hero and also, let's add setHero(true); TADAAAAAAAAAAAAAAAAAAAAAAA NEW CODE! OMG OMG, LMAOROFL! Didn't I tell you to start making your own codes? >_> (i added 1 more config, i won't say about that). i like to make this type of codes. do you have a problem with that? if yes, then i don't know what to do, just don't see my posts in l2jdevelope section... lol.
Coyote™ Posted June 27, 2010 Posted June 27, 2010 (i added 1 more config, i won't say about that). i like to make this type of codes. do you have a problem with that? if yes, then i don't know what to do, just don't see my posts in l2jdevelope section... lol. You don't "make" this type of codes, you "copy/paste" this type of codes. It's different.
akaa Posted June 27, 2010 Posted June 27, 2010 alt + F. Search for: Noble Replace with: Hero and also, let's add setHero(true); TADAAAAAAAAAAAAAAAAAAAAAAA NEW CODE! OMG OMG, LMAOROFL! Didn't I tell you to start making your own codes? >_> You're Wrong!its Ctrl+H
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now