PP open source (visual)
Key RequiredUniversal

PP open source (visual)

Universal ScriptShowcase14Showcase14 744 views 2.9K executesUpdated Sep 17, 2026
Unrated
00
Lua Script•61 lines (2280 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

local currentContainer = nil

local function cleanup()
    if currentContainer then currentContainer:Destroy() currentContainer = nil end
end

local function createVisualStructure()
    cleanup()

    local char = LocalPlayer.Character
    local root = char and char:FindFirstChild("HumanoidRootPart")
    
    if not root then return end
    
    local container = Instance.new("Model")
    container.Name = "VisualStructure_Static"
    container.Parent = root
    currentContainer = container
    
    local function createPart(shape, size, offset, color, name)
        local part = Instance.new("Part")
        part.Name = name or "Part"
        part.Shape = shape part.Size = size part.Color = color
        part.Material = Enum.Material.SmoothPlastic
        part.CanCollide = false part.Massless = true part.Parent = container
        
        local weld = Instance.new("WeldConstraint")
        part.CFrame = root.CFrame * offset
        weld.Part0 = root weld.Part1 = part weld.Parent = part
        return part
    end
    
    local skinColor = Color3.fromRGB(245, 205, 180)
    local tipColor = Color3.fromRGB(240, 160, 160)
    local shaftLength = 2.2
    local shaftRadius = 0.75
    local headSize = 0.85
    
    createPart(Enum.PartType.Ball, Vector3.new(0.9, 0.9, 0.9), CFrame.new(-0.45, -1, -0.2), skinColor, "BaseL")
    createPart(Enum.PartType.Ball, Vector3.new(0.9, 0.9, 0.9), CFrame.new(0.45, -1, -0.2), skinColor, "BaseR")
    
    local shaftOffset = CFrame.new(0, -1, -(0.2 + shaftLength/2)) * CFrame.Angles(0, math.rad(90), 0)
    createPart(Enum.PartType.Cylinder, Vector3.new(shaftLength, shaftRadius, shaftRadius), shaftOffset, skinColor, "Shaft")
    
    local headOffset = CFrame.new(0, -1, -(0.2 + shaftLength))
    createPart(Enum.PartType.Ball, Vector3.new(headSize, headSize, headSize), headOffset, tipColor, "TipPart")
end

local function onCharacterAdded(char)
    cleanup()
    char:WaitForChild("HumanoidRootPart", 5)
    task.wait(1.5)
    createVisualStructure()
end

if LocalPlayer.Character then task.spawn(onCharacterAdded, LocalPlayer.Character) end
LocalPlayer.CharacterAdded:Connect(onCharacterAdded)
LocalPlayer.CharacterRemoving:Connect(cleanup)

Features & Information

dont fe on universal open source

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts