-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtag.lua
More file actions
61 lines (54 loc) · 1.57 KB
/
tag.lua
File metadata and controls
61 lines (54 loc) · 1.57 KB
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
function create_tag_gui(event)
local player = game.players[event.player_index]
if player.gui.top.tag == nil then
player.gui.top.add { name = "tag", type = "button", caption = "Tag" }
end
end
-- Tag list
local roles = {
{ display_name = "Mining" },
{ display_name = "Oil" },
{ display_name = "Bus" },
{ display_name = "Smelting" },
{ display_name = "Pest Control" },
{ display_name = "Automation" },
{ display_name = "Quality Control" },
{ display_name = "Power" },
{ display_name = "Trains" },
{ display_name = "Science" },
{ display_name = "Robotics"},
{ display_name = "AFK" },
{ display_name = "Clear" }
}
function expand_tag_gui(player)
local frame = player.gui.left["tag-panel"]
if (frame) then
frame.destroy()
else
local frame = player.gui.left.add { type = "frame", name = "tag-panel", caption = "Choose Tag" }
for _, role in pairs(roles) do
frame.add { type = "button", caption = role.display_name, name = role.display_name }
end
end
end
local function on_gui_click(event)
if not (event and event.element and event.element.valid) then return end
local player = game.players[event.element.player_index]
local name = event.element.name
if (name == "tag") then
expand_tag_gui(player)
end
if (name == "Clear") then
player.tag = ""
expand_tag_gui(player)
return
end
for _, role in pairs(roles) do
if (name == role.display_name) then
player.tag = "[" .. role.display_name .. "]"
expand_tag_gui(player)
end
end
end
Event.register(defines.events.on_gui_click, on_gui_click)
Event.register(defines.events.on_player_joined_game, create_tag_gui)