generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripting Helpers
Home Search
 

Re: VTOL Help

Previous Thread :: Next Thread 
seanb117 is not online. 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 is not online. seanb117
Joined: 03 Feb 2010
Total Posts: 1020
18 Sep 2012 08:23 PM
bump.
Report Abuse
crazyman32 is not online. crazyman32
Joined: 13 Apr 2008
Total Posts: 18027
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 is not online. 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 is not online. 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 is not online. seanb117
Joined: 03 Feb 2010
Total Posts: 1020
18 Sep 2012 11:34 PM
bump
Report Abuse
seanb117 is not online. seanb117
Joined: 03 Feb 2010
Total Posts: 1020
19 Sep 2012 09:28 AM
No one can help me? >.> Dx
Report Abuse
GeniusBuilder is not online. GeniusBuilder
Joined: 20 Jan 2010
Total Posts: 2159
19 Sep 2012 09:54 AM
It's because of the length of the script

Nobody is going to read that
Report Abuse
seanb117 is not online. 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 is not online. opplo
Joined: 09 Dec 2008
Total Posts: 5320
19 Sep 2012 01:04 PM
Learn to script first.
Report Abuse
buddy249950 is not online. buddy249950
Joined: 30 Jun 2016
Total Posts: 3536
19 Sep 2012 03:26 PM
You have to change what ever CFrame is on this line.

vehicle.Direction.cframe = vehicle.CFrame
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripting Helpers
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image