Пример #1
0
 private void OnGetData(GetDataEventArgs e)
 {
     if (enabled && !e.Handled)
     {
         byte who = 255;
         if (e.MsgID == PacketTypes.PlayerDeathV2)
         {
             using (BinaryReader br = new BinaryReader(new MemoryStream(e.Msg.readBuffer, e.Index, e.Length)))
             {
                 who             = br.ReadByte();
                 invp[who].death = true;
             }
             InvPlayer plr = null;
             foreach (var i in invp)
             {
                 if (i.who == (int)who)
                 {
                     plr = i;
                 }
             }
             if (plr == null)
             {
                 return;
             }
             invp[who].aether.Clear();
             plr.DropRand(who, dropOpt);
         }
         else if (who != 255 && e.MsgID == PacketTypes.ItemDrop)
         {
             foreach (Item i in invp[who].keep)
             {
                 foreach (Item j in Main.item)
                 {
                     if (j.IsTheSameAs(i))
                     {
                         j.active = false;
                         j.SetDefaults(0);
                         break;
                     }
                 }
             }
         }
     }
 }