MarKoM Posted December 1, 2010 Posted December 1, 2010 Hello guys here is an item that when you press it you will get "x" reputation points to your clan...:) I know its nothing special but here is the code: Create a new file at:net.sf.l2j.gameserver.handler.itemhandlers named: CustomRep.java /* * 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 net.sf.l2j.gameserver.handler.itemhandlers; import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.handler.IItemHandler; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance; import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUser; /** * This class ... * * @version $Revision: 1.0.0.0.0.0 $ $Date: 2005/09/02 19:41:13 $ */ public class CustomRep implements IItemHandler { // Modified by Baghak (Prograsso): Added Firework support private static final int[] ITEM_IDS = { 11000 }; public void useItem(L2PlayableInstance playable, L2ItemInstance item) { if (!(playable instanceof L2PcInstance)) return; // prevent Class cast exception L2PcInstance activeChar = (L2PcInstance) playable; int itemId = item.getItemId(); if (activeChar.isInOlympiadMode()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.inObserverMode()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isSitting()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isAway()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isConfused()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isStunned()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isDead()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isAlikeDead()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isInCombat()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (activeChar.isInJail()) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if (!activeChar.getFloodProtectors().getFirework().tryPerformAction("firework")) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } /* * Elven Firecracker */ if (itemId == 11000) // elven_firecracker, xml: 2023 { MagicSkillUser MSU = new MagicSkillUser(playable, activeChar, 2023, 1, 1, 0); activeChar.sendPacket(MSU); activeChar.broadcastPacket(MSU); useFw(activeChar, 2023, 1); playable.destroyItem("Consume", item.getObjectId(), 1, null, false); activeChar.getClan().setReputationScore(activeChar.getClan().getReputationScore() +5000, true); activeChar.sendMessage("Grats you have award your clan with 5000 Reputation Points!"); activeChar.broadcastUserInfo(); } } public void useFw(L2PcInstance activeChar, int magicId, int level) { L2Skill skill = SkillTable.getInstance().getInfo(magicId, level); if (skill != null) activeChar.useMagic(skill, false, false); } public int[] getItemIds() { return ITEM_IDS; } } Then go to net.sf.l2j.gameserver.handler.ItemHandler.java Find this line: import net.sf.l2j.gameserver.handler.itemhandlers.CrystalCarol; And after that add this: import net.sf.l2j.gameserver.handler.itemhandlers.CustomRep; Then find this line: registerItemHandler(new CrystalCarol()); And after that add this: registerItemHandler(new CustomRep()); Credits to me :)
[Geo]Sky Posted December 1, 2010 Posted December 1, 2010 Tested and works 100%, thanks for share it! Tnx :)
MarKoM Posted December 2, 2010 Author Posted December 2, 2010 Thank's you all guys :) I am trying something new atm when i complete it i will share it with you :)
Sido Posted December 3, 2010 Posted December 3, 2010 Tested and works 100%, thanks for share it! then thank you.
Saxantes Posted December 4, 2010 Posted December 4, 2010 I know its nothing special but here is the code: Yeah, but this is also guide for newbies how to add simple new items.
Recommended Posts