Beispiel #1
0
 public static void TeleportPlayer(Players.Player target, Vector3 position)
 {
     using (ByteBuilder byteBuilder = ByteBuilder.Get()) {
         byteBuilder.Write(ClientMessageType.ReceivePosition);
         byteBuilder.Write(position);
         NetworkWrapper.Send(byteBuilder, target);
     }
 }
 public static byte[] GetPacket(Colony colony)
 {
     using (ByteBuilder b = ByteBuilder.Get()) {
         b.Write(ClientMessageType.ReceiveConstructionLimits);
         b.Write(colony?.TemporaryData.GetAsOrDefault("pipliz.builderlimit", 0) ?? 0);
         b.Write(colony?.TemporaryData.GetAsOrDefault("pipliz.diggerlimit", 0) ?? 0);
         return(b.ToArray());
     }
 }
Beispiel #3
0
        public static void sendAllSilent(string message, ChatColour colour = ChatColour.white, ChatStyle style = ChatStyle.normal, Pipliz.Chatting.ChatSenderType sender = Pipliz.Chatting.ChatSenderType.Server)
        {
            ChatSenderType type         = ChatSenderType.Server;
            string         messageBuilt = buildMessage(message, colour, style);


            using (ByteBuilder byteBuilder = ByteBuilder.Get())
            {
                byteBuilder.Write((ushort)ClientMessageType.Chat);
                byteBuilder.Write((byte)type);
                byteBuilder.Write(messageBuilt);
                Players.SendToAll(byteBuilder.ToArray(), NetworkMessageReliability.ReliableWithBuffering);
            }
        }
        public static void SendPacket(Players.Player player)
        {
            if (player.IsConnected)
            {
                int builder = player.GetTempValues(false).GetOrDefault("pipliz.builderlimit", 0);
                int digger  = player.GetTempValues(false).GetOrDefault("pipliz.diggerlimit", 0);

                using (ByteBuilder b = ByteBuilder.Get()) {
                    b.Write(General.Networking.ClientMessageType.ReceiveConstructionLimits);
                    b.Write(builder);
                    b.Write(digger);
                    NetworkWrapper.Send(b.ToArray(), player);
                }
            }
        }
Beispiel #5
0
        public static void sendSilent(Players.Player player, string message, ChatColour colour = ChatColour.white, ChatStyle style = ChatStyle.normal, Pipliz.Chatting.ChatSenderType sender = Pipliz.Chatting.ChatSenderType.Server)
        {
            ChatSenderType type = ChatSenderType.Server;

            if (!(player.ID == NetworkID.Server))
            {
                string messageBuilt = buildMessage(message, colour, style);

                using (ByteBuilder byteBuilder = ByteBuilder.Get())
                {
                    byteBuilder.Write((ushort)ClientMessageType.Chat);
                    byteBuilder.Write((byte)type);
                    byteBuilder.Write(messageBuilt);
                    NetworkWrapper.Send(byteBuilder.ToArray(), player, NetworkMessageReliability.ReliableWithBuffering);
                }
            }
            //send(player, message, colour, style, sender);
        }
 public static void SendGhostBlock(Colony colony, Vector3Int position, ItemType type)
 {
     using (ByteBuilder data = ByteBuilder.Get())
     {
         data.Write(ClientMessageType.BlockChange);
         data.WriteVariable(position);
         data.WriteVariable(type.ItemIndex);
         Players.SendToNearbyDrawDistance(position, data, 2000, NetworkMessageReliability.ReliableWithBuffering);
     }
     Log.Write("Sending ghost block!");
 }
Beispiel #7
0
        private void UpdatePlayerVariables()
        {
            using (ByteBuilder bRaw = ByteBuilder.Get())
            {
                bRaw.Write(ClientMessageType.ReceiveServerPerClientSettings);
                using (ByteBuilder b = ByteBuilder.Get())
                {
                    b.Write(_playerVariables.ToString());
                    bRaw.WriteCompressed(b);
                }
                NetworkWrapper.Send(bRaw.ToArray(), Player.ID);
            }

            Player.SendHealthPacket();
        }
Beispiel #8
0
        public void saveBlueprint(string filename)
        {
            using (ByteBuilder builder = ByteBuilder.Get())
            {
                builder.WriteVariable(playerMod);

                builder.WriteVariable(types.Count);

                builder.WriteVariable(xSize);
                builder.WriteVariable(ySize);
                builder.WriteVariable(zSize);

                using (ByteBuilder compressed = ByteBuilder.Get())
                {
                    foreach (var key in types.Keys)
                    {
                        compressed.WriteVariable(key);
                        compressed.Write(types[key]);
                    }

                    for (int x = 0; x < xSize; x++)
                    {
                        for (int y = 0; y < ySize; y++)
                        {
                            for (int z = 0; z < zSize; z++)
                            {
                                compressed.WriteVariable(blocks[x, y, z]);
                            }
                        }
                    }

                    builder.WriteCompressed(compressed);
                }

                //return builder.ToArray();
                File.WriteAllBytes(BlueprintManager.MODPATH + "/blueprints/" + filename + ".b", builder.ToArray());
            }
        }