Загрузка данных


local Players = game:GetService("Players")
local player = Players.LocalPlayer

-- ================= НАСТРОЙКИ (в стадах) =================
local Settings = {
	TorsoWidth = 1.4,  -- обычное 2
	ArmWidth = 0.6,    -- обычное 1
	ArmDepth = 0.8,    -- обычное 1
	LegWidth = 0.6,    -- обычное 1 (две ноги вместе должны быть не шире торса)
	LegDepth = 0.9,    -- обычное 1
}
-- ========================================================

local function setX(motor, prop, x)
	local cf = motor[prop]
	motor[prop] = CFrame.new(x, cf.Y, cf.Z) * (cf - cf.Position)
end

local function narrow(char)
	local hum = char:WaitForChild("Humanoid")
	if hum.RigType ~= Enum.HumanoidRigType.R6 then
		warn("[NarrowBody] Аватар не R6, ничего не меняю")
		return
	end

	local torso = char:WaitForChild("Torso")
	local leftArm = char:WaitForChild("Left Arm")
	local rightArm = char:WaitForChild("Right Arm")
	local leftLeg = char:WaitForChild("Left Leg")
	local rightLeg = char:WaitForChild("Right Leg")

	local rs = torso:WaitForChild("Right Shoulder")
	local ls = torso:WaitForChild("Left Shoulder")
	local rh = torso:WaitForChild("Right Hip")
	local lh = torso:WaitForChild("Left Hip")

	local tw, aw, lw = Settings.TorsoWidth, Settings.ArmWidth, Settings.LegWidth

	torso.Size = Vector3.new(tw, torso.Size.Y, torso.Size.Z)
	leftArm.Size = Vector3.new(aw, leftArm.Size.Y, Settings.ArmDepth)
	rightArm.Size = Vector3.new(aw, rightArm.Size.Y, Settings.ArmDepth)
	leftLeg.Size = Vector3.new(lw, leftLeg.Size.Y, Settings.LegDepth)
	rightLeg.Size = Vector3.new(lw, rightLeg.Size.Y, Settings.LegDepth)

	setX(rs, "C0", tw / 2)
	setX(rs, "C1", -aw / 2)
	setX(ls, "C0", -tw / 2)
	setX(ls, "C1", aw / 2)

	setX(rh, "C0", lw)
	setX(rh, "C1", lw / 2)
	setX(lh, "C0", -lw)
	setX(lh, "C1", -lw / 2)
end

player.CharacterAdded:Connect(narrow)
if player.Character then narrow(player.Character) end