Jump to content

[Share] Custom Reputation Item


Recommended Posts

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 :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


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