public void DeleteEudemon(uint eudemon_id) { RoleData_Eudemon eudemon = null; if (mDicEudemon.ContainsKey(eudemon_id)) { eudemon = mDicEudemon[eudemon_id]; //PacketOut outpack = null; mDicEudemon.Remove(eudemon_id); //实例对象也移除 for (int i = 0; i < mListObj.Count; i++) { if (mListObj[i].GetTypeId() == eudemon_id) { mListObj.RemoveAt(i); break; } } } // 收到网络协议:长度:12协议号:1015 //{12,0,247,3,117,251,72,119,89,2,0,0} PacketOut outpack = new PacketOut(); outpack.WriteUInt16(12); outpack.WriteUInt16(1015); outpack.WriteUInt32(eudemon_id); outpack.WriteInt32(601); play.SendData(outpack.Flush(), true); //收到网络协议:长度:76协议号:1040 byte[] data1 = { 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, 0, 0, 0 }; outpack = new PacketOut(); outpack.WriteInt16(76); outpack.WriteInt16(1040); outpack.WriteInt32(0); outpack.WriteInt16(5); outpack.WriteInt16(1); outpack.WriteUInt32(eudemon_id); outpack.WriteBuff(data1); play.SendData(outpack.Flush(), true); //刷新幻兽界面...经过测试 这些封包并没有什么卵用,幻兽界面还是有这个幻兽,后面再说吧。。2015.11.6 //// 收到网络协议:长度:76协议号:1040 //2015.11.9 已解决..是因为这里删掉了幻兽..后面调用playeritem的clearitem 找不到id了。。。 //就在这里发清除道具的信息 NetMsg.MsgClearItem clear = new NetMsg.MsgClearItem(); clear.id = eudemon_id; clear.roleid = play.GetTypeId(); play.SendData(clear.GetBuffer(), true); }
public void ClearItem(uint id) { //幻兽id特殊处理 uint _id = id; if (id >= IDManager.eudemon_start_id) { _id = GetEudemonItemId(id); } NetMsg.MsgClearItem clear = new NetMsg.MsgClearItem(); clear.id = _id; clear.roleid = play.GetTypeId(); play.SendData(clear.GetBuffer(),true); }