public override void Handle(virtualUser User) { int ID = Convert.ToInt32(getBlock(0)); int Days = 0; int CouponToRemove = 0; string WeaponToBuy = null; #region Calculate switch (ID) { case 0: WeaponToBuy = "DS01"; Days = 3; CouponToRemove = 5; break; case 1: WeaponToBuy = "DS10"; Days = 3; CouponToRemove = 10; break; case 2: WeaponToBuy = "DS03"; Days = 3; CouponToRemove = 10; break; case 3: WeaponToBuy = "DF15"; Days = 3; CouponToRemove = 20; break; case 4: WeaponToBuy = "DG40"; Days = 3; CouponToRemove = 25; break; case 5: WeaponToBuy = "DJ35"; Days = 3; CouponToRemove = 30; break; case 6: WeaponToBuy = "CC41"; Days = 1; CouponToRemove = 30; break; case 7: WeaponToBuy = "DG22"; Days = 3; CouponToRemove = 35; break; case 8: WeaponToBuy = "DC77"; Days = 7; CouponToRemove = 45; break; default: User.disconnect(); break; } #endregion if (User.Coupons >= CouponToRemove) { int InventorySlot = User.InventorySlots; if (InventorySlot > 0) { User.Coupons -= CouponToRemove; DB.runQuery("UPDATE users SET coupons='" + User.Coupons + "' WHERE id='" + User.UserID + "'"); if (WeaponToBuy == null) { User.disconnect(); } User.AddItem(WeaponToBuy, Days, 1); User.send(new PACKET_COUPON_BUY(WeaponToBuy, User)); User.send(new PACKET_COUPON_EVENT(User)); User.reloadCash(); } else { User.send(new PACKET_ITEMSHOP(PACKET_ITEMSHOP.ErrorCodes.InventoryFull, "NULL")); } } else { User.send(new PACKET_COUPON_BUY(PACKET_COUPON_BUY.ErrorCode.NotEnoughCoupons)); } }
public override void Handle(virtualUser User) { try { int Type = Convert.ToInt32(getNextBlock()); virtualRoom currentRoom = User.Room; if (currentRoom.getSide(User) == 1 && User.Weapon == 118) // NIU { if (currentRoom.bombPlanted == false) { User.disconnect(); } currentRoom.bombPlanted = false; currentRoom.bombDefused = true; currentRoom.prepareRound(1); currentRoom.cNIUExplosivePoints += 12; } else if (currentRoom.getSide(User) == 0 && User.Weapon == 91) // Derb { currentRoom.bombPlanted = true; currentRoom.cDerbExplosivePoints += 6; currentRoom.RoundTimeLeft = 44000; } currentRoom.send(new PACKET_BOMB(getAllBlocks())); } catch (Exception ex) { Log.AppendError("currentRoom Bomb error: " + ex.Message); } }
public override void Handle(virtualUser User) { if (User.Rank > 2) { int EnterRoom = Convert.ToInt32(getNextBlock()); int roomID = Convert.ToInt32(getNextBlock()); if (EnterRoom == 1) // 1 == Join, 2 == Leave, 3 == UpdateGameData [30017] { virtualRoom Room = RoomManager.getRoom(User.Channel, roomID); if (Room != null) { if (User.isSpectating == true) { return; } if (Room.addSpectator(User)) { User.send(new PACKET_SPECTATE_ROOM(User, Room)); User.send(new PACKET_ROOM_UDP(User, Room.Players)); foreach (virtualUser RoomUser in Room.Players) { if (RoomUser.Equals(User) == false && RoomUser.isSpectating == false) { RoomUser.send(new PACKET_ROOM_UDP_SPECTATE(User)); } } } else { StringBuilder SpectatorList = new StringBuilder(); int Count = 0; foreach (virtualUser Spectator in Room.Spectators) { SpectatorList.Append(Spectator.Nickname); Count++; } SpectatorList.ToString().Remove(SpectatorList.ToString().Length - 1, 1); User.send(new PACKET_CHAT("SPECTATE", PACKET_CHAT.ChatType.Room_ToAll, "SPECTATE >> There is no slot empty for this room!", 999, User.Nickname)); } } } else { User.Room.removeSpectator(User); } } else { User.disconnect(); } }
public override void Handle(virtualUser User) { try { User.HWID = getBlock(2); string[] HWIDCheck = DB.runReadRow("SELECT * FROM users_hwid WHERE hwid='" + User.HWID.ToString() + "'"); if (HWIDCheck.Length > 0) { Log.AppendError(User.HWID + " tried to login but this HWID is banned!"); User.disconnect(); } else { User.send(new PACKET_LOGIN()); } } catch (Exception ex) { Log.AppendError(ex.Message); } }
public override void Handle(virtualUser User) { try { bool Equip = (getNextBlock() == "0" ? true : false); bool is6thSlot = (getBlock(0) == "3" ? true : false); int Class = Convert.ToInt32(getNextBlock()); string ItemID = getBlock(4); int TargetSlot = Convert.ToInt32(getBlock(5)); int Equip6th = Convert.ToInt32(getBlock(0)); bool DefaultWeapon = isDefaultWeapon(ItemID, Class, TargetSlot); string InventoryCode = User.getInventoryID(ItemID); if (is6thSlot) { if (TargetSlot == 5 && ItemID.Contains("-")) { string[] CodeInfo = ItemID.Split(Convert.ToChar("-")); if (User.hasItem(CodeInfo[0]) == false || User.hasItem(CodeInfo[1]) == false) { return; } string[] CodeInfoIDs = new string[2]; CodeInfoIDs[0] = User.getInventoryID(CodeInfo[0]); CodeInfoIDs[1] = User.getInventoryID(CodeInfo[1]); InventoryCode = string.Join("-", CodeInfoIDs); } else { if (ItemID.Contains("-")) { string[] CodeInfo = User.Equipment[Class, 5].Split(Convert.ToChar("-")); if (CodeInfo[0] == InventoryCode) { InventoryCode = CodeInfo[1]; } else if (CodeInfo[1] == InventoryCode) { InventoryCode = CodeInfo[0]; } } } User.Equipment[Class, 5] = InventoryCode; User.LoadRetails(); StringBuilder Items = new StringBuilder(); for (int I = 0; I < 8; I++) { Items.Append(User.Equipment[Class, I] + ","); } string EquipStr = Items.ToString().Remove(Items.ToString().Length - 1); User.send(new PACKET_EQUIPMENT(Class, EquipStr)); DB.runQuery("UPDATE equipment SET class" + Class + "='" + EquipStr + "' WHERE ownerID=" + User.UserID.ToString()); } else if (Equip) { if (User.hasItem(ItemID) == false && DefaultWeapon == false) { return; } if (DefaultWeapon) { InventoryCode = ItemID; } bool hasItemEquipped = false; for (int J = 0; J < 8; J++) { if (User.Equipment[Class, J] == InventoryCode) { hasItemEquipped = true; } } //Check for the 5th slot if (TargetSlot == 4) { string[] SplitSlots = User.getSlots().Split(Convert.ToChar(",")); if (SplitSlots[0] != "T") { User.disconnect(); } } if (hasItemEquipped == false) { User.Equipment[Class, TargetSlot] = InventoryCode; User.LoadRetails(); StringBuilder Items = new StringBuilder(); for (int I = 0; I < 8; I++) { Items.Append(User.Equipment[Class, I] + ","); } string EquipStr = Items.ToString().Remove(Items.ToString().Length - 1); User.send(new PACKET_EQUIPMENT(Class, EquipStr)); DB.runQuery("UPDATE equipment SET class" + Class + "='" + EquipStr + "' WHERE ownerID=" + User.UserID.ToString()); } else { User.send(new PACKET_EQUIPMENT(PACKET_EQUIPMENT.ErrorCode.AlreadyEquipped)); } } else { int _TargetSlot = Convert.ToInt32(getBlock(3)); if (User.Equipment[Class, _TargetSlot] == InventoryCode || _TargetSlot == 5) { if (User.Equipment[Class, _TargetSlot] != "^") { User.Equipment[Class, _TargetSlot] = "^"; User.LoadRetails(); StringBuilder Items = new StringBuilder(); for (int I = 0; I < 8; I++) { Items.Append(User.Equipment[Class, I] + ","); } string EquipStr = Items.ToString().Remove(Items.ToString().Length - 1); User.send(new PACKET_EQUIPMENT(Class, EquipStr)); DB.runQuery("UPDATE equipment SET class" + Class + "='" + EquipStr + "' WHERE ownerID=" + User.UserID.ToString()); } } else { //User.disconnect(); } } } catch (Exception ex) { /*Log.AppendError(ex.Message);*/ } }