-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAdminModuleGuiScript.lua
119 lines (102 loc) · 3.38 KB
/
AdminModuleGuiScript.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
--[[
Written by Begi.
Handles GUI for AdminModule.
--]]
local uis = game:GetService("UserInputService")
local player = game.Players.LocalPlayer
local AdminModule = require(game:GetService("ReplicatedStorage"):WaitForChild("AdminModule"))
local Config = require(game:GetService("ReplicatedStorage"):WaitForChild("AdminModule"):WaitForChild("Config"))
local ToggleKey = Config.ToggleKey
local AdminGui = script.Parent.AdminGui
local buttonsFrame = AdminGui.Buttons
local banFrame = AdminGui.BanFrame
local TargetInput = AdminGui.TargetInputFrame
local banBtn = buttonsFrame.ban
local unbanBtn = buttonsFrame.unban
local idBtn = buttonsFrame.id
local historyBtn = buttonsFrame.history
local id
local duration
local reason
-- Function to check the player's permission
local function isAdmin()
return table.find(Config.AdminUserIds, player.UserId) ~= nil
end
-- Handle GUI toggle
uis.InputBegan:Connect(function(input, gpe)
if not gpe and isAdmin() and input.KeyCode == ToggleKey then
AdminGui.Visible = not AdminGui.Visible
end
end)
-- Handle command button clicks
banBtn.MouseButton1Click:Connect(function()
buttonsFrame.Visible = false
banFrame.Visible = true
end)
unbanBtn.MouseButton1Click:Connect(function()
buttonsFrame.Visible = false
TargetInput.Visible = true
TargetInput.TextBox.PlaceholderText = "UserID"
TargetInput.SubmitUnban.Visible = true
TargetInput.SubmitGetID.Visible = false
TargetInput.SubmitHistory.Visible = false
end)
idBtn.MouseButton1Click:Connect(function()
buttonsFrame.Visible = false
TargetInput.Visible = true
TargetInput.TextBox.PlaceholderText = "Username"
TargetInput.SubmitGetID.Visible = true
TargetInput.SubmitUnban.Visible = false
TargetInput.SubmitHistory.Visible = false
end)
historyBtn.MouseButton1Click:Connect(function()
buttonsFrame.Visible = false
TargetInput.Visible = true
TargetInput.TextBox.PlaceholderText = "UserID"
TargetInput.SubmitHistory.Visible = true
TargetInput.SubmitUnban.Visible = false
TargetInput.SubmitGetID.Visible = false
end)
-- Handle GetId command
TargetInput.SubmitGetID.MouseButton1Click:Connect(function()
local username = tostring(TargetInput.TextBox.Text)
Config.Remotes.CommandsFromUI:FireServer("GetID", username)
TargetInput.Visible = false
buttonsFrame.Visible = true
TargetInput.TextBox.Text = ""
end)
-- Handle Unban command
TargetInput.SubmitUnban.MouseButton1Click:Connect(function()
local id = tonumber(TargetInput.TextBox.Text)
Config.Remotes.CommandsFromUI:FireServer("Unban", id)
TargetInput.Visible = false
buttonsFrame.Visible = true
TargetInput.TextBox.Text = ""
end)
-- Handle CheckHistory command
TargetInput.SubmitHistory.MouseButton1Click:Connect(function()
local id = tonumber(TargetInput.TextBox.Text)
Config.Remotes.CommandsFromUI:FireServer("CheckHistory", id)
TargetInput.Visible = false
buttonsFrame.Visible = true
TargetInput.TextBox.Text = ""
end)
-- Handle Ban command
banFrame.Submit.MouseButton1Click:Connect(function()
local id = tonumber(banFrame.IdInput.Text)
if not id then return end
local duration = tostring(banFrame.DurationInput.Text)
if not duration then
duration = " "
end
local reason = tostring(banFrame.ReasonInput.Text)
if not reason then
reason = " "
end
Config.Remotes.BanFromUI:FireServer(id, duration, reason)
banFrame.Visible = false
buttonsFrame.Visible = true
banFrame.IdInput.Text = ""
banFrame.DurationInput.Text = ""
banFrame.ReasonInput.Text = ""
end)