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 Quote
RiperRO Posted August 7, 2017 Posted August 7, 2017 good job , thank you very much for sharing it with us Quote
Psyancy Posted August 7, 2017 Author Posted August 7, 2017 good job , thank you very much for sharing it with us np mate Quote
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. Quote
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. Quote
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. Quote
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 Quote
melron Posted June 30, 2018 Posted June 30, 2018 (use -source 7 or higher to enable diamond operator) Quote
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? Quote
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 Quote
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? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.