data\events\fun

Тема в разделе "Scripts / Работа со скриптами", создана пользователем Scorpius, 5 сен 2018.

  1. Scorpius

    Scorpius Пляшущий с бубном

    Регистрация:
    19 ноя 2017
    Сообщения:
    126
    Симпатии:
    16
    Всем привет!

    Есть, к примеру, такой ивент [6] summer_watermelon_smash. Хочу внести ограничение по уровню монстров с которых будут падать ивентовые итемы, к примеру "с 85 по 107". Подскажите рабочий код как это сделать :)
     
  2. melcor

    melcor Новичок

    Регистрация:
    30 ноя 2017
    Сообщения:
    2
    Симпатии:
    1
    Смотря какие исходники. А вообще проверка должна быть типо такой:
    Код:
            if (_active && SimpleCheckDrop(cha, killer) && cha.getLevel() >=85 && cha.getLevel() <=107&& Rnd.chance(Config.EVENT_TFH_POLLEN_CHANCE * killer.getPlayer().getRateItems() * ((NpcInstance) cha).getTemplate().rateHp))
            {
                ((NpcInstance) cha).dropItem(killer.getPlayer(), 6391, 1);
            }
     
    Scorpius нравится это.
  3. Scorpius

    Scorpius Пляшущий с бубном

    Регистрация:
    19 ноя 2017
    Сообщения:
    126
    Симпатии:
    16
    Ну вот к примеру сам код ивента:

    Код:
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE list SYSTEM "events.dtd">
    <!--AUTHOR: Bonux-->
    <list>
        <!--формат даты HH:mm dd.MM.yyyy-->
        <event id="6" name="Summer Watermelon Smash" impl="Fun">
            <parameter name="start_time_pattern" value="12:00 06.09.2018"/>
            <parameter name="stop_time_pattern" value="12:00 30.09.2018"/>
            <on_start>
                <spawn name="spawn_group"/>
                <global_add_reward name="droplist"/>
            </on_start>
            <on_time>
                <on time="604800">    <!--1 Week-->
                    <global_remove_reward name="droplist"/>
                </on>
            </on_time>
            <on_stop>
                <despawn name="spawn_group"/>
                <global_remove_reward name="droplist"/>
                <global_remove_items name="event_items"/>
            </on_stop>
            <objects name="spawn_group">
                <spawn_ex name="summer_watermelon_smash_event"/>
            </objects>
            <objects name="droplist">
                <rewardlist type="EVENT_GROUPED">
                    <group chance="2">
                        <reward item_id="6391" min="1" max="1" chance="20"/>    <!--Нектар-->
                        <reward item_id="15368" min="1" max="1" chance="2"/>    <!--Семечко Клонированной Тыквы-->
                        <reward item_id="15369" min="1" max="1" chance="0.05"/>    <!--Большое Семечко Клонированной Тыквы-->
                    </group>
                </rewardlist>
            </objects>
            <objects name="event_items">
                <item id="15366"/>    <!--Семечко Арбуза-->
                <item id="15367"/>    <!--Семечко Сладкого Арбуза-->
                <item id="15368"/>    <!--Семечко Клонированного Арбуза-->
                <item id="15369"/>    <!--Семечко Клонированного Сладкого Арбуза-->
            </objects>
        </event>
    </list>
     
  4. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    как все запущено то, Вы класс в скриптах найдите и выложите его, xml по большей части конфигурирует настройки нежели такие ограничения в данном случае
     
    #4 DeadPool, 5 сен 2018
    Последнее редактирование: 5 сен 2018
    Maiden7 нравится это.
  5. Scorpius

    Scorpius Пляшущий с бубном

    Регистрация:
    19 ноя 2017
    Сообщения:
    126
    Симпатии:
    16
    У меня нет доступа к ядру, речь о сборке l2-scripts. В данном случае есть только такой конфигуратор.
     
  6. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    крч, идете в data/scripts/events/SummerMeleons/
    открываете SummerMeleons.java
    ищете вот примерно такое:
    Код:
    @Override
        public void onDeath(Creature cha, Creature killer)
        {
            if(_active && SimpleCheckDrop(cha, killer) && Rnd.chance(Config.EVENT_TFH_POLLEN_CHANCE * killer.getPlayer().getRateItems() * ((NpcInstance) cha).getTemplate().rateHp))
                ((NpcInstance) cha).dropItem(killer.getPlayer(), 6391, 1);
        }
    
    меняете на примерно вот такое
    Код:
    @Override
        public void onDeath(Creature cha, Creature killer)
        {
            if(
                _active    && SimpleCheckDrop(cha, killer) 
                && Rnd.chance(Config.EVENT_TFH_POLLEN_CHANCE * killer.getPlayer().getRateItems() * ((NpcInstance) cha).getTemplate().rateHp) 
                && cha.getLevel() >= 85 && cha.getLevel() <=107)
            {
                ((NpcInstance) cha).dropItem(killer.getPlayer(), 6391, 1);
            }
        }
    
    Думаю дальше разберетесь
     
    Scorpius нравится это.
  7. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    хотите сказать что скрипты у Вас закрытые? по пути data/scripts пустая папка? ну и конечно, если у Вас скрипты закрытые то это Вам к @Bonux и к @4ydo, уверен Вы сможете договориться
     
    Scorpius нравится это.
  8. Bonux

    Bonux Почетный пенсионер L2s

    Регистрация:
    4 ноя 2017
    Сообщения:
    383
    Симпатии:
    151
    Ничего не запущено...) Такие банальные ивенты создаются через многофункциональный движек ивентов - через XML не используя JAVA скрипты.
    В сборках L2-Scripts скрипты не компилируются, и вообще сборка не криптуется. Как по комментарию выше, можно понять, что ивент реализован через XML - используя движек ивентов.

    Ответ по теме:
    Заменить: <global_add_reward name="droplist"/>, <global_remove_reward name="droplist"/>
    На: <global_add_reward name="droplist" min_level="85" max_level="107"/>, <global_remove_reward name="droplist" min_level="85" max_level="107"/>
     
    Scorpius, DeadPool и 4ydo нравится это.
  9. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    движек не использую почти, не люблю с xml возиться =)
     
  10. Scorpius

    Scorpius Пляшущий с бубном

    Регистрация:
    19 ноя 2017
    Сообщения:
    126
    Симпатии:
    16
    Огромное спасибо всем участникам! Данный метод поможет в реализации и других ивентов.
     
    DeadPool нравится это.

Партнеры