- 0
[Help]Remove skills
-
Posts
-
The client and the system aren't working very well; the screen is black, and some things aren't loading. 😞
-
LINEAGE2.SK Summer Season is Comming! GRAND OPENING - 14.08.2026 at 20:00 GMT+1 OBT - 07.08.2025 at 20:00 GMT+1 Website :https://lineage2.sk Discord : https://discord.gg/gj7AC5juGP Server Features and Rates Xp – 20x Sp – 20x Adena – 10x Drop – 15x Spoil - 15x Epic Raid Boss - 1x Regular RB - 5x Quest - 5x Fame - 2x Epaulette - 15x Manor - 15x Special Features Somik Interface Limited AutoFarm Vote System Champions System Achievement System And more in information below Enchant Settings Safe Enchant: +3 Max Enchant: +16 Enchant Chance: 63% Attribute Stone Chance: 50% Attribute Crystal Chance: 30% NPC Buffer all buffs, songs, dances including 3rd prof + resists Buff Slots: 24 (+4) / 12 Buff Duration: 2 Hours Epic Bosses & Respawns Queen Ant: 24 hours +/-8h Core: 3 days +/-8h Orfen: 2 days +/-8h Baium: 5 days +/-8h Beleth: 7 days +/-8h Antharas: 7 days +/-8h Valakas: 7 days +/-8h Instances Zones Zaken: 6 players Normal Freya: 6 players Hard Freya: 12 Players Frintezza: 6 Players Tiat: 6 Players Beleth: 12 Players GM Shop weapon/armor/jwl (max S grade) shots/spiritshots (max S grade) mana potions (1000 MP, 10s) Global Gatekeeper all towns including cata/necro ToI Gracia Hellbound ... Olympiad period 7 days (Monday) no class participants min 6 base class participants min 6 max enchant +6 Start points 20 Class Transfer for Adena Subclass Quest Not required Max Subclass 3 Subclass Max LvL 85 Events Team vs Team Capture the Flag Death Match Last Hero Korean Style Treasure Hunt Clans All new clans start with Clan LvL 5! Clan Skills/LvL for Clan Coins Others max 3 windows per HWID BoM/MoM spawned in towns Auto-learn skills Autoloot Retail LvL of Epic Bosses Cancellation return buff system (30sec) Cancellation return buff - not effect olympiad
-
LINEAGE2.SK Summer Season is Comming! GRAND OPENING - 14.08.2026 at 20:00 GMT+1 OBT - 07.08.2025 at 20:00 GMT+1 Website :https://lineage2.sk Discord : https://discord.gg/gj7AC5juGP Server Features and Rates Xp – 20x Sp – 20x Adena – 10x Drop – 15x Spoil - 15x Epic Raid Boss - 1x Regular RB - 5x Quest - 5x Fame - 2x Epaulette - 15x Manor - 15x Special Features Somik Interface Limited AutoFarm Vote System Champions System Achievement System And more in information below Enchant Settings Safe Enchant: +3 Max Enchant: +16 Enchant Chance: 63% Attribute Stone Chance: 50% Attribute Crystal Chance: 30% NPC Buffer all buffs, songs, dances including 3rd prof + resists Buff Slots: 24 (+4) / 12 Buff Duration: 2 Hours Epic Bosses & Respawns Queen Ant: 24 hours +/-8h Core: 3 days +/-8h Orfen: 2 days +/-8h Baium: 5 days +/-8h Beleth: 7 days +/-8h Antharas: 7 days +/-8h Valakas: 7 days +/-8h Instances Zones Zaken: 6 players Normal Freya: 6 players Hard Freya: 12 Players Frintezza: 6 Players Tiat: 6 Players Beleth: 12 Players GM Shop weapon/armor/jwl (max S grade) shots/spiritshots (max S grade) mana potions (1000 MP, 10s) Global Gatekeeper all towns including cata/necro ToI Gracia Hellbound ... Olympiad period 7 days (Monday) no class participants min 6 base class participants min 6 max enchant +6 Start points 20 Class Transfer for Adena Subclass Quest Not required Max Subclass 3 Subclass Max LvL 85 Events Team vs Team Capture the Flag Death Match Last Hero Korean Style Treasure Hunt Clans All new clans start with Clan LvL 5! Clan Skills/LvL for Clan Coins Others max 3 windows per HWID BoM/MoM spawned in towns Auto-learn skills Autoloot Retail LvL of Epic Bosses Cancellation return buff system (30sec) Cancellation return buff - not effect olympiad
-
-
Topics

