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()); } }
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); } } }
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!"); }
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(); }
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()); } }