Дроп лист в лостах

Psycho

Просветленный
Модератор
Орден Золотого Заката
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Участник Новогоднего Фонда 2021
Неукротимое пламя
Старожил II степени
Победитель в номинации 2020
Победитель в номинации 2019
Знаток великого письма
Знаток письма
Веселый флудер
Мастер реакций
Любитель реакций
Знаток Lineage2
Старожил I степени
Победитель в номинации 2017
Победитель в номинации 2016
Медаль за активность на Форуме
За веру и верность форуму
Сообщения
4 456
Розыгрыши
1
Решения
3
Репутация
4 331
Реакции
2 806
Баллы
2 438
Как я понял, дроп лист прописан каждому нпц отдельно.
Вопрос, как быть, если необходимо удались все ресурсы, из дроп листа, у всех нпц? Каждого лопатить что ли? Мб есть выход?
Когда дроп лист в бд, проблема решается запросом, но здесь он в xml у каждого нпц.
Код:
<npc id="22852" name="Dragon Guard" title="">
        <set name="aggroRange" value="400" />
        <set name="ai_type" value="Fighter" />
        <set name="baseAtkRange" value="80" />
        <set name="baseAtkType" value="POLE" />
        <set name="baseCON" value="43" />
        <set name="baseCritRate" value="40" />
        <set name="baseDEX" value="30" />
        <set name="baseHpMax" value="55817.8012671518" />
        <set name="baseHpRate" value="2" />
        <set name="baseHpReg" value="187.410040552143" />
        <set name="baseINT" value="21" />
        <set name="baseMAtk" value="8707.81891430402" />
        <set name="baseMAtkSpd" value="333" />
        <set name="baseMDef" value="635.378064" />
        <set name="baseMEN" value="20" />
        <set name="baseMpMax" value="1846.8" />
        <set name="baseMpReg" value="3" />
        <set name="basePAtk" value="12008.0135566142" />
        <set name="basePAtkSpd" value="253" />
        <set name="basePDef" value="578.861024" />
        <set name="baseRunSpd" value="200" />
        <set name="baseSTR" value="40" />
        <set name="baseShldDef" value="0" />
        <set name="baseShldRate" value="0" />
        <set name="baseWIT" value="20" />
        <set name="baseWalkSpd" value="30" />
        <set name="collision_height" value="55.0" />
        <set name="collision_radius" value="40.0" />
        <set name="corpse_time" value="7" />
        <set name="level" value="85" />
        <set name="race" value="DRAGON" />
        <set name="rewardExp" value="1031278" />
        <set name="rewardRp" value="0" />
        <set name="rewardSp" value="103445" />
        <set name="soulshot_count" value="0" />
        <set name="spiritshot_count" value="0" />
        <set name="type" value="Monster" />
        <ai_params>
            <set name="noRandomWalk" value="true" />
        </ai_params>
        <faction name="loa_antharas_clan" range="400"/>
        <skills>
            <skill id="4408" level="10" />    <!--HP Increase (2x)-->
            <skill id="4409" level="1" />    <!--MP Increase (1x)-->
            <skill id="4410" level="16" />    <!--Very Strong P. Atk.-->
            <skill id="4411" level="15" />    <!--Strong M. Atk.-->
            <skill id="4412" level="16" />    <!--Very Strong P. Def.-->
            <skill id="4413" level="5" />    <!--Very Weak M. Def.-->
            <skill id="4414" level="2" />    <!--Standard Type-->
            <skill id="4415" level="11" />    <!--Spears-->
            <skill id="4416" level="10" />    <!--Dragons-->
            <skill id="5465" level="1" />    <!--Earth Attacks-->
            <skill id="6768" level="1" />    <!--Stun Attack-->
        </skills>
        <rewardlist type="RATED_GROUPED">
            <group chance="66.0">
                <reward item_id="57" min="45317" max="105714" chance="100.0000" />    <!--Adena-->
            </group>
            <group chance="0.0293">
                <reward item_id="13462" min="1" max="1" chance="8.3929" />    <!--Vesper Stormer-->
                <reward item_id="13461" min="1" max="1" chance="8.3929" />    <!--Vesper Fighter-->
                <reward item_id="13893" min="1" max="1" chance="41.9647" />    <!--Sealed Holy Spirit's Cloak-->
                <reward item_id="14108" min="1" max="1" chance="41.2495" />    <!--Sealed Vesper Gaiters-->
            </group>
            <group chance="44.3337">
                <reward item_id="1879" min="3" max="9" chance="33.9823" />    <!--Cokes-->
                <reward item_id="1885" min="2" max="6" chance="25.4868" />    <!--High-Grade Suede-->
                <reward item_id="9628" min="1" max="1" chance="9.5950" />    <!--Leonard-->
                <reward item_id="9630" min="1" max="1" chance="6.4388" />    <!--Orichalcum-->
                <reward item_id="9629" min="1" max="1" chance="5.3190" />    <!--Adamantine-->
                <reward item_id="14166" min="1" max="1" chance="5.9100" />    <!--Life Stone -  Level 84-->
                <reward item_id="14167" min="1" max="1" chance="1.4757" />    <!--Mid-Grade Life Stone -  Level 84-->
                <reward item_id="14168" min="1" max="1" chance="0.1476" />    <!--High-Grade Life Stone -  Level 84-->
                <reward item_id="9554" min="1" max="1" chance="0.2447" />    <!--Earth Crystal-->
                <reward item_id="9548" min="1" max="1" chance="9.7869" />    <!--Earth Stone-->
                <reward item_id="15644" min="1" max="1" chance="0.7297" />    <!--Vesper Thrower Piece-->
                <reward item_id="15642" min="1" max="1" chance="0.7205" />    <!--Vesper Caster Piece-->
                <reward item_id="9626" min="1" max="1" chance="0.1630" />    <!--Giant's Codex - Discipline-->
            </group>
        </rewardlist>
        <rewardlist type="SWEEP">
            <reward item_id="9628" min="1" max="1" chance="84.1937" />    <!--Leonard-->
            <reward item_id="2134" min="1" max="1" chance="21.4694" />    <!--Gemstone S-->
            <reward item_id="15669" min="1" max="1" chance="72.7776" />    <!--Sealed Vesper Verteidiger Piece-->
            <reward item_id="13459" min="1" max="1" chance="0.0150" />    <!--Vesper Buster-->
        </rewardlist>
        <attributes>
            <attack attribute="unholy" value="250" />
            <defence attribute="fire" value="220" />
            <defence attribute="water" value="220" />
            <defence attribute="wind" value="220" />
            <defence attribute="earth" value="220" />
            <defence attribute="holy" value="170" />
            <defence attribute="unholy" value="250" />
        </attributes>
    </npc>
 

