예제 #1
0
        protected override void PrePopulatePacket(ModPacket modPacket, ref int fromWho, ref int toWho)
        {
            for (int i = 1; i < ModPlayer.Inventory.Page.Length; i += 1)
            {
                for (int j = 0; j < ModPlayer.Inventory.Page[i].item.Length; j += 1)
                {
                    modPacket.WriteItem(ModPlayer.Inventory.Page[i].item[j], true, true);
                }
            }

            foreach (AlignmentStat stat in ModPlayer.Character.AlignmentStats.Values)
            {
                if (stat.DoSave)
                {
                    modPacket.Write(stat.BaseAmount);
                }
            }

            foreach (MinorStat stat in ModPlayer.Character.MinorStats.Values)
            {
                if (stat.DoSave)
                {
                    modPacket.Write(stat.BaseAmount);
                }
            }
        }
 public void SyncData()
 {
     if (Main.netMode == 1)
     {
         ModPacket packet = NetRouter.GetPacketTo(mod.GetTileEntity <TransferFilterTileEntity>(), mod);
         packet.Write(ID);
         packet.WriteItem(item);
         packet.Send();
     }
 }
예제 #3
0
        protected override void PrePopulatePacket(ModPacket modPacket, ref int fromWho, ref int toWho)
        {
            for (int i = 1; i < ModPlayer.inventory.page.Length; i += 1)
            {
                for (int j = 0; j < ModPlayer.inventory.page[i].item.Length; j += 1)
                {
                    modPacket.WriteItem(ModPlayer.inventory.page[i].item[j], true, true);
                }
            }

            base.Send(fromWho, toWho);
        }
예제 #4
0
        internal static void SendItem(Frequency frequency, int slot, int ignoreClient = -1)
        {
            if (Main.netMode == NetmodeID.SinglePlayer)
            {
                return;
            }

            ModPacket packet = GetPacket(PacketType.SyncItemFrequency);

            packet.Write(frequency);
            packet.Write(slot);
            packet.WriteItem(ModContent.GetInstance <QSWorld>().QEItemHandlers.FirstOrDefault(itemPair => Equals(itemPair.Frequency, frequency)).Handler.GetItemInSlot(slot), true);
            packet.Send(ignoreClient: ignoreClient);
        }