[Мануал] 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 +
Бесплатный курс Excel: управление запасами и подбор авто в логистике
Бесплатный курс: "VDSina для начинающих: Сервер за 5 минут: Объясняем простыми словами"
Бесплатный виджет обратной связи для Shopify
Часы во весь экран
Чат с ИИ девушкой
Чатрулетка: чат с интересными людьми
Фототехника для видео
Генератор безопасных паролей
Изучаем искусственный интеллект бесплатно
Как использовать бесплатные ИИ-генераторы видео для создания анимаций 3D-сцен с элементами киберпанк
Как создать пошаговое видео для обучения использованию программы AutoCAD
Как создавать мемы без фотошопа: пошагово
Легковые и внедорожные авто от немецких брендов
Оптимизация маршрутизации GEO сайта
Погода в Ревде во вторник
Популярные детские игрушки 2024
Российская автоиндустрия в цифрах
Системы безопасности IP
Смех в доме
VDSina для новичков: простой подход
Великолепие чая и кофе
Видеочат рулетка: её задачи
Видеочат в режиме реального времени