Где можно глянуть пример на запрет итемов? Мб по нему смогу сделать.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Где можно глянуть пример на запрет итемов? Мб по нему смогу сделать.
ну к примеру
Код:
# Данные вещи не рейтуются.
NoRateItemIds = 6660,6662,6661,6659,6656,6658,8191,6657,10170,10314,16025,16026,10296
# Запрет рейта на количество эквипа.
NoRateEquipment = False
# Запрет рейта на количество рецептов
NoRateRecipes = False
 
ну к примеру
Код:
# Данные вещи не рейтуются.
NoRateItemIds = 6660,6662,6661,6659,6656,6658,8191,6657,10170,10314,16025,16026,10296
# Запрет рейта на количество эквипа.
NoRateEquipment = False
# Запрет рейта на количество рецептов
NoRateRecipes = False
Тогда уже взять за пример игроков с кармой...
Код:
# Вещи которые не будут дропаться при смерти
ListOfNonDroppableItems = 57,1147,425,1146,461,10,2368,7,6,2370,2369,3500,3501,3502,4422,4423,4424,2375,6648,6649,6650,6842,6834,6835,6836,6837,6838,6839,6840,5575,7694,6841,8181
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Тогда уже взять за пример игроков с кармой...
Код:
# Вещи которые не будут дропаться при смерти
ListOfNonDroppableItems = 57,1147,425,1146,461,10,2368,7,6,2370,2369,3500,3501,3502,4422,4423,4424,2375,6648,6649,6650,6842,6834,6835,6836,6837,6838,6839,6840,5575,7694,6841,8181
ну или
Код:
# Рейт дропа вещей.(Количество)
RateDropItems = 1

# Дроп вещей.(Выключено False) (Включено True)
RateDropitemss = False
 
