So the video I linked below shows a thing that also scales the player smaller. it makes the player smaller smoothly but my video frames make it look instant. How can I do it?
There’s some Values inside the player Humanoid.
for example if u want to make the size half of what it currently is use this
for _, value in pairs(Humanoid:GetChildren()) do
if value:IsA("NumberValue") then
value.Value = value.Value / 2
end
end
u have to define Humanoid obviously.
You could utilize a HumanoidDescription Scale
properties to decrease or increase the desired number’s value.
To modify the number smoothly, you can achieve this by binding a function to RenderStep and unbinding it after the process is complete. Since renderstep uses the player’s framerate for the transition.
Once the number is calculated, you can use Humanoid:ApplyDescription to apply the modified HumanoidDescription, giving you the impression of a shrinking transition.
The code would be layed out as followed:
local Humanoid = Character:WaitForChild("Humanoid")
local HumanoidDescription = Humanoid.HumanoidDescription
local ShrinkSpeed = 5
local MinimumShrink = 0.2
local MaximumGrowth = 1
function ShrinkCharacter(deltatime)
HumanoidDescription.HeightScale = math.clamp(HumanoidDescription.HeightScale - (ShrinkSpeed * deltatime), MinimumShrink, MaximumGrowth) -- Decrease and clamp the value.
Humanoid:ApplyDescription(HumanoidDescription)
if (HumanoidDescription.HeightScale <= MinimumShrink) then
pcall(function() game:GetService("RunService"):UnbindFromRenderStep("ShrinkCharacter") end) -- Unbind the shrink method
end
end
That is only part of the code. You’d need to determine when to hook the method and what to scale within the method.
But would this work for r6? Since that’s what my game is nonstop scripted in?
But I don’t think it has that for a r6 rig?