Всем привет! Есть, к примеру, такой ивент [6] summer_watermelon_smash. Хочу внести ограничение по уровню монстров с которых будут падать ивентовые итемы, к примеру "с 85 по 107". Подскажите рабочий код как это сделать
Смотря какие исходники. А вообще проверка должна быть типо такой: Код: 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); }
Ну вот к примеру сам код ивента: Код: <?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>
как все запущено то, Вы класс в скриптах найдите и выложите его, xml по большей части конфигурирует настройки нежели такие ограничения в данном случае
крч, идете в 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); } } Думаю дальше разберетесь
хотите сказать что скрипты у Вас закрытые? по пути data/scripts пустая папка? ну и конечно, если у Вас скрипты закрытые то это Вам к @Bonux и к @4ydo, уверен Вы сможете договориться
Ничего не запущено...) Такие банальные ивенты создаются через многофункциональный движек ивентов - через 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"/>