это не я писал этот код а 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