Jump to content

Question

15 answers to this question

Recommended Posts

  • 0
Posted (edited)

He was not serious.. That was a sarcasm.

 

 

Easy task.
PM me with your offer.

Seriously.. :not bad:

 

 

Here you go, without any checks.

/*
 * 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.handler.IItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;


/**
 * @author SweeTs
 */

public class HeroItem implements IItemHandler
{
   @Override
   public void useItem(L2Playable playable, L2ItemInstance item, boolean forceUse)
   {
      if (!(playable instanceof L2PcInstance))
         return;
      
      L2PcInstance activeChar = (L2PcInstance)playable;
      
      int itemId = item.getItemId();
      
      if (itemId == 57) // Item to become hero
      {
         activeChar.setHero(true);
         activeChar.broadcastUserInfo();
      }
   }
}

Xml part

<set name="handler" val="HeroItem" />

and don't forget the register the HeroItem into the ItemHandler.java

Edited by SweeTs
  • 0
Posted (edited)

You don't even need the itemid check, as handler is specified only for that particular item. You would need itemid if the handler was specifying different behaviors for similar items using the same handler.

   @Override
   public void useItem(L2Playable playable, L2ItemInstance item, boolean forceUse)
   {
      if (!(playable instanceof L2PcInstance))
         return;
      
      (L2PcInstance)playable.setHero(true);
      (L2PcInstance)playable.broadcastUserInfo();
   }
Edited by Tryskell
  • 0
Posted (edited)

Actually that's what you need:

@Override
public void useItem(L2Playable playable, L2ItemInstance item, boolean forceUse)
{
          if (!(playable instanceof L2PcInstance))
             return;
        
          ((L2PcInstance)playable).destroyItem("", item, null, true);
          ((L2PcInstance)playable).setHero(true);
          ((L2PcInstance)playable).broadcastUserInfo();
}
Edited by An4rchy
  • 0
Posted

 

 

smth wrong wich this code))

 

Maybe you forgot to register the Item on ItemHandler.java

 

 

Index: java/net/sf/l2j/gameserver/handler/ItemHandler.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/ItemHandler.java (revision 1)
+++ java/net/sf/l2j/gameserver/handler/ItemHandler.java (working copy)
@@ -27,6 +27,7 @@
 import net.sf.l2j.gameserver.handler.itemhandlers.Harvester;
+import net.sf.l2j.gameserver.handler.itemhandlers.HeroItem;
 import net.sf.l2j.gameserver.handler.itemhandlers.ItemSkills;
@@ -66,6 +67,7 @@
  registerItemHandler(new Harvester());
+ registerItemHandler(new HeroItem());
  registerItemHandler(new ItemSkills());

Guest
This topic is now closed to further replies.


  • Posts

    • Vesper Noble heavy set (RAR) 1800 att - 150e Eternal Core Dualsword +6 300 att 130e Ring of Baium 130e AQ ring 100e Antharas Earring 200e   Paypal payments only DM in discord narttu123
    • L2REBORN x10 - 1gb - 4.2$ l2reborn x1 ( signature ) - 1kk - 1.3$ LU4 - 1kk - 2.3$ MASTERWORRK - 1kk - 3.8kk  discord - adver745645
    • Hello, Skill Activation: The activation options from the Alt+K window work perfectly. However, when activating them from the skill bar, there is still a delay of approximately 1 second. I need to remove that delay
    • --- Interlude Faction/GvE PvP grand opening 2025-11-15 19:00 GMT+2 ---   Gameplay: Chronicle: Interlude Type: Faction/GvE (Angels vs Nature vs Demons) GM Shop: B-S grade Buff slots: 20+4 Starting level: 74 + rebirth system   New Features: Client: Modern interface based on Essence Balance: New class skills for better balance Achievement Rewards: Daily, Weekly, One-time TOP rankings: PvP, Event PvP, Map PvP, Clan PvP, Event MvP, Map MvP Zones: 70 different PvP zones,  18 different events (8 map events | 10 main events) 12 Grand/raid bosses. Castle siege Olympiad Clan Hall challenge Custom Enchant System: Dynamic success chance (greater enchant level or item grade less enchanting success chance) Enchant rate: Blessed scrolls dynamic from 100% to 25%. Crystal Scrolls: 100%; Max enchant weapon +12 Max enchant armor +8 Safe point enchant system Extra Features: PvP items with level upgrade Weapon/Armor upgrade (from B grade to S) system Attributes system   Website: https://l2cygnus.com Community: Discord Facebook: https://www.facebook.com/l2cygnus Youtube:   
  • Topics

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