local SCALE = 0.5

local Letters = {

A={"00100","01010","01110","01010","01010"},

B={"01100","01010","01110","01010","01100"},

C={"01110","01000","01000","01000","01110"},

D={"01100","01010","01010","01010","01100"},

E={"01110","01000","01110","01000","01110"},

F={"01110","01000","01110","01000","01000"},

G={"01110","01000","01010","01010","01110"},

H={"01010","01010","01110","01010","01010"},

I={"01110","00100","00100","00100","01110"},

J={"00100","00100","10100","10100","01000"},

K={"01001","01010","01000","01010","01001"},

L={"01000","01000","01000","01000","01111"},

M={"11111","10101","10101","10101","10101"},

N={"10001","11001","10101","10011","10001"},

O={"01110","01010","01010","01010","01110"},

P={"01110","01010","01100","01000","01000"},

Q={"11110","11010","10110","10010","11111"},

R={"11111","10001","11111","10010","10001"},

S={"11111","10000","11111","00001","11111"},

T={"11111","00100","00100","00100","00100"},

U={"10001","10001","10001","10001","11111"},

V={"10001","10001","01010","01010","00100"},

W={"10101","10101","10101","01010","01010"},

X={"10001","01010","00100","01010","10001"},

Y={"10001","01010","00100","00100","00100"},

Z={"11111","00001","11111","10000","11111"},

}

local TEXT = getgenv().PlayerText

local function CreateBlock(offset, parent)

local p = Instance.new("Part")

p.Size = Vector3.new(SCALE, SCALE, SCALE)

p.Anchored = false

p.CanCollide = false

p.Material = Enum.Material.Neon

p.Color = Color3.new(1,1,1)

p.CFrame = offset

p.Parent = parent

return p

end

local function CreateLetter(char, baseCFrame, parent)

local map = Letters[char]

if not map then return end

for y = 1, #map do

for x = 1, #map[y] do

if map[y]:sub(x,x) == "1" then

local offset = CFrame.new((x * SCALE), -(y * SCALE), 0)

CreateBlock(baseCFrame * offset, parent)

end

end

end

end

local function BuildText(player)

local char = player.Character

if not char then return end

local head = char:FindFirstChild("Head")

if not head then return end

if char:FindFirstChild("3DText") then

char["3DText"]:Destroy()

end

local model = Instance.new("Model")

model.Name = "3DText"

model.Parent = char

local totalWidth = (#TEXT * 6 * SCALE)

local startX = -(totalWidth / 2)

local offset = CFrame.new(0, 5, 0)

local tilt = CFrame.Angles(0, math.rad(55), 0)

local xOffset = 0

for letter in TEXT:gmatch(".") do

local letterCFrame =

head.CFrame *

CFrame.Angles(0, math.rad(180), 0) *

offset *

CFrame.new(startX + xOffset, 0, 0)

CreateLetter(letter, letterCFrame, model)

xOffset += 6 * SCALE

end

for _, part in ipairs(model:GetChildren()) do

if part:IsA("Part") then

local weld = Instance.new("WeldConstraint")

weld.Part0 = head

weld.Part1 = part

weld.Parent = part

end

end

for _, part in ipairs(model:GetChildren()) do

if part:IsA("Part") then

local proxy = Instance.new("Part")

proxy.Size = Vector3.new(0.2, 0.2, 0.2)

proxy.Transparency = 1

proxy.CanCollide = false

proxy.Anchored = false

proxy.Name = "TextProxy"

proxy.Parent = game.Players.LocalPlayer.Character.gay

proxy.CFrame = part.CFrame

local weld1 = Instance.new("WeldConstraint")

weld1.Part0 = head

weld1.Part1 = proxy

weld1.Parent = proxy

local weld2 = Instance.new("WeldConstraint")

weld2.Part0 = proxy

weld2.Part1 = part

weld2.Parent = part

end

end

end

BuildText(getgenv().Player)