Project Vertigo Miners Haven Script
Roblox Scripts is what Roblox players and coders use to build interactive games. To be more specific, players use Lua scripts—a popular scripting and programming language.
We do not any harmful on your devices we always check it before we post online.
Instruction
1.Open Roblox And Start Playing 2.Click The Blue Circle To Copy The Script Code 3.Paste The Script Code Into Your Executor 4.Then Execute The Script Code 5.Enjoy
Use your dummy account first we are not responsible if your account getting Ban.
Script Code
local repo = 'https://raw.githubusercontent.com/wally-rblx/LinoriaLib/main/' local Library = loadstring(game:HttpGet(repo .. 'Library.lua'))() local ThemeManager = loadstring(game:HttpGet(repo .. 'addons/ThemeManager.lua'))() local SaveManager = loadstring(game:HttpGet(repo .. 'addons/SaveManager.lua'))() local Window = Library:CreateWindow({ Title = 'Project Vertigo | Miners Haven', Center = true, AutoShow = true, }) Library.KeybindFrame.Visible = false; -- todo: add a function for this Library:OnUnload(function() Library.Unloaded = true end) --Locals local FetchItemModule = require(game:GetService("ReplicatedStorage").FetchItem) local TycoonBase = game.Players.LocalPlayer.PlayerTycoon.Value.Base local MyTycoon = game:GetService("Players").LocalPlayer.PlayerTycoon.Value local MoneyLibary = require(game:GetService("ReplicatedStorage").MoneyLib) local PlayersList = {} if syn then request = syn.request end --Functions function GetUpgraders() tbl = {} for i,v in pairs(MyTycoon:GetChildren()) do if v:FindFirstChild("Model") and v.Model:FindFirstChild("Upgrade") then table.insert(tbl,v) elseif v:FindFirstChild("Model") and v.Model:FindFirstChild("Upgrader") then table.insert(tbl,v) elseif v:FindFirstChild("Model") and v.Model:FindFirstChild("Cannon") then table.insert(tbl,v) end end return tbl end function GetPlayers() table.clear(PlayersList) for i,v in pairs(game.Players:GetChildren()) do table.insert(PlayersList,v.Name) end end GetPlayers() game.Players.PlayerAdded:Connect(function() GetPlayers() end) game.Players.PlayerRemoving:Connect(function() GetPlayers() end) function GetDropped() local tbl = {} for i,v in pairs(game:GetService("Workspace").DroppedParts[MyTycoon.Name]:GetChildren()) do table.insert(tbl,v) end return tbl end function ShopItems() for i,v in pairs(getgc(true)) do if type(v) == "table" and rawget(v,"Miscs") then return v["All"] end end end function HasItem(Needed) if game:GetService("ReplicatedStorage").HasItem:InvokeServer(Needed) > 0 then return true end return false end function IsShopItem(Needed) for i,v in pairs(ShopItems()) do if tonumber(v.ItemId.Value) == tonumber(Needed) then return true end end return false end local Settings = {AutoLoopUpgrader=false,LayoutCopierSelected="1",LayoutPlayerSelected="",ItemTracker=false,WebhookLink="",LoopPulse=false,AutoPulse=false,LoopRemoteDrop=false,AutoLoadSetup=false,LoadAfter=5,ShouldReload=false,LayoutSelected=1,AutoRebirth=false,LoopUpgrader=false,SelectedUpgrader="nil",SelectedFurnace="nil"} local Tabs = {Main = Window:AddTab('Main'),Layouts=Window:AddTab('Layouts'),['UI Settings'] = Window:AddTab('UI Settings'),} local LayoutsTabbox = Tabs.Layouts:AddLeftTabbox() local LayoutsTab = LayoutsTabbox:AddTab('Ores') LayoutsTab:AddDropdown('LayoutPlayerSelected',{Values = PlayersList,Default = 2,Multi = false,Text = 'Player',}) LayoutsTab:AddDropdown('LayoutCopierSelected', {Values = {1,2,3},Default = 1,Multi = false,Text = 'Layout',}) LayoutsTab:AddButton('Build Layout', function() for i,v in pairs(game:GetService("HttpService"):JSONDecode(game:GetService("Players")[Settings.LayoutPlayerSelected].Layouts["Layout"..Settings.LayoutCopierSelected].Value)) do task.spawn(function() if HasItem(v["ItemId"]) == true then local TopLeft = TycoonBase.CFrame * CFrame.new(Vector3.new(TycoonBase.Size.X/2, 0, TycoonBase.Size.Z/2)) local Position = TopLeft * Vector3.new(tonumber(v.Position[1]), tonumber(v.Position[2]), tonumber(v.Position[3])) local Rotation = Vector3.new(tonumber(v.Position[4]),tonumber(v.Position[5]),tonumber(v.Position[6])) local NewCf = CFrame.new(Position, Position + (Rotation * 5)) game:GetService("ReplicatedStorage").PlaceItem:InvokeServer(FetchItemModule.Get(nil,v["ItemId"]).Name,NewCf,{TycoonBase}) task.wait() elseif HasItem(v["ItemId"]) == false and IsShopItem(v["ItemId"]) == true and game:GetService("Players").LocalPlayer.PlayerGui.GUI.Money.Value >= game:GetService("ReplicatedStorage").Items[FetchItemModule.Get(nil,v["ItemId"]).Name].Cost.Value then game:GetService("ReplicatedStorage").BuyItem:InvokeServer(FetchItemModule.Get(nil,v["ItemId"]).Name,1) task.wait() local TopLeft = TycoonBase.CFrame * CFrame.new(Vector3.new(TycoonBase.Size.X/2, 0, TycoonBase.Size.Z/2)) local Position = TopLeft * Vector3.new(tonumber(v.Position[1]), tonumber(v.Position[2]), tonumber(v.Position[3])) local Rotation = Vector3.new(tonumber(v.Position[4]),tonumber(v.Position[5]),tonumber(v.Position[6])) local NewCf = CFrame.new(Position, Position + (Rotation * 5)) game:GetService("ReplicatedStorage").PlaceItem:InvokeServer(FetchItemModule.Get(nil,v["ItemId"]).Name,NewCf,{TycoonBase}) task.wait() else if IsShopItem(v["ItemId"]) == true then print("Cant Afford Item, "..FetchItemModule.Get(nil,v["ItemId"]).Name) else print("Cant Find, "..FetchItemModule.Get(nil,v["ItemId"]).Name) end end end) end end) local OresTabbox = Tabs.Main:AddLeftTabbox() local OresTab = OresTabbox:AddTab('Ores') local RebirthTabbox = Tabs.Main:AddRightTabbox() local RebirthTab = RebirthTabbox:AddTab('Rebirthing') local MiscTabbox = Tabs.Main:AddLeftTabbox() local MiscTab = MiscTabbox:AddTab('Misc') local WebhookTabbox = Tabs.Main:AddRightTabbox() local WebhookTab = WebhookTabbox:AddTab('Webhook') OresTab:AddInput('SelectedUpgrader', {Default = 'Upgrader',Numeric = false,Finished = false,Text = 'Upgrader',Placeholder = 'Upgrader Name',}) OresTab:AddToggle('LoopUpgrader', {Text = 'Loop Upgrader',Default = false}) OresTab:AddToggle('AutoLoopUpgraders', {Text = 'Loop All Upgraders',Default = false}) OresTab:AddDivider() OresTab:AddInput('SelectedFurnace', {Default = 'Furnace',Numeric = false,Finished = false,Text = 'Furnace',Placeholder = 'Furnace',}) OresTab:AddButton('Sell Ores', function() for i,v in pairs(GetDropped()) do if MyTycoon:FindFirstChild(Settings.SelectedFurnace) then firetouchinterest(v,MyTycoon[Settings.SelectedFurnace].Model.Lava,0) task.wait() firetouchinterest(v,MyTycoon[Settings.SelectedFurnace].Model.Lava,1) end end end) RebirthTab:AddToggle('AutoRebirth', {Text = 'Auto Rebirth',Default = false}) RebirthTab:AddToggle('AutoLoadSetup', {Text = 'Load Layout',Default = false}) RebirthTab:AddDropdown('LayoutSelected', {Values = {1,2,3},Default = 1,Multi = false,Text = 'Layout',}) RebirthTab:AddToggle('ShouldReload', {Text = 'Reload Layout',Default = false}) RebirthTab:AddSlider('LoadAfter', {Text = 'Reload After (s)',Default = 5,Min = 1,Max = 60,Rounding = 0,Compact = false,}) MiscTab:AddToggle('LoopProximtyPrompt', {Text = 'Auto Excavator',Default = false}) MiscTab:AddToggle('LoopRemoteDrop', {Text = 'Auto Remote',Default = false}) MiscTab:AddToggle('LoopPulse', {Text = 'Auto Pulse',Default = false}) MiscTab:AddButton('Get Free Daily Crate', function() firesignal(game:GetService("Players").LocalPlayer.PlayerGui.GUI.SpookMcDookShop.RedeemFrame.MouseButton1Click) end) MiscTab:AddDivider() MiscTab:AddToggle('ToggleCraftsMan', {Text = 'Craftman Gui',Default = false}) WebhookTab:AddInput('WebhookLink', {Default = 'Link',Numeric = false,Finished = false,Text = 'Link',Placeholder = 'Link',}) WebhookTab:AddToggle('ItemTracker', {Text = 'Item Tracker',Default = false}) --Toggles Toggles.ItemTracker:OnChanged(function() Settings.ItemTracker = Toggles.ItemTracker.Value end) Toggles.ToggleCraftsMan:OnChanged(function() game:GetService("Players").LocalPlayer.PlayerGui.GUI.Craftsman.Visible = Toggles.ToggleCraftsMan.Value end) Toggles.LoopPulse:OnChanged(function() Settings.LoopPulse = Toggles.LoopPulse.Value task.spawn(function() while Settings.LoopPulse == true do task.wait() if Settings.LoopPulse == true then game:GetService("ReplicatedStorage").Pulse:FireServer() end end end) end) Toggles.LoopRemoteDrop:OnChanged(function() Settings.LoopRemoteDrop = Toggles.LoopRemoteDrop.Value task.spawn(function() while Settings.LoopRemoteDrop == true do task.wait() if Settings.LoopRemoteDrop == true then game:GetService("ReplicatedStorage").RemoteDrop:FireServer() end end end) end) Toggles.AutoLoopUpgraders:OnChanged(function() Settings.AutoLoopUpgraders = Toggles.AutoLoopUpgraders.Value task.spawn(function() while Settings.AutoLoopUpgraders do task.wait() if Settings.AutoLoopUpgraders then for i,v2 in pairs(GetDropped()) do for i2,v in pairs(GetUpgraders()) do if v.Model:FindFirstChild("Upgrade") then firetouchinterest(v2,v.Model.Upgrade,0) task.wait() firetouchinterest(v2,v.Model.Upgrade,1) elseif v.Model:FindFirstChild("Upgrader") then firetouchinterest(v2,v.Model.Upgrader,0) task.wait() firetouchinterest(v2,v.Model.Upgrader,1) elseif v.Model:FindFirstChild("Cannon") then firetouchinterest(v2,v.Model.Cannon,0) task.wait() firetouchinterest(v2,v.Model.Cannon,1) end end end end end end) end) Toggles.LoopUpgrader:OnChanged(function() Settings.LoopUpgrader = Toggles.LoopUpgrader.Value task.spawn(function() while Settings.LoopUpgrader do task.wait() if Settings.LoopUpgrader then for i,v in pairs(GetDropped()) do if MyTycoon:FindFirstChild(Settings.SelectedUpgrader) and MyTycoon[Settings.SelectedUpgrader].Model:FindFirstChild("Upgrade") then firetouchinterest(v,MyTycoon[Settings.SelectedUpgrader].Model.Upgrade,0) task.wait() firetouchinterest(v,MyTycoon[Settings.SelectedUpgrader].Model.Upgrade,1) elseif MyTycoon:FindFirstChild(Settings.SelectedUpgrader) and MyTycoon[Settings.SelectedUpgrader].Model:FindFirstChild("Upgrader") then firetouchinterest(v,MyTycoon[Settings.SelectedUpgrader].Model.Upgrader,0) task.wait() firetouchinterest(v,MyTycoon[Settings.SelectedUpgrader].Model.Upgrader,1) elseif MyTycoon:FindFirstChild(Settings.SelectedUpgrader) and MyTycoon[Settings.SelectedUpgrader].Model:FindFirstChild("Cannon") then firetouchinterest(v,MyTycoon[Settings.SelectedUpgrader].Model.Cannon,0) task.wait() firetouchinterest(v,MyTycoon[Settings.SelectedUpgrader].Model.Cannon,1) end end end end end) end) Toggles.LoopProximtyPrompt:OnChanged(function() Settings.LoopProximtyPrompt = Toggles.LoopProximtyPrompt.Value task.spawn(function() while Settings.LoopProximtyPrompt do task.wait() if Settings.LoopProximtyPrompt then for i,v in pairs(MyTycoon:GetChildren()) do if string.find(v.Name,"Excavator") then fireproximityprompt(v.Model.Internal.ProximityPrompt) end end end end end) end) Toggles.AutoRebirth:OnChanged(function() Settings.AutoRebirth = Toggles.AutoRebirth.Value task.spawn(function() while Settings.AutoRebirth do task.wait() if game:GetService("Players").LocalPlayer.PlayerGui.GUI.Money.Value >= MoneyLibary.RebornPrice(game:GetService("Players").LocalPlayer) and (game:GetService("Players").LocalPlayer.PlayerTycoon.Value:GetPivot().p - game.Players.LocalPlayer.Character:GetPivot().p).Magnitude <= 150 and Settings.AutoRebirth == true then game:GetService("ReplicatedStorage").Rebirth:InvokeServer(26) if Settings.AutoLoadSetup == true then game:GetService("ReplicatedStorage").Layouts:InvokeServer("Load","Layout"..Settings.LayoutSelected) if Settings.ShouldReload == true then task.wait(Settings.LoadAfter) game:GetService("ReplicatedStorage").Layouts:InvokeServer("Load","Layout"..Settings.LayoutSelected) end end end end end) end) Toggles.AutoLoadSetup:OnChanged(function() Settings.AutoLoadSetup = Toggles.AutoLoadSetup.Value end) Toggles.ShouldReload:OnChanged(function() Settings.ShouldReload = Toggles.ShouldReload.Value end) game:GetService("Players").LocalPlayer.PlayerGui.GUI.Notifications.ChildAdded:Connect(function(v) if v.Name == "ItemTemplate" or "ItemTemplateMini" and v:FindFirstChild("Title") and v:FindFirstChild("Tier") and v:FindFirstChild("Icon") and Settings.ItemTracker == true then local ImageId = v.Icon.Image if string.find(ImageId,"rbxasset") then ImageId = string.split(tostring(v.Icon.Image),"//")[2] end local ImageData = game:GetService("HttpService"):JSONDecode(request({Url="https://thumbnails.roblox.com/v1/assets?assetIds="..tonumber(ImageId).."&returnPolicy=PlaceHolder&size=512x512&format=Png&isCircular=false"}).Body) local ImageLink = ImageData.data[1]["imageUrl"] local Data = {["embeds"]= {{ ["title"] = "**New Item**", ["fields"] = { { ["name"] = ":page_facing_up: **Item**", ["value"] = tostring("```\n"..v.Title.Text.."```"), ["inline"] = true }, { ["name"] = (":arrow_up: **Tier**"), ["value"] = tostring("```\n"..v.Tier.Text.."```"), ["inline"] = true }, }, ["color"] = tonumber("0x"..tostring(string.split((string.format("#%02X%02X%02X", v.BackgroundColor3.R * 0xFF,v.BackgroundColor3.G * 0xFF, v.BackgroundColor3.B * 0xFF)),"#")[2])), ["footer"] = {["text"] = "Project Vertigo | "..os.date()}, ["thumbnail"] = {["url"]=tostring(ImageLink)} }} } request({Url = Settings.WebhookLink.."?wait=true", Body = game:GetService("HttpService"):JSONEncode(Data), Method = "POST", Headers = {["content-type"] = "application/json"}}) end end) --Options Options.WebhookLink:OnChanged(function() Settings.WebhookLink = Options.WebhookLink.Value end) Options.SelectedUpgrader:OnChanged(function() Settings.SelectedUpgrader = Options.SelectedUpgrader.Value end) Options.SelectedFurnace:OnChanged(function() Settings.SelectedFurnace = Options.SelectedFurnace.Value end) Options.LayoutSelected:OnChanged(function() Settings.LayoutSelected = Options.LayoutSelected.Value end) Options.LoadAfter:OnChanged(function() Settings.LoadAfter = Options.LoadAfter.Value end) Options.LayoutCopierSelected:OnChanged(function() Settings.LayoutCopierSelected = Options.LayoutCopierSelected.Value end) Options.LayoutPlayerSelected:OnChanged(function() Settings.LayoutPlayerSelected = Options.LayoutPlayerSelected.Value end) local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu') MenuGroup:AddButton('Unload', function() Library:Unload() end) MenuGroup:AddLabel('Menu bind'):AddKeyPicker('MenuKeybind', { Default = 'End', NoUI = true, Text = 'Menu keybind' }) Library.ToggleKeybind = Options.MenuKeybind -- Allows you to have a custom keybind for the menu ThemeManager:SetLibrary(Library) SaveManager:SetLibrary(Library) SaveManager:IgnoreThemeSettings() SaveManager:SetIgnoreIndexes({ 'MenuKeybind' }) ThemeManager:SetFolder('ProjectVertigo') SaveManager:SetFolder('ProjectVertigo/MinersHaven') SaveManager:BuildConfigSection(Tabs['UI Settings']) ThemeManager:ApplyToTab(Tabs['UI Settings']) SaveManager:LoadAutoloadConfig()