public override void run() { try { Account p = _client._player; Room r = p == null ? null : p._room; SLOT slot; if (r == null || r._state != RoomState.Battle || r.vote.Timer == null || r.votekick == null || !r.getSlot(p._slotId,out slot) || slot.state != SLOT_STATE.BATTLE) { return; } VoteKick vote = r.votekick; if (vote._votes.Contains(p._slotId)) { _client.SendPacket(new VOTEKICK_UPDATE_RESULT_PAK(0x800010F1)); return; } lock (vote._votes) { vote._votes.Add(slot._id); } if (type == 0) { vote.kikar++; if (slot._team == vote.victimIdx % 2) { vote.allies++; } else { vote.enemys++; } } else { vote.deixar++; } if (vote._votes.Count >= vote.GetInGamePlayers()) { r.vote.Timer = null; AllUtils.votekickResult(r); } else { using (VOTEKICK_UPDATE_PAK packet = new VOTEKICK_UPDATE_PAK(vote)) r.SendPacketToPlayers(packet,SLOT_STATE.BATTLE,0); } } catch (Exception ex) { SaveLog.fatal(ex.ToString()); Printf.b_danger("[VOTEKICK_UPDATE_REC.run] Erro fatal!"); } }
public override void run() { try { Account player = this._client._player; Room room = player == null ? (Room)null : player._room; SLOT slot; if (room == null || room._state != RoomState.Battle || (room.vote.Timer == null || room.votekick == null) || (!room.getSlot(player._slotId,out slot) || slot.state != SLOT_STATE.BATTLE)) { return; } VoteKick votekick = room.votekick; if (votekick._votes.Contains(player._slotId)) { this._client.SendPacket((SendPacket) new VOTEKICK_UPDATE_RESULT_PAK(2147487985U)); } else { lock (votekick._votes) votekick._votes.Add(slot._id); if (this.type == (byte)0) { ++votekick.kikar; if (slot._team == votekick.victimIdx % 2) { ++votekick.allies; } else { ++votekick.enemys; } } else { ++votekick.deixar; } if (votekick._votes.Count >= votekick.GetInGamePlayers()) { room.vote.Timer = (Timer)null; AllUtils.votekickResult(room); } else { using (VOTEKICK_UPDATE_PAK votekickUpdatePak = new VOTEKICK_UPDATE_PAK(votekick)) room.SendPacketToPlayers((SendPacket)votekickUpdatePak,SLOT_STATE.BATTLE,0); } } } catch (Exception ex) { Logger.info("VOTEKICK_UPDATE_REC: " + ex.ToString()); } }