Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- this script works if a player has stats in their folder, ex: game.Players.LocalPlayer.Data
- useful for seeing which stats a player has, like in blox fruits if you wanna see a player's full bounty or see their level if you dont have good observation haki
- click on the stat description to see what value type it is
- click on the stat to copy the path
- this script doesnt support folders, so you may see alot of stats not in the right tab
- ]]
- local tabs = {}
- local sections = {}
- local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/xHeptc/Kavo-UI-Library/main/source.lua"))()
- local Window = Library.CreateLib("Stat Spyer", "Sentinel")
- local mainwin = Window:NewTab("Main")
- local mainwinsec = mainwin:NewSection("Main")
- local otwwin = Window:NewTab("Other Stats")
- local otwwinsec = otwwin:NewSection("Other Stats (stats in player only)")
- local selectedplr
- local plrlist = {}
- local selplrlabel = mainwinsec:NewLabel("Selected Player: ")
- local gui
- for i,v in pairs(game.CoreGui:GetChildren()) do
- if string.find(v.Name,"1") or string.find(v.Name,"2") or string.find(v.Name,"3") or string.find(v.Name,"4") or string.find(v.Name,"5") or string.find(v.Name,"6") or string.find(v.Name,"7") or string.find(v.Name,"8") or string.find(v.Name,"9") and v:FindFirstChild("Main") and v.Main:FindFirstChild("MainHeader") and v.Main.MainHeader:FindFirstChild("title").Text == "Stat Spyer" then
- gui = v
- end
- end
- function newtab(name,folder)
- if tabs[name] then
- local num = 0
- repeat
- wait()
- tabs[name] = Window:NewTab(name)
- sections[name] = tabs[name]:NewSection(name)
- num += 1
- until not tabs[name..tostring(num)]
- else
- tabs[name] = Window:NewTab(name)
- sections[name] = tabs[name]:NewSection(name)
- end
- if tabs[name] and sections[name] and folder then
- local madesection
- for i,v in pairs(gui.Main.pages.Pages:GetChildren()) do
- if #v:GetChildren() <= 2 then
- if v.sectionFrame.sectionHead.sectionName.Text == name then
- madesection = v.sectionFrame.sectionInners
- end
- end
- end
- for i,v in pairs(folder:GetDescendants()) do
- if string.find(v.ClassName,"Value") then
- local button = sections[name]:NewButton(v.Name.." "..tostring(v.Value), v.ClassName, function()
- setclipboard(v:GetFullName())
- end)
- local s = v.Changed:Connect(function()
- button:UpdateButton(v.Name.." "..tostring(v.Value))
- end)
- madesection:FindFirstChild(v.Name.." "..tostring(v.Value)).AncestryChanged:Connect(function()
- if v.Parent == nil then
- button = nil
- s:Disconnect()
- end
- end)
- end
- end
- end
- end
- local dropdown = mainwinsec:NewDropdown("Players", "players", {"Option 1", "Option 2", "Option 3"}, function(currentOption)
- selectedplr = currentOption
- selplrlabel:UpdateLabel("Selected Player: "..selectedplr)
- end)
- mainwinsec:NewButton("Get Player Stats", "get player stat", function()
- if gui:FindFirstChild("Main") and gui.Main:FindFirstChild("MainSide") and gui.Main.MainSide:FindFirstChild("tabFrames") and #gui.Main.MainSide.tabFrames:GetChildren() >= 2 then
- for i,v in pairs(gui.Main.MainSide.tabFrames:GetChildren()) do
- if v.Name ~= "MainTabButton" and v.Name ~= "Other StatsTabButton" and v.Name ~= "tabListing" then
- v:Destroy()
- end
- end
- end
- local madesection
- for i,v in pairs(gui.Main.pages.Pages:GetChildren()) do
- if #v:GetChildren() <= 2 then
- if v.sectionFrame.sectionHead.sectionName.Text == "Other Stats (stats in player only)" then
- madesection = v.sectionFrame.sectionInners
- end
- end
- end
- for i,v in pairs(madesection:GetChildren()) do
- if v.Name ~= "sectionElListing" then
- v:Destroy()
- end
- end
- for i,v in pairs(game.Players[selectedplr]:GetChildren()) do
- if v.Name ~= "Backpack" and v.Name ~= "StarterGear" and v.Name ~= "PlayerGui" and v.Name ~= "PlayerScripts" then
- if string.find(v.ClassName,"Value") and v.Name ~= "leaderstats" then
- local button = otwwinsec:NewButton(v.Name.." "..tostring(v.Value), v.ClassName, function()
- setclipboard(v:GetFullName())
- end)
- local s = v.Changed:Connect(function()
- button:UpdateButton(v.Name.." "..tostring(v.Value))
- end)
- madesection:FindFirstChild(v.Name.." "..tostring(v.Value)).AncestryChanged:Connect(function()
- if v.Parent == nil then
- button = nil
- s:Disconnect()
- end
- end)
- v.AncestryChanged:Connect(function()
- if v.Parent == nil then
- button = nil
- s:Disconnect()
- end
- end)
- elseif #v:GetChildren() >= 1 or v.Name == "leaderstats" then
- newtab(v.Name,v)
- end
- end
- end
- end)
- for i,v in pairs(game.Players:GetPlayers()) do
- local plr = v
- plrlist[plr.Name] = plr.Name
- dropdown:Refresh(plrlist)
- end
- game.Players.PlayerAdded:Connect(function(plr)
- plrlist[plr.Name] = plr.Name
- dropdown:Refresh(plrlist)
- end)
- game.Players.PlayerRemoving:Connect(function(plr)
- plrlist[plr.Name] = nil
- dropdown:Refresh(plrlist)
- end)
Advertisement
Advertisement