-
Posts
240 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by MaKasTreRo
-
Help Edit Itemname And Armorgrp. Dat Filedit
MaKasTreRo replied to MaKasTreRo's topic in [Request] Client Dev Help
The problem is file encoded -
Hello. Have any files ítemname.data encrypter .how can open?
-
Hello friends. I have a problem , I can not edit itemname -e and armorgrp with FileEdit I think it can be encrypted . Any solution. Thank you
-
Hello guys. Need add this part code : _dispelledCount++; e.exit(); + + if ((getEffected().getActingPlayer() != null) && !getEffected().getActingPlayer().getRemovedBuffs().contains(e) && (_returnTime > 0) && CancelEngineConfigs.ENABLE_CANCEL_SYSTEM) + { + getEffected().getActingPlayer().addRemovedBuff(e); + } } + + if ((getEffected().getActingPlayer() != null) && (!getEffected().getActingPlayer().getRemovedBuffs().isEmpty()) && (_returnTime > 0) && CancelEngineConfigs.ENABLE_CANCEL_SYSTEM) + { + getEffected().getActingPlayer()._returnRemovedBuffsTask = ThreadPoolManager.getInstance().scheduleGeneral(new CanceledBuffsReturnTask(getEffected().getActingPlayer(), getEffected().getActingPlayer().getRemovedBuffs()), _returnTime * 1000); + } + return true; } } In this file: package handlers.effecthandlers; import l2r.gameserver.model.actor.L2Character; import l2r.gameserver.model.effects.EffectTemplate; import l2r.gameserver.model.effects.L2Effect; import l2r.gameserver.model.effects.L2EffectType; import l2r.gameserver.model.stats.Env; /** * @author vGodFather */ public class DispelOne extends L2Effect { private final boolean _ordered; public DispelOne(Env env, EffectTemplate template) { super(env, template); _ordered = template.getParameters().getBoolean("ordered", false); } @Override public L2EffectType getEffectType() { return L2EffectType.DISPEL; } @Override public boolean isInstant() { return true; } @Override public boolean onStart() { L2Character target = getEffected(); if ((target == null) || target.isDead()) { return false; } if (_ordered) { L2Effect buff = null; for (L2Effect e : target.getAllEffects()) { if ((e != null) && !e.getSkill().canBeDispeled() && e.getSkill().isDance()) { continue; } buff = e; break; } if (buff != null) { buff.exit(); return true; } for (L2Effect e : target.getAllEffects()) { if ((e != null) && !e.getSkill().canBeDispeled()) { continue; } buff = e; break; } if (buff != null) { buff.exit(); return true; } } else { for (L2Effect e : target.getAllEffects()) { if (!e.getSkill().canBeDispeled()) { continue; } e.exit(); break; } } return true; } } I try to add this piece of code but the crusher insane does not return the buff . e.exit(); if ((getEffected().getActingPlayer() != null) && !getEffected().getActingPlayer().getRemovedBuffs().contains(e) && (_returnTime > 0) && CancelEngineConfigs.ENABLE_CANCEL_SYSTEM) { getEffected().getActingPlayer().addRemovedBuff(e); } break; } if ((getEffected().getActingPlayer() != null) && (!getEffected().getActingPlayer().getRemovedBuffs().isEmpty()) && (_returnTime > 0) && CancelEngineConfigs.ENABLE_CANCEL_SYSTEM) { getEffected().getActingPlayer()._returnRemovedBuffsTask = ThreadPoolManager.getInstance().scheduleGeneral(new CanceledBuffsReturnTask(getEffected().getActingPlayer(), getEffected().getActingPlayer().getRemovedBuffs()), _returnTime * 1000); } } return true; } } Where should I put that part of the code . Thanks
-
Federico cambia de web
-
I need hero weapons Goddes of destruction for HF. https://www.youtube.com/watch?v=v0AXhtU_pRc Thanks!
-
Hello guys. I have a problem with this code. Index: data/xml/items/0700-0799.xml =================================================================== --- data/xml/items/0700-0799.xml (revision 112) +++ data/xml/items/0700-0799.xml (working copy) @@ -329,7 +329,7 @@ <set name="price" val="2000" /> <set name="is_stackable" val="true" /> <set name="is_oly_restricted" val="true" /> - <set name="handler" val="ItemSkills" /> + <set name="handler" val="SoulShots" /> <set name="item_skill" val="2279-2" /> <set name="use_condition" val="{{uc_transmode_exclude;{tt_flying}}}" /> </item> Index: data/xml/items/1500-1599.xml =================================================================== --- data/xml/items/1500-1599.xml (revision 112) +++ data/xml/items/1500-1599.xml (working copy) @@ -265,7 +265,7 @@ <set name="reuse_delay" val="10000" /> <set name="is_stackable" val="true" /> <set name="is_oly_restricted" val="true" /> - <set name="handler" val="ItemSkills" /> + <set name="handler" val="SoulShots" /> <set name="item_skill" val="2037-1" /> <set name="use_condition" val="{{uc_transmode_exclude;{tt_flying}}}" /> <set name="shared_reuse_group" val="10" /> Index: data/xml/items/5500-5599.xml =================================================================== --- data/xml/items/5500-5599.xml (revision 112) +++ data/xml/items/5500-5599.xml (working copy) @@ -673,7 +673,7 @@ <set name="reuse_delay" val="500" /> <set name="is_stackable" val="true" /> <set name="is_oly_restricted" val="true" /> - <set name="handler" val="ItemSkills" /> + <set name="handler" val="SoulShots" /> <set name="item_skill" val="2166-2" /> </item> <item id="5593" type="EtcItem" name="SP Scroll: Low Grade"> Index: java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java =================================================================== --- java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (revision 112) +++ java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (working copy) @@ -14,18 +14,24 @@ */ package net.sf.l2j.gameserver.handler.itemhandlers; +import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.handler.IItemHandler; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.ShotType; import net.sf.l2j.gameserver.model.actor.L2Playable; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.SystemMessageId; +import net.sf.l2j.gameserver.network.serverpackets.ExAutoSoulShot; import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; import net.sf.l2j.gameserver.templates.item.L2Weapon; import net.sf.l2j.gameserver.util.Broadcast; public class SoulShots implements IItemHandler { + private static final int MANA_POT_CD = 2, + HEALING_POT_CD = 11, // DO NOT PUT LESS THAN 10 + CP_POT_CD = 2; + private static final int[] SKILL_IDS = { 2039, @@ -47,6 +53,108 @@ final L2Weapon weaponItem = activeChar.getActiveWeaponItem(); final int itemId = item.getItemId(); + if (itemId == 728 || itemId == 1539 || itemId == 5592) + { + switch (itemId) + { + case 728: // mana potion + { + if (activeChar.isAutoPot(728)) + { + activeChar.sendPacket(new ExAutoSoulShot(728, 0)); + activeChar.sendMessage("Deactivated auto mana potions."); + activeChar.setAutoPot(728, null, false); + } + else + { + if (activeChar.getInventory().getItemByItemId(728) != null) + { + if (activeChar.getInventory().getItemByItemId(728).getCount() > 1) + { + activeChar.sendPacket(new ExAutoSoulShot(728, 1)); + activeChar.sendMessage("Activated auto mana potions."); + activeChar.setAutoPot(728, ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoPot(728, activeChar), 1000, MANA_POT_CD*1000), true); + } + else + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2279, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(728), true); + } + } + } + + break; + } + case 1539: // greater healing potion + { + if (activeChar.isAutoPot(1539)) + { + activeChar.sendPacket(new ExAutoSoulShot(1539, 0)); + activeChar.sendMessage("Deactivated auto healing potions."); + activeChar.setAutoPot(1539, null, false); + } + else + { + if (activeChar.getInventory().getItemByItemId(1539) != null) + { + if (activeChar.getInventory().getItemByItemId(1539).getCount() > 1) + { + activeChar.sendPacket(new ExAutoSoulShot(1539, 1)); + activeChar.sendMessage("Activated auto healing potions."); + activeChar.setAutoPot(1539, ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoPot(1539, activeChar), 1000, HEALING_POT_CD*1000), true); + } + else + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2037, 1, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(1539), true); + } + } + } + + break; + } + case 5592: // greater cp potion + { + if (activeChar.isAutoPot(5592)) + { + activeChar.sendPacket(new ExAutoSoulShot(5592, 0)); + activeChar.sendMessage("Deactivated auto cp potions."); + activeChar.setAutoPot(5592, null, false); + } + else + { + if (activeChar.getInventory().getItemByItemId(5592) != null) + { + if (activeChar.getInventory().getItemByItemId(5592).getCount() > 1) + { + activeChar.sendPacket(new ExAutoSoulShot(5592, 1)); + activeChar.sendMessage("Activated auto cp potions."); + activeChar.setAutoPot(5592, ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoPot(5592, activeChar), 1000, CP_POT_CD*1000), true); + } + else + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2166, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(5592), true); + } + } + } + + break; + } + } + + return; + } + // Check if soulshot can be used if (weaponInst == null || weaponItem.getSoulShotCount() == 0) { @@ -87,4 +195,76 @@ activeChar.sendPacket(SystemMessageId.ENABLED_SOULSHOT); Broadcast.toSelfAndKnownPlayersInRadiusSq(activeChar, new MagicSkillUse(activeChar, activeChar, SKILL_IDS[grade], 1, 0, 0), 360000); } + + private class AutoPot implements Runnable + { + private int id; + private L2PcInstance activeChar; + + public AutoPot(int id, L2PcInstance activeChar) + { + this.id = id; + this.activeChar = activeChar; + } + + @Override + public void run() + { + if (activeChar.getInventory().getItemByItemId(id) == null) + { + activeChar.sendPacket(new ExAutoSoulShot(id, 0)); + activeChar.setAutoPot(id, null, false); + return; + } + + switch (id) + { + case 728: + { + if (activeChar.getCurrentMp() < 0.70*activeChar.getMaxMp()) + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2279, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(728), true); + } + + break; + } + case 1539: + { + if (activeChar.getCurrentHp() < 0.95*activeChar.getMaxHp()) + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2037, 1, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(1539), true); + } + + break; + } + case 5592: + { + if (activeChar.getCurrentCp() < 0.95*activeChar.getMaxCp()) + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2166, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(5592), true); + } + + break; + } + } + + if (activeChar.getInventory().getItemByItemId(id) == null) + { + activeChar.sendPacket(new ExAutoSoulShot(id, 0)); + activeChar.setAutoPot(id, null, false); + } + } + } } \ No newline at end of file Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 112) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -251,6 +251,24 @@ */ public final class L2PcInstance extends L2Playable { + private Map<Integer, Future<?>> _autoPotTasks = new HashMap<>(); + + public boolean isAutoPot(int id) + { + return _autoPotTasks.keySet().contains(id); + } + + public void setAutoPot(int id, Future<?> task, boolean add) + { + if (add) + _autoPotTasks.put(id, task); + else + { + _autoPotTasks.get(id).cancel(true); + _autoPotTasks.remove(id); + } + } + private BuffShop buffShop = null; public void setBuffShop(BuffShop val) @@ -4321,6 +4339,22 @@ teleToLocation(184351, 20318, -3174, 0); } + if (isAutoPot(728)) + { + sendPacket(new ExAutoSoulShot(728, 0)); + setAutoPot(728, null, false); + } + if (isAutoPot(1539)) + { + sendPacket(new ExAutoSoulShot(1539, 0)); + setAutoPot(1539, null, false); + } + if (isAutoPot(5592)) + { + sendPacket(new ExAutoSoulShot(5592, 0)); + setAutoPot(5592, null, false); + } + return true; } Where should I add this part in L2PcInstance . teleToLocation(184351, 20318, -3174, 0); } + if (isAutoPot(728)) + { + sendPacket(new ExAutoSoulShot(728, 0)); + setAutoPot(728, null, false); + } + if (isAutoPot(1539)) + { + sendPacket(new ExAutoSoulShot(1539, 0)); + setAutoPot(1539, null, false); + } + if (isAutoPot(5592)) + { + sendPacket(new ExAutoSoulShot(5592, 0)); + setAutoPot(5592, null, false); + } + return true; } Thanks!
-
WTB BYPASS FOR L2J GUARD
-
jajaja nice job !!
-
VK promocional server, but server closed.
-
I see in server russian closed. L2jbrasil failed search. :S
-
Hello Guys! Somebody has these cloaks?
-
Help Edit The Client (Animation Skill And More).
MaKasTreRo replied to MaKasTreRo's topic in [Request] Client Dev Help
animation also? -
Help Edit The Client (Animation Skill And More).
MaKasTreRo posted a topic in [Request] Client Dev Help
Hello guys. How can add the this animation and screen of skill. Thanks for all guys. -
Buena suerte Fiss!
-
Problem for reg more 2 players...3...4..5 all , no teleport and error console. In high five .
-
Help Problem Ramdon Fight In L2Jserver Hi5
MaKasTreRo replied to MaKasTreRo's question in Request Server Development Help [L2J]
Ty sweets and this setTeam error: if (state == State.FIGHT) { for (L2PcInstance p : players) { p.setTeam(0); } } -
Help Problem Ramdon Fight In L2Jserver Hi5
MaKasTreRo replied to MaKasTreRo's question in Request Server Development Help [L2J]
public void setTeam(Team team) { super.setTeam(team); broadcastUserInfo(); if (hasSummon()) { getSummon().broadcastStatusUpdate(); } } -
Help Problem Ramdon Fight In L2Jserver Hi5
MaKasTreRo replied to MaKasTreRo's question in Request Server Development Help [L2J]
Description Resource Path Location Type The method setTeam(Team) in the type L2PcInstance is not applicable for the arguments (int) RandomFight.java /L2J_ReunionProject_Core/java/l2r/gameserver/model line 117 Java Problem -
Help Problem Ramdon Fight In L2Jserver Hi5
MaKasTreRo posted a question in Request Server Development Help [L2J]
Problem in setTeam players.firstElement().teleToLocation(113474, 15552, 3968, 0); players.lastElement().teleToLocation(112990, 15489, 3968, 0); players.firstElement().setTeam(1); players.lastElement().setTeam(2); Ty alll! -
Have this problem in hi5 players.firstElement().teleToLocation(113474, 15552, 3968, 0); players.lastElement().teleToLocation(112990, 15489, 3968, 0); players.firstElement().setTeam(1); players.lastElement().setTeam(2); in setTeam. Help me plz , ty all
-
A modification can make java seemed a pvp title with partymaching?
-
Make special title for pvp / pk etc .. where I can find in java ?
-
Hello, ¿How can edit sub-title yellow "Looking for party", is java or cliente? Ty

