You are now able to dynamically scale R15 Characters.
Demonstration:
There are four new NumberValue objects in the Humanoid of R15 characters.
BodyDepthScale
BodyHeightScale
BodyWidthScale
HeadScale
Changing these values will scale the character by multiplying the original size by the current value for that dimension. The body parts of the humanoid will be scaled in all three dimensions while the HeadScale will scale the head uniformly.
Scaling while running:
Try it out here, this place is also uncopylocked if you want to have a look at the code.
Example code
local RbxGui = assert(LoadLibrary('RbxGui'))
local SliderGui, SliderValue = RbxGui.CreateSlider(1000,75,UDim2.new(0.5, 0, 0.479999989, 0))
SliderGui.Parent = script.Parent.Frame
SliderGui.Bar.Size = UDim2.new(0.5, 0, 0.025, 0)
SliderGui.Bar.Position = UDim2.new(0.5, 1, 0, 60) --UDim2.new(0.5, 0, 0.225, 0)
SliderValue.Value = 500
while true do
wait(.1)
if game.Players.LocalPlayer then
local character = game.Players.LocalPlayer.Character
if character then
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
if humanoid:FindFirstChild("BodyHeightScale") then
humanoid.BodyHeightScale.Value = (SliderValue.Value/1000)*6
end
if humanoid:FindFirstChild("BodyWidthScale") then
humanoid.BodyWidthScale.Value = (SliderValue.Value/1000)*6
end
if humanoid:FindFirstChild("BodyDepthScale") then
humanoid.BodyDepthScale.Value = (SliderValue.Value/1000)*6
end
end
end
end
end