hey man i try this but not understand well error camera wait round finish this locate?
Код:
using PiercingBlow.Game.Network.Send;
namespace PiercingBlow.Game.Network.Receive
{
class PROTOCOL_BATTLE_READYBATTLE_REQ : Packet
{
public override void RunImpl()
{
var slot = Account.Slot;
if (slot.HasState(SlotState.NORMAL))
{
Room.ReadySlotsMask |= 1 << slot.Id;
slot.State = SlotState.READY;
}
else
{
Room.ReadySlotsMask ^= 1 << slot.Id;
slot.State = SlotState.NORMAL;
}
// ...
}
}
}
Code: C#
This is my code Java
public class CM_BATTLE_READY extends ClientPacket {
public CM_BATTLE_READY(int opcode) {
super(opcode);
}
@Override
public void readImpl() {
}
@Override
public void runImpl() {
final Room room = getConnection().getRoom();
if(room.getLeader().equals(getConnection().getPlayer())) {
if(room.isFigth() == 0) {
room.setFigth(1);
room.setTimeLost(room.getKillTime() * 60);
room.blueTeamCount = 0;
room.redTeamCount = 0;
room.doRound = 0;
}
ThreadPoolManager.getInstance().executeTask(new Runnable() {
@Override
public void run() {
for(Player member : getConnection().getRoom().getPlayers().values()) {
RoomSlot slot = room.getRoomSlotByPlayer(member);
if(slot.getState() == SlotState.SLOT_STATE_READY && !room.getLeader().equals(member)) {
slot.setState(SlotState.SLOT_STATE_LOAD);
member.getConnection().sendPacket(new SM_BATTLE_READY(room, getConnection().getPlayer()));
} else if(room.getLeader().equals(member)) {
slot.setState(SlotState.SLOT_STATE_LOAD);
member.getConnection().sendPacket(new SM_BATTLE_READY(room, member));
}
}
}
});
} else {
RoomSlot slotLeader = room.getRoomSlotByPlayer(room.getLeader());
RoomSlot slot = room.getRoomSlotByPlayer(getConnection().getPlayer());
if(slotLeader.getState() == SlotState.SLOT_STATE_LOAD || slotLeader.getState() == SlotState.SLOT_STATE_RENDEZVOUS || slotLeader.getState() == SlotState.SLOT_STATE_PRESTART || slotLeader.getState() == SlotState.SLOT_STATE_BATTLE_READY || slotLeader.getState() == SlotState.SLOT_STATE_BATTLE) {
slot.setState(SlotState.SLOT_STATE_LOAD);
sendPacket(new SM_BATTLE_READY(room, getConnection().getPlayer()));
}
if(slot.getState() == SlotState.SLOT_STATE_READY) {
slot.setState(SlotState.SLOT_STATE_NORMAL);
} else if(slot.getState() == SlotState.SLOT_STATE_NORMAL) {
slot.setState(SlotState.SLOT_STATE_READY);
}
}
ThreadPoolManager.getInstance().executeTask(new Runnable() {
@Override
public void run() {
for(Player member : getConnection().getRoom().getPlayers().values()) {
member.getConnection().sendPacket(new SM_ROOM_INFO(room));
}
}
});
}
Code: Java