Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local storage = game:GetService("ReplicatedStorage")
- local StarterGui = game:GetService("StarterGui")
- local Players = game:GetService("Players")
- local run = game:GetService("RunService")
- local http = game:GetService("HttpService")
- local plr = Players.LocalPlayer
- local storages = {
- pokes = workspace:WaitForChild("Pokemons"),
- gifts = workspace:WaitForChild("Gifts"),
- stops = workspace:WaitForChild("Pokestops")
- }
- local pokeData = run:IsStudio() and {} or require(storage.PokemonData)
- local char = plr.Character or plr.CharacterAdded:wait()
- local opts = {
- playersHidden = false,
- }
- local function aOrAn(str, upper)
- local vowels = {
- a = true,
- e = true,
- i = true,
- o = true,
- u = true
- }
- if vowels[str:sub(1, 1):lower()] then
- return (upper and "An " or "an ") .. str
- end
- return (upper and "A " or "a ") .. str
- end
- local function setupESPOpts(loc, tab, t, def)
- local highlightOptsKey = t.."HighlightOpts"
- local highlightedObjs = {}
- opts[highlightOptsKey] = def or {}
- opts[highlightOptsKey].Enabled = false
- local function updateESPHighlightProp(name, val)
- opts[highlightOptsKey][name] = val
- for _, h in pairs(highlightedObjs) do h[name] = val end
- end
- local function addToHighlighted(obj)
- local h = Instance.new("Highlight", obj)
- for k, v in pairs(opts[highlightOptsKey]) do h[k] = v end
- highlightedObjs[obj] = h
- obj.Destroying:Connect(function() highlightedObjs[obj] = nil end)
- end
- tab:Toggle(t.." ESP", "Highlights all "..t:lower()..".", opts[highlightOptsKey].Enabled, function(v)
- updateESPHighlightProp("Enabled", v)
- end)
- tab:Colorpicker(t.." ESP Color", opts[highlightOptsKey].FillColor, function(v)
- updateESPHighlightProp("FillColor", v)
- end)
- tab:Colorpicker(t.." ESP Outline Color", opts[highlightOptsKey].OutlineColor, function(v)
- updateESPHighlightProp("OutlineColor", v)
- end)
- loc.ChildAdded:Connect(function(ch)
- print("child added", ch.Name)
- addToHighlighted(ch)
- end)
- local current = loc:GetChildren()
- if #current < 1 then return end
- for i, v in pairs(current) do addToHighlighted(v) end
- end
- local function setupTPNotifOpts(loc, tab, t, fn)
- local optKey = "spawn"..t.."Notif"
- tab:Toggle(t.." Spawn Notif", "Sends you a notification when a "..t:lower().." is spawned with option to tp to it.", false, function(v)
- opts[optKey] = v
- end)
- local function tryNotify(ch)
- if not opts[optKey] then return end
- if fn and not fn(ch) then return end
- local bind = Instance.new("BindableFunction")
- local function removeBind()
- if not bind then return end
- bind:Destroy()
- bind = nil
- end
- bind.OnInvoke = function(t)
- if t == "Teleport" then char:MoveTo(ch:GetPivot().p) end
- removeBind()
- end
- delay(8, removeBind)
- StarterGui:SetCore("SendNotification", {
- Title = aOrAn(ch.Name, true).." has spawned!",
- Text = "Teleport to it?",
- Icon = t == "Rare Pokemon" and "rbxassetid://"..pokeData[ch.Name].Icon or nil,
- Callback = bind,
- Button1 = "Teleport",
- Button2 = "Cancel",
- })
- end
- loc.ChildAdded:Connect(tryNotify)
- local current = loc:GetChildren()
- if #current < 1 then return end
- for i, v in pairs(current) do tryNotify(v) end
- end
- local function setHidePlayers(val)
- if opts.playersHidden == val then return end
- opts.playersHidden = val
- for i, p in pairs(Players:GetPlayers()) do
- local c = p.Character or p.CharacterAdded:wait()
- if p ~= plr then c.Parent = val and storage or workspace end
- end
- end
- local priority = {"Mew", "Mewtwo"}
- local function getMon(mons)
- local chosenMon = mons[math.random(#mons)]
- for i, mon in pairs(mons) do
- if table.find(priority, mon.Name) then
- chosenMon = mon
- break
- end
- end
- return chosenMon
- end
- -- loadstring(game:HttpGet("https://pastebin.com/raw/qYJATtJG"))()
- local Flux = run:IsStudio() and require(script.Flux) or loadstring(game:HttpGet("https://pastebin.com/raw/3t9Y5n8m"))()
- --local toggle = Instance.new("ImageButton", Flux.ui)
- --toggle.Size = UDim2.new(0, 70, 0, 70)
- --toggle.BackgroundTransparency = 1
- --toggle.Image = "rbxassetid://14395998322"
- local win = Flux:Window("BGC Hax", "PO: GO | v1.0.0", Color3.fromRGB(48, 110, 255), Enum.KeyCode.LeftControl --[[, toggle]])
- local tab = win:Tab("Pokemon", "rbxassetid://6023426915")
- local mons_dd, nLabelUpdateFn
- local lastUpdate = storages.pokes:GetChildren()
- local idToMon
- local function updateMons()
- local mons = {}
- mons_dd:Clear()
- mons_dd:Add("Random")
- lastUpdate = storages.pokes:GetChildren()
- idToMon = {}
- for i, mon in pairs(lastUpdate) do
- local uniqueId = http:GenerateGUID(false)
- idToMon[uniqueId] = mon
- mons_dd:Add(mon.Name.." | "..uniqueId)
- end
- end
- local function checkMonUpdate()
- local spawned = storages.pokes:GetChildren()
- nLabelUpdateFn("There "..(#spawned == 1 and "is" or "are").." currently ".. #spawned .." spawned pokemon.")
- if #spawned ~= #lastUpdate then
- updateMons()
- else
- for i, mon in pairs(spawned) do
- if not table.find(lastUpdate, mon) then updateMons() break end
- end
- end
- end
- nLabelUpdateFn = tab:Label("Loading...")
- mons_dd = tab:Dropdown("Spawned Mons TP", {"1", "2", "3"}, function(t)
- local id = t ~= "Random" and string.split(t, " | ")[2] or nil
- local all = storages.pokes:GetChildren()
- local mon = t == "Random" and all[math.random(#all)] or idToMon[id]
- if #all < 1 then
- Flux:Notification("There are no pokemon spawned currently.", "Alright")
- return
- end
- if mon then char:MoveTo(mon:GetPivot().p) end
- end)
- updateMons()
- setupTPNotifOpts(storages.pokes, tab, "Rare Pokemon", function(obj)
- return pokeData[obj.Name] and table.find({"Mew", "Mewtwo", "Ditto", "Articuno", "Zapdos", "Moltress"}, obj.Name)
- end)
- local catchCamCn = run:IsStudio() and {} or getconnections(storage.catch_cam.OnClientEvent)[1]
- tab:Toggle("Catch Camera", "Disable or Enable the camera lock when you catch a pokemon.", true, function(t)
- catchCamCn[t and "Enable" or "Disable"](catchCamCn)
- end)
- setupESPOpts(storages.pokes, tab, "Pokemon", {
- FillColor = Color3.fromRGB(0, 0, 255),
- OutlineColor = Color3.fromRGB(48, 110, 255),
- })
- -- highlightExtras
- local tab2 = win:Tab("Gifts", "rbxassetid://6023426915")
- local ignoredGifts, opened = {}, {}
- local function tryOpenGifts(gifts)
- if not opts.autoGifts then return end
- local didOpen = 0
- local function open(gift)
- local detector = gift:FindFirstChildOfClass("ClickDetector")
- if detector then
- print(gift.Name)
- fireclickdetector(detector)
- table.insert(opened, gift)
- didOpen += 1
- end
- end
- for i, gift in pairs(gifts) do
- if not ignoredGifts[gift.Name] and not table.find(opened, gift) then
- open(gift)
- end
- end
- for i, v in pairs(opened) do
- if not v.Parent then table.remove(opened, i) end
- end
- return didOpen
- end
- tab2:Toggle("Auto Open Gifts", "Automatically open gifts as soon as they spawn.", function(t)
- opts.autoGifts = t
- end)
- spawn(function()
- while wait() do
- checkMonUpdate()
- tryOpenGifts()
- end
- end)
- setupTPNotifOpts(storages.gifts, tab2, "Gift")
- setupESPOpts(storages.gifts, tab2, "Gifts",{
- FillColor = Color3.fromRGB(255, 0, 0),
- OutlineColor = Color3.fromRGB(255, 48, 110),
- })
- local tab3 = win:Tab("Pokestops", "rbxassetid://6023426915")
- tab3:Label("Coming Soon...")
- local tab4 = win:Tab("Misc", "rbxassetid://6023426915")
- tab4:Button("Get All Codes Tools", "Gives you all the tools connected to codes.", function()
- local base = "Succesfully given: "
- local givenStr = base
- for i, tool in pairs(storage.Codes:GetChildren()) do
- if not plr.Backpack:FindFirstChild(tool.Name) then
- storage.CodeGive:FireServer(tool.Name)
- givenStr ..= (givenStr ~= base and "," or "") .. tool.Name
- end
- end
- Flux:Notification(givenStr ~= base and givenStr.." code tools!" or "You already have all the code tools!", "Alright")
- end)
- local teams, teamToSpawn = {}, {}
- for i, team in pairs(game:GetService("Teams"):GetChildren()) do
- local teamName = string.sub(team.Name, 6)
- for i, obj in pairs(workspace:GetChildren()) do
- if obj:IsA("SpawnLocation") and obj.BrickColor == team.TeamColor and not teamToSpawn[teamName] then
- teamToSpawn[teamName] = obj
- table.insert(teams, teamName)
- end
- end
- end
- tab4:Dropdown("Change Team", teams, function(t)
- local spwn = teamToSpawn[t]
- local oldPos = char:WaitForChild("HumanoidRootPart").Position
- setHidePlayers(true)
- char:MoveTo(spwn.Position)
- wait()
- setHidePlayers(false)
- char:MoveTo(oldPos)
- end)
- tab4:Toggle("Hide Players", "Hides all the other players.", false, setHidePlayers)
Advertisement
Add Comment
Please, Sign In to add comment