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.


  • Posts

    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt  
    • Server Rates: » Xp 500x. » Sp 500x. » Aden 500x. » Drop 1x. » PartyXp 2x. » PartySp 2x. » Starting character level -61. Enchant rates: » Safe enchant +4. » Blessed and simple scrolls max enchant (+16). » Crystal scrolls max enchant (+20). » Simple enchant scrolls chance – 65%. » Blessed enchant scrolls chance – 100%. » Crystal enchant scrolls chance – 50% Augmentations: » Mid life stone skill chance – 5%. » High life stone skill chance – 10%. » Top life stone skill chance – 20%. » Augments 1+1 Unique features: » Main town – Giran » Automatic-Manual Potions. » Working 2 castle sieges. (Giran-Aden) » SPS cancel lasts 10 seconds and than buffs come back. » Stackable scrolls, lifestones, book of giants. » Unique pvp zone » More then 11 active raid bosses. » Wedding system. » Unique farming areas. » Npc skill enchanter. » Full npc buffer with auto buff. » Max count of buffs – 55. » Max subclasses – 4. » Free and no quest class change. » Free and no quest sub class. » Raid boss drop nobless item. » No weight limit. » Unique protection anti-hwy armor for archers/daggers etc. » Ingame password change. » Top pvp/pk/online ranks NPC. » Unique monsters & NPC. » Interlude retail skills. » Server up-time [24/7] [99]%. » Perfect class balance (all class can kill all class depending on players skill and setup knowledge,gear,augmentations). » Announcements on double kills triple kills etc. » Announcements on Grand Boss death , with the name of the killer as well as clan name of the player. » Information Npc in game with all servers infromations. Custom server gear : 1). Titanium Armor Lv.1 2). Epic Armor Lv.2 3). Epic Weapons-Kamikaze-Black S grade (Same Stats) 4). Demonic-Angelic Wings-Baium Hair-Custom Accessories (SameStats) 5). Custom Fighter/Mage tattoo Lv1-Lv2-Lv3 6). Shirt (STR,CON,INT +1) 7). Custom Shields Server Commands: .tvtjoin .tvtleave – Join or leave tvt event. .ctfjoin .ctfleave – Join or leave ctf event. .dmjoin .dmleave – Join of leave dm event. .online – current online players count. .repair – repairs stuck character in world. .menu – opens online menu panel. .exit – PVP zone exit in case you are bullied. .changepassword - Opens online menu then u can change ur password in game. .farm - Enable/disable autofarm Event system: » TVT event » CTF event » DM event » Tournament Event » Party Zone » Unique event shop. Olympiad game: » Retail olympiad game. » Competition period [1] week. » Olympiad start time [18:00] end [00:00] GMT+2. » New Heroes every Sunday.
    • Tomorrow grand opening lests go 🙂 
  • Topics

×
×
  • Create New...