![]() |
Я использую lucera2 interlude и пытаюсь сделать пользовательский код, в котором я могу спаунить много монстров в нескольких зонах в зависимости от дня с координатами x y z. Я хочу спросить, как правильно сделать этот скрипт.
Мои попытки на данный момент: - Мобы спаунятся, но ходят бесконечно. - Мобы появляются, но во всех зонах. - Мобы появляются, но когда я бью их, они куда-то телепортируются. *Я пытаюсь сделать следующее с TeleporterInstance Используемый метод: - с помощью xml-файла - по списку массивов Мне нужно знать следующее: - Как спаунить/деспаунить монстров - Как спавнить мобов в 00:00 каждый день, когда зона меняется. - (Рекогносцировка для спавна через xml готова) - Как добавить объявление в чат героев (%) о том, что зона меняется. (Время 00:01) просто примечание: я новичок в программировании на java. Если у кого-то есть свободное время, пожалуйста, объясните мне, как я могу решить эту задачу. Спасибо! |
Посмотрите как реализован спавн босса из эпиков, там есть время в какое их спавнить и сделайте по примеру для своих мобов.
Деспавн можно посмотреть в квестах. Еще как реализован спавн/деспавн мамона в катах. Это все что могу сказать, на руках нет сборки. |
Цитата:
Тут лучше и удобней будет использовать работу с временем в стиле Cron для получений времени спавна и т.д., например через класс SchedulingPattern, который можно стянуть из того же овера, если в люцере нет ничего похожего. Ну или можно прицепить какую нибудь либу для работы с этим, например Quartz, правда это как из пушки по воробьям будет в этом случае Ну а в случае с SchedulingPattern получение нужного времени можно уложить чуть ли не в одну-две строки кода. Вот как пример - начиная отсчет от текущего времени получит время наступления следующих 6:30 ночи или 18:30 вечера. Java: Код:
longЦитата:
|
Ну я у себя для поддержки спавнов в конкретное время как раз в стандартные спавнеры овера впилил поддержку SchedulingPattern, что в целом удобно.
В итоге теперь могу в любом спавне вместо обычного респа через заданное время тупо задать время в виде строки для cron и оно будет работать как от него и ожидается. Ну т.е. к примеру был респ в час +/- полчаса XML: Код:
XML: Код:
|
Цитата:
PS2 а твой совет это просто совет школьника а ты орая я протгер прогер |
Цитата:
Вот текущий код, как я загружаю монстров из xml-файла. Теперь у меня нет проблем, когда я бью монстра. (Он не телепортируется). Единственная проблема заключается в том, что код порождает монстров во всех зонах, а не только в активной зоне на текущий день. Вот текущий код, как я загружаю монстров из xml-файла. Теперь у меня нет проблем, когда я бью монстра. (Он не телепортируется). Единственная проблема заключается в том, что код порождает монстров во всех зонах, а не только в активной зоне на текущий день. В целом, мой код не хочет депаунить монстров в 00:00. Кстати, у некоторых монстров время респауна 60 секунд, а у некоторых 800 секунд, так что я не могу использовать ваш пример с cron. Это будет хорошо для рейдовых боссов. Java: Код:
public |
Цитата:
почему вместо этого просто одну не выбирать, случайным образмо там или последовательно. З.Ы. в люцере поддержки групп спавнов нет кстати что ли? а то вместо подгрузки разных файлов спавнов можно было бы манипулировать посто спавном/деспавном по именам групп. |
Цитата:
HTML: Код:
В отношении loadNpcsForDay я сделал некоторые изменения. Java: Код:
// Load NPCs for the current day from XML files |
| Время: 03:26 |