Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Converted with ttyyuu12345's model to script plugin v4
- function sandbox(var,func)
- local env = getfenv(func)
- local newenv = setmetatable({},{
- __index = function(self,k)
- if k=="script" then
- return var
- else
- return env[k]
- end
- end,
- })
- setfenv(func,newenv)
- return func
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- Model0 = Instance.new("Model")
- Model1 = Instance.new("Model")
- Model2 = Instance.new("Model")
- Part3 = Instance.new("Part")
- Attachment4 = Instance.new("Attachment")
- Part5 = Instance.new("Part")
- Attachment6 = Instance.new("Attachment")
- Part7 = Instance.new("Part")
- Attachment8 = Instance.new("Attachment")
- Part9 = Instance.new("Part")
- Attachment10 = Instance.new("Attachment")
- Part11 = Instance.new("Part")
- Attachment12 = Instance.new("Attachment")
- Part13 = Instance.new("Part")
- Attachment14 = Instance.new("Attachment")
- Part15 = Instance.new("Part")
- Attachment16 = Instance.new("Attachment")
- Seat17 = Instance.new("Seat")
- Part18 = Instance.new("Part")
- Attachment19 = Instance.new("Attachment")
- Attachment20 = Instance.new("Attachment")
- Model21 = Instance.new("Model")
- ObjectValue22 = Instance.new("ObjectValue")
- ObjectValue23 = Instance.new("ObjectValue")
- Part24 = Instance.new("Part")
- ObjectValue25 = Instance.new("ObjectValue")
- Part26 = Instance.new("Part")
- ObjectValue27 = Instance.new("ObjectValue")
- Part28 = Instance.new("Part")
- ObjectValue29 = Instance.new("ObjectValue")
- ObjectValue30 = Instance.new("ObjectValue")
- Model31 = Instance.new("Model")
- Part32 = Instance.new("Part")
- ObjectValue33 = Instance.new("ObjectValue")
- Part34 = Instance.new("Part")
- ObjectValue35 = Instance.new("ObjectValue")
- Part36 = Instance.new("Part")
- ObjectValue37 = Instance.new("ObjectValue")
- Part38 = Instance.new("Part")
- Sound39 = Instance.new("Sound")
- Sound40 = Instance.new("Sound")
- Sound41 = Instance.new("Sound")
- Sound42 = Instance.new("Sound")
- Sound43 = Instance.new("Sound")
- Fire44 = Instance.new("Fire")
- Smoke45 = Instance.new("Smoke")
- Sound46 = Instance.new("Sound")
- Sound47 = Instance.new("Sound")
- Sound48 = Instance.new("Sound")
- Part49 = Instance.new("Part")
- ObjectValue50 = Instance.new("ObjectValue")
- Part51 = Instance.new("Part")
- ObjectValue52 = Instance.new("ObjectValue")
- Part53 = Instance.new("Part")
- Script54 = Instance.new("Script")
- Script55 = Instance.new("Script")
- LocalScript56 = Instance.new("LocalScript")
- ObjectValue57 = Instance.new("ObjectValue")
- BoolValue58 = Instance.new("BoolValue")
- RemoteEvent59 = Instance.new("RemoteEvent")
- RemoteEvent60 = Instance.new("RemoteEvent")
- ScreenGui61 = Instance.new("ScreenGui")
- Frame62 = Instance.new("Frame")
- TextLabel63 = Instance.new("TextLabel")
- Frame64 = Instance.new("Frame")
- Frame65 = Instance.new("Frame")
- TextButton66 = Instance.new("TextButton")
- TextLabel67 = Instance.new("TextLabel")
- TextLabel68 = Instance.new("TextLabel")
- Frame69 = Instance.new("Frame")
- TextLabel70 = Instance.new("TextLabel")
- TextLabel71 = Instance.new("TextLabel")
- Frame72 = Instance.new("Frame")
- TextLabel73 = Instance.new("TextLabel")
- TextLabel74 = Instance.new("TextLabel")
- ScreenGui75 = Instance.new("ScreenGui")
- Frame76 = Instance.new("Frame")
- TextLabel77 = Instance.new("TextLabel")
- Frame78 = Instance.new("Frame")
- Frame79 = Instance.new("Frame")
- TextButton80 = Instance.new("TextButton")
- TextLabel81 = Instance.new("TextLabel")
- TextLabel82 = Instance.new("TextLabel")
- Frame83 = Instance.new("Frame")
- TextLabel84 = Instance.new("TextLabel")
- TextLabel85 = Instance.new("TextLabel")
- Frame86 = Instance.new("Frame")
- TextLabel87 = Instance.new("TextLabel")
- TextLabel88 = Instance.new("TextLabel")
- TextButton89 = Instance.new("TextButton")
- Frame90 = Instance.new("Frame")
- TextLabel91 = Instance.new("TextLabel")
- TextButton92 = Instance.new("TextButton")
- Frame93 = Instance.new("Frame")
- Frame94 = Instance.new("Frame")
- TextLabel95 = Instance.new("TextLabel")
- TextLabel96 = Instance.new("TextLabel")
- Frame97 = Instance.new("Frame")
- Frame98 = Instance.new("Frame")
- TextLabel99 = Instance.new("TextLabel")
- TextLabel100 = Instance.new("TextLabel")
- Frame101 = Instance.new("Frame")
- Frame102 = Instance.new("Frame")
- TextLabel103 = Instance.new("TextLabel")
- TextLabel104 = Instance.new("TextLabel")
- Frame105 = Instance.new("Frame")
- Frame106 = Instance.new("Frame")
- TextLabel107 = Instance.new("TextLabel")
- TextLabel108 = Instance.new("TextLabel")
- Frame109 = Instance.new("Frame")
- Frame110 = Instance.new("Frame")
- TextLabel111 = Instance.new("TextLabel")
- TextButton112 = Instance.new("TextButton")
- Frame113 = Instance.new("Frame")
- TextLabel114 = Instance.new("TextLabel")
- Frame115 = Instance.new("Frame")
- Frame116 = Instance.new("Frame")
- TextLabel117 = Instance.new("TextLabel")
- TextLabel118 = Instance.new("TextLabel")
- Frame119 = Instance.new("Frame")
- Frame120 = Instance.new("Frame")
- TextLabel121 = Instance.new("TextLabel")
- TextLabel122 = Instance.new("TextLabel")
- Frame123 = Instance.new("Frame")
- Frame124 = Instance.new("Frame")
- TextLabel125 = Instance.new("TextLabel")
- TextLabel126 = Instance.new("TextLabel")
- Frame127 = Instance.new("Frame")
- Frame128 = Instance.new("Frame")
- TextLabel129 = Instance.new("TextLabel")
- TextLabel130 = Instance.new("TextLabel")
- Frame131 = Instance.new("Frame")
- Frame132 = Instance.new("Frame")
- TextLabel133 = Instance.new("TextLabel")
- TextButton134 = Instance.new("TextButton")
- Frame135 = Instance.new("Frame")
- TextLabel136 = Instance.new("TextLabel")
- ScreenGui137 = Instance.new("ScreenGui")
- Frame138 = Instance.new("Frame")
- TextLabel139 = Instance.new("TextLabel")
- Frame140 = Instance.new("Frame")
- Frame141 = Instance.new("Frame")
- TextButton142 = Instance.new("TextButton")
- Frame143 = Instance.new("Frame")
- TextLabel144 = Instance.new("TextLabel")
- TextLabel145 = Instance.new("TextLabel")
- Frame146 = Instance.new("Frame")
- TextLabel147 = Instance.new("TextLabel")
- TextLabel148 = Instance.new("TextLabel")
- Frame149 = Instance.new("Frame")
- Frame150 = Instance.new("Frame")
- TextButton151 = Instance.new("TextButton")
- TextLabel152 = Instance.new("TextLabel")
- Frame153 = Instance.new("Frame")
- Frame154 = Instance.new("Frame")
- TextButton155 = Instance.new("TextButton")
- TextLabel156 = Instance.new("TextLabel")
- TextButton157 = Instance.new("TextButton")
- TextButton158 = Instance.new("TextButton")
- BoolValue159 = Instance.new("BoolValue")
- Script160 = Instance.new("Script")
- BoolValue161 = Instance.new("BoolValue")
- Model162 = Instance.new("Model")
- Model163 = Instance.new("Model")
- ObjectValue164 = Instance.new("ObjectValue")
- ObjectValue165 = Instance.new("ObjectValue")
- Part166 = Instance.new("Part")
- Part167 = Instance.new("Part")
- Model168 = Instance.new("Model")
- Part169 = Instance.new("Part")
- Part170 = Instance.new("Part")
- Part171 = Instance.new("Part")
- Part172 = Instance.new("Part")
- Part173 = Instance.new("Part")
- Part174 = Instance.new("Part")
- Part175 = Instance.new("Part")
- Part176 = Instance.new("Part")
- Part177 = Instance.new("Part")
- ObjectValue178 = Instance.new("ObjectValue")
- Part179 = Instance.new("Part")
- Model180 = Instance.new("Model")
- Attachment181 = Instance.new("Attachment")
- Attachment182 = Instance.new("Attachment")
- Part183 = Instance.new("Part")
- Attachment184 = Instance.new("Attachment")
- HingeConstraint185 = Instance.new("HingeConstraint")
- Part186 = Instance.new("Part")
- Attachment187 = Instance.new("Attachment")
- HingeConstraint188 = Instance.new("HingeConstraint")
- Model189 = Instance.new("Model")
- Part190 = Instance.new("Part")
- ObjectValue191 = Instance.new("ObjectValue")
- Part192 = Instance.new("Part")
- ObjectValue193 = Instance.new("ObjectValue")
- Part194 = Instance.new("Part")
- ObjectValue195 = Instance.new("ObjectValue")
- Part196 = Instance.new("Part")
- ObjectValue197 = Instance.new("ObjectValue")
- Part198 = Instance.new("Part")
- SurfaceGui199 = Instance.new("SurfaceGui")
- TextLabel200 = Instance.new("TextLabel")
- Model0.Name = "Plane"
- Model0.Parent = mas
- Model1.Name = "Functional"
- Model1.Parent = Model0
- Model2.Name = "ControlSurfaces"
- Model2.Parent = Model1
- Part3.Name = "AileronBottomLeft"
- Part3.Parent = Model2
- Part3.BrickColor = BrickColor.new("Grime")
- Part3.Rotation = Vector3.new(-180, 0, -180)
- Part3.Anchored = true
- Part3.CanCollide = false
- Part3.Size = Vector3.new(6.1999979, 0.200000003, 2.39999986)
- Part3.CFrame = CFrame.new(6.17938185, 5.48912001, -5.25378418, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part3.BottomSurface = Enum.SurfaceType.Smooth
- Part3.TopSurface = Enum.SurfaceType.Smooth
- Part3.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part3.Position = Vector3.new(6.17938185, 5.48912001, -5.25378418)
- Part3.Orientation = Vector3.new(0, 180, 0)
- Part3.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Attachment4.Name = "AnimatedAttachment"
- Attachment4.Parent = Part3
- Attachment4.Rotation = Vector3.new(0, 90, 0)
- Attachment4.CFrame = CFrame.new(-1, 0, -1.19999993, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Attachment4.Position = Vector3.new(-1, 0, -1.19999993)
- Attachment4.Axis = Vector3.new(0, 0, -1)
- Attachment4.Orientation = Vector3.new(0, 90, 0)
- Part5.Name = "AileronBottomRight"
- Part5.Parent = Model2
- Part5.BrickColor = BrickColor.new("Grime")
- Part5.Rotation = Vector3.new(-180, 0, -180)
- Part5.Anchored = true
- Part5.CanCollide = false
- Part5.Size = Vector3.new(6.1999979, 0.200000003, 2.39999986)
- Part5.CFrame = CFrame.new(-27.6203613, 5.48912001, -5.25402784, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part5.BottomSurface = Enum.SurfaceType.Smooth
- Part5.TopSurface = Enum.SurfaceType.Smooth
- Part5.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part5.Position = Vector3.new(-27.6203613, 5.48912001, -5.25402784)
- Part5.Orientation = Vector3.new(0, 180, 0)
- Part5.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Attachment6.Name = "AnimatedAttachment"
- Attachment6.Parent = Part5
- Attachment6.Rotation = Vector3.new(0, 90, 0)
- Attachment6.CFrame = CFrame.new(1, 0, -1.19999993, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Attachment6.Position = Vector3.new(1, 0, -1.19999993)
- Attachment6.Axis = Vector3.new(0, 0, -1)
- Attachment6.Orientation = Vector3.new(0, 90, 0)
- Part7.Name = "AileronTopLeft"
- Part7.Parent = Model2
- Part7.BrickColor = BrickColor.new("Grime")
- Part7.Rotation = Vector3.new(-180, 0, -180)
- Part7.Anchored = true
- Part7.CanCollide = false
- Part7.Size = Vector3.new(6.39999771, 0.200000003, 2.39999986)
- Part7.CFrame = CFrame.new(6.07946587, 11.4890957, -7.05383301, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part7.BottomSurface = Enum.SurfaceType.Smooth
- Part7.TopSurface = Enum.SurfaceType.Smooth
- Part7.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part7.Position = Vector3.new(6.07946587, 11.4890957, -7.05383301)
- Part7.Orientation = Vector3.new(0, 180, 0)
- Part7.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Attachment8.Name = "AnimatedAttachment"
- Attachment8.Parent = Part7
- Attachment8.Rotation = Vector3.new(0, 90, 0)
- Attachment8.CFrame = CFrame.new(-1, 0, -1.19999993, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Attachment8.Position = Vector3.new(-1, 0, -1.19999993)
- Attachment8.Axis = Vector3.new(0, 0, -1)
- Attachment8.Orientation = Vector3.new(0, 90, 0)
- Part9.Name = "AileronTopRight"
- Part9.Parent = Model2
- Part9.BrickColor = BrickColor.new("Grime")
- Part9.Rotation = Vector3.new(-180, 0, -180)
- Part9.Anchored = true
- Part9.CanCollide = false
- Part9.Size = Vector3.new(6.39999771, 0.200000003, 2.39999986)
- Part9.CFrame = CFrame.new(-27.5202026, 11.4890957, -7.05371094, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part9.BottomSurface = Enum.SurfaceType.Smooth
- Part9.TopSurface = Enum.SurfaceType.Smooth
- Part9.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part9.Position = Vector3.new(-27.5202026, 11.4890957, -7.05371094)
- Part9.Orientation = Vector3.new(0, 180, 0)
- Part9.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Attachment10.Name = "AnimatedAttachment"
- Attachment10.Parent = Part9
- Attachment10.Rotation = Vector3.new(0, 90, 0)
- Attachment10.CFrame = CFrame.new(1, 0, -1.19999993, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Attachment10.Position = Vector3.new(1, 0, -1.19999993)
- Attachment10.Axis = Vector3.new(0, 0, -1)
- Attachment10.Orientation = Vector3.new(0, 90, 0)
- Part11.Name = "ElevatorLeft"
- Part11.Parent = Model2
- Part11.BrickColor = BrickColor.new("Grime")
- Part11.Rotation = Vector3.new(-180, 0, -180)
- Part11.Anchored = true
- Part11.Size = Vector3.new(4.5999999, 0.200000003, 2)
- Part11.CFrame = CFrame.new(-7.92047024, 6.98912001, -25.6539307, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part11.BottomSurface = Enum.SurfaceType.Smooth
- Part11.TopSurface = Enum.SurfaceType.Smooth
- Part11.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part11.Position = Vector3.new(-7.92047024, 6.98912001, -25.6539307)
- Part11.Orientation = Vector3.new(0, 180, 0)
- Part11.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Attachment12.Name = "AnimatedAttachment"
- Attachment12.Parent = Part11
- Attachment12.Rotation = Vector3.new(0, 90, 0)
- Attachment12.CFrame = CFrame.new(-1, 0, -1, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Attachment12.Position = Vector3.new(-1, 0, -1)
- Attachment12.Axis = Vector3.new(0, 0, -1)
- Attachment12.Orientation = Vector3.new(0, 90, 0)
- Part13.Name = "ElevatorRight"
- Part13.Parent = Model2
- Part13.BrickColor = BrickColor.new("Grime")
- Part13.Rotation = Vector3.new(-180, 0, -180)
- Part13.Anchored = true
- Part13.Size = Vector3.new(4.5999999, 0.200000003, 2)
- Part13.CFrame = CFrame.new(-13.5205078, 6.98912001, -25.6538086, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part13.BottomSurface = Enum.SurfaceType.Smooth
- Part13.TopSurface = Enum.SurfaceType.Smooth
- Part13.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part13.Position = Vector3.new(-13.5205078, 6.98912001, -25.6538086)
- Part13.Orientation = Vector3.new(0, 180, 0)
- Part13.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Attachment14.Name = "AnimatedAttachment"
- Attachment14.Parent = Part13
- Attachment14.Rotation = Vector3.new(0, 90, 0)
- Attachment14.CFrame = CFrame.new(1, 0, -1, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Attachment14.Position = Vector3.new(1, 0, -1)
- Attachment14.Axis = Vector3.new(0, 0, -1)
- Attachment14.Orientation = Vector3.new(0, 90, 0)
- Part15.Name = "Rudder"
- Part15.Parent = Model2
- Part15.BrickColor = BrickColor.new("Dusty Rose")
- Part15.Rotation = Vector3.new(-180, 0, -90)
- Part15.Anchored = true
- Part15.Size = Vector3.new(3.20000005, 0.200000003, 2)
- Part15.CFrame = CFrame.new(-10.72052, 8.48910427, -26.2539063, 0, 1, 0, 1, 0, 0, 0, 0, -1)
- Part15.BottomSurface = Enum.SurfaceType.Smooth
- Part15.TopSurface = Enum.SurfaceType.Smooth
- Part15.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Part15.Position = Vector3.new(-10.72052, 8.48910427, -26.2539063)
- Part15.Orientation = Vector3.new(0, 180, 90)
- Part15.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Attachment16.Name = "AnimatedAttachment"
- Attachment16.Parent = Part15
- Attachment16.Rotation = Vector3.new(0, 90, 0)
- Attachment16.CFrame = CFrame.new(0, 0, -1, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Attachment16.Position = Vector3.new(0, 0, -1)
- Attachment16.Axis = Vector3.new(0, 0, -1)
- Attachment16.Orientation = Vector3.new(0, 90, 0)
- Seat17.Name = "PilotSeat"
- Seat17.Parent = Model1
- Seat17.Material = Enum.Material.Fabric
- Seat17.BrickColor = BrickColor.new("Institutional white")
- Seat17.Rotation = Vector3.new(-180, 0, -180)
- Seat17.Anchored = true
- Seat17.Size = Vector3.new(2, 0.600000024, 2)
- Seat17.CFrame = CFrame.new(-10.7204599, 6.68909883, -5.25378418, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Seat17.BottomSurface = Enum.SurfaceType.Smooth
- Seat17.TopSurface = Enum.SurfaceType.Smooth
- Seat17.Disabled = true
- Seat17.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Seat17.Position = Vector3.new(-10.7204599, 6.68909883, -5.25378418)
- Seat17.Orientation = Vector3.new(0, 180, 0)
- Seat17.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part18.Name = "Joystick"
- Part18.Parent = Model1
- Part18.Material = Enum.Material.Wood
- Part18.BrickColor = BrickColor.new("Brown")
- Part18.Rotation = Vector3.new(-180, 0, -180)
- Part18.Anchored = true
- Part18.Size = Vector3.new(0.200000003, 2, 0.200000003)
- Part18.CFrame = CFrame.new(-10.7204599, 7.38911104, -3.95385909, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part18.BottomSurface = Enum.SurfaceType.Smooth
- Part18.TopSurface = Enum.SurfaceType.Smooth
- Part18.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Part18.Position = Vector3.new(-10.7204599, 7.38911104, -3.95385909)
- Part18.Orientation = Vector3.new(0, 180, 0)
- Part18.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Attachment19.Name = "AnimatedAttachment"
- Attachment19.Parent = Part18
- Attachment19.Rotation = Vector3.new(-0, -0, -90)
- Attachment19.CFrame = CFrame.new(0, -1, 0, 0, 1, -0, -1, 0, 0, 0, 0, 1)
- Attachment19.Position = Vector3.new(0, -1, 0)
- Attachment19.Axis = Vector3.new(0, -1, 0)
- Attachment19.Orientation = Vector3.new(-0, -0, -90)
- Attachment20.Name = "AnimatedAttachment"
- Attachment20.Parent = mas
- Attachment20.Rotation = Vector3.new(-0, -90, 0)
- Attachment20.CFrame = CFrame.new(0, 0, 0.5, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Attachment20.Position = Vector3.new(0, 0, 0.5)
- Attachment20.Axis = Vector3.new(0, 0, 1)
- Attachment20.Orientation = Vector3.new(-0, -90, 0)
- Model21.Name = "StaticAirFoils"
- Model21.Parent = Model1
- ObjectValue22.Name = "DamageCollider"
- ObjectValue22.Parent = mas
- ObjectValue23.Name = "DamageCollider"
- ObjectValue23.Parent = mas
- Part24.Name = "HorizontalStabilizerLeft"
- Part24.Parent = Model21
- Part24.BrickColor = BrickColor.new("Grime")
- Part24.Rotation = Vector3.new(-180, 0, -180)
- Part24.Anchored = true
- Part24.Size = Vector3.new(5, 0.200000003, 2)
- Part24.CFrame = CFrame.new(-8.12030029, 6.98912001, -23.6539307, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part24.BottomSurface = Enum.SurfaceType.Smooth
- Part24.TopSurface = Enum.SurfaceType.Smooth
- Part24.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part24.Position = Vector3.new(-8.12030029, 6.98912001, -23.6539307)
- Part24.Orientation = Vector3.new(0, 180, 0)
- Part24.Color = Color3.new(0.498039, 0.556863, 0.392157)
- ObjectValue25.Name = "DamageCollider"
- ObjectValue25.Parent = Part24
- Part26.Name = "HorizontalStabilizerRight"
- Part26.Parent = Model21
- Part26.BrickColor = BrickColor.new("Grime")
- Part26.Rotation = Vector3.new(-180, 0, -180)
- Part26.Anchored = true
- Part26.Size = Vector3.new(5, 0.200000003, 2)
- Part26.CFrame = CFrame.new(-13.3204937, 6.98912001, -23.6538086, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part26.BottomSurface = Enum.SurfaceType.Smooth
- Part26.TopSurface = Enum.SurfaceType.Smooth
- Part26.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part26.Position = Vector3.new(-13.3204937, 6.98912001, -23.6538086)
- Part26.Orientation = Vector3.new(0, 180, 0)
- Part26.Color = Color3.new(0.498039, 0.556863, 0.392157)
- ObjectValue27.Name = "DamageCollider"
- ObjectValue27.Parent = Part26
- Part28.Name = "VerticalStabilizer"
- Part28.Parent = Model21
- Part28.BrickColor = BrickColor.new("Cyan")
- Part28.Rotation = Vector3.new(-180, 0, -90)
- Part28.Anchored = true
- Part28.Size = Vector3.new(3, 0.200000003, 2)
- Part28.CFrame = CFrame.new(-10.7206421, 9.38909626, -24.2536621, 0, 1, 0, 1, 0, 0, 0, 0, -1)
- Part28.BottomSurface = Enum.SurfaceType.Smooth
- Part28.TopSurface = Enum.SurfaceType.Smooth
- Part28.Color = Color3.new(0.0156863, 0.686275, 0.92549)
- Part28.Position = Vector3.new(-10.7206421, 9.38909626, -24.2536621)
- Part28.Orientation = Vector3.new(0, 180, 90)
- Part28.Color = Color3.new(0.0156863, 0.686275, 0.92549)
- ObjectValue29.Name = "DamageCollider"
- ObjectValue29.Parent = Part28
- ObjectValue30.Name = "DamageCollider"
- ObjectValue30.Parent = mas
- Model31.Name = "Engine"
- Model31.Parent = Model1
- Part32.Name = "EnginePart"
- Part32.Parent = Model31
- Part32.Material = Enum.Material.SmoothPlastic
- Part32.BrickColor = BrickColor.new("Mid gray")
- Part32.Reflectance = 0.30000001192093
- Part32.Rotation = Vector3.new(-180, 0, -180)
- Part32.Anchored = true
- Part32.Size = Vector3.new(0.599999905, 4, 1.80000007)
- Part32.CFrame = CFrame.new(-12.4202261, 7.38911104, -0.153810993, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part32.BottomSurface = Enum.SurfaceType.Smooth
- Part32.TopSurface = Enum.SurfaceType.Smooth
- Part32.Color = Color3.new(0.803922, 0.803922, 0.803922)
- Part32.Position = Vector3.new(-12.4202261, 7.38911104, -0.153810993)
- Part32.Orientation = Vector3.new(0, 180, 0)
- Part32.Color = Color3.new(0.803922, 0.803922, 0.803922)
- ObjectValue33.Name = "DamageCollider"
- ObjectValue33.Parent = Part32
- Part34.Name = "EnginePart"
- Part34.Parent = Model31
- Part34.Material = Enum.Material.SmoothPlastic
- Part34.BrickColor = BrickColor.new("Mid gray")
- Part34.Reflectance = 0.30000001192093
- Part34.Rotation = Vector3.new(-180, 0, -180)
- Part34.Anchored = true
- Part34.Size = Vector3.new(2.79999995, 0.600000024, 1.80000007)
- Part34.CFrame = CFrame.new(-10.7204599, 9.08911037, -0.153810993, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part34.BottomSurface = Enum.SurfaceType.Smooth
- Part34.TopSurface = Enum.SurfaceType.Smooth
- Part34.Color = Color3.new(0.803922, 0.803922, 0.803922)
- Part34.Position = Vector3.new(-10.7204599, 9.08911037, -0.153810993)
- Part34.Orientation = Vector3.new(0, 180, 0)
- Part34.Color = Color3.new(0.803922, 0.803922, 0.803922)
- ObjectValue35.Name = "DamageCollider"
- ObjectValue35.Parent = Part34
- Part36.Name = "EnginePart"
- Part36.Parent = Model31
- Part36.Material = Enum.Material.SmoothPlastic
- Part36.BrickColor = BrickColor.new("Mid gray")
- Part36.Reflectance = 0.30000001192093
- Part36.Rotation = Vector3.new(-180, 0, -180)
- Part36.Anchored = true
- Part36.Size = Vector3.new(2.79999995, 0.600000024, 1.80000007)
- Part36.CFrame = CFrame.new(-10.7204599, 5.68909883, -0.153810993, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part36.BottomSurface = Enum.SurfaceType.Smooth
- Part36.TopSurface = Enum.SurfaceType.Smooth
- Part36.Color = Color3.new(0.803922, 0.803922, 0.803922)
- Part36.Position = Vector3.new(-10.7204599, 5.68909883, -0.153810993)
- Part36.Orientation = Vector3.new(0, 180, 0)
- Part36.Color = Color3.new(0.803922, 0.803922, 0.803922)
- ObjectValue37.Name = "DamageCollider"
- ObjectValue37.Parent = Part36
- Part38.Name = "EngineMain"
- Part38.Parent = Model31
- Part38.Material = Enum.Material.SmoothPlastic
- Part38.BrickColor = BrickColor.new("Mid gray")
- Part38.Reflectance = 0.30000001192093
- Part38.Rotation = Vector3.new(-180, 0, -180)
- Part38.Anchored = true
- Part38.Size = Vector3.new(2.79999995, 2.80000019, 0.600000024)
- Part38.CFrame = CFrame.new(-10.7204599, 7.38911104, 0.246094003, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part38.BottomSurface = Enum.SurfaceType.Smooth
- Part38.TopSurface = Enum.SurfaceType.Smooth
- Part38.Color = Color3.new(0.803922, 0.803922, 0.803922)
- Part38.Position = Vector3.new(-10.7204599, 7.38911104, 0.246094003)
- Part38.Orientation = Vector3.new(0, 180, 0)
- Part38.Color = Color3.new(0.803922, 0.803922, 0.803922)
- Sound39.Name = "Shutdown"
- Sound39.Parent = Part38
- Sound39.SoundId = "rbxassetid://133922235"
- Sound40.Name = "Startup"
- Sound40.Parent = Part38
- Sound40.SoundId = "rbxassetid://133859905"
- Sound41.Name = "Idle"
- Sound41.Parent = Part38
- Sound41.SoundId = "rbxassetid://618990950"
- Sound41.Looped = true
- Sound42.Name = "LowThrottle"
- Sound42.Parent = Part38
- Sound42.SoundId = "rbxassetid://618991005"
- Sound42.Looped = true
- Sound43.Name = "Flying"
- Sound43.Parent = Part38
- Sound43.SoundId = "rbxassetid://618991252"
- Sound43.Looped = true
- Fire44.Parent = Part38
- Fire44.Size = 20
- Fire44.Color = Color3.new(0.92549, 0.545098, 0.27451)
- Fire44.Enabled = false
- Fire44.Heat = 25
- Fire44.SecondaryColor = Color3.new(0.545098, 0.313726, 0.215686)
- Fire44.Color = Color3.new(0.92549, 0.545098, 0.27451)
- Smoke45.Parent = Part38
- Smoke45.Size = 10
- Smoke45.Color = Color3.new(0.384314, 0.384314, 0.384314)
- Smoke45.Enabled = false
- Smoke45.RiseVelocity = 10
- Smoke45.Color = Color3.new(0.384314, 0.384314, 0.384314)
- Sound46.Name = "Explosion1"
- Sound46.Parent = Part38
- Sound46.SoundId = "rbxassetid://413503439"
- Sound46.Volume = 1
- Sound47.Name = "Explosion2"
- Sound47.Parent = Part38
- Sound47.SoundId = "rbxassetid://157878578"
- Sound48.Name = "Explosion3"
- Sound48.Parent = Part38
- Sound48.SoundId = "rbxassetid://165969964"
- Part49.Name = "EnginePart"
- Part49.Parent = Model31
- Part49.Material = Enum.Material.SmoothPlastic
- Part49.BrickColor = BrickColor.new("Mid gray")
- Part49.Reflectance = 0.30000001192093
- Part49.Rotation = Vector3.new(-180, 0, -180)
- Part49.Anchored = true
- Part49.Size = Vector3.new(0.599999905, 4, 1.80000007)
- Part49.CFrame = CFrame.new(-9.02026367, 7.38911104, -0.153933004, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part49.BottomSurface = Enum.SurfaceType.Smooth
- Part49.TopSurface = Enum.SurfaceType.Smooth
- Part49.Color = Color3.new(0.803922, 0.803922, 0.803922)
- Part49.Position = Vector3.new(-9.02026367, 7.38911104, -0.153933004)
- Part49.Orientation = Vector3.new(0, 180, 0)
- Part49.Color = Color3.new(0.803922, 0.803922, 0.803922)
- ObjectValue50.Name = "DamageCollider"
- ObjectValue50.Parent = Part49
- Part51.Name = "Nose"
- Part51.Parent = Model31
- Part51.Transparency = 1
- Part51.Rotation = Vector3.new(-180, 0, -180)
- Part51.Anchored = true
- Part51.Shape = Enum.PartType.Ball
- Part51.Size = Vector3.new(2, 2, 2)
- Part51.CFrame = CFrame.new(-10.7203379, 7.38911104, 1.04626298, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part51.BottomSurface = Enum.SurfaceType.Smooth
- Part51.TopSurface = Enum.SurfaceType.Smooth
- Part51.Position = Vector3.new(-10.7203379, 7.38911104, 1.04626298)
- Part51.Orientation = Vector3.new(0, 180, 0)
- ObjectValue52.Name = "DamageCollider"
- ObjectValue52.Parent = Part51
- Part53.Name = "TailSkid"
- Part53.Parent = Model1
- Part53.Material = Enum.Material.Wood
- Part53.BrickColor = BrickColor.new("Brown")
- Part53.Rotation = Vector3.new(-150, 0, -180)
- Part53.Anchored = true
- Part53.Size = Vector3.new(0.200000003, 2.60000014, 0.200000003)
- Part53.CFrame = CFrame.new(-10.7203379, 5.9623208, -22.4538574, -1, 0, 0, 0, 0.866025388, 0.500000238, 0, 0.500000238, -0.866025388)
- Part53.BottomSurface = Enum.SurfaceType.Smooth
- Part53.TopSurface = Enum.SurfaceType.Smooth
- Part53.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Part53.Position = Vector3.new(-10.7203379, 5.9623208, -22.4538574)
- Part53.Orientation = Vector3.new(-30, 180, 0)
- Part53.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Script54.Name = "Welder"
- Script54.Parent = Model0
- table.insert(cors,sandbox(Script54,function()
- -- Welder
- -- Crazyman32
- -- January 18, 2017
- --[[
- Welds the plane together! Also creates special welds
- for animations, which are designated by Attachment
- objects named "AnimatedAttchment" within parts.
- Animations are done with a bit of trickery. Since I
- want to simply rotate the welds in order to rotate
- surface control parts, I came up with a design that
- creates two "joint" parts at the location of the
- AnimatedAttachment object. One of the joints is
- auto-welded to the primary part of the plane. The
- other joint is welded directly to the first joint.
- This second joint will contain the "animate" weld
- object that can simply be rotated to move the surface.
- Finally, the control surface itself is auto-welded
- to the second joint, so that moving the second joint
- will move the control surface.
- To break that paragraph down in steps:
- 1. Create 2 "joint" parts (J1 and J2), both at the location of AnimatedAttachment
- 2. Auto-weld J1 to the plane
- 3. Weld J2 directly to J1
- 4. Auto-weld the control surface to J2
- 5. Use the J2 weld to animate the control surface by setting it's C0 cframe property
- --]]
- local plane = script.Parent
- local readyToWeld = plane:WaitForChild("ReadyToWeld")
- while (not readyToWeld.Value) do wait() end
- readyToWeld:Destroy()
- readyToWeld = nil
- -- Don't weld any parts that have the following names in ignore table:
- local ignore = {
- -- Ignore the wheels because they use physics Hinges instead of welds:
- ["WheelLeft"] = true;
- ["WheelRight"] = true;
- }
- -- Set the "EngineMain" part as the PrimaryPart of the model: (super important for almost every other script in the system)
- local main = plane:WaitForChild("Functional"):WaitForChild("Engine"):WaitForChild("EngineMain")
- plane.PrimaryPart = main
- -- Putting all the welds into this folder:
- local welds = Instance.new("Folder", plane)
- welds.Name = "Welds"
- -- Putting all the animated welds into this folder:
- local animWelds = Instance.new("Folder", welds)
- animWelds.Name = "AnimatedWelds"
- -- Putting all the joints into this model:
- local joints = Instance.new("Model", plane)
- joints.Name = "Joints"
- -- Our Joint "prefab":
- local joint = Instance.new("Part")
- joint.Name = "Joint"
- joint.Anchored = true
- joint.CanCollide = false
- joint.Locked = true
- joint.Material = Enum.Material.SmoothPlastic
- joint.TopSurface = Enum.SurfaceType.Smooth
- joint.BottomSurface = Enum.SurfaceType.Smooth
- joint.Transparency = 1
- joint.Size = Vector3.new(0.4, 0.4, 0.4)
- -- Autoweld 'p0' to 'p1':
- function AutoWeldTo(p0, p1)
- -- See ROBLOX Wiki page to understand how this works:
- -- http://wiki.roblox.com/index.php?title=Weld#Welding_together_two_existing_bricks
- local w = Instance.new("Weld", welds)
- w.Name = "PlaneWeld"
- w.Part0, w.Part1 = p0, p1
- w.C0 = p0.CFrame:inverse() * p1.CFrame
- end
- -- Auto-weld the given part to the 'main' part of the plane:
- function AutoWeld(part)
- AutoWeldTo(part, main)
- end
- -- Weld all descendants of 'parent':
- function Weld(parent)
- if (parent == joints) then return end
- for _,child in pairs(parent:GetChildren()) do
- if (child:IsA("BasePart") and child ~= main) then
- local attachment = child:FindFirstChild("AnimatedAttachment")
- -- Weld animated parts:
- if (attachment) then
- local offset = attachment.Position
- -- Joint1:
- local j1 = joint:Clone()
- j1.Parent = joints
- -- Sorry, this is gross! It places the joint at the position of the attachment:
- j1.CFrame = child.CFrame * CFrame.new(offset.X, offset.Y, offset.Z) * CFrame.Angles(math.rad(attachment.Rotation.X), math.rad(attachment.Rotation.Y), math.rad(attachment.Rotation.Z))
- -- Joint2:
- local j2 = j1:Clone()
- j2.Parent = joints
- -- The animated weld:
- local animWeld = Instance.new("Weld", animWelds)
- animWeld.Name = child.Name
- animWeld.Part0, animWeld.Part1 = j1, j2
- AutoWeldTo(child, j2)
- AutoWeld(j1)
- j1.Anchored = false
- j2.Anchored = false
- attachment:Destroy()
- -- Weld non-ignored and non-animated parts directly to the plane:
- elseif (not ignore[child.Name]) then
- AutoWeld(child)
- end
- child.Anchored = false
- end
- Weld(child)
- end
- end
- Weld(plane)
- main.Anchored = false
- -- Mark as ready, so that the Controller script knows the plane is welded:
- local welded = Instance.new("ObjectValue")
- welded.Name = "Welded"
- welded.Parent = plane
- end))
- Script55.Name = "Controller"
- Script55.Parent = Model0
- table.insert(cors,sandbox(Script55,function()
- -- Controller
- -- Crazyman32
- -- January 18, 2017
- --[[
- This script has 2 primary purposes:
- 1) Handle players entering/leaving the pilot seat
- 2) Run flight physics if no player is present
- When a player is flying the plane, the player's client
- handles the physics calculations. When the player leaves,
- the calculations need to be delegated back to the server,
- hence the 2nd purpose listed.
- e.g. If the player is flying the plane and then leaves
- the server, this script will pick up the physics
- and properly continue to simulate the aircraft.
- --]]
- local plane = script.Parent
- -- Wait for plane to be welded:
- plane:WaitForChild("Welded"):Destroy()
- local main = plane.PrimaryPart
- -- This is what powers the aircraft & is used by the Flyer module:
- local attachment = Instance.new("Attachment",main)
- local vector_force = Instance.new("VectorForce",main)
- vector_force.RelativeTo = Enum.ActuatorRelativeTo.Attachment0
- vector_force.Attachment0 = attachment
- local functional = plane:WaitForChild("Functional")
- local seat = functional:WaitForChild("PilotSeat")
- local flyer = require(plane:WaitForChild("Flyer"))
- local localController = script:WaitForChild("LocalController")
- local dead = plane:WaitForChild("Dead")
- local pilot = nil
- local pilotController = nil
- local updateHandler
- function SetNetworkOwner(player)
- local function Scan(parent)
- for _,v in pairs(parent:GetChildren()) do
- if (v:IsA("BasePart")) then
- v:SetNetworkOwner(player)
- end
- Scan(v)
- end
- end
- Scan(plane)
- end
- -- Server-side plane physics updates:
- function Update()
- flyer:Update()
- --[[
- if (not dead.Value) then
- flyer:UpdateControls()
- end
- ]]
- end
- function UpdateControls()
- if (not dead.Value) then
- flyer:UpdateControls()
- end
- end
- -- Reset flyer inputs:
- function ResetFlyer()
- flyer.Throttle = 0
- flyer.BankInput = 0
- flyer.PitchInput = 0
- flyer.YawInput = 0
- end
- -- Start server-side plane updates:
- function StartUpdating()
- if (updateHandler) then return end
- updateHandler = game:GetService("RunService").Heartbeat:Connect(Update)
- end
- -- Stop server-side plane updates:
- function StopUpdating()
- if (updateHandler) then
- updateHandler:Disconnect()
- updateHandler = nil
- end
- ResetFlyer()
- end
- function PilotExitedEvent(player, t, b, p, y)
- flyer.BankInput = b
- flyer.PitchInput = p
- flyer.YawInput = y
- flyer:ForceRealThrottle(t)
- if (t <= 0.52) then
- flyer.Throttle = 0
- end
- end
- function PilotUpdatedEvent(player, name, ...)
- if (name == "inputs") then
- local inputs = {...}
- flyer.Throttle = inputs[1]
- flyer.BankInput = inputs[2]
- flyer.PitchInput = inputs[3]
- flyer.YawInput = inputs[4]
- end
- end
- -- Handle when a player enters the pilot seat:
- function PilotEntered(player)
- -- Delegate flight controls to the new pilot:
- StopUpdating()
- SetNetworkOwner(player)
- pilot = player
- pilotController = localController:Clone()
- pilotController.Parent = pilot.Backpack
- pilotController:WaitForChild("Plane").Value = plane
- pilotController:WaitForChild("Exited").OnServerEvent:Connect(PilotExitedEvent)
- pilotController:WaitForChild("Updated").OnServerEvent:Connect(PilotUpdatedEvent)
- end
- -- Handle when the pilot leaves the seat:
- function PilotLeft(onPlaneDeath)
- if (not pilot) then return end
- if (not onPlaneDeath) then
- seat.Disabled = true
- end
- -- Tell the client script to stop:
- pilotController.Exit.Value = true
- pilot = nil
- StartUpdating()
- -- Remove network ownership from the player:
- if (not onPlaneDeath) then
- SetNetworkOwner(nil)
- end
- delay(1, function()
- if (pilotController.Parent) then
- pilotController:Destroy()
- end
- pilotController = nil
- if (not seat.Occupant or not dead.Value) then
- seat.Disabled = false
- end
- end)
- end
- -- Track player entering/leaving pilot seat:
- function SeatChanged(property)
- if (property == "Occupant") then
- local humanoid = seat.Occupant
- if (humanoid) then
- local player = game.Players:GetPlayerFromCharacter(humanoid.Parent)
- if (player and not dead.Value) then
- PilotEntered(player)
- end
- else
- PilotLeft()
- end
- end
- end
- dead.Changed:Connect(function(v)
- if (v and pilot) then
- PilotLeft(true)
- end
- end)
- seat.Changed:Connect(SeatChanged)
- seat.Disabled = false
- StartUpdating()
- game:GetService("RunService").Heartbeat:Connect(UpdateControls)
- end))
- LocalScript56.Name = "LocalController"
- LocalScript56.Parent = Script55
- table.insert(cors,sandbox(LocalScript56,function()
- -- Local Controller
- -- Crazyman32
- -- January 18, 2017
- --[[
- This script is given to the pilot of the plane and
- feeds user input to the Flyer module. The Flyer
- module is what is responsible for doing the actual
- heavy work of flying the plane.
- It can dynamically change the type of input used
- to control the plane. The supported controls are
- Keyboard, Mouse+Keyboard, Gamepad, and Mobile.
- --]]
- local IS_CONSOLE = game:GetService("GuiService"):IsTenFootInterface()
- local IS_MOBILE = game:GetService("UserInputService").TouchEnabled and not game:GetService("UserInputService").MouseEnabled and not IS_CONSOLE
- local modal
- local GAMEPAD_DEADZONE = 0.1
- local PI = math.pi
- local ABS = math.abs
- -- Seconds between client sending server input updates:
- local SERVER_UPDATE_INTERVAL = 0.25
- -- Inputs:
- local KEY_W = Enum.KeyCode.W
- local KEY_A = Enum.KeyCode.A
- local KEY_S = Enum.KeyCode.S
- local KEY_D = Enum.KeyCode.D
- local KEY_Q = Enum.KeyCode.Q
- local KEY_E = Enum.KeyCode.E
- local KEY_Z = Enum.KeyCode.Z
- local KEY_X = Enum.KeyCode.X
- local THUMBSTICK_1 = Enum.KeyCode.Thumbstick1
- local THUMBSTICK_2 = Enum.KeyCode.Thumbstick2
- local BUTTON_RB = Enum.KeyCode.ButtonR1
- local BUTTON_RT = Enum.KeyCode.ButtonR2
- local BUTTON_LB = Enum.KeyCode.ButtonL1
- local BUTTON_LT = Enum.KeyCode.ButtonL2
- local MOUSE_BUTTON_2 = Enum.UserInputType.MouseButton2
- local player = game.Players.LocalPlayer
- local plane = script:WaitForChild("Plane")
- while (not plane.Value) do wait() end
- plane = plane.Value
- script.Plane:Destroy()
- local main = plane.PrimaryPart
- local exit = script:WaitForChild("Exit")
- local updated = script:WaitForChild("Updated")
- local flyer = require(plane:WaitForChild("Flyer"))
- local camLock = require(script:WaitForChild("CamLock"))
- local controls = require(script:WaitForChild("Controls"))
- local keyboard = controls.Keyboard
- local mouse = controls.Mouse
- local gamepad = controls.Gamepad
- local mobile = controls.Mobile
- local physicsUpdateHandle
- local renderUpdateName = "PlaneRenderUpdate"
- local lastServerUpdate = 0
- local lastInputUpdate = tick()
- -- Dynamic input function based on user's controls:
- local ReadInput = nil
- -- Keep track of viewport half-size:
- local viewportHalf = game.Workspace.CurrentCamera.ViewportSize * 0.5
- game.Workspace.CurrentCamera.Changed:Connect(function()
- viewportHalf = game.Workspace.CurrentCamera.ViewportSize * 0.5
- end)
- -- Load proper GUI:
- local gui = script:WaitForChild(IS_MOBILE and "PlaneMobileGui" or IS_CONSOLE and "PlaneConsoleGui" or "PlaneGui")
- gui.Parent = player.PlayerGui
- local guiController = require(gui:WaitForChild("GuiController"))
- -- Apply Gamepad Deadzone:
- local function ApplyDeadzone(n)
- if (ABS(n) < GAMEPAD_DEADZONE) then return 0 end
- return (n + (n > 0 and -GAMEPAD_DEADZONE or GAMEPAD_DEADZONE)) / (1 - GAMEPAD_DEADZONE)
- end
- -- Gamepad Input:
- local function ReadGamepadInput(dt)
- -- Get delta time:
- local now = tick()
- local dt = (now - lastInputUpdate)
- lastInputUpdate = now
- -- Get gamepad inputs:
- local thumbstick1 = gamepad:GetPosition(THUMBSTICK_1)
- local thumbstick2 = gamepad:GetPosition(THUMBSTICK_2)
- local lt = ApplyDeadzone(gamepad:GetPosition(BUTTON_LT).Z)
- local rt = ApplyDeadzone(gamepad:GetPosition(BUTTON_RT).Z)
- local lb = gamepad:IsDown(BUTTON_LB)
- local rb = gamepad:IsDown(BUTTON_RB)
- -- Update control inputs:
- flyer.BankInput = ApplyDeadzone(thumbstick2.X)
- flyer.PitchInput = ApplyDeadzone(thumbstick2.Y)
- flyer.YawInput = ((lb ~= rb) and (lb and -1 or 1) or 0)
- do
- local dir = -lt + rt
- local t = flyer.Throttle + (dir * dt * 0.2)
- t = (t < 0.5 and 0.5 or t > 1 and 1 or t)
- flyer.Throttle = t
- guiController:UpdateThrottle(t)
- end
- -- Set camera rotation:
- camLock.SetRotation(
- -ApplyDeadzone(thumbstick1.X) * PI * 0.9,
- ApplyDeadzone(thumbstick1.Y) * PI * 0.45
- )
- end
- -- Mobile Input:
- local function ReadMobileInput()
- -- Poll to see if user wants to switch view:
- if (guiController.SwitchView) then
- guiController.SwitchView = false
- camLock.SwitchView()
- end
- -- Update control inputs:
- flyer.BankInput = guiController.Bank
- flyer.PitchInput = -guiController.Pitch
- flyer.YawInput = guiController.Yaw
- flyer.Throttle = 0.5 + (guiController.Throttle * 0.5)
- -- Set camera rotation:
- camLock.SetMobileDeviceBank(mobile.DeviceBank)
- camLock.SetRotation(
- -guiController.ViewX * PI * 0.9,
- guiController.ViewY * PI * 0.45
- )
- -- Poll to see if player wants to exit the plane:
- if (guiController.Exit) then
- if (player.Character and player.Character:FindFirstChild("Humanoid")) then
- player.Character.Humanoid.Jump = true
- end
- end
- end
- -- Keyboard and Mouse Input:
- local function ReadKeyboardAndMouseInput()
- -- Get delta time:
- local now = tick()
- local dt = (now - lastInputUpdate)
- lastInputUpdate = now
- -- Declare & initialize new control inputs:
- local bank, pitch, yaw, throttle = 0, 0, 0, 0
- -- Mouse yoke:
- if (guiController.UseMouse) then
- -- Mouse and key inputs:
- local mx = mouse.X
- local my = mouse.Y
- local w = keyboard:IsDown(KEY_W)
- local a = keyboard:IsDown(KEY_A)
- local s = keyboard:IsDown(KEY_S)
- local d = keyboard:IsDown(KEY_D)
- if (not mouse:IsDown(MOUSE_BUTTON_2)) then
- -- Update bank and pitch based on mouse position on screen:
- bank = (mx - viewportHalf.X) / viewportHalf.X
- pitch = (my - viewportHalf.Y) / viewportHalf.Y
- --[[ UNCOMMENT this block to lock bank/pitch in last position when looking around:
- else
- bank = flyer.BankInput
- pitch = flyer.PitchInput
- ]]
- end
- -- Update yaw and throttle:
- yaw = ((a ~= d) and (d and 1 or -1) or 0)
- throttle = ((w ~= s) and (w and 1 or -1) or 0)
- -- Keyboard yoke:
- else
- -- This is the prettiest chunk of code in the whole plane system:
- -- Key inputs:
- local w = keyboard:IsDown(KEY_W)
- local a = keyboard:IsDown(KEY_A)
- local s = keyboard:IsDown(KEY_S)
- local d = keyboard:IsDown(KEY_D)
- local q = keyboard:IsDown(KEY_Q)
- local e = keyboard:IsDown(KEY_E)
- local z = keyboard:IsDown(KEY_Z)
- local x = keyboard:IsDown(KEY_X)
- -- Update controls:
- bank = ((a ~= d) and (d and 1 or -1) or 0)
- pitch = ((w ~= s) and (s and 1 or -1) or 0)
- yaw = ((q ~= e) and (e and 1 or -1) or 0)
- throttle = ((z ~= x) and (x and 1 or -1) or 0)
- end
- -- Invert pitch if user requests:
- if (guiController.InvertPitch) then
- pitch = -pitch
- end
- flyer.BankInput = bank
- flyer.PitchInput = pitch
- flyer.YawInput = yaw
- -- Update throttle:
- if (throttle ~= 0) then
- local t = flyer.Throttle + (throttle * dt * 0.2)
- t = (t < 0.5 and 0.5 or t > 1 and 1 or t)
- flyer.Throttle = t
- guiController:UpdateThrottle(t)
- end
- end
- -- Heartbeat:
- function PhysicsUpdate()
- ReadInput()
- flyer:Update()
- guiController:Update()
- -- Update server periodically with control inputs from pilot: (This allows replication of inputs to other clients)
- local now = tick()
- if ((now - lastServerUpdate) > SERVER_UPDATE_INTERVAL) then
- lastServerUpdate = now
- updated:FireServer("inputs", flyer.Throttle, flyer.BankInput, flyer.PitchInput, flyer.YawInput)
- end
- end
- -- RenderStep:
- function RenderUpdate()
- -- Update control animations and camera:
- flyer:UpdateControls()
- camLock.Update()
- end
- -- Keyboard Key Down:
- function KeyDown(keyCode)
- if (gamepad.IsConnected) then return end
- if (keyCode == Enum.KeyCode.C) then
- camLock.SwitchView(keyboard:IsDown(Enum.KeyCode.LeftShift) or keyboard:IsDown(Enum.KeyCode.RightShift))
- end
- end
- -- Gamepad Button Down:
- function GamepadButtonDown(button)
- if (button == Enum.KeyCode.ButtonR3) then
- camLock.SwitchView()
- end
- end
- -- Initialize client-side control of the aircraft:
- function Init()
- camLock.Lock(plane)
- guiController:Start(plane)
- flyer.Throttle = 0.5
- if (IS_MOBILE) then
- -- Hide mobile controls:
- modal = game:GetService("UserInputService").ModalEnabled
- game:GetService("UserInputService").ModalEnabled = true
- else
- -- Listen for gamepad buttons on PC and console:
- gamepad.ButtonDown:Connect(GamepadButtonDown)
- end
- -- Listen for the plane to not exist:
- plane.Changed:Connect(function(property)
- if (property == "Parent" and not plane.Parent) then
- exit.Value = true
- end
- end)
- -- If on PC (not console nor mobile):
- if (not IS_MOBILE and not IS_CONSOLE) then
- guiController:SetUsingGamepad(gamepad.IsConnected)
- gamepad.Connected:Connect(function()
- guiController:SetUsingGamepad(true)
- ReadInput = ReadGamepadInput
- end)
- gamepad.Disconnected:Connect(function()
- guiController:SetUsingGamepad(false)
- ReadInput = ReadKeyboardAndMouseInput
- end)
- keyboard.KeyDown:Connect(KeyDown)
- mouse.Moved:Connect(function(x, y, dx, dy)
- if (guiController.UseMouse and mouse:IsDown(Enum.UserInputType.MouseButton2)) then
- local rotH = -dx * 0.005
- local rotV = -dy * 0.005
- camLock.DeltaRotation(rotH, rotV)
- end
- end)
- mouse.ButtonUp:Connect(function(button)
- if (guiController.UseMouse and button == Enum.UserInputType.MouseButton2) then
- camLock.ResetRotation()
- end
- end)
- end
- -- Input function:
- if (IS_CONSOLE) then
- ReadInput = ReadGamepadInput
- elseif (IS_MOBILE) then
- ReadInput = ReadMobileInput
- else
- ReadInput = (gamepad.IsConnected and ReadGamepadInput or ReadKeyboardAndMouseInput)
- end
- -- Start listeners for RenderUpdate and Heartbeat:
- physicsUpdateHandle = game:GetService("RunService").Heartbeat:Connect(PhysicsUpdate)
- game:GetService("RunService"):BindToRenderStep(renderUpdateName, Enum.RenderPriority.Camera.Value, RenderUpdate)
- flyer:Startup()
- end
- -- Invoked when the player leaves the plane:
- function Stop()
- -- Shut down the flyer; disconnect handlers; reset camera; remove this script:
- camLock.Unlock()
- physicsUpdateHandle:Disconnect()
- game:GetService("RunService"):UnbindFromRenderStep(renderUpdateName)
- script.Exited:FireServer(flyer.Throttle, flyer.BankInput, flyer.PitchInput, flyer.YawInput)
- if (gui) then
- gui:Destroy()
- end
- if (IS_MOBILE) then
- game:GetService("UserInputService").ModalEnabled = modal
- end
- guiController:Stop()
- flyer:Shutdown()
- wait(0.1) -- Arbitrary yield; probably not needed
- script:Destroy()
- end
- -- The server-side Controller will switch 'exit' to 'true' when it
- -- is time for this script to remove itself (typically when the
- -- player leaves the pilot seat).
- exit.Changed:Connect(function(v)
- if (v) then
- Stop()
- end
- end)
- Init()
- end))
- ObjectValue57.Name = "Plane"
- ObjectValue57.Parent = LocalScript56
- BoolValue58.Name = "Exit"
- BoolValue58.Parent = LocalScript56
- RemoteEvent59.Name = "Exited"
- RemoteEvent59.Parent = LocalScript56
- RemoteEvent60.Name = "Updated"
- RemoteEvent60.Parent = LocalScript56
- ScreenGui61.Name = "PlaneConsoleGui"
- ScreenGui61.Parent = LocalScript56
- Frame62.Name = "Throttle"
- Frame62.Parent = ScreenGui61
- Frame62.Size = UDim2.new(0, 350, 0, -20)
- Frame62.Position = UDim2.new(0, 80, 1, -40)
- Frame62.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame62.BorderSizePixel = 0
- TextLabel63.Name = "Label"
- TextLabel63.Parent = Frame62
- TextLabel63.Transparency = 1
- TextLabel63.Size = UDim2.new(1, 0, 0, -20)
- TextLabel63.Text = "THROTTLE"
- TextLabel63.Position = UDim2.new(0, 0, 0, -20)
- TextLabel63.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel63.BackgroundTransparency = 1
- TextLabel63.Font = Enum.Font.SourceSans
- TextLabel63.FontSize = Enum.FontSize.Size48
- TextLabel63.TextColor3 = Color3.new(1, 1, 1)
- TextLabel63.TextStrokeTransparency = 0.80000001192093
- TextLabel63.TextWrapped = true
- Frame64.Name = "Knob"
- Frame64.Parent = Frame62
- Frame64.Size = UDim2.new(0, 20, 0, 30)
- Frame64.Position = UDim2.new(0, 0, 0.5, -15)
- Frame64.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame64.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame64.BorderSizePixel = 2
- Frame64.ZIndex = 2
- Frame65.Name = "Bar"
- Frame65.Parent = Frame62
- Frame65.Size = UDim2.new(0, 0, 1, 0)
- Frame65.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame65.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame65.BorderSizePixel = 2
- TextButton66.Name = "Grab"
- TextButton66.Parent = Frame62
- TextButton66.Transparency = 1
- TextButton66.Size = UDim2.new(1, 20, 1, 30)
- TextButton66.Text = ""
- TextButton66.Position = UDim2.new(0, -10, 0, -15)
- TextButton66.BackgroundColor3 = Color3.new(1, 0, 0)
- TextButton66.BackgroundTransparency = 1
- TextButton66.ZIndex = 3
- TextButton66.Draggable = true
- TextButton66.Font = Enum.Font.SourceSans
- TextButton66.FontSize = Enum.FontSize.Size14
- TextLabel67.Name = "RT"
- TextLabel67.Parent = Frame62
- TextLabel67.Transparency = 1
- TextLabel67.Size = UDim2.new(0, 0, 1, 0)
- TextLabel67.Text = "RT"
- TextLabel67.Position = UDim2.new(1, 10, 0, 0)
- TextLabel67.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel67.BackgroundTransparency = 1
- TextLabel67.Font = Enum.Font.SourceSansBold
- TextLabel67.FontSize = Enum.FontSize.Size48
- TextLabel67.TextColor3 = Color3.new(1, 1, 1)
- TextLabel67.TextStrokeTransparency = 0.80000001192093
- TextLabel67.TextWrapped = true
- TextLabel67.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel68.Name = "LT"
- TextLabel68.Parent = Frame62
- TextLabel68.Transparency = 1
- TextLabel68.Size = UDim2.new(0, 0, 1, 0)
- TextLabel68.Text = "LT"
- TextLabel68.Position = UDim2.new(0, -10, 0, 0)
- TextLabel68.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel68.BackgroundTransparency = 1
- TextLabel68.Font = Enum.Font.SourceSansBold
- TextLabel68.FontSize = Enum.FontSize.Size48
- TextLabel68.TextColor3 = Color3.new(1, 1, 1)
- TextLabel68.TextStrokeTransparency = 0.80000001192093
- TextLabel68.TextWrapped = true
- TextLabel68.TextXAlignment = Enum.TextXAlignment.Right
- Frame69.Name = "Speed"
- Frame69.Parent = ScreenGui61
- Frame69.Size = UDim2.new(0, 200, 0, -40)
- Frame69.Position = UDim2.new(0, 550, 1, -30)
- Frame69.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame69.BorderSizePixel = 0
- TextLabel70.Name = "Label"
- TextLabel70.Parent = Frame69
- TextLabel70.Transparency = 1
- TextLabel70.Size = UDim2.new(1, 0, 0, -20)
- TextLabel70.Text = "SPEED"
- TextLabel70.Position = UDim2.new(0, 0, 0, -10)
- TextLabel70.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel70.BackgroundTransparency = 1
- TextLabel70.Font = Enum.Font.SourceSans
- TextLabel70.FontSize = Enum.FontSize.Size48
- TextLabel70.TextColor3 = Color3.new(1, 1, 1)
- TextLabel70.TextStrokeTransparency = 0.80000001192093
- TextLabel70.TextWrapped = true
- TextLabel71.Name = "Amount"
- TextLabel71.Parent = Frame69
- TextLabel71.Transparency = 1
- TextLabel71.Size = UDim2.new(1, 0, 1, 0)
- TextLabel71.Text = "0"
- TextLabel71.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel71.BackgroundTransparency = 1
- TextLabel71.Font = Enum.Font.Code
- TextLabel71.FontSize = Enum.FontSize.Size14
- TextLabel71.TextColor3 = Color3.new(1, 1, 1)
- TextLabel71.TextScaled = true
- TextLabel71.TextWrapped = true
- Frame72.Name = "Altitude"
- Frame72.Parent = ScreenGui61
- Frame72.Size = UDim2.new(0, 200, 0, -40)
- Frame72.Position = UDim2.new(0, 800, 1, -30)
- Frame72.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame72.BorderSizePixel = 0
- TextLabel73.Name = "Label"
- TextLabel73.Parent = Frame72
- TextLabel73.Transparency = 1
- TextLabel73.Size = UDim2.new(1, 0, 0, -20)
- TextLabel73.Text = "ALTITUDE"
- TextLabel73.Position = UDim2.new(0, 0, 0, -10)
- TextLabel73.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel73.BackgroundTransparency = 1
- TextLabel73.Font = Enum.Font.SourceSans
- TextLabel73.FontSize = Enum.FontSize.Size48
- TextLabel73.TextColor3 = Color3.new(1, 1, 1)
- TextLabel73.TextStrokeTransparency = 0.80000001192093
- TextLabel73.TextWrapped = true
- TextLabel74.Name = "Amount"
- TextLabel74.Parent = Frame72
- TextLabel74.Transparency = 1
- TextLabel74.Size = UDim2.new(1, 0, 1, 0)
- TextLabel74.Text = "0"
- TextLabel74.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel74.BackgroundTransparency = 1
- TextLabel74.Font = Enum.Font.Code
- TextLabel74.FontSize = Enum.FontSize.Size14
- TextLabel74.TextColor3 = Color3.new(1, 1, 1)
- TextLabel74.TextScaled = true
- TextLabel74.TextWrapped = true
- ScreenGui75.Name = "PlaneGui"
- ScreenGui75.Parent = LocalScript56
- Frame76.Name = "Throttle"
- Frame76.Parent = ScreenGui75
- Frame76.Size = UDim2.new(0, 350, 0, -20)
- Frame76.Position = UDim2.new(0, 80, 1, -40)
- Frame76.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame76.BorderSizePixel = 0
- TextLabel77.Name = "Label"
- TextLabel77.Parent = Frame76
- TextLabel77.Transparency = 1
- TextLabel77.Size = UDim2.new(1, 0, 0, -20)
- TextLabel77.Text = "THROTTLE"
- TextLabel77.Position = UDim2.new(0, 0, 0, -20)
- TextLabel77.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel77.BackgroundTransparency = 1
- TextLabel77.Font = Enum.Font.SourceSans
- TextLabel77.FontSize = Enum.FontSize.Size48
- TextLabel77.TextColor3 = Color3.new(1, 1, 1)
- TextLabel77.TextStrokeTransparency = 0.80000001192093
- TextLabel77.TextWrapped = true
- Frame78.Name = "Knob"
- Frame78.Parent = Frame76
- Frame78.Size = UDim2.new(0, 20, 0, 30)
- Frame78.Position = UDim2.new(0, 0, 0.5, -15)
- Frame78.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame78.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame78.BorderSizePixel = 2
- Frame78.ZIndex = 2
- Frame79.Name = "Bar"
- Frame79.Parent = Frame76
- Frame79.Size = UDim2.new(0, 0, 1, 0)
- Frame79.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame79.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame79.BorderSizePixel = 2
- TextButton80.Name = "Grab"
- TextButton80.Parent = Frame76
- TextButton80.Transparency = 1
- TextButton80.Size = UDim2.new(1, 20, 1, 30)
- TextButton80.Text = ""
- TextButton80.Position = UDim2.new(0, -10, 0, -15)
- TextButton80.BackgroundColor3 = Color3.new(1, 0, 0)
- TextButton80.BackgroundTransparency = 1
- TextButton80.ZIndex = 3
- TextButton80.Draggable = true
- TextButton80.Font = Enum.Font.SourceSans
- TextButton80.FontSize = Enum.FontSize.Size14
- TextLabel81.Name = "RT"
- TextLabel81.Parent = Frame76
- TextLabel81.Transparency = 1
- TextLabel81.Size = UDim2.new(0, 0, 1, 0)
- TextLabel81.Text = "RT"
- TextLabel81.Position = UDim2.new(1, 10, 0, 0)
- TextLabel81.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel81.BackgroundTransparency = 1
- TextLabel81.Font = Enum.Font.SourceSansBold
- TextLabel81.FontSize = Enum.FontSize.Size48
- TextLabel81.TextColor3 = Color3.new(1, 1, 1)
- TextLabel81.TextStrokeTransparency = 0.80000001192093
- TextLabel81.TextWrapped = true
- TextLabel81.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel82.Name = "LT"
- TextLabel82.Parent = Frame76
- TextLabel82.Transparency = 1
- TextLabel82.Size = UDim2.new(0, 0, 1, 0)
- TextLabel82.Text = "LT"
- TextLabel82.Position = UDim2.new(0, -10, 0, 0)
- TextLabel82.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel82.BackgroundTransparency = 1
- TextLabel82.Font = Enum.Font.SourceSansBold
- TextLabel82.FontSize = Enum.FontSize.Size48
- TextLabel82.TextColor3 = Color3.new(1, 1, 1)
- TextLabel82.TextStrokeTransparency = 0.80000001192093
- TextLabel82.TextWrapped = true
- TextLabel82.TextXAlignment = Enum.TextXAlignment.Right
- Frame83.Name = "Speed"
- Frame83.Parent = ScreenGui75
- Frame83.Size = UDim2.new(0, 200, 0, -40)
- Frame83.Position = UDim2.new(0, 550, 1, -30)
- Frame83.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame83.BorderSizePixel = 0
- TextLabel84.Name = "Label"
- TextLabel84.Parent = Frame83
- TextLabel84.Transparency = 1
- TextLabel84.Size = UDim2.new(1, 0, 0, -20)
- TextLabel84.Text = "SPEED"
- TextLabel84.Position = UDim2.new(0, 0, 0, -10)
- TextLabel84.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel84.BackgroundTransparency = 1
- TextLabel84.Font = Enum.Font.SourceSans
- TextLabel84.FontSize = Enum.FontSize.Size48
- TextLabel84.TextColor3 = Color3.new(1, 1, 1)
- TextLabel84.TextStrokeTransparency = 0.80000001192093
- TextLabel84.TextWrapped = true
- TextLabel85.Name = "Amount"
- TextLabel85.Parent = Frame83
- TextLabel85.Transparency = 1
- TextLabel85.Size = UDim2.new(1, 0, 1, 0)
- TextLabel85.Text = "0"
- TextLabel85.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel85.BackgroundTransparency = 1
- TextLabel85.Font = Enum.Font.Code
- TextLabel85.FontSize = Enum.FontSize.Size14
- TextLabel85.TextColor3 = Color3.new(1, 1, 1)
- TextLabel85.TextScaled = true
- TextLabel85.TextWrapped = true
- Frame86.Name = "Altitude"
- Frame86.Parent = ScreenGui75
- Frame86.Size = UDim2.new(0, 200, 0, -40)
- Frame86.Position = UDim2.new(0, 800, 1, -30)
- Frame86.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame86.BorderSizePixel = 0
- TextLabel87.Name = "Label"
- TextLabel87.Parent = Frame86
- TextLabel87.Transparency = 1
- TextLabel87.Size = UDim2.new(1, 0, 0, -20)
- TextLabel87.Text = "ALTITUDE"
- TextLabel87.Position = UDim2.new(0, 0, 0, -10)
- TextLabel87.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel87.BackgroundTransparency = 1
- TextLabel87.Font = Enum.Font.SourceSans
- TextLabel87.FontSize = Enum.FontSize.Size48
- TextLabel87.TextColor3 = Color3.new(1, 1, 1)
- TextLabel87.TextStrokeTransparency = 0.80000001192093
- TextLabel87.TextWrapped = true
- TextLabel88.Name = "Amount"
- TextLabel88.Parent = Frame86
- TextLabel88.Transparency = 1
- TextLabel88.Size = UDim2.new(1, 0, 1, 0)
- TextLabel88.Text = "0"
- TextLabel88.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel88.BackgroundTransparency = 1
- TextLabel88.Font = Enum.Font.Code
- TextLabel88.FontSize = Enum.FontSize.Size14
- TextLabel88.TextColor3 = Color3.new(1, 1, 1)
- TextLabel88.TextScaled = true
- TextLabel88.TextWrapped = true
- TextButton89.Name = "ControlsButton"
- TextButton89.Parent = ScreenGui75
- TextButton89.Size = UDim2.new(0, 200, 0, -40)
- TextButton89.Text = "CONTROLS"
- TextButton89.Position = UDim2.new(1, -230, 1, -30)
- TextButton89.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton89.BorderSizePixel = 0
- TextButton89.Font = Enum.Font.SourceSansBold
- TextButton89.FontSize = Enum.FontSize.Size36
- TextButton89.TextColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame90.Name = "Controls"
- Frame90.Parent = ScreenGui75
- Frame90.Size = UDim2.new(0, 400, 0, 300)
- Frame90.Position = UDim2.new(0.5, 0, 0, 30)
- Frame90.Active = true
- Frame90.Visible = false
- Frame90.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame90.Draggable = true
- TextLabel91.Name = "Title"
- TextLabel91.Parent = Frame90
- TextLabel91.Transparency = 1
- TextLabel91.Size = UDim2.new(1, 0, 0, 30)
- TextLabel91.Text = "CONTROLS"
- TextLabel91.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel91.BackgroundTransparency = 1
- TextLabel91.Font = Enum.Font.SourceSansBold
- TextLabel91.FontSize = Enum.FontSize.Size36
- TextLabel91.TextColor3 = Color3.new(1, 1, 1)
- TextButton92.Name = "Exit"
- TextButton92.Parent = Frame90
- TextButton92.Size = UDim2.new(0, -30, 0, 30)
- TextButton92.Text = "X"
- TextButton92.Position = UDim2.new(1, 5, 0, -5)
- TextButton92.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton92.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- TextButton92.BorderSizePixel = 2
- TextButton92.Font = Enum.Font.SourceSansBold
- TextButton92.FontSize = Enum.FontSize.Size36
- TextButton92.TextColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame93.Name = "ListKeyboardMouse"
- Frame93.Parent = Frame90
- Frame93.Transparency = 1
- Frame93.Size = UDim2.new(1, -20, 1, -100)
- Frame93.Position = UDim2.new(0, 10, 0, 40)
- Frame93.Visible = false
- Frame93.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame93.BackgroundTransparency = 1
- Frame94.Name = "Control01"
- Frame94.Parent = Frame93
- Frame94.Transparency = 1
- Frame94.Size = UDim2.new(1, 0, 0, 30)
- Frame94.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame94.BackgroundTransparency = 1
- TextLabel95.Name = "Label"
- TextLabel95.Parent = Frame94
- TextLabel95.Transparency = 1
- TextLabel95.Size = UDim2.new(1, 0, 1, 0)
- TextLabel95.Text = "Pitch & Roll"
- TextLabel95.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel95.BackgroundTransparency = 1
- TextLabel95.Font = Enum.Font.SourceSans
- TextLabel95.FontSize = Enum.FontSize.Size28
- TextLabel95.TextColor3 = Color3.new(1, 1, 1)
- TextLabel95.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel96.Name = "Control"
- TextLabel96.Parent = Frame94
- TextLabel96.Transparency = 1
- TextLabel96.Size = UDim2.new(1, 0, 1, 0)
- TextLabel96.Text = "Mouse"
- TextLabel96.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel96.BackgroundTransparency = 1
- TextLabel96.Font = Enum.Font.SourceSans
- TextLabel96.FontSize = Enum.FontSize.Size28
- TextLabel96.TextColor3 = Color3.new(1, 1, 1)
- TextLabel96.TextXAlignment = Enum.TextXAlignment.Right
- Frame97.Name = "Divider"
- Frame97.Parent = Frame94
- Frame97.Size = UDim2.new(1, 0, 0, 1)
- Frame97.Position = UDim2.new(0, 0, 1, 0)
- Frame97.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame97.BorderSizePixel = 0
- Frame98.Name = "Control02"
- Frame98.Parent = Frame93
- Frame98.Transparency = 1
- Frame98.Size = UDim2.new(1, 0, 0, 30)
- Frame98.Position = UDim2.new(0, 0, 0, 30)
- Frame98.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame98.BackgroundTransparency = 1
- TextLabel99.Name = "Label"
- TextLabel99.Parent = Frame98
- TextLabel99.Transparency = 1
- TextLabel99.Size = UDim2.new(1, 0, 1, 0)
- TextLabel99.Text = "Yaw (Rudder)"
- TextLabel99.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel99.BackgroundTransparency = 1
- TextLabel99.Font = Enum.Font.SourceSans
- TextLabel99.FontSize = Enum.FontSize.Size28
- TextLabel99.TextColor3 = Color3.new(1, 1, 1)
- TextLabel99.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel100.Name = "Control"
- TextLabel100.Parent = Frame98
- TextLabel100.Transparency = 1
- TextLabel100.Size = UDim2.new(1, 0, 1, 0)
- TextLabel100.Text = "A & D"
- TextLabel100.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel100.BackgroundTransparency = 1
- TextLabel100.Font = Enum.Font.SourceSans
- TextLabel100.FontSize = Enum.FontSize.Size28
- TextLabel100.TextColor3 = Color3.new(1, 1, 1)
- TextLabel100.TextXAlignment = Enum.TextXAlignment.Right
- Frame101.Name = "Divider"
- Frame101.Parent = Frame98
- Frame101.Size = UDim2.new(1, 0, 0, 1)
- Frame101.Position = UDim2.new(0, 0, 1, 0)
- Frame101.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame101.BorderSizePixel = 0
- Frame102.Name = "Control03"
- Frame102.Parent = Frame93
- Frame102.Transparency = 1
- Frame102.Size = UDim2.new(1, 0, 0, 30)
- Frame102.Position = UDim2.new(0, 0, 0, 60)
- Frame102.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame102.BackgroundTransparency = 1
- TextLabel103.Name = "Label"
- TextLabel103.Parent = Frame102
- TextLabel103.Transparency = 1
- TextLabel103.Size = UDim2.new(1, 0, 1, 0)
- TextLabel103.Text = "Throttle"
- TextLabel103.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel103.BackgroundTransparency = 1
- TextLabel103.Font = Enum.Font.SourceSans
- TextLabel103.FontSize = Enum.FontSize.Size28
- TextLabel103.TextColor3 = Color3.new(1, 1, 1)
- TextLabel103.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel104.Name = "Control"
- TextLabel104.Parent = Frame102
- TextLabel104.Transparency = 1
- TextLabel104.Size = UDim2.new(1, 0, 1, 0)
- TextLabel104.Text = "W & S"
- TextLabel104.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel104.BackgroundTransparency = 1
- TextLabel104.Font = Enum.Font.SourceSans
- TextLabel104.FontSize = Enum.FontSize.Size28
- TextLabel104.TextColor3 = Color3.new(1, 1, 1)
- TextLabel104.TextXAlignment = Enum.TextXAlignment.Right
- Frame105.Name = "Divider"
- Frame105.Parent = Frame102
- Frame105.Size = UDim2.new(1, 0, 0, 1)
- Frame105.Position = UDim2.new(0, 0, 1, 0)
- Frame105.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame105.BorderSizePixel = 0
- Frame106.Name = "Control04"
- Frame106.Parent = Frame93
- Frame106.Transparency = 1
- Frame106.Size = UDim2.new(1, 0, 0, 30)
- Frame106.Position = UDim2.new(0, 0, 0, 90)
- Frame106.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame106.BackgroundTransparency = 1
- TextLabel107.Name = "Label"
- TextLabel107.Parent = Frame106
- TextLabel107.Transparency = 1
- TextLabel107.Size = UDim2.new(1, 0, 1, 0)
- TextLabel107.Text = "Camera View"
- TextLabel107.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel107.BackgroundTransparency = 1
- TextLabel107.Font = Enum.Font.SourceSans
- TextLabel107.FontSize = Enum.FontSize.Size28
- TextLabel107.TextColor3 = Color3.new(1, 1, 1)
- TextLabel107.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel108.Name = "Control"
- TextLabel108.Parent = Frame106
- TextLabel108.Transparency = 1
- TextLabel108.Size = UDim2.new(1, 0, 1, 0)
- TextLabel108.Text = "C"
- TextLabel108.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel108.BackgroundTransparency = 1
- TextLabel108.Font = Enum.Font.SourceSans
- TextLabel108.FontSize = Enum.FontSize.Size28
- TextLabel108.TextColor3 = Color3.new(1, 1, 1)
- TextLabel108.TextXAlignment = Enum.TextXAlignment.Right
- Frame109.Name = "Divider"
- Frame109.Parent = Frame106
- Frame109.Size = UDim2.new(1, 0, 0, 1)
- Frame109.Position = UDim2.new(0, 0, 1, 0)
- Frame109.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame109.BorderSizePixel = 0
- Frame110.Name = "MouseSwitch"
- Frame110.Parent = Frame90
- Frame110.Transparency = 1
- Frame110.Size = UDim2.new(1, -20, 0, -40)
- Frame110.Position = UDim2.new(0, 10, 1, -10)
- Frame110.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame110.BackgroundTransparency = 1
- TextLabel111.Name = "Label"
- TextLabel111.Parent = Frame110
- TextLabel111.Transparency = 1
- TextLabel111.Size = UDim2.new(1, 0, 1, 0)
- TextLabel111.Text = "Use Mouse:"
- TextLabel111.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel111.BackgroundTransparency = 1
- TextLabel111.Font = Enum.Font.SourceSans
- TextLabel111.FontSize = Enum.FontSize.Size24
- TextLabel111.TextColor3 = Color3.new(1, 1, 1)
- TextLabel111.TextXAlignment = Enum.TextXAlignment.Left
- TextButton112.Name = "Switch"
- TextButton112.Parent = Frame110
- TextButton112.Size = UDim2.new(-0.5, 0, 1, 0)
- TextButton112.Text = ""
- TextButton112.Position = UDim2.new(1, 0, 0, 0)
- TextButton112.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton112.BorderSizePixel = 0
- TextButton112.Font = Enum.Font.SourceSans
- TextButton112.FontSize = Enum.FontSize.Size14
- TextButton112.TextTransparency = 1
- Frame113.Name = "Slider"
- Frame113.Parent = TextButton112
- Frame113.Transparency = 1
- Frame113.Size = UDim2.new(0.5, 0, 1, 0)
- Frame113.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame113.BackgroundTransparency = 1
- Frame113.BorderSizePixel = 0
- TextLabel114.Name = "Label"
- TextLabel114.Parent = Frame113
- TextLabel114.Size = UDim2.new(1, -10, 1, -10)
- TextLabel114.Text = "YES"
- TextLabel114.Position = UDim2.new(0, 5, 0, 5)
- TextLabel114.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- TextLabel114.BorderSizePixel = 0
- TextLabel114.Font = Enum.Font.SourceSansBold
- TextLabel114.FontSize = Enum.FontSize.Size24
- TextLabel114.TextColor3 = Color3.new(1, 1, 1)
- Frame115.Name = "ListKeyboard"
- Frame115.Parent = Frame90
- Frame115.Transparency = 1
- Frame115.Size = UDim2.new(1, -20, 1, -100)
- Frame115.Position = UDim2.new(0, 10, 0, 40)
- Frame115.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame115.BackgroundTransparency = 1
- Frame116.Name = "Control01"
- Frame116.Parent = Frame115
- Frame116.Transparency = 1
- Frame116.Size = UDim2.new(1, 0, 0, 30)
- Frame116.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame116.BackgroundTransparency = 1
- TextLabel117.Name = "Label"
- TextLabel117.Parent = Frame116
- TextLabel117.Transparency = 1
- TextLabel117.Size = UDim2.new(1, 0, 1, 0)
- TextLabel117.Text = "Pitch & Roll"
- TextLabel117.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel117.BackgroundTransparency = 1
- TextLabel117.Font = Enum.Font.SourceSans
- TextLabel117.FontSize = Enum.FontSize.Size28
- TextLabel117.TextColor3 = Color3.new(1, 1, 1)
- TextLabel117.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel118.Name = "Control"
- TextLabel118.Parent = Frame116
- TextLabel118.Transparency = 1
- TextLabel118.Size = UDim2.new(1, 0, 1, 0)
- TextLabel118.Text = "WASD"
- TextLabel118.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel118.BackgroundTransparency = 1
- TextLabel118.Font = Enum.Font.SourceSans
- TextLabel118.FontSize = Enum.FontSize.Size28
- TextLabel118.TextColor3 = Color3.new(1, 1, 1)
- TextLabel118.TextXAlignment = Enum.TextXAlignment.Right
- Frame119.Name = "Divider"
- Frame119.Parent = Frame116
- Frame119.Size = UDim2.new(1, 0, 0, 1)
- Frame119.Position = UDim2.new(0, 0, 1, 0)
- Frame119.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame119.BorderSizePixel = 0
- Frame120.Name = "Control02"
- Frame120.Parent = Frame115
- Frame120.Transparency = 1
- Frame120.Size = UDim2.new(1, 0, 0, 30)
- Frame120.Position = UDim2.new(0, 0, 0, 30)
- Frame120.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame120.BackgroundTransparency = 1
- TextLabel121.Name = "Label"
- TextLabel121.Parent = Frame120
- TextLabel121.Transparency = 1
- TextLabel121.Size = UDim2.new(1, 0, 1, 0)
- TextLabel121.Text = "Yaw (Rudder)"
- TextLabel121.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel121.BackgroundTransparency = 1
- TextLabel121.Font = Enum.Font.SourceSans
- TextLabel121.FontSize = Enum.FontSize.Size28
- TextLabel121.TextColor3 = Color3.new(1, 1, 1)
- TextLabel121.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel122.Name = "Control"
- TextLabel122.Parent = Frame120
- TextLabel122.Transparency = 1
- TextLabel122.Size = UDim2.new(1, 0, 1, 0)
- TextLabel122.Text = "Q & E"
- TextLabel122.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel122.BackgroundTransparency = 1
- TextLabel122.Font = Enum.Font.SourceSans
- TextLabel122.FontSize = Enum.FontSize.Size28
- TextLabel122.TextColor3 = Color3.new(1, 1, 1)
- TextLabel122.TextXAlignment = Enum.TextXAlignment.Right
- Frame123.Name = "Divider"
- Frame123.Parent = Frame120
- Frame123.Size = UDim2.new(1, 0, 0, 1)
- Frame123.Position = UDim2.new(0, 0, 1, 0)
- Frame123.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame123.BorderSizePixel = 0
- Frame124.Name = "Control03"
- Frame124.Parent = Frame115
- Frame124.Transparency = 1
- Frame124.Size = UDim2.new(1, 0, 0, 30)
- Frame124.Position = UDim2.new(0, 0, 0, 60)
- Frame124.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame124.BackgroundTransparency = 1
- TextLabel125.Name = "Label"
- TextLabel125.Parent = Frame124
- TextLabel125.Transparency = 1
- TextLabel125.Size = UDim2.new(1, 0, 1, 0)
- TextLabel125.Text = "Throttle"
- TextLabel125.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel125.BackgroundTransparency = 1
- TextLabel125.Font = Enum.Font.SourceSans
- TextLabel125.FontSize = Enum.FontSize.Size28
- TextLabel125.TextColor3 = Color3.new(1, 1, 1)
- TextLabel125.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel126.Name = "Control"
- TextLabel126.Parent = Frame124
- TextLabel126.Transparency = 1
- TextLabel126.Size = UDim2.new(1, 0, 1, 0)
- TextLabel126.Text = "Z & X"
- TextLabel126.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel126.BackgroundTransparency = 1
- TextLabel126.Font = Enum.Font.SourceSans
- TextLabel126.FontSize = Enum.FontSize.Size28
- TextLabel126.TextColor3 = Color3.new(1, 1, 1)
- TextLabel126.TextXAlignment = Enum.TextXAlignment.Right
- Frame127.Name = "Divider"
- Frame127.Parent = Frame124
- Frame127.Size = UDim2.new(1, 0, 0, 1)
- Frame127.Position = UDim2.new(0, 0, 1, 0)
- Frame127.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame127.BorderSizePixel = 0
- Frame128.Name = "Control04"
- Frame128.Parent = Frame115
- Frame128.Transparency = 1
- Frame128.Size = UDim2.new(1, 0, 0, 30)
- Frame128.Position = UDim2.new(0, 0, 0, 90)
- Frame128.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame128.BackgroundTransparency = 1
- TextLabel129.Name = "Label"
- TextLabel129.Parent = Frame128
- TextLabel129.Transparency = 1
- TextLabel129.Size = UDim2.new(1, 0, 1, 0)
- TextLabel129.Text = "Camera View"
- TextLabel129.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel129.BackgroundTransparency = 1
- TextLabel129.Font = Enum.Font.SourceSans
- TextLabel129.FontSize = Enum.FontSize.Size28
- TextLabel129.TextColor3 = Color3.new(1, 1, 1)
- TextLabel129.TextXAlignment = Enum.TextXAlignment.Left
- TextLabel130.Name = "Control"
- TextLabel130.Parent = Frame128
- TextLabel130.Transparency = 1
- TextLabel130.Size = UDim2.new(1, 0, 1, 0)
- TextLabel130.Text = "C"
- TextLabel130.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel130.BackgroundTransparency = 1
- TextLabel130.Font = Enum.Font.SourceSans
- TextLabel130.FontSize = Enum.FontSize.Size28
- TextLabel130.TextColor3 = Color3.new(1, 1, 1)
- TextLabel130.TextXAlignment = Enum.TextXAlignment.Right
- Frame131.Name = "Divider"
- Frame131.Parent = Frame128
- Frame131.Size = UDim2.new(1, 0, 0, 1)
- Frame131.Position = UDim2.new(0, 0, 1, 0)
- Frame131.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- Frame131.BorderSizePixel = 0
- Frame132.Name = "InvertSwitch"
- Frame132.Parent = Frame90
- Frame132.Transparency = 1
- Frame132.Size = UDim2.new(1, -20, 0, -40)
- Frame132.Position = UDim2.new(0, 10, 1, -60)
- Frame132.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame132.BackgroundTransparency = 1
- TextLabel133.Name = "Label"
- TextLabel133.Parent = Frame132
- TextLabel133.Transparency = 1
- TextLabel133.Size = UDim2.new(1, 0, 1, 0)
- TextLabel133.Text = "Invert Pitch:"
- TextLabel133.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel133.BackgroundTransparency = 1
- TextLabel133.Font = Enum.Font.SourceSans
- TextLabel133.FontSize = Enum.FontSize.Size24
- TextLabel133.TextColor3 = Color3.new(1, 1, 1)
- TextLabel133.TextXAlignment = Enum.TextXAlignment.Left
- TextButton134.Name = "Switch"
- TextButton134.Parent = Frame132
- TextButton134.Size = UDim2.new(-0.5, 0, 1, 0)
- TextButton134.Text = ""
- TextButton134.Position = UDim2.new(1, 0, 0, 0)
- TextButton134.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton134.BorderSizePixel = 0
- TextButton134.Font = Enum.Font.SourceSans
- TextButton134.FontSize = Enum.FontSize.Size14
- TextButton134.TextTransparency = 1
- Frame135.Name = "Slider"
- Frame135.Parent = TextButton134
- Frame135.Transparency = 1
- Frame135.Size = UDim2.new(0.5, 0, 1, 0)
- Frame135.Position = UDim2.new(0.5, 0, 0, 0)
- Frame135.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame135.BackgroundTransparency = 1
- Frame135.BorderSizePixel = 0
- TextLabel136.Name = "Label"
- TextLabel136.Parent = Frame135
- TextLabel136.Size = UDim2.new(1, -10, 1, -10)
- TextLabel136.Text = "NO"
- TextLabel136.Position = UDim2.new(0, 5, 0, 5)
- TextLabel136.BackgroundColor3 = Color3.new(0.470588, 0.470588, 0.470588)
- TextLabel136.BorderSizePixel = 0
- TextLabel136.Font = Enum.Font.SourceSansBold
- TextLabel136.FontSize = Enum.FontSize.Size24
- TextLabel136.TextColor3 = Color3.new(1, 1, 1)
- ScreenGui137.Name = "PlaneMobileGui"
- ScreenGui137.Parent = LocalScript56
- Frame138.Name = "Throttle"
- Frame138.Parent = ScreenGui137
- Frame138.Transparency = 0.5
- Frame138.Size = UDim2.new(0, 200, 0, -10)
- Frame138.Position = UDim2.new(0.5, 0, 1, -90)
- Frame138.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame138.BackgroundTransparency = 0.5
- Frame138.BorderSizePixel = 0
- TextLabel139.Name = "Label"
- TextLabel139.Parent = Frame138
- TextLabel139.Transparency = 1
- TextLabel139.Size = UDim2.new(1, 0, 0, -20)
- TextLabel139.Text = "THROTTLE"
- TextLabel139.Position = UDim2.new(0, 0, 0, -13)
- TextLabel139.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel139.BackgroundTransparency = 1
- TextLabel139.Font = Enum.Font.SourceSansBold
- TextLabel139.FontSize = Enum.FontSize.Size24
- TextLabel139.TextColor3 = Color3.new(1, 1, 1)
- TextLabel139.TextStrokeTransparency = 0.80000001192093
- Frame140.Name = "Knob"
- Frame140.Parent = Frame138
- Frame140.Size = UDim2.new(0, 20, 0, 30)
- Frame140.Position = UDim2.new(0, 0, 0.5, -15)
- Frame140.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame140.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame140.BorderSizePixel = 2
- Frame140.ZIndex = 2
- Frame141.Name = "Bar"
- Frame141.Parent = Frame138
- Frame141.Size = UDim2.new(0, 0, 1, 0)
- Frame141.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame141.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame141.BorderSizePixel = 2
- TextButton142.Name = "Grab"
- TextButton142.Parent = Frame138
- TextButton142.Transparency = 1
- TextButton142.Size = UDim2.new(1, 20, 1, 30)
- TextButton142.Text = ""
- TextButton142.Position = UDim2.new(0, -10, 0, -15)
- TextButton142.BackgroundColor3 = Color3.new(1, 0, 0)
- TextButton142.BackgroundTransparency = 1
- TextButton142.ZIndex = 3
- TextButton142.Font = Enum.Font.SourceSans
- TextButton142.FontSize = Enum.FontSize.Size14
- Frame143.Name = "Speed"
- Frame143.Parent = ScreenGui137
- Frame143.Transparency = 0.5
- Frame143.Size = UDim2.new(0, 100, 0, -30)
- Frame143.Position = UDim2.new(0.5, -10, 1, -20)
- Frame143.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame143.BackgroundTransparency = 0.5
- Frame143.BorderSizePixel = 0
- TextLabel144.Name = "Label"
- TextLabel144.Parent = Frame143
- TextLabel144.Transparency = 1
- TextLabel144.Size = UDim2.new(1, 0, 0, -20)
- TextLabel144.Text = "SPEED"
- TextLabel144.Position = UDim2.new(0, 0, 0, -3)
- TextLabel144.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel144.BackgroundTransparency = 1
- TextLabel144.Font = Enum.Font.SourceSansBold
- TextLabel144.FontSize = Enum.FontSize.Size24
- TextLabel144.TextColor3 = Color3.new(1, 1, 1)
- TextLabel144.TextStrokeTransparency = 0.80000001192093
- TextLabel145.Name = "Amount"
- TextLabel145.Parent = Frame143
- TextLabel145.Transparency = 1
- TextLabel145.Size = UDim2.new(1, 0, 1, 0)
- TextLabel145.Text = "0"
- TextLabel145.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel145.BackgroundTransparency = 1
- TextLabel145.Font = Enum.Font.Code
- TextLabel145.FontSize = Enum.FontSize.Size14
- TextLabel145.TextColor3 = Color3.new(1, 1, 1)
- TextLabel145.TextScaled = true
- TextLabel145.TextWrapped = true
- Frame146.Name = "Altitude"
- Frame146.Parent = ScreenGui137
- Frame146.Transparency = 0.5
- Frame146.Size = UDim2.new(0, 100, 0, -30)
- Frame146.Position = UDim2.new(0.5, 10, 1, -20)
- Frame146.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame146.BackgroundTransparency = 0.5
- Frame146.BorderSizePixel = 0
- TextLabel147.Name = "Label"
- TextLabel147.Parent = Frame146
- TextLabel147.Transparency = 1
- TextLabel147.Size = UDim2.new(1, 0, 0, -20)
- TextLabel147.Text = "ALTITUDE"
- TextLabel147.Position = UDim2.new(0, 0, 0, -3)
- TextLabel147.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel147.BackgroundTransparency = 1
- TextLabel147.Font = Enum.Font.SourceSansBold
- TextLabel147.FontSize = Enum.FontSize.Size24
- TextLabel147.TextColor3 = Color3.new(1, 1, 1)
- TextLabel147.TextStrokeTransparency = 0.80000001192093
- TextLabel148.Name = "Amount"
- TextLabel148.Parent = Frame146
- TextLabel148.Transparency = 1
- TextLabel148.Size = UDim2.new(1, 0, 1, 0)
- TextLabel148.Text = "0"
- TextLabel148.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel148.BackgroundTransparency = 1
- TextLabel148.Font = Enum.Font.Code
- TextLabel148.FontSize = Enum.FontSize.Size14
- TextLabel148.TextColor3 = Color3.new(1, 1, 1)
- TextLabel148.TextScaled = true
- TextLabel148.TextWrapped = true
- Frame149.Name = "ThumbstickLeft"
- Frame149.Parent = ScreenGui137
- Frame149.Transparency = 0.5
- Frame149.Size = UDim2.new(0, 120, 0, 120)
- Frame149.Position = UDim2.new(0, 20, 1, -140)
- Frame149.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame149.BackgroundTransparency = 0.5
- Frame150.Name = "Stick"
- Frame150.Parent = Frame149
- Frame150.Size = UDim2.new(0.300000012, 0, 0.300000012, 0)
- Frame150.Position = UDim2.new(0.5, 0, 0.5, 0)
- Frame150.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame150.BorderSizePixel = 0
- TextButton151.Name = "Button"
- TextButton151.Parent = Frame149
- TextButton151.Transparency = 1
- TextButton151.Size = UDim2.new(1, 0, 1, 0)
- TextButton151.Text = ""
- TextButton151.Position = UDim2.new(0.5, 0, 0.5, 0)
- TextButton151.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton151.BackgroundTransparency = 1
- TextButton151.Font = Enum.Font.SourceSans
- TextButton151.FontSize = Enum.FontSize.Size14
- TextButton151.TextTransparency = 1
- TextLabel152.Name = "Label"
- TextLabel152.Parent = Frame149
- TextLabel152.Transparency = 1
- TextLabel152.Size = UDim2.new(1, 0, 0, -20)
- TextLabel152.Text = "YAW"
- TextLabel152.Position = UDim2.new(0, 0, 0, -3)
- TextLabel152.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel152.BackgroundTransparency = 1
- TextLabel152.Font = Enum.Font.SourceSansBold
- TextLabel152.FontSize = Enum.FontSize.Size24
- TextLabel152.TextColor3 = Color3.new(1, 1, 1)
- TextLabel152.TextStrokeTransparency = 0.80000001192093
- Frame153.Name = "ThumbstickRight"
- Frame153.Parent = ScreenGui137
- Frame153.Transparency = 0.5
- Frame153.Size = UDim2.new(0, 120, 0, 120)
- Frame153.Position = UDim2.new(1, -140, 1, -140)
- Frame153.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- Frame153.BackgroundTransparency = 0.5
- Frame154.Name = "Stick"
- Frame154.Parent = Frame153
- Frame154.Size = UDim2.new(0.300000012, 0, 0.300000012, 0)
- Frame154.Position = UDim2.new(0.5, 0, 0.5, 0)
- Frame154.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame154.BorderSizePixel = 0
- TextButton155.Name = "Button"
- TextButton155.Parent = Frame153
- TextButton155.Transparency = 1
- TextButton155.Size = UDim2.new(1, 0, 1, 0)
- TextButton155.Text = ""
- TextButton155.Position = UDim2.new(0.5, 0, 0.5, 0)
- TextButton155.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton155.BackgroundTransparency = 1
- TextButton155.Font = Enum.Font.SourceSans
- TextButton155.FontSize = Enum.FontSize.Size14
- TextButton155.TextTransparency = 1
- TextLabel156.Name = "Label"
- TextLabel156.Parent = Frame153
- TextLabel156.Transparency = 1
- TextLabel156.Size = UDim2.new(1, 0, 0, -20)
- TextLabel156.Text = "PITCH & ROLL"
- TextLabel156.Position = UDim2.new(0, 0, 0, -3)
- TextLabel156.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel156.BackgroundTransparency = 1
- TextLabel156.Font = Enum.Font.SourceSansBold
- TextLabel156.FontSize = Enum.FontSize.Size24
- TextLabel156.TextColor3 = Color3.new(1, 1, 1)
- TextLabel156.TextStrokeTransparency = 0.80000001192093
- TextButton157.Name = "ChangeView"
- TextButton157.Parent = ScreenGui137
- TextButton157.Transparency = 0.5
- TextButton157.Size = UDim2.new(0, -120, 0, -40)
- TextButton157.Text = "VIEW"
- TextButton157.Position = UDim2.new(1, -20, 1, -180)
- TextButton157.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton157.BackgroundTransparency = 0.5
- TextButton157.BorderSizePixel = 0
- TextButton157.Font = Enum.Font.SourceSans
- TextButton157.FontSize = Enum.FontSize.Size14
- TextButton157.TextColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- TextButton157.TextScaled = true
- TextButton157.TextWrapped = true
- TextButton158.Name = "Exit"
- TextButton158.Parent = ScreenGui137
- TextButton158.Transparency = 0.5
- TextButton158.Size = UDim2.new(0, -120, 0, 40)
- TextButton158.Text = "EXIT"
- TextButton158.Position = UDim2.new(1, -20, 0, 20)
- TextButton158.BackgroundColor3 = Color3.new(1, 1, 1)
- TextButton158.BackgroundTransparency = 0.5
- TextButton158.BorderSizePixel = 0
- TextButton158.Font = Enum.Font.SourceSans
- TextButton158.FontSize = Enum.FontSize.Size14
- TextButton158.TextColor3 = Color3.new(0.156863, 0.156863, 0.156863)
- TextButton158.TextScaled = true
- TextButton158.TextWrapped = true
- BoolValue159.Name = "ReadyToWeld"
- BoolValue159.Parent = Model0
- Script160.Name = "Damage"
- Script160.Parent = Model0
- table.insert(cors,sandbox(Script160,function()
- local boomnum = math.random(1,3)
- -- Damage
- -- Crazyman32
- -- January 19, 2017
- --[[
- This script handles simulating damage on the aircraft by
- listening to objects that touch the aircraft. By measuring
- the impact velocity (plane's velocity - other velocity),
- we can try to subtract health from the plane. If the health
- hits 0, the plane dies!
- To change the Max Health of the plane, change the MaxValue
- of the Health object (it's a child of this script object).
- The health will automatically be set to the MaxValue when
- this script is executed.
- --]]
- local plane = script.Parent
- while (not plane.PrimaryPart) do wait() end
- local main = plane.PrimaryPart
- local seat = plane:WaitForChild("Functional"):WaitForChild("PilotSeat")
- local lookFor = "DamageCollider"
- local health = script:WaitForChild("Health")
- health.Value = health.MaxValue
- -- Calculate damage when the magnitude of the
- -- impact is within the range of these values:
- local impactThresholdLow = 70
- local impactThresholdHigh = 500
- -- Maximum possible damage from a single impact: (In other words, if the impact hits "impactThresholdHigh", then this much damage is done)
- local maxDamage = 300
- -- Is it dead? (Don't change!)
- local dead = false
- -- When did it die? (Don't change!)
- local deadAt = 0
- -- Should the plane break into pieces next impact? (Don't change!)
- local breakPlane = false
- local listeners = {}
- function KillPlane()
- breakPlane = true
- -- Kill the pilot:
- if (seat.Occupant) then
- seat.Occupant.Health = 0
- -- Sorry pilot. Hopefully the game has respawning implemented.
- end
- main.Fire.Enabled = false
- main.Smoke.Enabled = false
- plane:BreakJoints()
- -- Play explosion. BOOM:
- if (main.Parent and main:FindFirstChild("Explosion1")) and main:FindFirstChild("Explosion2") and main:FindFirstChild("Explosion3") then
- boomnum = math.random(1,3)
- if boomnum == 1 then
- main.Explosion1:Play()
- elseif boomnum == 2 then
- main.Explosion2:Play()
- elseif boomnum == 3 then
- main.Explosion3:Play()
- end
- end
- end
- -- Listen for impact damage on the given part:
- function ListenForDamage(part)
- -- Classic debounce. If "true", then touches are "debounced", thus
- -- any impacts when this is "true" will be ignored. It is only
- -- set true for a fraction of a second after impacts:
- local debounce = false
- local listener = part.Touched:Connect(function(toucher)
- if (debounce or toucher:IsDescendantOf(plane)) then return end
- -- Measure impact force:
- local impactVelocity = (part.Velocity - toucher.Velocity).Magnitude
- if (impactVelocity > impactThresholdLow or dead) then
- if (dead) then
- -- How long it's been since the plane died and this impact occurred:
- local dur = (tick() - deadAt)
- -- My professor would yell at me for this "magic number".
- -- Coding tip: Typically you shouldn't have random numbers floating around your code like this.
- -- I'm going to not fix this just to teach you a lesson (and thanks for reading my crazy comments).
- if (dur > 0.1 and not breakPlane) then
- KillPlane()
- end
- else
- -- Calculate how much damage should be done based on the impact thresholds and the max damage allowed per impact:
- local damageRatio = (impactVelocity - impactThresholdLow) / (impactThresholdHigh - impactThresholdLow)
- local damage = (maxDamage * damageRatio)
- health.Value = (health.Value - damage)
- debounce = true
- -- Somewhat arbitrary delay (at least the amount of time is arbitrary).
- -- Don't allow any other damage until this delay function executes:
- delay(0.25, function()
- debounce = false
- end)
- end
- end
- end)
- -- Store the listener! We will want to disconnect it at some point:
- table.insert(listeners, listener)
- end
- -- Called when the health reaches 0:
- function OnDied()
- dead = true
- deadAt = tick()
- plane.Dead.Value = true
- main.Fire.Enabled = true
- main.Smoke.Enabled = true
- -- Wait a bit before forcing the plane to break into pieces:
- delay(5, function()
- if (not breakPlane) then
- KillPlane()
- end
- -- Remove the plane after a little while:
- wait(10)
- plane:Destroy()
- end)
- end
- -- Called when the health changes:
- function HealthChanged(newHealth)
- if (dead) then return end
- if (newHealth <= health.MinValue) then
- OnDied()
- end
- end
- -- Recurse through the plane to find all the parts, then hook each
- -- part up to listen for damage:
- function ScanForParts(parent)
- for _,v in pairs(parent:GetChildren()) do
- if (v:IsA("BasePart") and v:FindFirstChild(lookFor)) then
- ListenForDamage(v)
- end
- ScanForParts(v)
- end
- -- Fun fact: Recursive functions like this can be prone to "stack overflow" errors.
- -- Tail-call functions would avoid this, but (as of Feb. 2017) tailcalling is removed from Lua in ROBLOX.
- end
- ScanForParts(plane)
- health.Changed:Connect(HealthChanged)
- HealthChanged(health.Value)
- end))
- BoolValue161.Name = "Dead"
- BoolValue161.Parent = Model0
- Model162.Name = "Parts"
- Model162.Parent = Model0
- Model163.Name = "WingStruts"
- Model163.Parent = Model162
- ObjectValue164.Name = "DamageCollider"
- ObjectValue164.Parent = mas
- ObjectValue165.Name = "DamageCollider"
- ObjectValue165.Parent = mas
- Part166.Name = "WingStrut"
- Part166.Parent = Model163
- Part166.Material = Enum.Material.Wood
- Part166.BrickColor = BrickColor.new("Brown")
- Part166.Rotation = Vector3.new(-180, 0, -180)
- Part166.Anchored = true
- Part166.Size = Vector3.new(0.200000003, 2, 0.600000024)
- Part166.CFrame = CFrame.new(-8.82043362, 10.3890963, -2.75390601, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part166.BottomSurface = Enum.SurfaceType.Smooth
- Part166.TopSurface = Enum.SurfaceType.Smooth
- Part166.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Part166.Position = Vector3.new(-8.82043362, 10.3890963, -2.75390601)
- Part166.Orientation = Vector3.new(0, 180, 0)
- Part166.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Part167.Name = "WingStrut"
- Part167.Parent = Model163
- Part167.Material = Enum.Material.Wood
- Part167.BrickColor = BrickColor.new("Brown")
- Part167.Rotation = Vector3.new(-180, 0, -180)
- Part167.Anchored = true
- Part167.Size = Vector3.new(0.200000003, 2, 0.600000024)
- Part167.CFrame = CFrame.new(-12.6203585, 10.3890963, -2.75402808, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part167.BottomSurface = Enum.SurfaceType.Smooth
- Part167.TopSurface = Enum.SurfaceType.Smooth
- Part167.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Part167.Position = Vector3.new(-12.6203585, 10.3890963, -2.75402808)
- Part167.Orientation = Vector3.new(0, 180, 0)
- Part167.Color = Color3.new(0.486275, 0.360784, 0.27451)
- Model168.Name = "Cockpit"
- Model168.Parent = Model162
- Part169.Name = "CockpitPart"
- Part169.Parent = Model168
- Part169.BrickColor = BrickColor.new("Grime")
- Part169.Rotation = Vector3.new(-180, 0, -180)
- Part169.Anchored = true
- Part169.CanCollide = false
- Part169.Size = Vector3.new(1, 1, 2)
- Part169.CFrame = CFrame.new(-9.22021389, 6.88911581, -5.25378418, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part169.BottomSurface = Enum.SurfaceType.Smooth
- Part169.TopSurface = Enum.SurfaceType.Smooth
- Part169.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part169.Position = Vector3.new(-9.22021389, 6.88911581, -5.25378418)
- Part169.Orientation = Vector3.new(0, 180, 0)
- Part169.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part170.Name = "CockpitPart"
- Part170.Parent = Model168
- Part170.BrickColor = BrickColor.new("Grime")
- Part170.Rotation = Vector3.new(-180, 0, -180)
- Part170.Anchored = true
- Part170.CanCollide = false
- Part170.Size = Vector3.new(1, 1, 2)
- Part170.CFrame = CFrame.new(-12.2203979, 6.88911581, -5.25366211, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part170.BottomSurface = Enum.SurfaceType.Smooth
- Part170.TopSurface = Enum.SurfaceType.Smooth
- Part170.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part170.Position = Vector3.new(-12.2203979, 6.88911581, -5.25366211)
- Part170.Orientation = Vector3.new(0, 180, 0)
- Part170.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part171.Name = "CockpitPart"
- Part171.Parent = Model168
- Part171.BrickColor = BrickColor.new("Grime")
- Part171.Rotation = Vector3.new(-180, 0, -180)
- Part171.Anchored = true
- Part171.CanCollide = false
- Part171.Size = Vector3.new(1, 2, 1)
- Part171.CFrame = CFrame.new(-9.22045994, 7.38911104, -3.75378799, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part171.BottomSurface = Enum.SurfaceType.Smooth
- Part171.TopSurface = Enum.SurfaceType.Smooth
- Part171.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part171.Position = Vector3.new(-9.22045994, 7.38911104, -3.75378799)
- Part171.Orientation = Vector3.new(0, 180, 0)
- Part171.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part172.Name = "CockpitPart"
- Part172.Parent = Model168
- Part172.BrickColor = BrickColor.new("Grime")
- Part172.Rotation = Vector3.new(-180, 0, -180)
- Part172.Anchored = true
- Part172.CanCollide = false
- Part172.Size = Vector3.new(1, 2, 1)
- Part172.CFrame = CFrame.new(-12.2204561, 7.38911104, -3.75390601, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part172.BottomSurface = Enum.SurfaceType.Smooth
- Part172.TopSurface = Enum.SurfaceType.Smooth
- Part172.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part172.Position = Vector3.new(-12.2204561, 7.38911104, -3.75390601)
- Part172.Orientation = Vector3.new(0, 180, 0)
- Part172.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part173.Name = "CockpitPart"
- Part173.Parent = Model168
- Part173.BrickColor = BrickColor.new("Grime")
- Part173.Rotation = Vector3.new(-180, 0, -180)
- Part173.Anchored = true
- Part173.CanCollide = false
- Part173.Size = Vector3.new(1, 2, 1)
- Part173.CFrame = CFrame.new(-12.2204561, 7.38911104, -6.75390577, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part173.BottomSurface = Enum.SurfaceType.Smooth
- Part173.TopSurface = Enum.SurfaceType.Smooth
- Part173.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part173.Position = Vector3.new(-12.2204561, 7.38911104, -6.75390577)
- Part173.Orientation = Vector3.new(0, 180, 0)
- Part173.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part174.Name = "CockpitPart"
- Part174.Parent = Model168
- Part174.BrickColor = BrickColor.new("Grime")
- Part174.Rotation = Vector3.new(-180, 0, -180)
- Part174.Anchored = true
- Part174.Size = Vector3.new(4, 1, 8.19999981)
- Part174.CFrame = CFrame.new(-10.7204599, 5.88911295, -5.15380812, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part174.BottomSurface = Enum.SurfaceType.Smooth
- Part174.TopSurface = Enum.SurfaceType.Smooth
- Part174.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part174.Position = Vector3.new(-10.7204599, 5.88911295, -5.15380812)
- Part174.Orientation = Vector3.new(0, 180, 0)
- Part174.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part175.Name = "CockpitPart"
- Part175.Parent = Model168
- Part175.BrickColor = BrickColor.new("Grime")
- Part175.Rotation = Vector3.new(-180, 0, -180)
- Part175.Anchored = true
- Part175.CanCollide = false
- Part175.Size = Vector3.new(1, 2, 1)
- Part175.CFrame = CFrame.new(-9.22052002, 7.38911104, -6.75378799, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part175.BottomSurface = Enum.SurfaceType.Smooth
- Part175.TopSurface = Enum.SurfaceType.Smooth
- Part175.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part175.Position = Vector3.new(-9.22052002, 7.38911104, -6.75378799)
- Part175.Orientation = Vector3.new(0, 180, 0)
- Part175.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part176.Name = "CockpitPart"
- Part176.Parent = Model168
- Part176.BrickColor = BrickColor.new("Grime")
- Part176.Rotation = Vector3.new(-180, 0, -180)
- Part176.Anchored = true
- Part176.Size = Vector3.new(4, 3, 2.20000005)
- Part176.CFrame = CFrame.new(-10.7204599, 7.88911295, -2.15381002, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part176.BottomSurface = Enum.SurfaceType.Smooth
- Part176.TopSurface = Enum.SurfaceType.Smooth
- Part176.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part176.Position = Vector3.new(-10.7204599, 7.88911295, -2.15381002)
- Part176.Orientation = Vector3.new(0, 180, 0)
- Part176.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part177.Name = "CockpitPart"
- Part177.Parent = Model168
- Part177.BrickColor = BrickColor.new("Grime")
- Part177.Rotation = Vector3.new(-180, 0, -180)
- Part177.Anchored = true
- Part177.CanCollide = false
- Part177.Size = Vector3.new(4, 3, 2)
- Part177.CFrame = CFrame.new(-10.7204599, 7.88911295, -8.25342178, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part177.BottomSurface = Enum.SurfaceType.Smooth
- Part177.TopSurface = Enum.SurfaceType.Smooth
- Part177.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part177.Position = Vector3.new(-10.7204599, 7.88911295, -8.25342178)
- Part177.Orientation = Vector3.new(0, 180, 0)
- Part177.Color = Color3.new(0.498039, 0.556863, 0.392157)
- ObjectValue178.Name = "DamageCollider"
- ObjectValue178.Parent = Part177
- Part179.Name = "SeatBack"
- Part179.Parent = Model168
- Part179.Material = Enum.Material.Fabric
- Part179.BrickColor = BrickColor.new("Institutional white")
- Part179.Rotation = Vector3.new(-180, 0, -180)
- Part179.Anchored = true
- Part179.CanCollide = false
- Part179.Size = Vector3.new(2, 3, 0.399999976)
- Part179.CFrame = CFrame.new(-10.72052, 7.88911295, -6.45385695, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part179.BottomSurface = Enum.SurfaceType.Smooth
- Part179.TopSurface = Enum.SurfaceType.Smooth
- Part179.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part179.Position = Vector3.new(-10.72052, 7.88911295, -6.45385695)
- Part179.Orientation = Vector3.new(0, 180, 0)
- Part179.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Model180.Name = "LandingGear"
- Model180.Parent = Model162
- Attachment181.Name = "Attachment1"
- Attachment181.Parent = mas
- Attachment181.Rotation = Vector3.new(-180, 0, -180)
- Attachment181.CFrame = CFrame.new(2.5, -1.29999995, -0.75, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Attachment181.Position = Vector3.new(2.5, -1.29999995, -0.75)
- Attachment181.Axis = Vector3.new(-1, 0, 0)
- Attachment181.Orientation = Vector3.new(-0, 180, 0)
- Attachment182.Name = "Attachment1"
- Attachment182.Parent = mas
- Attachment182.CFrame = CFrame.new(-2.5, -1.29999995, -0.75, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Attachment182.Position = Vector3.new(-2.5, -1.29999995, -0.75)
- Part183.Name = "WheelLeft"
- Part183.Parent = Model180
- Part183.Material = Enum.Material.Metal
- Part183.BrickColor = BrickColor.new("Cyan")
- Part183.Rotation = Vector3.new(-180, 0, -180)
- Part183.Anchored = true
- Part183.Shape = Enum.PartType.Cylinder
- Part183.Size = Vector3.new(0.200000003, 3, 3)
- Part183.CFrame = CFrame.new(-8.12054443, 2.88912702, -1.15356803, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part183.BottomSurface = Enum.SurfaceType.Smooth
- Part183.TopSurface = Enum.SurfaceType.Smooth
- Part183.Color = Color3.new(0.0156863, 0.686275, 0.92549)
- Part183.Position = Vector3.new(-8.12054443, 2.88912702, -1.15356803)
- Part183.Orientation = Vector3.new(0, 180, 0)
- Part183.Color = Color3.new(0.0156863, 0.686275, 0.92549)
- Attachment184.Name = "Attachment0"
- Attachment184.Parent = Part183
- Attachment184.CFrame = CFrame.new(0.100000001, 0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Attachment184.Position = Vector3.new(0.100000001, 0, -0)
- HingeConstraint185.Parent = Part183
- HingeConstraint185.Attachment0 = Attachment184
- HingeConstraint185.Attachment1 = Attachment182
- Part186.Name = "WheelRight"
- Part186.Parent = Model180
- Part186.Material = Enum.Material.Metal
- Part186.BrickColor = BrickColor.new("Dusty Rose")
- Part186.Rotation = Vector3.new(-180, 0, -180)
- Part186.Anchored = true
- Part186.Shape = Enum.PartType.Cylinder
- Part186.Size = Vector3.new(0.200000003, 3, 3)
- Part186.CFrame = CFrame.new(-13.3206758, 2.88912702, -1.15368795, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part186.BottomSurface = Enum.SurfaceType.Smooth
- Part186.TopSurface = Enum.SurfaceType.Smooth
- Part186.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Part186.Position = Vector3.new(-13.3206758, 2.88912702, -1.15368795)
- Part186.Orientation = Vector3.new(0, 180, 0)
- Part186.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Attachment187.Name = "Attachment0"
- Attachment187.Parent = Part186
- Attachment187.Rotation = Vector3.new(-180, 0, -180)
- Attachment187.CFrame = CFrame.new(-0.100000001, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Attachment187.Position = Vector3.new(-0.100000001, 0, 0)
- Attachment187.Axis = Vector3.new(-1, 0, 0)
- Attachment187.Orientation = Vector3.new(-0, 180, 0)
- HingeConstraint188.Parent = Part186
- HingeConstraint188.Attachment0 = Attachment187
- HingeConstraint188.Attachment1 = Attachment181
- Model189.Name = "Tail"
- Model189.Parent = Model162
- Part190.Name = "TailSection"
- Part190.Parent = Model189
- Part190.BrickColor = BrickColor.new("Grime")
- Part190.Rotation = Vector3.new(-180, 0, -180)
- Part190.Anchored = true
- Part190.Size = Vector3.new(3, 3, 3)
- Part190.CFrame = CFrame.new(-10.7204599, 7.38911104, -10.7539063, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part190.BottomSurface = Enum.SurfaceType.Smooth
- Part190.TopSurface = Enum.SurfaceType.Smooth
- Part190.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part190.Position = Vector3.new(-10.7204599, 7.38911104, -10.7539063)
- Part190.Orientation = Vector3.new(0, 180, 0)
- Part190.Color = Color3.new(0.498039, 0.556863, 0.392157)
- ObjectValue191.Name = "DamageCollider"
- ObjectValue191.Parent = Part190
- Part192.Name = "TailSection"
- Part192.Parent = Model189
- Part192.BrickColor = BrickColor.new("Grime")
- Part192.Rotation = Vector3.new(-180, 0, -180)
- Part192.Anchored = true
- Part192.Size = Vector3.new(2, 2, 3)
- Part192.CFrame = CFrame.new(-10.7204599, 7.38911104, -13.7536621, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part192.BottomSurface = Enum.SurfaceType.Smooth
- Part192.TopSurface = Enum.SurfaceType.Smooth
- Part192.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part192.Position = Vector3.new(-10.7204599, 7.38911104, -13.7536621)
- Part192.Orientation = Vector3.new(0, 180, 0)
- Part192.Color = Color3.new(0.498039, 0.556863, 0.392157)
- ObjectValue193.Name = "DamageCollider"
- ObjectValue193.Parent = Part192
- Part194.Name = "TailSection"
- Part194.Parent = Model189
- Part194.BrickColor = BrickColor.new("Grime")
- Part194.Rotation = Vector3.new(-180, 0, -180)
- Part194.Anchored = true
- Part194.Size = Vector3.new(1, 1.39999998, 3)
- Part194.CFrame = CFrame.new(-10.7204599, 7.38911104, -16.753788, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part194.BottomSurface = Enum.SurfaceType.Smooth
- Part194.TopSurface = Enum.SurfaceType.Smooth
- Part194.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part194.Position = Vector3.new(-10.7204599, 7.38911104, -16.753788)
- Part194.Orientation = Vector3.new(0, 180, 0)
- Part194.Color = Color3.new(0.498039, 0.556863, 0.392157)
- ObjectValue195.Name = "DamageCollider"
- ObjectValue195.Parent = Part194
- Part196.Name = "TailSection"
- Part196.Parent = Model189
- Part196.BrickColor = BrickColor.new("Grime")
- Part196.Rotation = Vector3.new(-180, 0, -180)
- Part196.Anchored = true
- Part196.Size = Vector3.new(0.400000006, 1, 7)
- Part196.CFrame = CFrame.new(-10.7202759, 7.38911104, -21.7539063, -1, 0, 0, 0, 1, 0, 0, 0, -1)
- Part196.BottomSurface = Enum.SurfaceType.Smooth
- Part196.TopSurface = Enum.SurfaceType.Smooth
- Part196.Color = Color3.new(0.498039, 0.556863, 0.392157)
- Part196.Position = Vector3.new(-10.7202759, 7.38911104, -21.7539063)
- Part196.Orientation = Vector3.new(0, 180, 0)
- Part196.Color = Color3.new(0.498039, 0.556863, 0.392157)
- ObjectValue197.Name = "DamageCollider"
- ObjectValue197.Parent = Part196
- Part198.Name = "RegenButton"
- Part198.Parent = Model0
- Part198.Material = Enum.Material.Wood
- Part198.BrickColor = BrickColor.new("Dark orange")
- Part198.Rotation = Vector3.new(-89.5499954, 87.5400009, 90.4499969)
- Part198.Anchored = true
- Part198.CanCollide = false
- Part198.Size = Vector3.new(3, 1, 3)
- Part198.CFrame = CFrame.new(16.6961555, 0.587297022, -21.0871582, -0.000336000085, -0.0429240167, 0.999078333, 0.0156080034, 0.998956501, 0.0429240279, -0.999878228, 0.0156080397, 0.000334308686)
- Part198.BottomSurface = Enum.SurfaceType.Smooth
- Part198.TopSurface = Enum.SurfaceType.Smooth
- Part198.Color = Color3.new(0.627451, 0.372549, 0.207843)
- Part198.Position = Vector3.new(16.6961555, 0.587297022, -21.0871582)
- Part198.Orientation = Vector3.new(-2.46000004, 89.9799957, 0.899999976)
- Part198.Color = Color3.new(0.627451, 0.372549, 0.207843)
- SurfaceGui199.Parent = Part198
- SurfaceGui199.Face = Enum.NormalId.Top
- SurfaceGui199.CanvasSize = Vector2.new(400, 400)
- TextLabel200.Name = "Label"
- TextLabel200.Parent = SurfaceGui199
- TextLabel200.Transparency = 1
- TextLabel200.Size = UDim2.new(1, 0, 1, 0)
- TextLabel200.Text = "Touch to Spawn Plane"
- TextLabel200.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel200.BackgroundTransparency = 1
- TextLabel200.Font = Enum.Font.SourceSans
- TextLabel200.FontSize = Enum.FontSize.Size96
- TextLabel200.TextColor3 = Color3.new(1, 1, 1)
- TextLabel200.TextWrapped = true
- for i,v in pairs(mas:GetChildren()) do
- v.Parent = workspace
- pcall(function() v:MakeJoints() end)
- end
- mas:Destroy()
- for i,v in pairs(cors) do
- spawn(function()
- pcall(v)
- end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement