66 lines
2.2 KiB
Lua
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
|
|
} |