Psyancy Posted July 3, 2017 Posted July 3, 2017 (edited) Index: config/head/altsettings.properties =================================================================== --- config/head/altsettings.properties (revision 1118) +++ config/head/altsettings.properties (working copy) # Maximum number of debuffs MaxDebuffAmount = 6 +# ----------------------------------------- +# Canceled Buffs Return +# ----------------------------------------- +# With this feature, players will get their +# canceled buffs back after the amount of +# seconds you've set on CustomCancelSeconds +# Enable Canceled Buffs Return? +# Default : False +AllowCustomCancelTask = False + +# Time for buffs to return in seconds +# Default: 15 +CustomCancelSeconds = 15 Index: head-src/com/l2jfrozen/Config.java =================================================================== --- head-src/com/l2jfrozen/Config.java (revision 1118) +++ head-src/com/l2jfrozen/Config.java (working copy) public static boolean ALT_MOBS_STATS_BONUS; public static boolean ALT_PETS_STATS_BONUS; + public static boolean ALLOW_CUSTOM_CANCEL; + public static int CUSTOM_CANCEL_SECONDS; =================================================================== ALT_LOTTERY_2_AND_1_NUMBER_PRIZE = Integer.parseInt(altSettings.getProperty("AltLottery2and1NumberPrize", "200")); BUFFS_MAX_AMOUNT = Byte.parseByte(altSettings.getProperty("MaxBuffAmount", "24")); DEBUFFS_MAX_AMOUNT = Byte.parseByte(altSettings.getProperty("MaxDebuffAmount", "6")); + ALLOW_CUSTOM_CANCEL = Boolean.parseBoolean(altSettings.getProperty("AllowCustomCancelTask", "false")); + CUSTOM_CANCEL_SECONDS = Integer.parseInt(altSettings.getProperty("CustomCancelSeconds", "15")); Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java (revision 1118) +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java (working copy) import java.io.IOException; +import java.util.Vector; import org.apache.log4j.Logger; =================================================================== import com.l2jfrozen.gameserver.model.actor.instance.L2PetInstance; import com.l2jfrozen.gameserver.model.actor.instance.L2SiegeSummonInstance; +import com.l2jfrozen.gameserver.model.entity.CustomCancelTask; import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.skills.Formulas; import com.l2jfrozen.gameserver.skills.Stats; +import com.l2jfrozen.gameserver.thread.ThreadPoolManager; import com.l2jfrozen.util.random.Rnd; =================================================================== case CANCEL: { + Vector<L2Skill> cancelledBuffs = new Vector<>(); if (target.reflectSkill(skill)) { target = activeChar; } =================================================================== else if (rate < 5) { rate = 5; } if (Rnd.get(100) < rate) { + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (!cancelledBuffs.contains(e.getSkill()) && !((L2PcInstance)activeChar).isInOlympiadMode()) + { + cancelledBuffs.add(e.getSkill()); + } + } e.exit(true); maxfive--; if (maxfive == 0) { break; } } } } } + if (Config.ALLOW_CUSTOM_CANCEL) + { + + if (cancelledBuffs.size() > 0) + ThreadPoolManager.getInstance().scheduleGeneral(new CustomCancelTaskManager((L2PcInstance)target, cancelledBuffs), Config.CUSTOM_CANCEL_SECONDS *1000); + } effects = null; } =================================================================== else if (rate < 5) { rate = 5; } if (Rnd.get(100) < rate) { + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (!cancelledBuffs.contains(e.getSkill()) && !((L2PcInstance)activeChar).isInOlympiadMode()) + { + cancelledBuffs.add(e.getSkill()); + } + } e.exit(true); maxdisp--; if (maxdisp == 0) { break; } } } } } + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (cancelledBuffs.size() > 0) + ThreadPoolManager.getInstance().scheduleGeneral(new CustomCancelTaskManager((L2PcInstance)target, cancelledBuffs), Config.CUSTOM_CANCEL_SECONDS *1000); + } // effects = null; Index: head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java (nonexistent) +++ head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java (working copy) /* * 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 com.l2jfrozen.gameserver.model.entity; import java.util.Vector; import com.l2jfrozen.gameserver.model.L2Skill; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; /** * @author Psyancy * */ public class CustomCancelTaskManager implements Runnable { private L2PcInstance player = null; private Vector<L2Skill> buffsCanceled = null; public CustomCancelTaskManager(L2PcInstance p, Vector<L2Skill> skill) { player = p; buffsCanceled = skill; } @Override public void run() { if (player == null) return; for (L2Skill skill : buffsCanceled) { if (skill == null) continue; skill.getEffects(player, player); } } } Credits for the original Code: Anarchy Credits for the modifications: Bluur Edited July 3, 2017 by Designatix 1
RiperRO Posted August 7, 2017 Posted August 7, 2017 good job , thank you very much for sharing it with us
Psyancy Posted August 7, 2017 Author Posted August 7, 2017 good job , thank you very much for sharing it with us np mate
wongerlt Posted August 7, 2017 Posted August 7, 2017 Thanks for it. And i got error that "CustomCancelTask.java" file must be "CustomCancelTaskManager.java" so just need to rename it.
RiperRO Posted August 7, 2017 Posted August 7, 2017 Thanks for it. And i got error that "CustomCancelTask.java" file must be "CustomCancelTaskManager.java" so just need to rename it. did you fix the error? I had the same error and i changed something in the code. Pm me so i can help you.
wongerlt Posted August 7, 2017 Posted August 7, 2017 did you fix the error? I had the same error and i changed something in the code. Pm me so i can help you. yes i fixed it. Need only rename CustomCancelTask.java to CustomCancelTaskManager.java and in import change CustomCancelTask to CustomCancelTaskManager.
sotid Posted June 30, 2018 Posted June 30, 2018 Hey , so I get this error maybe someone can tell me what I should change that with, to work with my java?https://ibb.co/bAUgjy
melron Posted June 30, 2018 Posted June 30, 2018 (use -source 7 or higher to enable diamond operator)
sotid Posted June 30, 2018 Posted June 30, 2018 oh yea I can see that mate is that referring to java 1.7? cause thats what I am using and last time I tried to change something with java I messed up everything..https://ibb.co/hzq7rd Btw I changed this Vector<L2Skill> cancelledBuffs = new Vector<>(); to Vector<L2Skill> cancelledBuffs = new Vector(); and it built but it doesnt work like that I guess. So what do you suggest?
melron Posted June 30, 2018 Posted June 30, 2018 1 minute ago, sotid said: oh yea I can see that mate is that referring to java 1.7? cause thats what I am using and last time I tried to change something with java I messed up everything..https://ibb.co/hzq7rd Btw I changed this Vector<L2Skill> cancelledBuffs = new Vector<>(); to Vector<L2Skill> cancelledBuffs = new Vector(); and it built but it doesnt work like that I guess. So what do you suggest? update for many reasons your sources to 1.8 either edit the whole code . vector is not needed there a simple list would be enough
sotid Posted June 30, 2018 Posted June 30, 2018 When I tried to use 1.8 it doesnt built at all. I get an error before the build starts , I dont remember the error but every google solution search I did was start over or simething similar or use lower java update. I mean after I removed the <> it can built but doesnt work. so whats the problem here?
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now