I have tried doing this and it only worked with a union which I don’t like I want the player to freeze into a normal block
Make the player PlatformStand
then put the icecube Part
at the CFrame of the players HumanoidRootPart
but won’t the player just glitch out? cause its cancollide
Couldn’t you just set the HumanoidRootPart’s Anchored
property to true instead? Why enable the PlatformStand
State?
Then the player will still be able to rotate with shift lock, + it won’t put the player in the PlatformStand position.
Edit: I just tried it and you can rotate with PlatformStand enabled too rip
I just tested it and the player goes through the floor
So do both, Anchored and PlatformStand
can i just do it without the platformstand?
if you want to
The only reason I recommended PlatformStand is because it puts it in this position
Instead of
Is there a way to add ice that is attached to the part like on a house irl
Just do something along the lines of this
local Duration = 5
local Target = --Character's HRP here
local IcePart = game.ReplicatedStorage.IcePart:Clone()
IcePart.Parent = workspace
IcePart.CFrame = Target.CFrame
Target.Anchored = true
wait(Duration)
Target.Anchored = false
IcePart:Destroy()
This is probably the most blandest code I’ve written
You could use Welds
for that, attaching the Part0
& Part1
properties I believe
if i use welds it positions the part inside the otherpart
Maybe something like this?
local Part = script.Parent
Part.Touched:Connect(function(hit)
if game:GetService("Players"):GetPlayerFromCharacter(hit.Parent) then
local Ice = Instance.new("Part")
local Attachment = Instance.new("WeldConstraint")
Ice.Position = hit.Parent.HumanoidRootPart.Position
Ice.BrickColor = "Color Of Ice"
Attachment.Part0 = Ice
Attachment.Part1 = hit.Parent.HumanoidRootPart
Ice.Parent = workspace
Attachment.Parent = Ice
end
end)
weld constraints are better, also is there a way to pause all animations for the player to make it more realistic?
You can do something like this to stop the animations in the character
if PlayerCharacter:FindFirstDescendants("Animation") then
PlayerCharacter:FindFirstDescendants("Animation"):Stop()
end
and how would i resume just :Play()
Because if they are in air, their animations will play, which is unwanted behavior,
FindFirstDescendants is not a thing. If you want to find a descendant, use FindFirstChild and put true to the second (recursive) property of the function. If you want all descendants, use GetDescendants.