Jump to content

Custom Cancel Task [L2Jfrozen]


Recommended Posts


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 by Designatix
  • Like 1
Link to comment
Share on other sites

  • 1 month later...

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 10 months later...

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

  • 6 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...