66 lines
2.2 KiB
Lua

return {
init = function(frame, parseManager, multi)
frame.Visibility = 0
local workspace = frame:newImageLabel(nil,"Workspace", 0,0,0,0,0,0,1,1)
workspace.Color = Color.Green
local HUD = frame:newFullFrame("HUD")
local go = false
HUD.Visibility = 0
local handle = parseManager:load("init.dms")
handle:define{
sleep = thread.sleep
}
local chat = HUD:newTextLabel("","",0,0,0,0,.5/40,31/40,39/40,1/5)
local name = chat:newTextLabel("Name","Name",0,0,80,0,0,-1.165/5,0,1/5)
name.Visible = false
name:fitFont()
name:widthToTextSize()
name:setRoundness(6,6,180)
local disp = chat:newTextLabel("","",15/2,15/2,-15,-15,0,0,1,1)
disp.TextFormat = "left"
disp.Font = name.Font
disp.Visibility = 0
disp.BorderSize = 0
chat:setRoundness(15,15,180)
workspace:OnReleased(function(b,self)
if b == "l" then
go = true
else
HUD.Visible = not HUD.Visible
end
end)
parseManager.print("\n"..handle:dump())
handle.__TEXT = function(text) -- change the default text stuff
local pan = false
local n,txt = text:match("([%w ]+):(.+)")
if n then
text = txt
name.text = n
name:widthToTextSize()
name.Visible = true
end
multi:newThread("UpdateText",function()
disp.text = ""
for i in text:gmatch(".") do
disp.text = disp.text .. i
thread.sleep(.05)
if go then disp.text = text go = false pan = true break end
end
pan = true
go = false
end)
thread.hold(function()
return pan
end)
pan = false
end
multi:newThread("Runner",function()
local active = true
while true do
thread.skip()
active = handle:think()
end
end)
return frame
end
}