-- ================================================ -- REAL SORCERER TYCOON - FINAL SCRIPT -- Velocity Compatible GUI -- ================================================ local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Player = Players.LocalPlayer local Character = Player.Character or Player.CharacterAdded:Wait() local Humanoid = Character:WaitForChild("Humanoid") local HRP = Character:WaitForChild("HumanoidRootPart") -- ================================================ -- REMOTES -- ================================================ local Assets = ReplicatedStorage:WaitForChild("Assets") local Remotes = Assets:WaitForChild("Remotes") local function GetRemote(path) local obj = Remotes for _, key in ipairs(path) do local found = obj:FindFirstChild(key) if not found then return nil end obj = found end return obj end local LimitBreakRemote = GetRemote({"LimitBreaker","LimitBreak"}) local RebirthRemote = GetRemote({"Tycoon","Rebirth"}) local SpeedRemote = GetRemote({"Movements","Speed"}) local M1Remote = GetRemote({"Skills","M1","M1Attack"}) local SkillRemote = GetRemote({"Skills","SKill"}) -- ================================================ -- BOSS FOLDER -- ================================================ local BossesFolder = workspace :WaitForChild("Map") :WaitForChild("Boss") :WaitForChild("WorldBoss") :WaitForChild("Bosses") local function GetJogo() for _, boss in ipairs(BossesFolder:GetChildren()) do if boss.Name:lower():find("jogo") then local hum = boss:FindFirstChildOfClass("Humanoid") local hrp = boss:FindFirstChild("HumanoidRootPart") if hum and hum.Health > 0 and hrp then return boss, hum, hrp end end end return nil, nil, nil end -- ================================================ -- STATE -- ================================================ local State = { AutoFarm = false, Flying = false, Noclip = false, InfJump = false, SpeedHack = false, AutoLB = false, AutoRebirth = false, FlySpeed = 80, WalkSpeed = 200, LastBossPos = nil, Visible = true, } local FlyVelocity, FlyGyro local farmThread = nil -- ================================================ -- SKILL SPAM -- ================================================ local function SpamSkills(boss, bossHum, bossHRP) pcall(function() local vim = game:GetService("VirtualInputManager") for _, key in ipairs({ Enum.KeyCode.Z, Enum.KeyCode.X, Enum.KeyCode.C, Enum.KeyCode.V, Enum.KeyCode.Q, Enum.KeyCode.E, Enum.KeyCode.R, Enum.KeyCode.T, }) do vim:SendKeyEvent(true, key, false, game) task.defer(function() vim:SendKeyEvent(false, key, false, game) end) end end) if M1Remote then pcall(function() M1Remote:FireServer(bossHRP) end) pcall(function() M1Remote:FireServer(boss) end) end if SkillRemote then pcall(function() SkillRemote:FireServer(boss) end) pcall(function() SkillRemote:FireServer(bossHRP) end) end end -- ================================================ -- FARM LOOP -- ================================================ local function StartFarm() if farmThread then return end farmThread = task.spawn(function() while State.AutoFarm do local boss, bossHum, bossHRP = GetJogo() if boss and bossHRP then State.LastBossPos = bossHRP.CFrame if HRP then HRP.CFrame = bossHRP.CFrame * CFrame.new(0, 0, 3) HRP.CFrame = CFrame.lookAt(HRP.Position, bossHRP.Position) end SpamSkills(boss, bossHum, bossHRP) else task.wait(1) end task.wait(0.1) end farmThread = nil end) end local function StopFarm() State.AutoFarm = false farmThread = nil end -- ================================================ -- FLY -- ================================================ local function StartFly() Character = Player.Character if not Character then return end HRP = Character:FindFirstChild("HumanoidRootPart") Humanoid = Character:FindFirstChildOfClass("Humanoid") if Humanoid then Humanoid.PlatformStand = true end FlyVelocity = Instance.new("BodyVelocity") FlyVelocity.MaxForce = Vector3.new(1e6,1e6,1e6) FlyVelocity.Velocity = Vector3.zero FlyVelocity.Parent = HRP FlyGyro = Instance.new("BodyGyro") FlyGyro.MaxTorque = Vector3.new(1e6,1e6,1e6) FlyGyro.D = 100 FlyGyro.Parent = HRP RunService:BindToRenderStep("SorcFly", Enum.RenderPriority.Input.Value, function() if not State.Flying or not HRP then return end local cam = workspace.CurrentCamera local dir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0,1,0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.new(0,1,0) end FlyVelocity.Velocity = dir.Magnitude > 0 and dir.Unit * State.FlySpeed or Vector3.zero FlyGyro.CFrame = cam.CFrame end) end local function StopFly() State.Flying = false RunService:UnbindFromRenderStep("SorcFly") if FlyVelocity then FlyVelocity:Destroy() FlyVelocity = nil end if FlyGyro then FlyGyro:Destroy() FlyGyro = nil end local hum = Character and Character:FindFirstChildOfClass("Humanoid") if hum then hum.PlatformStand = false end end -- ================================================ -- RUNTIME LOOPS -- ================================================ RunService.Stepped:Connect(function() if State.Noclip and Character then for _, p in ipairs(Character:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end if State.SpeedHack and Humanoid and Humanoid.WalkSpeed ~= State.WalkSpeed then Humanoid.WalkSpeed = State.WalkSpeed end end) UserInputService.JumpRequest:Connect(function() if State.InfJump and Character then local hum = Character:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end end) task.spawn(function() while task.wait(3) do if State.AutoLB and LimitBreakRemote then pcall(function() LimitBreakRemote:FireServer() end) end end end) task.spawn(function() while task.wait(5) do if State.AutoRebirth and RebirthRemote then pcall(function() RebirthRemote:FireServer() end) end end end) -- ================================================ -- RESPAWN -- ================================================ Player.CharacterAdded:Connect(function(char) Character = char Humanoid = char:WaitForChild("Humanoid") HRP = char:WaitForChild("HumanoidRootPart") State.Flying = false State.Noclip = false if State.AutoFarm and State.LastBossPos then task.spawn(function() for i = 1, 5 do task.wait(0.2) local _, _, freshHRP = GetJogo() if HRP then HRP.CFrame = freshHRP and freshHRP.CFrame * CFrame.new(0,0,3) or State.LastBossPos * CFrame.new(0,0,3) end end if State.AutoFarm then StartFarm() end end) end if State.SpeedHack then task.wait(1.5) Humanoid.WalkSpeed = State.WalkSpeed if SpeedRemote then pcall(function() SpeedRemote:FireServer(State.WalkSpeed) end) end end end) -- ================================================ -- CLEAN OLD GUI -- ================================================ pcall(function() if Player.PlayerGui:FindFirstChild("SorcFinalGUI") then Player.PlayerGui.SorcFinalGUI:Destroy() end end) -- ================================================ -- GUI - Velocity safe, manual Y positions, no UIStroke -- no AutomaticCanvasSize, no Draggable -- ================================================ local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SorcFinalGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = Player.PlayerGui -- Small toggle button always on screen local ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(0, 34, 0, 34) ToggleBtn.Position = UDim2.new(0, 8, 0.5, -17) ToggleBtn.BackgroundColor3 = Color3.fromRGB(120, 0, 0) ToggleBtn.BorderSizePixel = 0 ToggleBtn.Text = "✕" ToggleBtn.TextSize = 15 ToggleBtn.Font = Enum.Font.GothamBold ToggleBtn.TextColor3 = Color3.fromRGB(255, 200, 100) ToggleBtn.Parent = ScreenGui Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(0, 8) -- Main frame - fixed pixel height, no auto sizing local Main = Instance.new("Frame") Main.Name = "Main" Main.Size = UDim2.new(0, 255, 0, 510) Main.Position = UDim2.new(0, 50, 0.5, -255) Main.BackgroundColor3 = Color3.fromRGB(8, 6, 10) Main.BorderSizePixel = 0 Main.Parent = ScreenGui Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 10) -- Header background local Header = Instance.new("Frame") Header.Size = UDim2.new(1, 0, 0, 46) Header.BackgroundColor3 = Color3.fromRGB(18, 4, 4) Header.BorderSizePixel = 0 Header.Parent = Main Instance.new("UICorner", Header).CornerRadius = UDim.new(0, 10) -- Patch corners on header local HP = Instance.new("Frame") HP.Size = UDim2.new(1, 0, 0.5, 0) HP.Position = UDim2.new(0, 0, 0.5, 0) HP.BackgroundColor3 = Color3.fromRGB(18, 4, 4) HP.BorderSizePixel = 0 HP.Parent = Header -- Red accent line under header local AL = Instance.new("Frame") AL.Size = UDim2.new(1, 0, 0, 2) AL.Position = UDim2.new(0, 0, 1, -2) AL.BackgroundColor3 = Color3.fromRGB(180, 0, 0) AL.BorderSizePixel = 0 AL.Parent = Header local TitleLbl = Instance.new("TextLabel") TitleLbl.Size = UDim2.new(1, -46, 1, 0) TitleLbl.Position = UDim2.new(0, 12, 0, 0) TitleLbl.BackgroundTransparency = 1 TitleLbl.Text = "☠ SORCERER SCRIPTS" TitleLbl.TextColor3 = Color3.fromRGB(255, 60, 60) TitleLbl.TextSize = 13 TitleLbl.Font = Enum.Font.GothamBold TitleLbl.TextXAlignment = Enum.TextXAlignment.Left TitleLbl.Parent = Header local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 26, 0, 26) CloseBtn.Position = UDim2.new(1, -32, 0.5, -13) CloseBtn.BackgroundColor3 = Color3.fromRGB(70, 0, 0) CloseBtn.BorderSizePixel = 0 CloseBtn.Text = "✕" CloseBtn.TextSize = 12 CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextColor3 = Color3.fromRGB(255, 80, 80) CloseBtn.Parent = Header Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 6) -- Drag logic local dragging, dragStart, startPos Header.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = i.Position startPos = Main.Position end end) Header.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local d = i.Position - dragStart Main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y) end end) -- Show/hide local function SetVisible(v) State.Visible = v Main.Visible = v ToggleBtn.Text = v and "✕" or "⚡" ToggleBtn.BackgroundColor3 = v and Color3.fromRGB(70,0,0) or Color3.fromRGB(120,0,0) end CloseBtn.MouseButton1Click:Connect(function() SetVisible(false) end) ToggleBtn.MouseButton1Click:Connect(function() SetVisible(not State.Visible) end) -- Scroll frame with FIXED canvas size local SF = Instance.new("ScrollingFrame") SF.Size = UDim2.new(1, 0, 1, -48) SF.Position = UDim2.new(0, 0, 0, 48) SF.BackgroundTransparency = 1 SF.BorderSizePixel = 0 SF.ScrollBarThickness = 2 SF.ScrollBarImageColor3 = Color3.fromRGB(160, 0, 0) SF.CanvasSize = UDim2.new(0, 0, 0, 580) SF.Parent = Main -- ================================================ -- BUILD ITEMS with manual Y positioning -- ================================================ local Y = 8 local function AddStatus() local card = Instance.new("Frame") card.Size = UDim2.new(1, -16, 0, 44) card.Position = UDim2.new(0, 8, 0, Y) card.BackgroundColor3 = Color3.fromRGB(18, 4, 4) card.BorderSizePixel = 0 card.Parent = SF Instance.new("UICorner", card).CornerRadius = UDim.new(0, 8) local dot = Instance.new("Frame") dot.Size = UDim2.new(0, 8, 0, 8) dot.Position = UDim2.new(0, 12, 0.5, -4) dot.BackgroundColor3 = Color3.fromRGB(255, 50, 50) dot.BorderSizePixel = 0 dot.Parent = card Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0) local stxt = Instance.new("TextLabel") stxt.Size = UDim2.new(1, -30, 1, 0) stxt.Position = UDim2.new(0, 26, 0, 0) stxt.BackgroundTransparency = 1 stxt.Text = "Jogo: Not spawned" stxt.TextColor3 = Color3.fromRGB(200, 80, 80) stxt.TextSize = 11 stxt.Font = Enum.Font.GothamBold stxt.TextXAlignment = Enum.TextXAlignment.Left stxt.Parent = card task.spawn(function() while task.wait(0.5) do local boss, bossHum = GetJogo() if boss and bossHum then local hp = math.floor(bossHum.Health) local mx = math.floor(bossHum.MaxHealth) stxt.Text = "Jogo ALIVE HP: "..hp.."/"..mx stxt.TextColor3 = Color3.fromRGB(80, 220, 80) dot.BackgroundColor3 = Color3.fromRGB(80, 220, 80) else stxt.Text = "Jogo: Not spawned" stxt.TextColor3 = Color3.fromRGB(200, 80, 80) dot.BackgroundColor3 = Color3.fromRGB(255, 50, 50) end end end) Y += 44 + 6 end local function AddSection(text) local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(1, -16, 0, 22) lbl.Position = UDim2.new(0, 8, 0, Y) lbl.BackgroundTransparency = 1 lbl.Text = "— "..text.." —" lbl.TextColor3 = Color3.fromRGB(140, 25, 25) lbl.TextSize = 10 lbl.Font = Enum.Font.GothamBold lbl.Parent = SF Y += 22 + 4 end local function AddToggle(label, desc, onEnable, onDisable) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -16, 0, 52) btn.Position = UDim2.new(0, 8, 0, Y) btn.BackgroundColor3 = Color3.fromRGB(14, 6, 6) btn.BorderSizePixel = 0 btn.Text = "" btn.AutoButtonColor = false btn.Parent = SF Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local nameLbl = Instance.new("TextLabel") nameLbl.Size = UDim2.new(1, -58, 0, 24) nameLbl.Position = UDim2.new(0, 12, 0, 6) nameLbl.BackgroundTransparency = 1 nameLbl.Text = label nameLbl.TextColor3 = Color3.fromRGB(220, 180, 180) nameLbl.TextSize = 12 nameLbl.Font = Enum.Font.GothamBold nameLbl.TextXAlignment = Enum.TextXAlignment.Left nameLbl.Parent = btn local descLbl = Instance.new("TextLabel") descLbl.Size = UDim2.new(1, -58, 0, 14) descLbl.Position = UDim2.new(0, 12, 0, 31) descLbl.BackgroundTransparency = 1 descLbl.Text = desc descLbl.TextColor3 = Color3.fromRGB(90, 40, 40) descLbl.TextSize = 10 descLbl.Font = Enum.Font.Gotham descLbl.TextXAlignment = Enum.TextXAlignment.Left descLbl.Parent = btn local pill = Instance.new("TextLabel") pill.Size = UDim2.new(0, 38, 0, 20) pill.Position = UDim2.new(1, -46, 0.5, -10) pill.BackgroundColor3 = Color3.fromRGB(30, 8, 8) pill.BorderSizePixel = 0 pill.Text = "OFF" pill.TextColor3 = Color3.fromRGB(120, 40, 40) pill.TextSize = 11 pill.Font = Enum.Font.GothamBold pill.Parent = btn Instance.new("UICorner", pill).CornerRadius = UDim.new(0, 6) local toggled = false btn.MouseButton1Click:Connect(function() toggled = not toggled if toggled then pill.Text = "ON" pill.BackgroundColor3 = Color3.fromRGB(180, 0, 0) pill.TextColor3 = Color3.fromRGB(255, 255, 255) btn.BackgroundColor3 = Color3.fromRGB(22, 6, 6) nameLbl.TextColor3 = Color3.fromRGB(255, 130, 130) pcall(onEnable) else pill.Text = "OFF" pill.BackgroundColor3 = Color3.fromRGB(30, 8, 8) pill.TextColor3 = Color3.fromRGB(120, 40, 40) btn.BackgroundColor3 = Color3.fromRGB(14, 6, 6) nameLbl.TextColor3 = Color3.fromRGB(220, 180, 180) pcall(onDisable) end end) Y += 52 + 6 end -- ================================================ -- REGISTER ALL UI ELEMENTS -- ================================================ AddStatus() AddSection("AUTO FARM") AddToggle("Auto Farm Jogo", "Teleport + skills + rejoin on death", function() State.AutoFarm = true StartFarm() end, function() StopFarm() end) AddToggle("Auto LimitBreak", "Fires LimitBreak every 3s", function() State.AutoLB = true end, function() State.AutoLB = false end) AddToggle("Auto Rebirth", "Fires Rebirth every 5s", function() State.AutoRebirth = true end, function() State.AutoRebirth = false end) AddSection("MOVEMENT") AddToggle("Fly", "WASD Space=up Ctrl=down", function() State.Flying = true StartFly() end, function() StopFly() end) AddToggle("Noclip", "Walk through all walls", function() State.Noclip = true end, function() State.Noclip = false if Character then for _, p in ipairs(Character:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = true end end end end) AddToggle("Infinite Jump", "Jump again mid-air", function() State.InfJump = true end, function() State.InfJump = false end) AddToggle("Speed Hack", "Sets WalkSpeed to 200", function() State.SpeedHack = true if Humanoid then Humanoid.WalkSpeed = State.WalkSpeed end if SpeedRemote then pcall(function() SpeedRemote:FireServer(State.WalkSpeed) end) end end, function() State.SpeedHack = false if Humanoid then Humanoid.WalkSpeed = 16 end if SpeedRemote then pcall(function() SpeedRemote:FireServer(16) end) end end) -- Update canvas to exact content height SF.CanvasSize = UDim2.new(0, 0, 0, Y + 8) print("[Sorcerer Scripts] Loaded!")