I’m genuinely confused by this. Are you trying to create a helicopter just using a rotor? Did Roblox change something? Are you using a script to handle this and I’m just confused?
local chg=Vector3.new(0,0,0)
local rot=0
local inc=0
while true do
wait(.1)
local lv=engine.CFrame.lookVector
if up then
-- rotorSpd(0.6)
if chg.y<30 then
chg=chg+Vector3.new(0,2,0)
end
elseif dn then
-- rotorSpd(0.2)
if chg.y>-30 then
chg=chg+Vector3.new(0,-2,0)
end
elseif chg.magnitude>1 then
-- rotorSpd(0.4)
chg=chg*0.9
else
-- rotorSpd(0.4)
chg=Vector3.new(0,1,0)--0,1,0
end
if w then
if inc<max_speed then
inc=inc+2
end
spd.velocity=chg+(engine.CFrame.lookVector+Vector3.new(0,0.3,0))*inc
gyro.cframe=CFrame.new(engine.Position,engine.Position+Vector3.new(lv.x,-0.3,lv.z))
elseif s then
if inc >-max_speed then
inc=inc-2
end
spd.velocity=chg+(engine.CFrame.lookVector-Vector3.new(0,0.3,0))*inc
gyro.cframe=CFrame.new(engine.Position,engine.Position+Vector3.new(lv.x,0.3,lv.z))
else
inc=inc*0.9
spd.velocity=chg+engine.CFrame.lookVector*inc+Vector3.new(0,0,0)
gyro.cframe=CFrame.new(engine.Position,engine.Position+Vector3.new(lv.x,0,lv.z))
end
if a then
if rot<math.pi/8 then
rot=rot+math.pi/20
end
gyro.cframe=gyro.cframe*CFrame.Angles(0,math.pi/10,rot)
elseif d then
if rot>-math.pi/8 then
rot=rot-math.pi/20
end
gyro.cframe=gyro.cframe*CFrame.Angles(0,-math.pi/10,rot)
else
rot=0
end
end
The above code is on a local script, could this be the issue?
How do you know its fully functional if nobody can drive it? Does it move on its own and the player is just meant to ride it?<<<
To clarify, when the 2nd player is not near the heli, the player in the pilot seat is able to fly it without problems. The issue occurs when a player have taken a passenger seat before the pilot take his, or by simple having a player at a touching distance of the heli.