|
| 05 Jun 2016 10:35 AM |
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)
This is a script that I'm using. It works on solo play on studio, but not on the actual online server. I looked in the developer console and it said: "Selected is not a valid member of Seat". I think that the "Selected" part is referring to line 282. Does anyone know how to fix this. Thanks. |
|
|
| Report Abuse |
|
| |
|
| 05 Jun 2016 11:53 AM |
| My bad. Second to last is 282. |
|
|
| Report Abuse |
|
|
| 05 Jun 2016 11:57 AM |
| The script is in a seat, there is no event or property of Seat called selected. |
|
|
| Report Abuse |
|
| |