So ive been trying my hand at a vehicle, and so far its been going pretty good. However this is one thing that does not make any sense to me. I thought it would be a good idea to use a Body Velocity to move my vehicle (I'm really not make anything that advanced here), but no matter what value I use for the Velocity property of Body Velocity, the part I'm using simply goes in the same direction.
VehicleEvent.OnServerEvent:Connect(function(plr, Type, Motion)
local CurrentBV = nil
warn("Player Input Type:", Type, Motion)
Vehicle.Anchored = false
if Type == "InputBegan" then
if Motion == "Forward" then
ForwardHold = true
CurrentBV = MoveVehicle(CFrame.new(0,0,-10), 10, CurrentBV)
print(CurrentBV)
end
if Motion == "Left" then
LeftHold = true
CurrentBV = MoveVehicle(CFrame.new(-10,0,0), 10, CurrentBV)
print(CurrentBV)
end
if Motion == "Backward" then
BackwardHold = true
CurrentBV = MoveVehicle(CFrame.new(0,0,10), 10, CurrentBV)
print(CurrentBV)
end
if Motion == "Right" then
RightHold = true
CurrentBV = MoveVehicle(CFrame.new(10,0,0), 10, CurrentBV)
print(CurrentBV)
end
else
Inside the function:
local MoveVehicle = function(MoveTo, P, CurrentBV)
if CurrentBV ~= nil then
CurrentBV:Destroy()
end
local BV = Instance.new("BodyVelocity",Vehicle)
BV.Velocity = (Vehicle.CFrame * MoveTo).Position
BV.P = P
BV.MaxForce = Vector3.new(100000,100000,100000)
Instance.new("Part",game.Workspace).Position = (Vehicle.CFrame * MoveTo).Position
return BV
end
Is there a problem with my code, or have I completely misunderstood Body Velocity
