public override void run()
        {
            Account player = _client._player;
            Room    room   = player == null ? null : player._room;

            try
            {
                if (room == null || room._leader == slotId || room._slots[slotId]._playerId == 0)
                {
                    _client.SendPacket(new ROOM_CHANGE_HOST_PAK(0x80000000));
                }
                else if (room._state == RoomState.Ready && room._leader == player._slotId)
                {
                    room.setNewLeader(slotId, 0, room._leader, false);
                    using (ROOM_CHANGE_HOST_PAK packet = new ROOM_CHANGE_HOST_PAK(slotId))
                        room.SendPacketToPlayers(packet);
                    room.updateSlotsInfo();
                }
            }
            catch (Exception ex)
            {
                SaveLog.fatal(ex.ToString());
                Printf.b_danger("[ROOM_CHANGE_HOST_REC.run] Erro fatal!");
            }
        }
Esempio n. 2
0
        public override void run()
        {
            Account player = this._client._player;
            Room    room   = player == null ? (Room)null : player._room;

            try
            {
                if (room == null || room._leader == this.slotId || room._slots[this.slotId]._playerId == 0L)
                {
                    this._client.SendPacket((SendPacket) new ROOM_CHANGE_HOST_PAK(2147483648U));
                }
                else
                {
                    if (room._state != RoomState.Ready || room._leader != player._slotId)
                    {
                        return;
                    }
                    room.setNewLeader(this.slotId, 0, room._leader, false);
                    using (ROOM_CHANGE_HOST_PAK roomChangeHostPak = new ROOM_CHANGE_HOST_PAK(this.slotId))
                        room.SendPacketToPlayers((SendPacket)roomChangeHostPak);
                    room.updateSlotsInfo();
                }
            }
            catch (Exception ex)
            {
                Logger.info("ROOM_CHANGE_HOST_REC: " + ex.ToString());
            }
        }
Esempio n. 3
0
 private void ChangeLeader(Room r, List <Account> players, int slotId)
 {
     r.setNewLeader(slotId, 0, -1, false);
     using (ROOM_CHANGE_HOST_PAK roomChangeHostPak = new ROOM_CHANGE_HOST_PAK(slotId))
         this.SendPacketToRoom((SendPacket)roomChangeHostPak, players);
     r.updateSlotsInfo();
     r.requestHost.Clear();
 }