public static synchronized void setNewOlympiadEnd() { Announcements.getInstance() .announceToAll( new SystemMessage(SystemMessage.OLYMPIAD_PERIOD_S1_HAS_STARTED) .addNumber(Olympiad._currentCycle)); Calendar currentTime = Calendar.getInstance(); currentTime.set(Calendar.DAY_OF_MONTH, 1); currentTime.add(Calendar.MONTH, 1); currentTime.set(Calendar.HOUR_OF_DAY, 00); currentTime.set(Calendar.MINUTE, 00); Olympiad._olympiadEnd = currentTime.getTimeInMillis(); Calendar nextChange = Calendar.getInstance(); Olympiad._nextWeeklyChange = nextChange.getTimeInMillis() + Config.ALT_OLY_WPERIOD; Olympiad._isOlympiadEnd = false; }
public static String banChat( Player adminChar, String adminName, String charName, int val, String reason) { Player player = World.getPlayer(charName); if (player != null) { charName = player.getName(); } else if (CharacterDAO.getInstance().getObjectIdByName(charName) == 0) { return "Игрок " + charName + " не найден."; } if ((adminName == null || adminName.isEmpty()) && adminChar != null) { adminName = adminChar.getName(); } if (reason == null || reason.isEmpty()) { reason = "не указана"; // if no args, then "не указана" default. } String result, announce = null; if (val == 0) // unban { if (adminChar != null && !adminChar.getPlayerAccess().CanUnBanChat) { return "Вы не имеете прав на снятие бана чата."; } if (Config.BANCHAT_ANNOUNCE) { announce = Config.BANCHAT_ANNOUNCE_NICK && adminName != null && !adminName.isEmpty() ? adminName + " снял бан чата с игрока " + charName + "." : "С игрока " + charName + " снят бан чата."; } Log.add(adminName + " снял бан чата с игрока " + charName + ".", "banchat", adminChar); result = "Вы сняли бан чата с игрока " + charName + "."; } else if (val < 0) { if (adminChar != null && adminChar.getPlayerAccess().BanChatMaxValue > 0) { return "Вы можете банить не более чем на " + adminChar.getPlayerAccess().BanChatMaxValue + " минут."; } if (Config.BANCHAT_ANNOUNCE) { announce = Config.BANCHAT_ANNOUNCE_NICK && adminName != null && !adminName.isEmpty() ? adminName + " забанил чат игроку " + charName + " на бессрочный период, причина: " + reason + "." : "Забанен чат игроку " + charName + " на бессрочный период, причина: " + reason + "."; } Log.add( adminName + " забанил чат игроку " + charName + " на бессрочный период, причина: " + reason + ".", "banchat", adminChar); result = "Вы забанили чат игроку " + charName + " на бессрочный период."; } else { if (adminChar != null && !adminChar.getPlayerAccess().CanUnBanChat && (player == null || player.getNoChannel() != 0)) { return "Вы не имеете права изменять время бана."; } if (adminChar != null && adminChar.getPlayerAccess().BanChatMaxValue != -1 && val > adminChar.getPlayerAccess().BanChatMaxValue) { return "Вы можете банить не более чем на " + adminChar.getPlayerAccess().BanChatMaxValue + " минут."; } if (Config.BANCHAT_ANNOUNCE) { announce = Config.BANCHAT_ANNOUNCE_NICK && adminName != null && !adminName.isEmpty() ? adminName + " забанил чат игроку " + charName + " на " + val + " минут, причина: " + reason + "." : "Забанен чат игроку " + charName + " на " + val + " минут, причина: " + reason + "."; } Log.add( adminName + " забанил чат игроку " + charName + " на " + val + " минут, причина: " + reason + ".", "banchat", adminChar); result = "Вы забанили чат игроку " + charName + " на " + val + " минут."; } if (player != null) { updateNoChannel(player, val, reason); } else { AutoBan.ChatBan(charName, val, reason, adminName); } if (announce != null) { if (Config.BANCHAT_ANNOUNCE_FOR_ALL_WORLD) { Announcements.getInstance().announceToAll(announce); } else { Announcements.shout(adminChar, announce, ChatType.CRITICAL_ANNOUNCE); } } return result; }