Question
zourass
Hallo guys i have problem with remove buffs/dance/songs i had set it to TRUE At the cfg but still in game not working
how i can fix it i tryed to find the jar for cancel buff but ifound only this
* 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.l2jserver.gameserver.skills.effects; import java.util.logging.Logger; import com.l2jserver.Config; import com.l2jserver.gameserver.model.L2Effect; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.skills.Env; import com.l2jserver.gameserver.skills.Formulas; import com.l2jserver.gameserver.templates.effects.EffectTemplate; import com.l2jserver.gameserver.templates.skills.L2EffectType; import com.l2jserver.util.Rnd; import com.l2jserver.util.StringUtil; /** * * @author DS * */ public class EffectCancel extends L2Effect { protected static final Logger _log = Logger.getLogger(EffectCancel.class.getName()); public EffectCancel(Env env, EffectTemplate template) { super(env, template); } /** * * @see com.l2jserver.gameserver.model.L2Effect#getEffectType() */ @Override public L2EffectType getEffectType() { return L2EffectType.CANCEL; } /** * * @see com.l2jserver.gameserver.model.L2Effect#onStart() */ @Override public boolean onStart() { return cancel(getEffector(), getEffected(), this); } /** * * @see com.l2jserver.gameserver.model.L2Effect#onActionTime() */ @Override public boolean onActionTime() { return false; } private static boolean cancel(L2Character caster, L2Character target, L2Effect effect) { if (!(target instanceof L2PcInstance)|| target.isDead()) return false; final int cancelLvl = effect.getSkill().getMagicLevel(); int count = effect.getSkill().getMaxNegatedEffects(); double rate = effect.getEffectPower(); final double vulnModifier = Formulas.calcSkillTypeVulnerability(0, target, effect.getSkillType()); final double profModifier = Formulas.calcSkillTypeProficiency(0, caster, target, effect.getSkillType()); double res = vulnModifier + profModifier; double resMod = 1; if (res != 0) { if (res < 0) { resMod = 1 - 0.075 * res; resMod = 1 / resMod; } else resMod = 1 + 0.02 * res; rate *= resMod; } if (caster.isDebug()) { final StringBuilder stat = new StringBuilder(100); StringUtil.append(stat, effect.getSkill().getName(), " power:", String.valueOf((int)effect.getEffectPower()), " lvl:", String.valueOf(cancelLvl), " res:", String.format("%1.2f", resMod), "(", String.format("%1.2f", profModifier), "/", String.format("%1.2f", vulnModifier), ") total:", String.valueOf(rate) ); final String result = stat.toString(); if (caster.isDebug()) caster.sendDebugMessage(result); if (Config.DEVELOPER) _log.info(result); } final L2Effect[] effects = target.getAllEffects(); if (effect.getSkill().getNegateAbnormals() != null) // Cancel for abnormals { for (L2Effect eff : effects) { if (eff == null) continue; for (String negateAbnormalType : effect.getSkill().getNegateAbnormals().keySet()) { if (negateAbnormalType.equalsIgnoreCase(eff.getAbnormalType()) && effect.getSkill().getNegateAbnormals().get(negateAbnormalType) >= eff.getAbnormalLvl()) { if (calcCancelSuccess(eff, cancelLvl, (int)rate)) eff.exit(); } } } } else { L2Effect eff; int lastCanceledSkillId = 0; for (int i = effects.length; --i >= 0;) { eff = effects[i]; if (eff == null) continue; if (!eff.canBeStolen()) { effects[i] = null; continue; } // first pass - dances/songs only if (!eff.getSkill().isDance()) continue; if (eff.getSkill().getId() == lastCanceledSkillId) { eff.exit(); // this skill already canceled continue; } if (!calcCancelSuccess(eff, cancelLvl, (int)rate)) continue; lastCanceledSkillId = eff.getSkill().getId(); eff.exit(); count--; if (count == 0) break; } if (count != 0) { lastCanceledSkillId = 0; for (int i = effects.length; --i >= 0;) { eff = effects[i]; if (eff == null) continue; // second pass - all except dances/songs if (eff.getSkill().isDance()) continue; if (eff.getSkill().getId() == lastCanceledSkillId) { eff.exit(); // this skill already canceled continue; } if (!calcCancelSuccess(eff, cancelLvl, (int)rate)) continue; lastCanceledSkillId = eff.getSkill().getId(); eff.exit(); count--; if (count == 0) break; } } } return true; } private static boolean calcCancelSuccess(L2Effect effect, int cancelLvl, int baseRate) { int rate = 2 * (cancelLvl - effect.getSkill().getMagicLevel()); rate += effect.getAbnormalTime()/120; rate += baseRate; if (rate < 25) rate = 25; else if (rate > 75) rate = 75; return Rnd.get(100) < rate; } }iam really newbiew at java coding
l2jfreya PACK
4 answers to this question
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