[Мануал] Extra Buffs Slot Всё для создания своего сервера LineAge
Описание: Дополнительные слоты для бафа ( требуются исходники ) Платформа: Java
Index: java/com/l2jserver/Config.java ================================================ --- java/com/l2jserver/Config.java (revision+++ java/com/l2jserver/Config.java (working copy) @@ -41,6 +41,8 @@ import javax.xml.parsers.DocumentBuilderFactory; +import javolution.util.FastList; + import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -715,6 +717,8 @@ public static int L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP; public static int L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP; public static TIntIntHashMap L2JMOD_DUALBOX_CHECK_WHITELIST; + public static boolean L2JMOD_STRICT_BUFF_COUNT; + public static List<Integer> L2JMOD_STRICT_BUFF_EXCEPTIONS = new FastList<Integer>();; //-------------------------------------------------- // NPC Settings @@ -2422,6 +2426,12 @@ L2WALKER_PROTECTION = Boolean.parseBoolean(L2JModSettings.getProperty("L2WalkerProtection", "False")); L2JMOD_DEBUG_VOICE_COMMAND = Boolean.parseBoolean(L2JModSettings.getProperty("DebugVoiceCommand", "False")); + L2JMOD_STRICT_BUFF_COUNT = Boolean.parseBoolean(L2JModSettings.getProperty("EnableStrictbuffCount", "False")); + for (String id : L2JModSettings.getProperty("StrictBuffExc", "0").split(",")) + { + L2JMOD_STRICT_BUFF_EXCEPTIONS.add(Integer.parseInt(id)); + } + L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP = Integer.parseInt(L2JModSettings.getProperty("DualboxCheckMaxPlayersPerIP", "0")); L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP = Integer.parseInt(L2JModSettings.getProperty("DualboxCheckMaxOlympiadParticipantsPerIP", "0")); String: invalid number -> DualboxCheckWhitelist \"", entrySplit, "\"")); } } - } + } } catch (Exception e) { Index: java/com/l2jserver/gameserver/model/CharEffectList.java ================================================ --- java/com/l2jserver/gameserver/model/CharEffectList.java (revision+++ java/com/l2jserver/gameserver/model/CharEffectList.java (working copy) @@ -831,6 +831,8 @@ else { effectsToRemove = getBuffCount() - _owner.getMaxBuffCount(); + if (!Config.L2JMOD_STRICT_BUFF_COUNT) + { if (effectsToRemove >= 0) { switch (newSkill.getSkillType()) @@ -861,6 +863,40 @@ } } } + } + else + { + if (effectsToRemove >= 0 && (!Config.L2JMOD_STRICT_BUFF_EXCEPTIONS.contains(newSkill.getId()))) + { + switch (newSkill.getSkillType()) + { + case BUFF: + case REFLECT: + case HEAL_PERCENT: + case MANAHEAL_PERCENT: + for (L2Effect e : _buffs) + { + if (e == null || e.getSkill().isDance()) + continue; + + switch (e.getSkill().getSkillType()) + { + case BUFF: + case REFLECT: + case HEAL_PERCENT: + case MANAHEAL_PERCENT: + if (!Config.L2JMOD_STRICT_BUFF_EXCEPTIONS.contains(e.getSkill().getId())) e.exit(); + effectsToRemove--; + break; // break switch() + default: + continue; // continue for() + } + if (effectsToRemove < 0) + break; // break for() + } + } + } + } } } Index: java/com/l2jserver/gameserver/model/actor/L2Character.java ================================================ --- java/com/l2jserver/gameserver/model/actor/L2Character.java (revision+++ java/com/l2jserver/gameserver/model/actor/L2Character.java (working copy) @@ -6870,7 +6870,10 @@ */ public int getMaxBuffCount() { - return Config.BUFFS_MAX_AMOUNT + Math.max(0, getSkillLevel(L2Skill.SKILL_DIVINE_INSPIRATION)); + if (!Config.L2JMOD_STRICT_BUFF_COUNT) + return Config.BUFFS_MAX_AMOUNT + Math.max(0, getSkillLevel(L2Skill.SKILL_DIVINE_INSPIRATION)); + else + return Config.BUFFS_MAX_AMOUNT; } /** Index: java/config/l2jmods.properties ================================================ --- java/config/l2jmods.properties (revision+++ java/config/l2jmods.properties (working copy) @@ -397,7 +397,16 @@ # Default: False DebugVoiceCommand = False +# --------------------------------------------------------------------------- +# Strict buff control by szmajso@wp.pl +# --------------------------------------------------------------------------- +# NOTE!: Divine inspiration is disabled when this mod is enabled! +# Enable system +EnableStrictbuffCount = False +#List of buff that are not count for maxbuff value (1;2;...) +StrictBuffExc = 1207,1059 + # --------------------------------------------------------------------------- # Dualbox Check # --------------------------------------------------------------------------- @@ -418,3 +427,4 @@ # will be 1+2=3. Use 0 or negative value for unlimited number of connections. # Default: 127.0.0.1,0 (no limits from localhost) DualboxCheckWhitelist = 127.0.0.1,0 +
"Аромантизм: когда сердце не знает любви"
GTA 5 MODS: Как восстановить файлы в игре с помощью OpenIV
GTA 5 Premium Online Edition vs Обычная GTA 5: в чем разница?
Гта 5 рп, Что делать? Правильно ли это?
Как правильно произносить название самолета KC-135?
Лучшие годы: почему 2010-2016 кажутся особенными?
Почему электрическое отопление не прогревает дом?
Почему это повторяется?
Почему фпс падает на PS4 Slim при игре в Человека-паука
Реально ли купить садовый участок за 30 тысяч?
Решение неравенств методом интервалов
Решение неравенств по математике
Решение неравенств с помощью метода дискриминанта
Школа, могут ли меня исключить?
Школа: оценка за четверть. Балл 4,5 - какая оценка?
"Школьная дискотека: подготовка, музыка и веселье"
The Benefits of Learning a Second Language
The Benefits of Learning a Second Language
The Benefits of Learning English in 10th Grade
The Benefits of Learning English
The Benefits of Reading
Ведьмак 1: игра в кости и вопрос о покере
Заголовок: Имя или фамилия? Что же в Папа Карло?
Заголовок: Как найти Q1 из формулы η = Aп/Q1?
Заголовок: Как решить комплексную расчётную задачу
Заголовок: "Неотъемлемые качества каждой женщины"
Заголовок: Почему люди задают одни и те же вопросы?
Заголовок: Почему я боюсь спать?
Заголовок: Сравнение чисел: 10 2/5 и 23,1