Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Add script parts for the controls a aircraft?

Asked by 10 years ago

Below is a script for an aircraft of mine but what script would you put so that When the key Y is hit, Not only will it go forword and up, when key q is hit, it would go down and if it was moving (if key Y was hit) t would go forword and down, when key e is hit, it would cause the seat( or aircraft) to go up, and if key y was hit and e, it would go forword and up? I know its a lot but I'm not the best a scripting. -thanks, kry

The script for the aircraft seat I have at the minute:

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 local CanShoot = true fly = false

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
if engine:findFirstChild("Direction").maxTorque == Vector3.new(4e3,0,4e3) then
    engine:findFirstChild("Direction").maxTorque = Vector3.new(4e3,4e3,4e3)
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 == "D77-TC Pelican Dropship") 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 if vehicle.EngineSound.Value > 0 then vehicle["EngineSound".. vehicle.EngineSound.Value].Pitch = (currentspeed/240) + (vehicle["EngineSound".. vehicle.EngineSound.Value].BasePitch.Value/100) 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) if vehicle.EngineSound.Value > 0 then vehicle["EngineSound".. vehicle.EngineSound.Value].Pitch = (currentspeed/240) + (vehicle["EngineSound".. vehicle.EngineSound.Value].BasePitch.Value/100) end end --if key == "f" and CanShoot == true then 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 > vehicle.MinSpeed.Value 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 end end end

function onKeyUp(key) if (key~=nil) then key = key:lower() local vehicle = findPlane(script.Parent.Parent.Parent) if (vehicle==nil) then return end end end

bin.Selected:connect(onSelected) bin.Deselected:connect(onDeselected) -- Edited By kryptonite141

0
I apoligize for not being able to get everything to appear as a script. kryptonite141 0 — 10y
0
Naturally despite all the scripters on the sight, no one can help me when i have a legitiment questin. kryptonite141 0 — 10y

Answer this question