
Key Required

-- SONIC EXE: RP REMAKE SCRIPT
local player = game:GetService("Players").LocalPlayer
local pGui = player:WaitForChild("PlayerGui")
local TweenService = game:GetService("TweenService")
-- Limpa execuções anteriores
if pGui:FindFirstChild("SonicRemakeSystem") then
pGui:FindFirstChild("SonicRemakeSystem"):Destroy()
end
-- 1. Interface Principal
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "SonicRemakeSystem"
screenGui.ResetOnSpawn = false
screenGui.Parent = pGui
-- BOTÃO PARA ABRIR E FECHAR
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 100, 0, 40)
toggleBtn.Position = UDim2.new(0, 10, 0.4, 0)
toggleBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0)
toggleBtn.Text = "ABRIR/FECHAR"
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.SourceSansBold
toggleBtn.TextSize = 14
toggleBtn.Parent = screenGui
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8)
-- JANELA PRINCIPAL (LARGURA REDUZIDA PARA NÃO SAIR DA TELA)
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 260, 0, 400) -- Largura de 260 (mais fina)
mainFrame.Position = UDim2.new(0.5, -130, 0.5, -200)
mainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
mainFrame.BorderSizePixel = 2
mainFrame.BorderColor3 = Color3.fromRGB(255, 0, 0)
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Visible = true
mainFrame.Parent = screenGui
-- ROLAGEM (PARA CABER TUDO DENTRO DA GUI)
local scroll = Instance.new("ScrollingFrame")
scroll.Size = UDim2.new(1, -10, 1, -10)
scroll.Position = UDim2.new(0, 5, 0, 5)
scroll.BackgroundTransparency = 1
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
scroll.ScrollBarThickness = 4
scroll.Parent = mainFrame
local layout = Instance.new("UIListLayout")
layout.Parent = scroll
layout.Padding = UDim.new(0, 8)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
-- Lógica de fechar/abrir
toggleBtn.MouseButton1Click:Connect(function()
mainFrame.Visible = not mainFrame.Visible
end)
-- --- FUNÇÕES ---
local function acharSpawn()
local pastaGame = workspace:FindFirstChild("game")
return (pastaGame and pastaGame:FindFirstChild("SpawnLocation"))
or workspace:FindFirstChild("SpawnLocation", true)
end
local function puxarParaLobby()
local char = player.Character
local spawnAlvo = acharSpawn()
if char and char:FindFirstChild("HumanoidRootPart") and spawnAlvo then
local info = TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
TweenService:Create(char.HumanoidRootPart, info, {CFrame = spawnAlvo.CFrame + Vector3.new(0, 7, 0)}):Play()
end
end
local function criarBotao(nome, acao, cor)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.9, 0, 0, 55) -- Tamanho do botão continua bom
btn.BackgroundColor3 = cor or Color3.fromRGB(30, 30, 30)
btn.Text = nome
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.SourceSansBold
btn.TextScaled = true
btn.Parent = scroll
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
btn.MouseButton1Click:Connect(acao)
end
-- --- CONTEÚDO ---
local titulo = Instance.new("TextLabel")
titulo.Size = UDim2.new(0.9, 0, 0, 50)
titulo.BackgroundTransparency = 1
titulo.Text = "SONIC EXE REMAKE"
titulo.TextColor3 = Color3.fromRGB(255, 0, 0)
titulo.Font = Enum.Font.SourceSansBold
titulo.TextScaled = true
titulo.Parent = scroll
criarBotao("Puxar para o Lobby", puxarParaLobby, Color3.fromRGB(60, 0, 0))
local instrucao = Instance.new("TextLabel")
instrucao.Size = UDim2.new(0.9, 0, 0, 40)
instrucao.BackgroundTransparency = 1
instrucao.Text = "use o puxar para o lobby quando você for teleportar para um morph"
instrucao.TextColor3 = Color3.fromRGB(200, 200, 200)
instrucao.Font = Enum.Font.SourceSansItalic
instrucao.TextScaled = true
instrucao.Parent = scroll
-- Tabelas para facilitar a criação
local mapas = {
{N = "Teleport To: Green Hill", P = "GH"},
{N = "Teleport To: Hide And Seek", P = "HAS"},
{N = "Teleport To: HAS Act 2", P = "HAS2"},
{N = "Teleport To: You Cant Run", P = "YCR"},
{N = "Teleport To: Kind And Fair", P = "KAF"},
{N = "Teleport To: Base", P = "Base"},
{N = "Teleport To: ...", P = "DotDotDot"},
{N = "Teleport To: Not Perfect", P = "NOTPERFECT"}
}
for _, m in pairs(mapas) do
criarBotao(m.N, function()
local target = workspace.game.ZoneTeleports.Teleports:FindFirstChild(m.P)
if player.Character and target then
player.Character.HumanoidRootPart.CFrame = target.CFrame + Vector3.new(0, 3, 0)
end
end)
end
local morphs = {
{Nome = "Teleport To: Furnace Model", Alvo = "Furnace"},
{Nome = "Teleport To: Rewrite Model", Alvo = "Rewrite"}
}
for _, info in pairs(morphs) do
criarBotao(info.Nome, function()
local model = workspace:FindFirstChild(info.Alvo, true)
if model and player.Character then
local pos = model:IsA("Model") and (model.PrimaryPart and model.PrimaryPart.CFrame or model:FindFirstChildWhichIsA("BasePart").CFrame) or model.CFrame
player.Character.HumanoidRootPart.CFrame = pos + Vector3.new(0, 3, 0)
end
end)
end

rewrite doesnt work
@idkwhatimdoing222 The rewrite does work, sometimes the game's morphing might not work because it's not reacting.
Can't run as rewrite