You can write your topic however you want, but you need to answer these questions:
I am trying to make a player vacuum.
What is the issue?
I don’t know how I will achieve this goal.
What solutions have you tried so far? Did you look for solutions on the Developer Hub?
I have tried searching up tutorials and on the deform but nothing will show up.
How can I make a player vacuum?
What I mean by a player vacuum is basically well, a vacuum that sucks up players.
Where I got the idea from: PLAYER VACUUM - Roblox
It’s kind of hard to help you since I have no idea what you’re on about. I can’t exactly test out a gamepass. Could you try and explain into more depths rather than just saying a vacuum that sucks up players?
Yea, sure. Basically when the player clicks on the vacuum and is aimed at a player then the player gets teleported into the back clear area (I forget what it’s called) and they get frozen and are not able to walk.
Try using a RocketPropulsion | Roblox Creator Documentation! These pull their parent (provided it’s a BasePart) towards a seperate BasePart. Not only do you not have to constantly set the position (Like with BodyPosition), but it has events for when the object reaches the target (For more info on that, read the API page)! For example, if you wanted to get every player in the game to be sucked in, you would try:
local Players = game:GetService("Players")
local Target = workspace.Target -- Set this to whatever your target is
for i,v in pairs(Players:GetPlayers()) do
local RP = Instance.new("RocketPropulsion")
RP.MaxThrust = 100000 -- I've found 100000 to be a good number, but do whatever you think is good
RP.Target = Target
RP.Parent = v.Character:FindFirstChild("HumanoidRootPart")
RP:Fire() -- Unlike most movers, you must call :Fire() on it for it to move.
-- You can also do :Abort() on the RocketPropulsion to stop it.
end
You’ll have to code your own logic for detecting when the player is in front of the vacuum, but this should be simple enough.
I’d use BodyPosition and just asign the Position property to the vacuum’s position, that’ll basically suck the player to the vacuum. I don’t think it’ll look as cool, but its a solution. Hope you find your anwer!
Perfect, the Humanoid | Roblox Creator Documentation property is perfect for this! When PlatformStand is true, the character will not be able to move. We can apply this to our earlier code like so:
local Players = game:GetService("Players")
local Target = workspace.Target -- Set this to whatever your target is
for i,v in pairs(Players:GetPlayers()) do
local hum = v.Character:FindFirstChildOfClass("Humanoid")
if hum then
hum.PlatformStand = true
end
local RP = Instance.new("RocketPropulsion")
RP.MaxThrust = 100000 -- I've found 100,000 to be a good number, but do whatever you think is good
RP.Target = Target
RP.Parent = v.Character:FindFirstChild("HumanoidRootPart")
RP:Fire() -- Unlike most movers, you must call :Fire() on it for it to move.
-- You can also do :Abort() on the RocketPropulsion to stop it.
end
This will both make the character be completely immobilized, and be sucked towards the target part.