//宝石替换 public void GemReplace(PlayerObject play, byte[] data) { GameBase.Network.PackIn inpack = new GameBase.Network.PackIn(data); inpack.ReadInt16(); inpack.ReadUInt32(); uint itemid = inpack.ReadUInt32(); RoleItemInfo src_item = play.GetItemSystem().FindItem(itemid); if (src_item == null) { play.MsgBox("替换失败,装备不存在。"); return; } int gem1_type = inpack.ReadInt32(); int gem2_type = inpack.ReadInt32(); int gem3_type = inpack.ReadInt32(); uint gem1_replace_id = inpack.ReadUInt32(); uint gem2_replace_id = inpack.ReadUInt32(); uint gem3_replace_id = inpack.ReadUInt32(); RoleItemInfo gem1_item_info = play.GetItemSystem().FindItem(gem1_replace_id); RoleItemInfo gem2_item_info = play.GetItemSystem().FindItem(gem2_replace_id); RoleItemInfo gem3_item_info = play.GetItemSystem().FindItem(gem3_replace_id); //第一个洞 if (gem1_item_info != null && gem1_item_info.IsGem()) { if (src_item.GetGemCount() > 0) { src_item.SetGemType(0, gem1_item_info.GetGemType()); play.GetItemSystem().DeleteItemByID(gem1_item_info.id); } } //第二个洞 if (gem2_item_info != null && gem2_item_info.IsGem()) { if (src_item.GetGemCount() > 1) { src_item.SetGemType(1, gem2_item_info.GetGemType()); play.GetItemSystem().DeleteItemByID(gem2_item_info.id); } } //第三个洞 if (gem3_item_info != null && gem3_item_info.IsGem()) { if (src_item.GetGemCount() > 2) { src_item.SetGemType(2, gem3_item_info.GetGemType()); play.GetItemSystem().DeleteItemByID(gem3_item_info.id); } } play.GetItemSystem().SendItemInfo(src_item); play.MsgBox("宝石替换成功"); // src_item.SetGemType() }
public AjaxResult <SysAccountInfo> GetSysAccountInfo(int managerid) { var user = db.WebSysManager.FirstOrDefault(m => m.ManagerId == managerid); if (user == null) { user = new WebSysManager(); } SysAccountInfo info = new SysAccountInfo() { IsSupper = user.IsSupper ?? 0, ManagerEmail = user.ManagerEmail, ManagerId = user.ManagerId, ManagerRealname = user.ManagerRealname, ManagerStatus = user.ManagerStatus ?? 0, ManagerTel = user.ManagerTel, ManagerName = user.ManagerName, }; var roles = db.WebSysRole.ToList(); var userRoles = db.WebSysManagerRole.Where(m => m.ManagerId == user.ManagerId); info.Roles = new List <RoleItemInfo>(); foreach (var role in roles) { RoleItemInfo addItem = new RoleItemInfo() { RoleID = role.RoleId, RoleName = role.RoleName, }; var userRole = userRoles.FirstOrDefault(m => m.RoleId == role.RoleId); if (userRole != null) { addItem.Checked = 1; } info.Roles.Add(addItem); } return(new AjaxResult <SysAccountInfo>(info)); }
//提升神佑 public void Equip_GodExp(PlayerObject play, uint srcid, uint destid) { RoleItemInfo srcinfo = play.GetItemSystem().FindItem(srcid); if (srcinfo == null) { return; } RoleItemInfo destinfo = play.GetItemSystem().FindItem(destid); if (destinfo == null) { return; } if (srcinfo.god_exp >= 90000) { play.MsgBox("已达到最高神佑等级"); return; } int godlv = srcinfo.god_exp / 10000; int addgodexp = 0; switch (godlv) { case 0: { addgodexp = 1000; break; } //提升1级神佑 case 1: { addgodexp = 500; break; } //二级 case 2: { addgodexp = 200; break; } //三级 case 3: { addgodexp = 125; break; } //四级 case 4: { addgodexp = 83; break; } //五级 case 5: { addgodexp = 55; break; } //六级 case 6: { addgodexp = 40; break; } //七级 case 7: { addgodexp = 28; break; } //八级 case 8: { addgodexp = 20; break; } //九级 default: { return; } } int rate = 1;//倍率 switch (destinfo.itemid) { case 1037210: //神谕之石 { rate = 1; break; } case 1037260: //5倍神谕之石 { if (godlv < 3) { return; //最低使用等级是3级 } rate = 5; break; } case 1037261: //10倍神谕之石 { if (godlv < 5) { return; //最低使用等级是5级 } rate = 10; break; } case 1037262: //25倍神谕之石 { if (godlv < 8) { return; //最低使用等级8级 } rate = 25; break; } } srcinfo.god_exp += addgodexp * rate; play.GetItemSystem().DeleteItemByID(destinfo.id); // play.MsgBox("增加神佑经验"+(addgodexp * rate).ToString()); play.GetItemSystem().SendItemInfo(srcinfo); NetMsg.MsgEquipOperationRet ret = new NetMsg.MsgEquipOperationRet(); ret.srcid = srcid; ret.destid = destid; byte[] index = { 7, 0, 3, 0 }; ret.type = BitConverter.ToUInt32(index, 0); ret.ret = 1; play.SendData(ret.GetBuffer(), true); }
//法宝追加 public void Magic_Add_God(PlayerObject play, uint srcid, uint destid) { RoleItemInfo srcinfo = play.GetItemSystem().FindItem(srcid); if (srcinfo == null) { return; } RoleItemInfo destinfo = play.GetItemSystem().FindItem(destid); if (destinfo == null) { return; } if (srcinfo.stronglv >= 12) { play.MsgBox("已达到最高法宝等级"); return; } int godlv = srcinfo.god_exp / 10000; int addgodexp = 0; switch (destinfo.itemid) { case 1037231: //+1创世水晶 { addgodexp = 20; break; } case 1037232: //+2创世水晶 { addgodexp = 60; break; } case 1037233: //+3创世水晶 { addgodexp = 180; break; } } //这四行代码只是为了弥补之前的BUG if (srcinfo.itemid == GameBase.Config.Define.ITEM_DILONGZHILEI_ID && srcinfo.god_strong >= 22500) { srcinfo.god_strong = 0; srcinfo.stronglv++; } //--------------------------------------------------------- if (addgodexp == 0 && srcinfo.itemid != destinfo.itemid) { return; } if (addgodexp == 0) { addgodexp = 20; //默认相同法宝+20经验 } addgodexp = 1000; if (srcinfo.itemid == GameBase.Config.Define.ITEM_SHUGUANGZHANHUN_ID && srcinfo.god_strong >= 7500) { return; } //已经到最高经验值 if (srcinfo.itemid == GameBase.Config.Define.ITEM_DILONGZHILEI_ID && srcinfo.god_strong >= 22500) { return; } if (srcinfo.itemid == GameBase.Config.Define.ITEM_SHENGYAOFUWEN_ID && srcinfo.god_strong >= 30000) { return; } srcinfo.god_strong += addgodexp; if (srcinfo.itemid == GameBase.Config.Define.ITEM_SHUGUANGZHANHUN_ID && srcinfo.god_strong >= 7500) { srcinfo.god_strong = 0; srcinfo.stronglv++; } if (srcinfo.itemid == GameBase.Config.Define.ITEM_DILONGZHILEI_ID && srcinfo.god_strong >= 22500) { srcinfo.god_strong = 0; srcinfo.stronglv++; } if (srcinfo.itemid == GameBase.Config.Define.ITEM_SHENGYAOFUWEN_ID && srcinfo.god_strong >= 30000) { srcinfo.god_strong = 0; srcinfo.stronglv++; } play.GetItemSystem().DeleteItemByID(destinfo.id); play.GetItemSystem().SendItemInfo(srcinfo); NetMsg.MsgEquipOperationRet ret = new NetMsg.MsgEquipOperationRet(); ret.srcid = srcid; ret.destid = destid; byte[] ret_code = { 9, 0, 3, 0 };; ret.type = BitConverter.ToUInt32(ret_code, 0); ret.ret = 1; play.SendData(ret.GetBuffer(), true); }
/*穿戴的装备是否符合穿戴条件 * level 等级 * profession 职业 * equip_pos 穿戴位置 * item_info 道具信息*/ //2016.1.20 //20多级以下的装备没有做判断- 暂时不写 2016.1.20 public bool IsAccordWithEquip(byte level, byte profession, byte equip_pos, RoleItemInfo item_info) { uint nStartItemId = 0; //起始道具ID int nAddIndex = 0; //索引总数- 就是该部位的装备所有数量 switch (equip_pos) { case NetMsg.MsgItemInfo.ITEMPOSITION_HELMET: //头盔 { switch (profession) { case JOB.WARRIOR: { nStartItemId = 111000; break; } case JOB.MAGE: { nStartItemId = 115000; break; } case JOB.POWER: { nStartItemId = 113000; break; } case JOB.BLOODCLAN: { nStartItemId = 117000; break; } case JOB.UNDEAD_MAGE: { nStartItemId = 119000; break; } case JOB.DRAGONRIDE: { nStartItemId = 112000; break; } } nAddIndex = 14; break; } case NetMsg.MsgItemInfo.ITEMPOSITION_NECKLACE: //项链 { switch (profession) { case JOB.WARRIOR: { nStartItemId = 121000; break; } case JOB.MAGE: { nStartItemId = 125000; break; } case JOB.POWER: { nStartItemId = 123000; break; } case JOB.BLOODCLAN: { nStartItemId = 127000; break; } case JOB.UNDEAD_MAGE: { nStartItemId = 129000; break; } case JOB.DRAGONRIDE: { nStartItemId = 122000; break; } } nAddIndex = 14; break; } case NetMsg.MsgItemInfo.ITEMPOSITION_ARMOR: //盔甲 { switch (profession) { case JOB.WARRIOR: { nStartItemId = 131000; break; } case JOB.MAGE: { nStartItemId = 135000; break; } case JOB.POWER: { nStartItemId = 133000; break; } case JOB.BLOODCLAN: { nStartItemId = 137000; break; } case JOB.UNDEAD_MAGE: { nStartItemId = 139000; break; } case JOB.DRAGONRIDE: { nStartItemId = 132000; break; } } nAddIndex = 14; break; } case NetMsg.MsgItemInfo.ITEMPOSITION_WEAPONR: //武器 { switch (profession) { case JOB.WARRIOR: { if (item_info.itemid >= 420000) { nStartItemId = 420000; //剑 } else { nStartItemId = 410000; //刀 } break; } case JOB.MAGE: { nStartItemId = 440000; break; } case JOB.POWER: { nStartItemId = 490000; break; } case JOB.BLOODCLAN: { nStartItemId = 450000; break; } case JOB.UNDEAD_MAGE: { nStartItemId = 430000; break; } case JOB.DRAGONRIDE: { nStartItemId = 480000; break; } } nAddIndex = 27; break; } case NetMsg.MsgItemInfo.ITEMPOSITION_TREASURE: //手镯 { switch (profession) { case JOB.WARRIOR: { nStartItemId = 141000; break; } case JOB.MAGE: { nStartItemId = 145000; break; } case JOB.POWER: { nStartItemId = 143000; break; } case JOB.BLOODCLAN: { nStartItemId = 147000; break; } case JOB.UNDEAD_MAGE: { nStartItemId = 149010; break; } case JOB.DRAGONRIDE: { nStartItemId = 142000; break; } } nAddIndex = 14; break; } case NetMsg.MsgItemInfo.ITEMPOSITION_SHOES: //鞋子 { switch (profession) { case JOB.WARRIOR: { nStartItemId = 161000; break; } case JOB.MAGE: { nStartItemId = 165000; break; } case JOB.POWER: { nStartItemId = 163000; break; } case JOB.BLOODCLAN: { nStartItemId = 167000; break; } case JOB.UNDEAD_MAGE: { nStartItemId = 169000; break; } case JOB.DRAGONRIDE: { nStartItemId = 162000; break; } } nAddIndex = 10; break; } } GameStruct.ItemTypeInfo type_info = null; for (int i = 0; i < nAddIndex; i++) { type_info = ConfigManager.Instance().GetItemTypeInfo(nStartItemId); if (type_info != null && type_info.req_level >= level) { if (type_info.req_level == level) { break; } nStartItemId -= 10; type_info = ConfigManager.Instance().GetItemTypeInfo(nStartItemId); break; } nStartItemId += 10; } if (type_info == null) { return(false); } //符合穿戴需求 GameStruct.ItemTypeInfo _item_info = ConfigManager.Instance().GetItemTypeInfo(item_info.itemid); if (_item_info == null) { return(false); } //道具名称一样- if (String.Compare(type_info.name, _item_info.name) == 0) { return(true); } return(false); }
//获取远程摊位 //id 为从指定序号摊位 -1为自动顺序 public void GetRemotePtich(PlayerObject play, int id = -1) { int ptich_id = -1; if (id != -1 && id >= 0 && id < mListPtichInfo.Count) { if (mListPtichInfo[id].play == null) { play.MsgBox("该摊位未开放"); return; } ptich_id = id; } else { ptich_id = GetRemotePtichId(play.GetCurrentRemotePtichId()); } if (ptich_id == -1) { return; //无摊位 返回 } play.SetCurrentRemotePtichId(ptich_id); //远程摊位信息 String sName = mListPtichInfo[ptich_id].play.GetName(); int nLen = 13 + Coding.GetDefauleCoding().GetBytes(sName).Length; PacketOut outpack = new PacketOut(); outpack.WriteInt16((short)nLen); outpack.WriteInt16(1015); // {19,0,247,3,14,0,0,0,125,0,1,6,203,167,208,161,187,239,0} outpack.WriteInt32(ptich_id + 1); outpack.WriteInt16(125); outpack.WriteByte(1); outpack.WriteString(sName); outpack.WriteByte(0); play.SendData(outpack.Flush(), true); for (int i = 0; i < mListPtichInfo[ptich_id].mSellItemList.Count ; i++) { RoleItemInfo item_info = null; RoleData_Eudemon eudemon = null; if (mListPtichInfo[ptich_id].mSellItemList[i].item_id >= IDManager.eudemon_start_id) { eudemon = mListPtichInfo[ptich_id].play.GetEudemonSystem().FindEudemon( mListPtichInfo[ptich_id].mSellItemList[i].item_id); if (eudemon == null) { continue; } item_info = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem(eudemon.itemid); } else { item_info = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem( mListPtichInfo[ptich_id].mSellItemList[i].item_id); } if (item_info != null) { NetMsg.MsgPtichItemInfo msg = new NetMsg.MsgPtichItemInfo(item_info, (uint)(ptich_id + 1), mListPtichInfo[ptich_id].mSellItemList[i].price, mListPtichInfo[ptich_id].mSellItemList[i].sell_type, true); play.SendData(msg.GetBuffer(), true); //发送幻兽信息 if (item_info.typeid >= IDManager.eudemon_start_id) { mListPtichInfo[ptich_id].play.GetEudemonSystem().SendLookPtichEudemonInfo(play, eudemon); } } } }
public void BuyItem(PlayerObject play, uint ptich_obj_id, uint item_id) { if (play.GetTimerSystem().QueryStatus(GameStruct.RoleStatus.STATUS_PTICH) != null) { play.MsgBox("摆摊中不允许购买!"); return; } int ptich_id = -1; for (int i = 0; i < mListPtichInfo.Count; i++) { if (mListPtichInfo[i].PtichObj == null) { continue; } if (mListPtichInfo[i].PtichObj.GetTypeId() == ptich_obj_id) { ptich_id = i; break; } } if (ptich_id == -1) { return; } //检测是否有道具 int price = 0; byte sell_type = 0; RoleItemInfo item = null; RoleData_Eudemon eudemon = null; bool bFind = false; for (int i = 0; i < mListPtichInfo[ptich_id].mSellItemList.Count; i++) { if (mListPtichInfo[ptich_id].mSellItemList[i].item_id == item_id) { bFind = true; if (item_id >= IDManager.eudemon_start_id) { eudemon = mListPtichInfo[ptich_id].play.GetEudemonSystem().FindEudemon(item_id); if (eudemon == null) { return; } item = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem(eudemon.itemid); } else { item = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem(item_id); } if (item == null) { play.MsgBox("购买失败!"); return; } price = mListPtichInfo[ptich_id].mSellItemList[i].price; sell_type = mListPtichInfo[ptich_id].mSellItemList[i].sell_type; if (sell_type == NetMsg.MsgOperateItem.PTICH_SELL_ITEM_GAMEGOLD) { if (price > play.GetMoneyCount(MONEYTYPE.GOLD)) { play.MsgBox("购买失败,魔石不足!"); return; } play.ChangeMoney(MONEYTYPE.GAMEGOLD, -price); mListPtichInfo[ptich_id].play.ChangeMoney(MONEYTYPE.GAMEGOLD, price); } else if (sell_type == NetMsg.MsgOperateItem.PTICH_SELL_ITEM_GOLD) { if (price > play.GetMoneyCount(MONEYTYPE.GOLD)) { play.MsgBox("购买失败,金币不足!"); return; } play.ChangeMoney(MONEYTYPE.GOLD, -price); mListPtichInfo[ptich_id].play.ChangeMoney(MONEYTYPE.GOLD, price); } else { return; } mListPtichInfo[ptich_id].mSellItemList.RemoveAt(i); break; } } if (!bFind) { play.MsgBox("购买失败,该道具已下架!"); return; } if (item_id >= IDManager.eudemon_start_id) { item.postion = NetMsg.MsgItemInfo.ITEMPOSITION_EUDEMON_PACK; play.GetEudemonSystem().AddTempEudemon(eudemon);//加到临时表 } else { //添加道具 item.postion = NetMsg.MsgItemInfo.ITEMPOSITION_BACKPACK; } play.GetItemSystem().AwardItem(item); //删除卖方道具 //刷新摊位道具栏 卖方 GetBackItem(mListPtichInfo[ptich_id].play, item_id); mListPtichInfo[ptich_id].play.GetItemSystem().DeleteItemByID(item_id); //买方 //{28,0,241,3,140,87,212,7,70,160,1,0,23,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0} PacketOut outpack = new PacketOut(); outpack.WriteInt16(28); outpack.WriteInt16(1009); outpack.WriteUInt32(item_id); outpack.WriteUInt32(ptich_obj_id); outpack.WriteInt32(23); //购买完的标识 outpack.WriteInt16(0); outpack.WriteInt32(1); outpack.WriteInt32(0); outpack.WriteInt16(0); play.SendData(outpack.Flush(), true); // this.LookPtich(play, ptich_obj_id); // this.LookPtich(mListPtichInfo[ptich_id].play, ptich_obj_id); }
//查看摊位 //ptich_obj_id 摊位对象id //page 页码 public void LookPtich(PlayerObject play, uint ptich_obj_id) { int ptich_id = -1; for (int i = 0; i < mListPtichInfo.Count; i++) { if (mListPtichInfo[i].PtichObj == null) { continue; } if (mListPtichInfo[i].PtichObj.GetTypeId() == ptich_obj_id) { ptich_id = i; break; } } if (ptich_id == -1) { return; } // 摊位信息 byte[] senddata = { 42, 0, 105, 4, 244, 1, 0, 0, 64, 66, 15, 0, 36, 52, 156, 8, 3, 0, 0, 0, 30, 214, 44, 135, 2, 0, 0, 0, 164, 3, 178, 5, 1, 0 }; PacketOut outpack = new PacketOut(); outpack.WriteBuff(senddata); outpack.WriteInt16((short)(ptich_id + 1)); byte[] data2 = { 1, 4, 202, 165, 213, 189 }; outpack.WriteBuff(data2); play.SendData(outpack.Flush(), true); //出售的道具信息 for (int i = 0; i < mListPtichInfo[ptich_id].mSellItemList.Count; i++) { RoleItemInfo item_info = null; RoleData_Eudemon eudemon = null; if (mListPtichInfo[ptich_id].mSellItemList[i].item_id >= IDManager.eudemon_start_id) { eudemon = mListPtichInfo[ptich_id].play.GetEudemonSystem().FindEudemon( mListPtichInfo[ptich_id].mSellItemList[i].item_id); if (eudemon == null) { continue; } item_info = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem(eudemon.itemid); } else { item_info = mListPtichInfo[ptich_id].play.GetItemSystem().FindItem( mListPtichInfo[ptich_id].mSellItemList[i].item_id); } if (item_info != null) { NetMsg.MsgPtichItemInfo msg = new NetMsg.MsgPtichItemInfo(item_info, ptich_obj_id, mListPtichInfo[ptich_id].mSellItemList[i].price, mListPtichInfo[ptich_id].mSellItemList[i].sell_type); play.SendData(msg.GetBuffer(), true); //发送幻兽信息 if (item_info.typeid >= IDManager.eudemon_start_id) { mListPtichInfo[ptich_id].play.GetEudemonSystem().SendLookPtichEudemonInfo(play, eudemon); // play.GetEudemonSystem().SendEudemonInfo(eudemon, false, true); } } } //道具id //摊位对象id //魔石价格 //道具基础id //最大损耗 172, 38, //当前损耗 172, 38, //摊位栏 3 //是否鉴定 0.已鉴定 1.未鉴定 //未知 50 //第一个宝石 30 //第二个宝石 30 //未知 0,0 //强化等级 12 //32.未知 //33.未知 //34.未知 //35.未知 //36/37.38.39 未知 //40.41. 战魂等级 //42-51 未知 //52 地攻击 //53 水攻击 //54 火攻击 //55 风攻击 //56 特效 //64 第三个宝石 // byte[] data = { 101, 0, 84, 4, 13, 11, 150, 7, 67,162,1,0, 172, 13, 0, 0, 132, 70, 2, 0, 172, 38, 172, 38, 3, 0, 50, 30, 30, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 209, 215, 253, 136, 133, 101, 159, 111, 235, 112, 0, 0, 0, 0, 0 }; // play.SendData(GameServer.PtichData, true); //107075 // 收到网络协议:长度:98协议号:1108 //byte[] data1 = { 98, 0, 84, 4, 110, 134, 61, 138, 67, 162, 1, 0, 14, 0, 0, 0, 118, 91, 16, 0, 0, 0, 0, 0, 3, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 198, 230, 210, 236, 202, 222, 79, 208, 205, 0, 0, 0 }; //play.SendData(data1,true); //收到网络协议:长度:24协议号:2037 //byte[] data3 = {24,0,245,7,3,0,0,0,110,134,61,138,1,0,0,0,24,0,0,0,138,2,0,0}; // play.SendData(data3,true); ////收到网络协议:长度:496协议号:2037 // byte[] data4 = { 240, 1, 245, 7, 3, 0, 0, 0, 110, 134, 61, 138, 60, 0, 0, 0, 6, 0, 0, 0, 159, 8, 0, 0, 7, 0, 0, 0, 159, 8, 0, 0, 10, 0, 0, 0, 81, 0, 0, 0, 8, 0, 0, 0, 150, 0, 0, 0, 9, 0, 0, 0, 83, 94, 121, 19, 55, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 2, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 2, 0, 0, 0, 21, 0, 0, 0, 5, 0, 0, 0, 23, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 244, 5, 0, 0, 26, 0, 0, 0, 33, 5, 0, 0, 27, 0, 0, 0, 165, 3, 0, 0, 28, 0, 0, 0, 19, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 11, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 0, 0, 24, 0, 0, 0, 138, 2, 0, 0, 13, 0, 0, 0, 50, 0, 0, 0, 1, 0, 0, 0, 13, 4, 0, 0, 0, 0, 0, 0, 204, 5, 0, 0, 3, 0, 0, 0, 231, 2, 0, 0, 2, 0, 0, 0, 11, 4, 0, 0, 4, 0, 0, 0, 47, 2, 0, 0, 5, 0, 0, 0, 190, 2, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 176, 10, 0, 0, 37, 0, 0, 0, 235, 49, 0, 0, 38, 0, 0, 0, 79, 71, 0, 0, 39, 0, 0, 0, 168, 35, 0, 0, 40, 0, 0, 0, 235, 49, 0, 0, 41, 0, 0, 0, 225, 26, 0, 0, 42, 0, 0, 0, 179, 32, 0, 0, 83, 0, 0, 0, 50, 0, 0, 0 }; // play.SendData(data4, true); }