public void monthlyProc() { _log.info("城镇系统:开始处理每月事项"); L1World.getInstance().setProcessingContributionTotal(true); final Collection<L1PcInstance> players = L1World.getInstance().getAllPlayers(); for (final L1PcInstance pc : players) { try { // 储存所有线上玩家的资讯 pc.save(); } catch (final Exception e) { _log.log(Level.SEVERE, e.getLocalizedMessage(), e); } } for (int townId = 1; townId <= 10; townId++) { final String leaderName = totalContribution(townId); if (leaderName != null) { final S_PacketBox packet = new S_PacketBox(S_PacketBox.MSG_TOWN_LEADER, leaderName); for (final L1PcInstance pc : players) { if (pc.getHomeTownId() == townId) { pc.setContribution(0); pc.sendPackets(packet); } } } } TownTable.getInstance().load(); for (final L1PcInstance pc : players) { if (pc.getHomeTownId() == -1) { pc.setHomeTownId(0); } pc.setContribution(0); try { // 储存所有线上玩家的资讯 pc.save(); } catch (final Exception e) { _log.log(Level.SEVERE, e.getLocalizedMessage(), e); } } clearHomeTownID(); L1World.getInstance().setProcessingContributionTotal(false); }