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

    • Very nice attempt and good luck with your sales.   Don't let the voices in this topic discourage you. Most of those people are just flexing. So if Celestine decides to write a bootkit or hook system calls or whatever and false-feed your anti-cheat fake info just because it sits in user mode just to go play in a private server with 100 people, I'll tell you one thing:   Who the fuck cares ... 😛   The average player won't / can't make these things, the big players like adrenaline won't bother (yet) (they don't have signed drivers do they ? They also run in user mode I believe). And even if they somehow manage to do so, there's a minority of players who would trust putting this thing on their pc. I wouldn't let anyone tamper with my kernel mode even if he had a signed certificate from Microsoft.    Also, in a scene where collusion has been brought out between bot makers and cheat guards, having many options is a blessing regardless of their strength. It makes colusion, conflict of interest and cartel more difficult, it drains from cheating software creators more resources to focus on more cheat guards, and it gives server owners plurality.    This arms race is a numbers game, you stop 90% of the cheaters you add value to all of us.    A couple of senior devs flexing their powers in a forum are not a concern.   If i'd ever make a server, I would definitelly buy from you, not because you have the best anti-cheat, but because you are not well known yet to be the focus of counter measures.     
    • TILL OPENING LEFT LESS THAN - 2 DAYS ! GRAND OPENING FROM - 10/07/2026, FRIDAY, 20:00 +3 GMT !
    • Add me on discord, lets talk   Discord: splicho
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..