seanb117
|
  |
| Joined: 03 Feb 2010 |
| Total Posts: 1020 |
|
|
| 18 Sep 2012 07:06 PM |
Okay so I am editing Marks(I think its his?) aircraft seat so it could take off vertically but I'm having problems figuring out how to... so this is the script. Help making it take off vertically is helpful. 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" force.velocity = guns[i].CFrame.lookVector * 400
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)
|
|
|
| Report Abuse |
|
|
seanb117
|
  |
| Joined: 03 Feb 2010 |
| Total Posts: 1020 |
|
| |
|
|
| 18 Sep 2012 08:33 PM |
You can't just paste a script that huge on here and expect someone to figure out the issue.
I don't mean to sound harsh, but that's just the truth. |
|
|
| Report Abuse |
|
|
seanb117
|
  |
| Joined: 03 Feb 2010 |
| Total Posts: 1020 |
|
|
| 18 Sep 2012 09:20 PM |
Yeah I kinda figured. I just wanted to make sure people knew xertain parts of the script.. anyways I know which part has to be edited. Its the "W" and "Y" keys.. I just am not sure what to put to make the "Y" make the aircraft seat go up and then the W key to go forward.. thats all I need help with >.< |
|
|
| Report Abuse |
|
|
seanb117
|
  |
| Joined: 03 Feb 2010 |
| Total Posts: 1020 |
|
|
| 18 Sep 2012 09:59 PM |
It's pretty much just these arts that need to be changed
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 == "w" then if vehicle.Speed.Value < vehicle.MaxSpeed.Value then vehicle.Speed.Value = vehicle.Speed.Value + 10 end
|
|
|
| Report Abuse |
|
|
seanb117
|
  |
| Joined: 03 Feb 2010 |
| Total Posts: 1020 |
|
| |
|
seanb117
|
  |
| Joined: 03 Feb 2010 |
| Total Posts: 1020 |
|
|
| 19 Sep 2012 09:28 AM |
| No one can help me? >.> Dx |
|
|
| Report Abuse |
|
|
|
| 19 Sep 2012 09:54 AM |
It's because of the length of the script
Nobody is going to read that |
|
|
| Report Abuse |
|
|
seanb117
|
  |
| Joined: 03 Feb 2010 |
| Total Posts: 1020 |
|
|
| 19 Sep 2012 11:00 AM |
| I reposted the small part I know has to be edited.. its just changing the command functions. That I know. I don't know what to change it to however. |
|
|
| Report Abuse |
|
|
opplo
|
  |
| Joined: 09 Dec 2008 |
| Total Posts: 5320 |
|
| |
|
|
| 19 Sep 2012 03:26 PM |
You have to change what ever CFrame is on this line.
vehicle.Direction.cframe = vehicle.CFrame |
|
|
| Report Abuse |
|
|