siriys2009 0 Опубликовано 17 августа public final class BossStatus implements ScriptFile, ICommunityBoardHandler { private static final Logger _log = LoggerFactory.getLogger(BossStatus.class); private static final String[] _commands = { "_bbsraidstatus" }; /** * Method onBypassCommand. * @param player Player * @param bypass String * @see lineage2.gameserver.handlers.ICommunityBoardHandler#onBypassCommand(Player, String) */ @Override public void onBypassCommand(Player player, String bypass) { if (!player.checkAllowAction()) { return; } if (bypass.equals(_commands[0])) { String html = HtmCache.getInstance().getNotNull(Config.BBS_HOME_DIR + "pages/raidboss_status.htm", player); html = html.replace("%antharas_status%", AntharasManager._state.getRespawnDate() > 0 ? "<font color=\"D70000\"> Dead</font>" : "<font color=\"00CC00\">Alive</font>"); html = html.replace("%baium_status%", BaiumManager._state.getRespawnDate() > 0 ? "<font color=\"D70000\">Dead</font>" : "<font color=\"00CC00\">Alive</font>"); html = html.replace("%valakas_status%", ValakasManager._state.getRespawnDate() > 0 ? "<font color=\"D70000\">Dead</font>" : "<font color=\"00CC00\">Alive</font>"); html = html.replace("%queen_ant_status%", RaidBossSpawnManager.getInstance().getRespawnDelay(29001) > 0 ? "<font color=\"00CC00\">Alive</font>" : "<font color=\"D70000\">Dead</font>"); html = html.replace("%sailren_status%", SailrenManager._state.getRespawnDate() > 0 ? "<font color=\"D70000\">Dead</font>" : "<font color=\"00CC00\">Alive</font>"); // html = html.replace("%zaken_status%", RaidBossSpawnManager.getInstance().getRespawnDelay(29818) > 0 ? "<font color=\"00CC00\">Alive</font>" : "<font color=\"D70000\">Dead</font>"); // html = html.replace("%baylor_status%", BaylorManager._state.getRespawnDate() > 0 ? "<font color=\"00CC00\">Alive</font>" : "<font color=\"D70000\">Dead</font>"); ShowBoard.separateAndSend(BbsUtil.htmlAll(html, player), player); } } всем привет подскажите пожалуйста private static final String[] _commands = тут я что должен дописать? это файлик отвечает за отображения статуса боссов в комьюнити Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ForceUnleashed 82 Опубликовано 17 августа (изменено) в каком плане что дописать? у вас дописано все private static final String[] _commands = { "_bbsraidstatus" }; можете сделать так, если Вамбудет проще: private static final String[] _commands = { "_bbsraidstatus" }; Изменено 17 августа пользователем ForceUnleashed Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Saltfire 85 Опубликовано 17 августа Это сработает, когда вы убьете босса и перезапустите сервер. Так-как, время респа берется с базы, а база будет обновлена после перезапуска служб сервера. То это будет отображаться не корректно, и после убийства босса, вы будете видеть, что он по прежнему еще жив, а хотя его уже нет. То есть после убийства мобов, боссов и т.д., сразу никто не обновляет базу и весь спавн уж тем-более, все работает на уровне памяти и кеширования данных. Когда происходит перезапуск, данные из памяти сохраняются, отчищаются и берутся новые при запуске. Для того, чтобы это избежать, нужно использовать статус конкретного босса: //............. private final RaidBossSpawnManager spawnBoss = RaidBossSpawnManager.getInstance(); //............. if (StatusEnum.DEAD == spawnBoss.getRaidBossStatusId(ИД_БОССА)) { // МЁРТВ } else { // ЖИВ } //............. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты