Jump to content

Recommended Posts

Posted
/*

* 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 2, 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, write to the Free Software

* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA

* 02111-1307, USA.

*

* http://www.gnu.org/copyleft/gpl.html

*/

 

/**

*

* @author x.v3ndetta@yahoo.com

*

*/

 

package net.sf.l2j.gameserver.handler.itemhandlers;

import java.util.logging.Level;

import java.util.logging.Logger;

import net.sf.l2j.gameserver.ThreadPoolManager;

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.L2PetInstance;

import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;

import net.sf.l2j.gameserver.network.SystemMessageId;

import net.sf.l2j.gameserver.serverpackets.ActionFailed;

import net.sf.l2j.gameserver.serverpackets.MagicSkillUser;

import net.sf.l2j.gameserver.serverpackets.SystemMessage;

import net.sf.l2j.gameserver.util.FloodProtector;

 

public class MBuff implements IItemHandler

{

protected static final Logger _log = Logger.getLogger(Potions.class.getName());

private static final int[] ITEM_IDS = {7163};

 

 

private int _herbstask = 0;

 

private class HerbTask implements Runnable

{

private L2PcInstance _activeChar;

private int _magicId;

private int _level;

HerbTask(L2PcInstance activeChar, int magicId, int level)

{

_activeChar = activeChar;

_magicId = magicId;

_level = level;

}

public void run()

{

try

{

usePotion(_activeChar, _magicId, _level);

}

catch (Throwable t)

{

_log.log(Level.WARNING, "", t);

}

}

}

public synchronized void useItem(L2PlayableInstance playable, L2ItemInstance item)

{

L2PcInstance activeChar;

if (playable instanceof L2PcInstance)

activeChar = (L2PcInstance) playable;

else if (playable instanceof L2PetInstance)

activeChar = ((L2PetInstance) playable).getOwner();

else

return;

if (activeChar.isInOlympiadMode())

{

activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT));

return;

}

if (activeChar.isAllSkillsDisabled())

{

activeChar.sendPacket(new ActionFailed());

return;

}

 

L2Skill skill;

   int itemId = item.getItemId();

if (itemId == 7163)

{

skill = SkillTable.getInstance().getInfo(1204, 2);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1040, 3);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1068, 3);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1035, 4);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1045, 6);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1048, 6);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1036, 2);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1259, 4);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1257, 3);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1062, 2);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1268, 4);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1086, 2);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1240, 3);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1077, 3);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1242, 3);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(271, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(274, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(275, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(310, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1229, 18);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(267, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(268, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(269, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(304, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(305, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(308, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(349, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1284, 3);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1363, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(4700, 13);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(4699, 13);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1388, 2);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

skill = SkillTable.getInstance().getInfo(1323, 1);

skill.getEffects(activeChar, activeChar);

activeChar.broadcastPacket(new MagicSkillUser(activeChar, activeChar, skill.getId(), 1, skill.getHitTime(), 0));

}

}

public boolean usePotion(L2PcInstance activeChar, int magicId, int level)

{

if (activeChar.isCastingNow() && magicId>2277 && magicId<2285)

{

_herbstask += 100;

ThreadPoolManager.getInstance().scheduleAi(new HerbTask(activeChar, magicId, level), _herbstask);

}

else

{

if (magicId>2277 && magicId<2285 && _herbstask>=100) _herbstask -= 100;

L2Skill skill = SkillTable.getInstance().getInfo(magicId, level);

if (skill != null)

{

activeChar.doCast(skill);

if (!(activeChar.isSitting() && !skill.isPotion()))

return true;

}

}

return false;

} public int[] getItemIds()

{

return ITEM_IDS;

}

}

 

CREDITS : V3ndetta[ME}
  • 4 weeks later...
Posted

1st atleast if you do a such a thing dont use a herbtask rofl!

2nd use sql connection for buff store

 

at for last the most necessary learn to dont use INTERLUDE!If you ever want to learn something use gracia or epilogue!

Posted

at for last the most necessary learn to dont use INTERLUDE!If you ever want to learn something use gracia or epilogue!

 

At the moment i am using epilogue :P I bught a dedi,and l2zone will be on in few days,Gracia Epilogue :)

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Do you have local domestic purchasing channels available? Could you also tell me the specific price of the source code? Is there anyone who will share the complete L2OFF source code free of charge?
    • I am looking to purchase complete compilable native C++ L2OFF source for Lineage 2 Freya or High Five.   My budget is 500 EUR to 2000 EUR, price depends on package completeness and bug fixes.   Requirements: 1. Pure PTS C++ source, NOT L2J Java server. 2.Full project without missing core files. 3.Prefer packages with HFdll extender, hAuthD login server and Premium mall system. 4.Need test build / test server verification before payment. 5.Only accept deals with forum platform escrow guarantee, private direct transfer without platform escrow is not acceptable. 6.Accept USDT, SEPA transfer. Serious sellers send PM with full details, screenshots and final price. Scammers will be reported.
    • The best part is the "personal use". Give me full source files ill do work on my pc never open any server to earn cash and ill also claim i won't make server for cash.
    • Update: - Added Google OAuth API. - Added WhatsApp API (via Meta). - Added multiple templates (34 layouts in total). - Added CSS protections. - Added new email/WhatsApp confirmation page. - Added bcrypt encryption for aCis 409. - Added support for L2jMobius / Lucera2. - Added charts for registrations/visits by country. - Added limits on confirmation resends. Fixes: - Fixed Russian language system. - Fixed Stripe checkouts.  
    • USA DL — THE DOCUMENT THAT STILL BREAKS EVERYONE A lot of people still think American driver’s licenses are “just plastic with a photo”. In reality, even in 2026 it remains one of the hardest documents to render properly. The difficulty isn’t in the picture. It’s in how everything works together. ▪ What actually makes it so complicated: - multi-level holograms and UV elements that behave differently under various lighting - microtext and fine lines that immediately give away fakes under magnification - specific material texture and laminate that can’t be guessed or improvised - biometric features and hidden elements that are checked at the border and during verification The usual approach almost always fails here. 🧠 USA DL is still one of those documents where “looks similar” doesn’t mean “actually works”. Want your American driving license to not just look decent, but genuinely pass checks? Write to us in DMs — we’ll review your case and render it so the document doesn’t let you down when it matters most. › TG: @mustang_service_ms ( https:// t.me/ mustang_service_ms ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #documents #drawing #USA #editing #DL
  • 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..