Показать сообщение отдельно
Непрочитано 09.08.2017, 23:54   #3
Пользователь

Автор темы (Топик Стартер) Re: маленткая производительность сервер Java

это не я писал этот код а PBDev
for(Player player : room.getPlayers().values()) {
			player.getConnection().sendPacket(new SM_ROOM_INFO(room));
		}
		int num = 0;
		for(Player member : room.getPlayers().values()){
			RoomSlot slot = room.getRoomSlotByPlayer(member);
			if(slot.getState().ordinal() > 8 && slot.getState().ordinal() < 12)
			{
		       //room.Spawner();
				boolean ok = false;
				boolean mustDinoSpawn = false;
				if(room.preStart == true && room.Started == false)
			    room.dinoListed = new ArrayList<Player>();
				for(Player player : room.getPlayers().values()){
					RoomSlot slot2 = room.getRoomSlotByPlayer(player);
					if(slot.getState() == SlotState.SLOT_STATE_BATTLE_READY){
						if(room.preStart == true && room.Started == false){
							room.changeSlotState(slot.getId(), SlotState.SLOT_STATE_BATTLE, true);
							for(Player toSend : room.getPlayers().values()){
								if(room.getRoomSlotByPlayer(toSend).getState().ordinal() > 7){
									toSend.getConnection().sendPacket(new SM_BATTLE_PLAYER_INFO(room, player, 0));
								}
							}
							player.getConnection().sendPacket(new SM_UNK_3865(room));
		                    if(room.getType() == 7 || room.getType() == 12)
		                    {
		                    	room.dinoListed.add(player);
		                    	mustDinoSpawn = true;
		                    }
		                    else
		                    {
		                    	player.getConnection().sendPacket(new SM_BATTLE_ROUND_START(room, 0));
		                    }
 
		                    player.bST = DateTimeUtil.getDateTime();
						}
						else if(room.Started)
						{
							room.changeSlotState(slot.getId(), SlotState.SLOT_STATE_BATTLE, true);
							if(room.getType() == 2 || room.getType() == 4)
								slot.Ghost = true;
 
							for(Player pRall : room.getPlayers().values())
								if(room.getRoomSlotByPlayer(pRall).getState().ordinal() > 7)
									pRall.getConnection().sendPacket(new SM_BATTLE_PLAYER_INFO(room, player, 1));
 
							if(room.getType() != 2 && room.getType() != 4)
							player.getConnection().sendPacket(new SM_UNK_3865(room));
							player.getConnection().sendPacket(new SM_BATTLE_ROUND_START(room, 1));
							player.getConnection().sendPacket(new SM_BATTLE_SCORE(room));
							player.bST = DateTimeUtil.getDateTime();
						}
 
						BattleServerInfo bsi = BattleServerController.getInstance().getBattleServerInfo(40000);
						if (bsi != null) {
							if (bsi.getConnection() != null) {
								if (room.getRoomSlotByPlayer(player).getState().ordinal() > 8) {
									bsi.getConnection().sendPacket(new SM_REQUEST_READY_BATTLE_ROOM(room, player, player.Channel));
								}
							}
						}
					}
					if(player == room.getLeader())
						ok = true;
				}
				if(ok == true)
					room.Started = true;
 
				if(mustDinoSpawn)
				{
					DinoDelay waited = new DinoDelay(room);
					Timer t = new Timer();
					t.schedule(waited, 5250);
				}
			}
	     }
	}
	class DinoDelay extends TimerTask {
		Room room;
		public DinoDelay(Room room) {
			this.room = room;
		}
 
		public void run() {
			try{
        			for(Player member : room.dinoListed){
    					member.getConnection().sendPacket(new SM_BATTLE_ROUND_START(room, 0));
    				}
        	}catch(Exception e){
        		System.out.println("Error spawner: " + e.toString());
        	}
		}
	}
}
 
 
 
 
 
 
 
 
Code: Java
slawa560 вне форума Ответить с цитированием