public static bool Orb_Command_Flight_Smoke_Method(Server.NetObject NetObj, CommandReader Command) { if (Command._CmdArguments.Count() < 3) { NetObj.ClientObject.SendMessage("&eFormat incorrect: Use instead: \"/Smoke Red Green Blue\"!"); return(false); } byte Alpha = 0; byte Red = 255; byte Green = 255; byte Blue = 255; try { Red = Byte.Parse(Command._CmdArguments[0]); Green = Byte.Parse(Command._CmdArguments[1]); Blue = Byte.Parse(Command._CmdArguments[2]); } catch { NetObj.ClientObject.SendMessage("&eFormat incorrect: Be sure you are using values between 0 and 255!"); return(false); } if (NetObj.Vehicle.ID == 0) { NetObj.ClientObject.SendMessage("&eYou need to be flying in order to change your smoke color!"); return(false); } Network.Packets.Type07_SmokeCol SmokePacket = new Network.Packets.Type07_SmokeCol(); SmokePacket.ID = NetObj.Vehicle.ID; SmokePacket.Alpha = Alpha; SmokePacket.Red = Red; SmokePacket.Green = Green; SmokePacket.Blue = Blue; NetObj.Smoke = ""; NetObj.HostObject.Send(SmokePacket.Serialise()); NetObj.ClientObject.Send(SmokePacket.Serialise()); return(true); }
public static bool Orb_Command_Flight_Smoke_Rainbow_Method(Server.NetObject NetObj, CommandReader Command) { byte Alpha = 0; byte Red = 255; byte Green = 0; byte Blue = 0; if (NetObj.Vehicle.ID == 0) { NetObj.ClientObject.SendMessage("&eYou need to be flying in order to change your smoke color!"); return(false); } NetObj.Smoke = ""; //This will help us cancel other rainbows! Thread.Sleep(10); NetObj.Smoke = "RAINBOW"; int Hue = 0; while (NetObj.Vehicle.ID != 0 && NetObj.Smoke == "RAINBOW") { if (Hue >= 360) { Hue = 0; } Network.Packets.Type07_SmokeCol SmokePacket = new Network.Packets.Type07_SmokeCol(); SmokePacket.ID = NetObj.Vehicle.ID; SmokePacket.Alpha = Alpha; SmokePacket.Red = 0; SmokePacket.Green = 0; SmokePacket.Blue = 0; if (Hue < 60) { Red = 255; Green = (byte)(Math.Ceiling(((Hue) / 60d) * 255)); } else if (Hue < 120) { Red = (byte)(Math.Ceiling(((Hue - 60) / 60d) * -255) + 255); Green = 255; } else if (Hue < 180) { Green = 255; Blue = (byte)(Math.Ceiling(((Hue - 120) / 60d) * 255)); } else if (Hue < 240) { Green = (byte)(Math.Ceiling(((Hue - 180) / 60d) * -255) + 255); Blue = 255; } else if (Hue < 300) { Blue = 255; Red = (byte)(Math.Ceiling(((Hue - 240) / 60d) * 255)); } else if (Hue < 360) { Blue = (byte)(Math.Ceiling(((Hue - 300) / 60d) * -255) + 255); Red = 255; } SmokePacket.Red = Red; SmokePacket.Green = Green; SmokePacket.Blue = Blue; Hue += 1; Thread.Sleep(10); if (NetObj.Smoke == "RAINBOW") { NetObj.HostObject.Send(SmokePacket.Serialise()); NetObj.ClientObject.Send(SmokePacket.Serialise()); } } return(true); }
public void Process_Type07_SmokeCol(Network.Packet Packet) { Network.Packets.Type07_SmokeCol ThisPacket = new Network.Packets.Type07_SmokeCol(Packet); Parent.HostObject.Send(ThisPacket.Serialise()); }