How to make a tornado pull?

What do you mean by “the position lines”?

Get a part to rotate around the tornado in a circular motion. I think constantly getting the player to try get to the part using BodyPosition would get the effect you want, but try mess around with different BodyMovers and positions to suit what you need.

i would use something like vector force

I just have to say, that is an AMAZING looking tornado, good job!

2 Likes

Hey, I think I will use VectorForce rather than AssemblyLinearVelocity. This is my code so far.

local MaxPower = 10000
local MaxDist = 300
local MinDist = 15

local Character = player.Character
local HumanoidRootPart = character:FindFirstChild("HumanoidRootPart")
			
local VectorForce = humanoidRootPart:FindFirstChildOfClass("VectorForce") or Instance.new("VectorForce", humanoidRootPart)
local Attachment = humanoidRootPart:FindFirstChildOfClass("Attachment") or Instance.new("Attachment", player)
VectorForce.Attachment0 = Attachment
VectorForce.RelativeTo = Enum.ActuatorRelativeTo.World
			
local Radius = Attachment.WorldPosition - Tornado.Part.Position
local FlingPower = (Radius.Magnitude - MinDist)/(MaxDist - MinDist)
			
VectorForce.Force = radius.Unit * (FlingPower * MaxPower)

This line makes the force increase the further away the player is from the tornado.

local FlingPower = (Radius.Magnitude - MinDist)/(MaxDist - MinDist)

Wouldn’t I want the FlingPower to be 0 when distance >= 300 and 1 when distance <= 15? How can I achieve this?

1 Like

right now you have 15=0 and 300=1
just do 1-FlingPower to give yourself 15=1 and 300=0