Here is my line of code
bin = script.Parent
plane = nil
hold = false
local debounce = false
local planedebounce = false
local stuntdebounce = false
local controlling = false
local currentspeed = 0
local turn = nil
fly = false
local missile = false
local shooting = false
function fire(gun_Source, player)
missile = true
local guns = gun_Source:GetChildren()
for i = 1,#guns do
if guns[i].Name == "RocketLauncher" and guns[i].className == "Part" then
local shoot = Instance.new("Part")
shoot.BrickColor = BrickColor.new("Really black")
shoot.formFactor = "Plate"
shoot.Size = Vector3.new(1,0.4,2)
shoot.CFrame = guns[i].CFrame * CFrame.new(0,0,-5)
shoot.Name = "Missile"
local d = game:GetService("Debris")
d:AddItem(shoot,15)
local force = Instance.new("BodyVelocity")
force.Parent = shoot
force.Name = "Move"
local x1 = guns[i].Velocity.x
local y1 = guns[i].Velocity.y
local z1 = guns[i].Velocity.z
force.velocity = Vector3.new(x1+(x1/5),y1+(y1/5),z1+(z1/5))
local creator = Instance.new("ObjectValue")
creator.Name = "creator"
creator.Value = player
creator.Parent = shoot
local swoosh = script.Parent:findFirstChild("Swoosh"):clone()
swoosh.Parent = shoot
swoosh:play()
local boom = script.Parent:findFirstChild("Explosion"):clone()
boom.PlayOnRemove = true
boom.Parent = shoot
local rocket = script:findFirstChild("RocketScript"):clone()
rocket.Disabled = false
rocket.Parent = shoot
shoot.Parent = Workspace
end
end
script.Parent:findFirstChild("Reload"):play()
local swish = script.Parent:findFirstChild("FireRocket")
swish:play()
for i = 1,28 do
wait()
swish.Volume = swish.Volume - 0.025
end
swish:stop()
swish.Volume = 0.7
wait(1)
missile = false
end
function fire_MachineGun(gun_Source, player)
while shooting == true do
missile = true
local guns = gun_Source:GetChildren()
for i = 1,#guns do
if guns[i].Name == "MachineGun" and guns[i].className == "Part" then
local shoot = Instance.new("Part")
shoot.BrickColor = BrickColor.new("Bright yellow")
shoot.formFactor = "Custom"
shoot.Size = Vector3.new(0.4,0.4,2)
shoot.CFrame = guns[i].CFrame * CFrame.new(0,0,-5)
shoot.Name = "Bullet"
local d = game:GetService("Debris")
d:AddItem(shoot,5)
local force = Instance.new("BodyVelocity")
force.Parent = shoot
force.Name = "Move"
force.velocity = guns[i].CFrame.lookVector * 750
local creator = Instance.new("ObjectValue")
creator.Name = "creator"
creator.Value = player
creator.Parent = shoot
local shot = script:findFirstChild("GunScript"):clone()
shot.Disabled = false
shot.Parent = shoot
shoot.Parent = Workspace
end
end
script.Parent:findFirstChild("FireGun"):play()
wait(0.15)
end
missile = false
end
function computeDirection(vec)
local lenSquared = vec.magnitude * vec.magnitude
local invSqrt = 1 / math.sqrt(lenSquared)
return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
end
function move(point, engine)
local origincframe = engine:findFirstChild("Direction").cframe
size = engine.Size
target = engine.Position+((point - engine.Position).unit*100)
local dir = (target - engine.Position).unit
local spawnPos = engine.Position
left = engine.CFrame*CFrame.new(-size.x/2, 0, 0).p
right = engine.CFrame*CFrame.new(size.x/2, 0, 0).p
md = (target - engine.Position).magnitude
foebmd = engine.CFrame*CFrame.new(0, 0, -md).p
toleft = (target -left).magnitude
toright = (target -right).magnitude
rot = ((foebmd - target).magnitude/10)
local pos = spawnPos + (dir * 1)
turn = math.rad((rot/10)*engine.TiltFactor.Value)
if turn > math.rad(89) then
turn = math.rad(89)
end
if toleft< toright and toleft >rot then
engine:findFirstChild("Direction").cframe = CFrame.new(pos, pos + dir)*CFrame.fromEulerAnglesXYZ(0, 0, turn)
elseif toleft > toright and toright >rot then
engine:findFirstChild("Direction").cframe = CFrame.new(pos, pos + dir)*CFrame.fromEulerAnglesXYZ(0, 0, -turn)
else
engine:findFirstChild("Direction").cframe = CFrame.new(pos, pos + dir)
end
engine:findFirstChild("Direction").P = engine.TurnSpeed.Value
end
function findPlane(player)
local list = player.Character:GetChildren()
for x = 1, #list do
if (list[x].Name == "AircraftSeat") then
return list[x]
end
end
return nil
end
function onButton1Down(mouse)
local vehicle = findPlane(script.Parent.Parent.Parent)
if vehicle ~= nil and debounce == false and planedebounce == false then
if fly == false and taxi == false then return end
debounce = true
controlling = true
while true do
wait()
local engine = vehicle
local position = mouse.Hit
local target = position.p
move(target, engine)
if planedebounce == true or
controlling == false then break end
end
wait(0.1)
debounce = false
end
end
function onButton1Up(mouse)
controlling = false
end
function onSelected(mouse)
mouse.Icon = "http://www.roblox.com/asset/?id=7419350"
game.Workspace.CurrentCamera.CameraSubject = bin.Parent.Parent.Character.Head
game.Workspace.CurrentCamera.CameraType = "Track"
mouse.Button1Down:connect(function() onButton1Down(mouse) end)
mouse.Button1Up:connect(function() onButton1Up(mouse) end)
mouse.KeyDown:connect(onKeyDown)
mouse.KeyUp:connect(onKeyUp)
mouse.Move:connect(function() Fly(mouse) end)
mouse.Idle:connect(function() Fly(mouse) end)
end
function onDeselected(mouse)
game.Workspace.CurrentCamera.CameraSubject = bin.Parent.Parent.Character.Humanoid
game.Workspace.CurrentCamera.CameraType = "Custom"
end
function Fly(mouse)
local vehicle = findPlane(script.Parent.Parent.Parent)
if (vehicle==nil) then return end
vehicle.Thrust.velocity = (vehicle.CFrame.lookVector * currentspeed) + Vector3.new(0,vehicle.LiftTrim.Value/100,0)
end
function onKeyDown(key)
if (key~=nil) then
key = key:lower()
local vehicle = findPlane(script.Parent.Parent.Parent)
if (vehicle==nil) then return end
if key == "y" then
fly = true
vehicle.Direction.cframe = vehicle.CFrame
vehicle.Direction.maxTorque = Vector3.new(4e3,4e3,4e3)
vehicle.Thrust.maxForce = Vector3.new(9e20,9e20,9e20)
while fly == true do
if currentspeed < vehicle.Speed.Value then
currentspeed = currentspeed + 1
elseif currentspeed > vehicle.Speed.Value then
currentspeed = currentspeed - 1
end
if vehicle.Acceleration.Value > 1000 then vehicle.Acceleration.Value = 1000 end
wait((1-(vehicle.Acceleration.Value/1000))+0.01)
if fly == false then break end
end
end
if key == "x" then
fly = false
currentspeed = 0
vehicle.Direction.maxTorque = Vector3.new(0,0,0)
vehicle.Thrust.maxForce = Vector3.new(0,0,0)
end
if key == "w" then
if vehicle.Speed.Value < vehicle.MaxSpeed.Value then
vehicle.Speed.Value = vehicle.Speed.Value + 10
end
end
if key == "s" then
if vehicle.Speed.Value > -10 then
vehicle.Speed.Value = vehicle.Speed.Value - 10
end
end
if key == "p" then
vehicle.Speed.Value = vehicle.MaxSpeed.Value
end
if key == ";" then
vehicle.Speed.Value = 0
end
if (key=="'") and (bin.Locked.Value == false) then
local repl = script:clone()
repl.Parent = bin
wait(1)
script:remove()
end
if key == "l" and fly == true then
vehicle.Direction.maxTorque = Vector3.new(4e3,0,4e3)
local frame = vehicle:FindFirstChild("OriginCFrame")
if frame ~= nil then
vehicle.Direction.cframe = frame.Value
end
wait(2)
vehicle.Direction.cframe = vehicle.CFrame
vehicle.Direction.maxTorque = Vector3.new(4e3,4e3,4e3)
end
if key == "f" and missile == false then
fire(vehicle, bin.Parent.Parent)
end
if key == "c" and missile == false then
shooting = true
fire_MachineGun(vehicle, bin.Parent.Parent)
end
end
end
function onKeyUp(key)
if (key~=nil) then
key = key:lower()
if key == "c" then
shooting = false
end
local vehicle = findPlane(script.Parent.Parent.Parent)
if (vehicle==nil) then return end
end
end
bin.Selected:connect(onSelected)
bin.Deselected:connect(onDeselected)
and in the output it says selected is not a valid member of seat on line 282 the 2 last line

3 comments
I am pretty sure selected is not a thing, I think, I am not good at tools
okay
but you might be right