ну к примеру
Код:
# Данные вещи не рейтуются.
NoRateItemIds = 6660,6662,6661,6659,6656,6658,8191,6657,10170,10314,16025,16026,10296
# Запрет рейта на количество эквипа.
NoRateEquipment = False
# Запрет рейта на количество рецептов
NoRateRecipes = False
Ага гений, и ничего, что будет рейт x1
 
мб сейчас на коленке набросаю говнокода, если итемы внутри группы отрейтить в 0 не трогая саму группу, ничего же не сломается?
 
мне кажется что ето дичь)
 
хз кароч, всем итемам с типом рецептов\кусков\материалов сделал шанс дропа 0, нужно тестить, не знаю как это может повлиять на дроп, так как в группе теперь получается <100% общего шанса, но лезть глубже не хочу
 

Вложения

  • npc.rar
    1 МБ · Просмотры: 37
Я, помнится, удалял весь дроп/споил у нпс с помощью самописного дом парсера, лул.
 
Псих, я тебе что сказал. При подгрузке всего этого говна подключить свой форматтер, в нем дергать все дроплисты из неписей и фильтрами чистить ненужное. Дальше десериализовать обратно в хмл
 
Вообще лучше всего выводить в конфиг вот такую вот вещь
# Настройка позволяющая убрать с дропа все вещи, кроме нижеуказанных (Пример: 57;6673;1073). Для включения всего дропа укажите -1
# Drop only the current items IDs i.e 57;6673;1073 --> set -1 to do server without drop
IgnoreAllDropButThis = -1
 
Вообще лучше всего выводить в конфиг вот такую вот вещь
# Настройка позволяющая убрать с дропа все вещи, кроме нижеуказанных (Пример: 57;6673;1073). Для включения всего дропа укажите -1
# Drop only the current items IDs i.e 57;6673;1073 --> set -1 to do server without drop
IgnoreAllDropButThis = -1
больше конфигов плеаз в 2к16, это ведь эталон профессионализма разработчикаф!
 
Ага гений, и ничего, что будет рейт x1
И я про тоже

Псих, я тебе что сказал. При подгрузке всего этого говна подключить свой форматтер, в нем дергать все дроплисты из неписей и фильтрами чистить ненужное. Дальше десериализовать обратно в хмл
У меня мозга на это не хватит. Вернее знаний.

Вообще лучше всего выводить в конфиг вот такую вот вещь
# Настройка позволяющая убрать с дропа все вещи, кроме нижеуказанных (Пример: 57;6673;1073). Для включения всего дропа укажите -1
# Drop only the current items IDs i.e 57;6673;1073 --> set -1 to do server without drop
IgnoreAllDropButThis = -1
Вот где-то видел подобное, выдеинуть бы.
 
Последнее редактирование модератором:
У меня мозга на это не хватит. Вернее знаний.
примерно как я делаю если что-то нужно (хз как в лостах)
Код:
//добавление объектов для работы с ними
final Map<Integer, L2NpcTemplate> allNpc = NpcData.getInstance().get_npcs();
        allNpcs.addAll(allNpc.entrySet().stream().map(Entry::getValue).collect(Collectors.toList()));
...

//сериализация в новый темплейт
Document doc = DocumentHelper.createDocument();
            Element element = doc.addElement("list");
