-
Notifications
You must be signed in to change notification settings - Fork 0
/
aniplayer.lua
98 lines (91 loc) · 3.55 KB
/
aniplayer.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
--[[
Requires VGUI Construction
## https://github.com/cresterienvogel/VGUI-Construction
]]
if CLIENT then
local color_bg = Color(102, 102, 102)
local color_top = Color(250, 250, 250)
local color_btn_depressed = Color(128, 0, 0)
local color_btn_hovered = Color(255, 0, 0)
construction.Register("AniPlayer", {
{
type = "EditablePanel",
init = function(pnl)
pnl:Dock(FILL)
pnl:MakePopup()
pnl.Paint = function(self, w, h)
surface.SetDrawColor(color_bg)
surface.DrawRect(0, 0, w, h)
end
end,
children = {
{
type = "EditablePanel",
init = function(pnl)
pnl:SetTall(30)
pnl:Dock(TOP)
pnl:DockPadding(12, 0, 0, 0)
pnl.Paint = function(_, w, h)
surface.SetDrawColor(color_top)
surface.DrawRect(0, 0, w, h)
end
end,
children = {
{
type = "DButton",
init = function(pnl)
pnl:SetText("r")
pnl:Dock(RIGHT)
pnl:SetWide(50)
pnl:SetColor(color_black)
pnl:SetFont("Marlett")
pnl.Paint = function(self, w, h)
if self.Depressed then
self:SetColor(color_white)
surface.SetDrawColor(color_btn_depressed)
surface.DrawRect(0, 0, w, h)
elseif self.Hovered then
self:SetColor(color_white)
surface.SetDrawColor(color_btn_hovered)
surface.DrawRect(0, 0, w, h)
else
self:SetColor(color_black)
end
end
pnl.DoClick = function(self)
self:GetParent():GetParent():Remove()
end
end
}
}
},
{
type = "DPanel",
init = function(pnl)
pnl:Dock(FILL)
end,
children = {
{
type = "DHTML",
init = function(pnl)
dhtml = pnl
pnl:Dock(FILL)
pnl:OpenURL("https://xenpare.com/aniplayer")
end
}
}
}
}
}
})
concommand.Add("aniplayer", function()
construction.Create("AniPlayer")
end)
else
hook.Add("PlayerSay", "AniPlayer", function(pl, text)
if string.lower(text) == "/aniplayer" then
pl:ConCommand("aniplayer")
return ""
end
end)
end