allNpcs.stream().forEach(npcTemplate -> {
                Element npc = element.addElement("npc");
                npc.addAttribute("id", String.valueOf(npcTemplate.getId()));
...

//конкретно по дропу (лыжевская реализация)
if (npcTemplate.getDropLists() != null) {
                    Element drop_data = npc.addElement("drop_data");
                    for (Entry<DropListScope, List<IDropItem>> items : npcTemplate.getDropLists().entrySet()) {
                        if (items.getKey() == DropListScope.DEATH) {

                            Element death = drop_data.addElement("death");
                            for (IDropItem dropItem : items.getValue()) {
                                if (dropItem instanceof GeneralDropItem) {
                                    final GeneralDropItem generalDropItem = (GeneralDropItem) dropItem;
                                    Element item = death.addElement("item");
                                    L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                    if (findItem != null) {
                                        item.addAttribute("name", findItem.getName());
                                    } else {
                                        item.addAttribute("name", "Empty, Fix Me");
                                    }
                                    item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                    item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                    item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                    item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                } else if (dropItem instanceof GroupedGeneralDropItem) {
                                    final GroupedGeneralDropItem generalGroupedDropItem = (GroupedGeneralDropItem) dropItem;
                                    for (GeneralDropItem generalDropItem : generalGroupedDropItem.getItems()) {
                                        Element item = death.addElement("item");
                                        L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                        if (findItem != null) {
                                            item.addAttribute("name", findItem.getName());
                                        } else {
                                            item.addAttribute("name", "Empty, Fix Me");
                                        }

                                        item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                        item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                        item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                        item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                    }
                                }
                            }
                        }

                        if (items.getKey() == DropListScope.CORPSE) {
                            Element death = drop_data.addElement("corpse");
                            for (IDropItem dropItem : items.getValue()) {
                                if (dropItem instanceof GeneralDropItem) {
                                    final GeneralDropItem generalDropItem = (GeneralDropItem) dropItem;

                                    Element item = death.addElement("item");
                                    L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                    if (findItem != null) {
                                        item.addAttribute("name", findItem.getName());
                                    } else {
                                        item.addAttribute("name", "Empty, Fix Me");
                                    }
                                    item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                    item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                    item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                    item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                } else if (dropItem instanceof GroupedGeneralDropItem) {
                                    final GroupedGeneralDropItem generalGroupedDropItem = (GroupedGeneralDropItem) dropItem;
                                    for (GeneralDropItem generalDropItem : generalGroupedDropItem.getItems()) {
                                        Element item = death.addElement("item");
                                        L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                        if (findItem != null) {
                                            item.addAttribute("name", findItem.getName());
                                        } else {
                                            item.addAttribute("name", "Empty, Fix Me");
                                        }
                                        item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                        item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                        item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                        item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                    }
                                }
                            }
                        }

                        if (items.getKey() == DropListScope.LUCK) {
                            Element death = drop_data.addElement("luck");
                            for (IDropItem dropItem : items.getValue()) {
                                if (dropItem instanceof GeneralDropItem) {
                                    final GeneralDropItem generalDropItem = (GeneralDropItem) dropItem;

                                    Element item = death.addElement("item");
                                    L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                    if (findItem != null) {
                                        item.addAttribute("name", findItem.getName());
                                    } else {
                                        item.addAttribute("name", "Empty, Fix Me");
                                    }
                                    item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                    item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                    item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                    item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                } else if (dropItem instanceof GroupedGeneralDropItem) {
                                    final GroupedGeneralDropItem generalGroupedDropItem = (GroupedGeneralDropItem) dropItem;
                                    for (GeneralDropItem generalDropItem : generalGroupedDropItem.getItems()) {
                                        Element item = death.addElement("item");
                                        L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                        if (findItem != null) {
                                            item.addAttribute("name", findItem.getName());
                                        } else {
                                            item.addAttribute("name", "Empty, Fix Me");
                                        }
                                        item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                        item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                        item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                        item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                    }
                                }
                            }
                        }
                    }
                }

// и конкретно сдесь ты выставляешь фильтры на подобии -> item.getItemType() == Type.ETC
 
примерно как я делаю если что-то нужно (хз как в лостах)
Код:
//добавление объектов для работы с ними
final Map<Integer, L2NpcTemplate> allNpc = NpcData.getInstance().get_npcs();
        allNpcs.addAll(allNpc.entrySet().stream().map(Entry::getValue).collect(Collectors.toList()));
...

//сериализация в новый темплейт
Document doc = DocumentHelper.createDocument();
            Element element = doc.addElement("list");
allNpcs.stream().forEach(npcTemplate -> {
                Element npc = element.addElement("npc");
                npc.addAttribute("id", String.valueOf(npcTemplate.getId()));
...

//конкретно по дропу (лыжевская реализация)
if (npcTemplate.getDropLists() != null) {
                    Element drop_data = npc.addElement("drop_data");
                    for (Entry<DropListScope, List<IDropItem>> items : npcTemplate.getDropLists().entrySet()) {
                        if (items.getKey() == DropListScope.DEATH) {

                            Element death = drop_data.addElement("death");
                            for (IDropItem dropItem : items.getValue()) {
                                if (dropItem instanceof GeneralDropItem) {
                                    final GeneralDropItem generalDropItem = (GeneralDropItem) dropItem;
                                    Element item = death.addElement("item");
                                    L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                    if (findItem != null) {
                                        item.addAttribute("name", findItem.getName());
                                    } else {
                                        item.addAttribute("name", "Empty, Fix Me");
                                    }
                                    item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                    item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                    item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                    item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                } else if (dropItem instanceof GroupedGeneralDropItem) {
                                    final GroupedGeneralDropItem generalGroupedDropItem = (GroupedGeneralDropItem) dropItem;
                                    for (GeneralDropItem generalDropItem : generalGroupedDropItem.getItems()) {
                                        Element item = death.addElement("item");
                                        L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                        if (findItem != null) {
                                            item.addAttribute("name", findItem.getName());
                                        } else {
                                            item.addAttribute("name", "Empty, Fix Me");
                                        }

                                        item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                        item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                        item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                        item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                    }
                                }
                            }
                        }

                        if (items.getKey() == DropListScope.CORPSE) {
                            Element death = drop_data.addElement("corpse");
                            for (IDropItem dropItem : items.getValue()) {
                                if (dropItem instanceof GeneralDropItem) {
                                    final GeneralDropItem generalDropItem = (GeneralDropItem) dropItem;

                                    Element item = death.addElement("item");
                                    L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                    if (findItem != null) {
                                        item.addAttribute("name", findItem.getName());
                                    } else {
                                        item.addAttribute("name", "Empty, Fix Me");
                                    }
                                    item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                    item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                    item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                    item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                } else if (dropItem instanceof GroupedGeneralDropItem) {
                                    final GroupedGeneralDropItem generalGroupedDropItem = (GroupedGeneralDropItem) dropItem;
                                    for (GeneralDropItem generalDropItem : generalGroupedDropItem.getItems()) {
                                        Element item = death.addElement("item");
                                        L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                        if (findItem != null) {
                                            item.addAttribute("name", findItem.getName());
                                        } else {
                                            item.addAttribute("name", "Empty, Fix Me");
                                        }
                                        item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                        item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                        item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                        item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                    }
                                }
                            }
                        }

                        if (items.getKey() == DropListScope.LUCK) {
                            Element death = drop_data.addElement("luck");
                            for (IDropItem dropItem : items.getValue()) {
                                if (dropItem instanceof GeneralDropItem) {
                                    final GeneralDropItem generalDropItem = (GeneralDropItem) dropItem;

                                    Element item = death.addElement("item");
                                    L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                    if (findItem != null) {
                                        item.addAttribute("name", findItem.getName());
                                    } else {
                                        item.addAttribute("name", "Empty, Fix Me");
                                    }
                                    item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                    item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                    item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                    item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                } else if (dropItem instanceof GroupedGeneralDropItem) {
                                    final GroupedGeneralDropItem generalGroupedDropItem = (GroupedGeneralDropItem) dropItem;
                                    for (GeneralDropItem generalDropItem : generalGroupedDropItem.getItems()) {
                                        Element item = death.addElement("item");
                                        L2Item findItem = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
                                        if (findItem != null) {
                                            item.addAttribute("name", findItem.getName());
                                        } else {
                                            item.addAttribute("name", "Empty, Fix Me");
                                        }
                                        item.addAttribute("id", String.valueOf(generalDropItem.getItemId()));
                                        item.addAttribute("chance", String.valueOf(generalDropItem.getChance()));
                                        item.addAttribute("min", String.valueOf(generalDropItem.getMin()));
                                        item.addAttribute("max", String.valueOf(generalDropItem.getMax()));
                                    }
                                }
                            }
                        }
                    }
                }

// и конкретно сдесь ты выставляешь фильтры на подобии -> item.getItemType() == Type.ETC
item.addAttribute("name", "Empty, Fix Me"); сюда что, ид? :D

хз кароч, всем итемам с типом рецептов\кусков\материалов сделал шанс дропа 0, нужно тестить, не знаю как это может повлиять на дроп, так как в группе теперь получается <100% общего шанса, но лезть глубже не хочу
Ну рейты равные нулю, это как-то странно...
 
Последнее редактирование модератором:
/summon @AlexZr

если не жлоб поделится))) помоему у него это есть...
Не видел у него подобного. У него только добавление дропа для НПЦ.
Хотя вот нашел. Оно?
Код:
# Айди вещей которые будут удалены в моба
# (пример 57,4356,4355.....)
ItemId = 0
 
Последнее редактирование модератором:
Назад
Сверху Снизу