
KeylessUniversal

local Player = game.Players.LocalPlayer
local RunService = game:GetService("RunService")
local Debris = game:GetService("Debris")
-- CONFIGURAÇÕES GERAIS
local ActiveDoors = {}
local DomainCenter = Vector3.new(30000, 30000, 30000)
local DomainActive = false
local WalkSpeedBase = 16
local TempSpeed = 0
local IsImmobilized = false
local M1Stack = 0
local PlayerHits = {}
-- IDs DE ÁUDIO
local SFX = {
DOOR_SPAWN = "1253544696",
FOOTSTEPS = "103446626057429",
STOMP_IMPACT = "73130804959365",
DOMAIN_AMBIENT = "91136538628178",
WIGGLE_FINGERS = "89093850041492",
WAVE = "1453205731",
WARP = "115559659035777",
GRAB_VOICE = "80125518005884",
GRAB_EFFECT = "86692601973391",
BLOOD_SFX = "135417409504018",
PUNCH_HIT = "130870990615389"
}
-- FUNÇÃO AUXILIAR: REORDENAR NÚMEROS DAS PORTAS
local function reorderDoors()
for i, data in ipairs(ActiveDoors) do
data.Num = i
if data.Part and data.Part:FindFirstChild("BillboardGui") then
data.Part.BillboardGui.TextLabel.Text = tostring(i)
end
end
end
-- FUNÇÃO DE SOM
local function playSFX(id, vol, duration)
local char = Player.Character
if char and char:FindFirstChild("HumanoidRootPart") then
local s = Instance.new("Sound", char.HumanoidRootPart)
s.SoundId = "rbxassetid://" .. id
s.Volume = vol or 2
s:Play()
if duration then
task.delay(duration, function() if s then s:Stop() s:Destroy() end end)
else
Debris:AddItem(s, 8)
end
return s
end
end
-- GUI
if Player.PlayerGui:FindFirstChild("SamsoniteV5.0") then
Player.PlayerGui["SamsoniteV5.0"]:Destroy()
end
local ScreenGui = Instance.new("ScreenGui", Player.PlayerGui)
ScreenGui.Name = "SamsoniteV5.0"
ScreenGui.ResetOnSpawn = false
-- PAINEL DE STATUS
local EffectsFrame = Instance.new("Frame", ScreenGui)
EffectsFrame.Size = UDim2.new(0, 220, 0, 300); EffectsFrame.Position = UDim2.new(0.02, 0, 0.4, 0); EffectsFrame.BackgroundTransparency = 1
local layout = Instance.new("UIListLayout", EffectsFrame); layout.Padding = UDim.new(0, 5)
local function addVisualEffect(text, color, duration)
local label = Instance.new("TextLabel", EffectsFrame)
label.Size = UDim2.new(1, 0, 0, 30); label.BackgroundColor3 = Color3.fromRGB(20, 20, 20); label.TextColor3 = color; label.Text = " " .. text:upper(); label.Font = Enum.Font.SourceSansBold; label.TextSize = 16; label.TextXAlignment = Enum.TextXAlignment.Left; Instance.new("UICorner", label); Debris:AddItem(label, duration)
end
-- SISTEMA DE MOVIMENTO
task.spawn(function()
while true do
local char = Player.Character
local hum = char and char:FindFirstChild("Humanoid")
if hum and hum.MoveDirection.Magnitude > 0 and not IsImmobilized then
playSFX(SFX.FOOTSTEPS, 1)
task.wait(math.clamp(6.0 / hum.WalkSpeed, 0.25, 0.6))
else
task.wait(0.1)
end
end
end)
RunService.Heartbeat:Connect(function()
local char = Player.Character
local hum = char and char:FindFirstChild("Humanoid")
if not hum then return end
if IsImmobilized then
hum.WalkSpeed = 0; hum.JumpPower = 0
elseif TempSpeed > 0 then
hum.WalkSpeed = TempSpeed
elseif DomainActive then
hum.WalkSpeed = 40
else
hum.WalkSpeed = WalkSpeedBase + M1Stack
end
end)
-- ==========================================================
-- MECÂNICA M1
-- ==========================================================
local M1Btn = Instance.new("TextButton", ScreenGui)
M1Btn.Size = UDim2.new(0, 75, 0, 75); M1Btn.Position = UDim2.new(0.83, 5, 0.68, 0); M1Btn.BackgroundColor3 = Color3.fromRGB(180, 0, 0); M1Btn.Text = "M1"; M1Btn.Font = Enum.Font.SourceSansBold; M1Btn.TextSize = 24; M1Btn.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", M1Btn).CornerRadius = UDim.new(1, 0); Instance.new("UIStroke", M1Btn).Thickness = 2
local M1CdLabel = Instance.new("TextLabel", M1Btn); M1CdLabel.Size = UDim2.new(1,0,1,0); M1CdLabel.BackgroundTransparency = 1; M1CdLabel.Text = ""; M1CdLabel.TextColor3 = Color3.new(1,1,1); M1CdLabel.TextSize = 28
local onM1Cd = false
M1Btn.MouseButton1Click:Connect(function()
if onM1Cd or IsImmobilized then return end
onM1Cd = true
local char = Player.Character
local root = char.HumanoidRootPart
local stopSpawning = false
task.spawn(function()
local startTime = tick()
while tick() - startTime < 0.6 and not stopSpawning do
local hb = Instance.new("Part", workspace)
hb.Size = Vector3.new(5, 7, 5); hb.CFrame = root.CFrame * CFrame.new(0, 0, -4.5); hb.Transparency = 0.9; hb.Color = Color3.new(1, 0, 0); hb.Material = Enum.Material.SmoothPlastic; hb.CanCollide = false; hb.Anchored = true
local overlapParams = OverlapParams.new(); overlapParams.FilterDescendantsInstances = {char}; overlapParams.FilterType = Enum.RaycastFilterType.Exclude
local parts = workspace:GetPartsInPart(hb, overlapParams)
for _, part in pairs(parts) do
local enemy = part:FindFirstAncestorOfClass("Model")
if enemy and enemy:FindFirstChild("Humanoid") then
stopSpawning = true
hb.Color = Color3.new(0, 1, 0); hb.Transparency = 0.6; Debris:AddItem(hb, 1.5)
local punchVols = {35, 40, 50, 65, 85, 100}
local selectedVol = punchVols[math.random(1, #punchVols)]
playSFX(SFX.PUNCH_HIT, selectedVol)
PlayerHits[enemy] = (PlayerHits[enemy] or 0) + 1
local hits = PlayerHits[enemy]
addVisualEffect("HIT: " .. hits .. "/6", Color3.fromRGB(255, 140, 0), 1.5)
if hits >= 6 then
PlayerHits[enemy] = 0; IsImmobilized = true
playSFX(SFX.GRAB_EFFECT, 5, 1); playSFX(SFX.GRAB_VOICE, 6)
addVisualEffect("☠️ GRABBED ☠️", Color3.new(1, 0, 0), 6)
task.wait(6)
playSFX(SFX.BLOOD_SFX, 6); IsImmobilized = false
TempSpeed = 50; addVisualEffect("BLOODLUST", Color3.new(0, 1, 1), 2.5)
task.delay(2.5, function() TempSpeed = 0 end)
for _, p in pairs(game.Players:GetPlayers()) do
if p.Character and p ~= Player then
local h = Instance.new("Highlight", p.Character); h.FillColor = Color3.new(1, 0, 0); h.OutlineColor = Color3.new(1,1,1); Debris:AddItem(h, 2)
end
end
end
break
end
end
if not stopSpawning then Debris:AddItem(hb, 0.15) end
task.wait(0.05)
end
end)
task.spawn(function()
local t = 2.5; while t > 0 do M1CdLabel.Text = string.format("%.1f", t); task.wait(0.1); t = t - 0.1 end; M1CdLabel.Text = ""; onM1Cd = false
end)
end)
-- ==========================================================
-- HABILIDADES
-- ==========================================================
local function createAbilityBtn(name, pos, color, cooldown, callback)
local btn = Instance.new("TextButton", ScreenGui)
btn.Size = UDim2.new(0, 80, 0, 80); btn.Position = pos; btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25); btn.Text = name; btn.TextColor3 = color; btn.Font = Enum.Font.SourceSansBold; btn.TextSize = 14; Instance.new("UICorner", btn); Instance.new("UIStroke", btn).Color = color; Instance.new("UIStroke", btn).Thickness = 2
local cdLabel = Instance.new("TextLabel", btn); cdLabel.Size = UDim2.new(1, 0, 1, 0); cdLabel.BackgroundTransparency = 1; cdLabel.Text = ""; cdLabel.TextColor3 = Color3.new(1, 1, 1); cdLabel.TextSize = 22
local onCd = false
btn.MouseButton1Click:Connect(function()
if onCd or IsImmobilized then return end
if callback() then
onCd = true
task.spawn(function()
local t = cooldown
while t > 0 do cdLabel.Text = string.format("%.1f", t); task.wait(0.1); t = t - 0.1 end
cdLabel.Text = ""; onCd = false
end)
end
end)
end
-- 1. DOORS (DURAÇÃO: 160 SEGUNDOS)
createAbilityBtn("DOORS", UDim2.new(0.65, 0, 0.8, 0), Color3.new(1,1,1), 10, function()
playSFX(SFX.DOOR_SPAWN, 3)
local colors = {Color3.new(0,1,0), Color3.new(0,0,1), Color3.new(0.5,0,1), Color3.new(1,0,1)}
local picked = colors[math.random(1, #colors)]
local door = Instance.new("Part", workspace)
door.Size = Vector3.new(6, 9, 1); door.CFrame = Player.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, -5); door.Anchored = true; door.CanCollide = false; door.Color = picked; door.Material = Enum.Material.Neon
local b = Instance.new("BillboardGui", door); b.Name = "BillboardGui"; b.Size = UDim2.new(0, 50, 0, 50); b.AlwaysOnTop = true
local t = Instance.new("TextLabel", b); t.Size = UDim2.new(1, 0, 1, 0); t.BackgroundTransparency = 1; t.Text = ""; t.TextColor3 = Color3.new(1, 1, 1); t.Font = Enum.Font.SourceSansBold; t.TextSize = 30; Instance.new("UIStroke", t)
local doorData = {Part = door, Pos = door.CFrame, Color = picked, Num = 0}
table.insert(ActiveDoors, doorData)
reorderDoors()
-- Tempo solicitado: 160 segundos
Debris:AddItem(door, 160)
door.Destroying:Connect(function()
for i, v in ipairs(ActiveDoors) do if v == doorData then table.remove(ActiveDoors, i) reorderDoors() break end end
end)
return true
end)
-- 2. STOMP
createAbilityBtn("STOMP", UDim2.new(0.74, 0, 0.8, 0), Color3.fromRGB(255, 0, 150), 28, function()
playSFX(SFX.STOMP_IMPACT, 4)
local wave = Instance.new("Part", workspace)
wave.Shape = Enum.PartType.Cylinder; wave.Size = Vector3.new(2, 90, 90); wave.CFrame = Player.Character.HumanoidRootPart.CFrame * CFrame.new(0, -2.5, 0) * CFrame.Angles(0, 0, math.rad(90)); wave.Anchored = true; wave.CanCollide = false; wave.Color = Color3.fromRGB(255, 0, 150); wave.Material = Enum.Material.Neon; wave.Transparency = 0.5
task.spawn(function()
local hits = 0; local hitMap = {}
for i = 1, 15 do
for _, p in pairs(workspace:GetPartBoundsInRadius(wave.Position, 45)) do
local m = p:FindFirstAncestorOfClass("Model")
if m and m:FindFirstChild("Humanoid") and m ~= Player.Character and not hitMap[m] then
hitMap[m] = true; hits = hits + 1
local h = Instance.new("Highlight", m); h.FillColor = Color3.new(1, 0, 0); Debris:AddItem(h, 1)
end
end
task.wait(0.2)
end
wave:Destroy()
if hits > 0 then
TempSpeed = math.min(19 + hits, 32)
addVisualEffect("STOMP BOOST", Color3.new(1, 0, 1), 8)
task.delay(8, function() TempSpeed = 0 end)
end
end)
return true
end)
-- 3. WAVE
createAbilityBtn("WAVE", UDim2.new(0.83, 0, 0.8, 0), Color3.fromRGB(0, 150, 255), 35, function()
playSFX(SFX.WAVE, 3)
local puddle = Instance.new("Part", workspace)
puddle.Size = Vector3.new(50, 0.5, 50); puddle.Position = Player.Character.HumanoidRootPart.Position - Vector3.new(0, 2.8, 0); puddle.Anchored = true; puddle.CanCollide = false; puddle.Color = Color3.fromRGB(0, 150, 255); puddle.Material = Enum.Material.Neon; puddle.Transparency = 0.6; Debris:AddItem(puddle, 20)
task.spawn(function()
local et = tick() + 20
while tick() < et do
for _, p in pairs(workspace:GetPartBoundsInBox(puddle.CFrame, puddle.Size)) do
local m = p:FindFirstAncestorOfClass("Model")
if m and m:FindFirstChild("Humanoid") and m ~= Player.Character and not m:FindFirstChild("WaveMark") then
local h = Instance.new("Highlight", m); h.Name = "WaveMark"; h.FillColor = Color3.new(0, 0.5, 1); Debris:AddItem(h, 1.5)
end
end
task.wait(0.5)
end
end)
return true
end)
-- 4. DOMAIN
createAbilityBtn("DOMAIN", UDim2.new(0.92, 0, 0.8, 0), Color3.new(1,0,0), 50, function()
IsImmobilized = true; playSFX(SFX.WIGGLE_FINGERS, 3)
addVisualEffect("DOMAIN EXPANSION", Color3.new(1, 0, 0), 2.2)
task.wait(2.2); IsImmobilized = false; DomainActive = true
local root = Player.Character.HumanoidRootPart; root.CFrame = CFrame.new(DomainCenter + Vector3.new(0, 10, 0))
local floor = Instance.new("Part", workspace); floor.Size = Vector3.new(400, 2, 400); floor.Position = DomainCenter; floor.Anchored = true; floor.Color = Color3.new(0, 0, 0); local music = playSFX(SFX.DOMAIN_AMBIENT, 5); music.Looped = true
local dInstances = {}
for i, data in ipairs(ActiveDoors) do
if data.Part and data.Part.Parent then
local p = Instance.new("Part", workspace); p.Size = Vector3.new(6, 9, 1); p.Position = DomainCenter + Vector3.new(math.random(-100, 100), 6, math.random(-100, 100)); p.Anchored = true; p.Color = data.Color; p.Material = Enum.Material.Neon
local b = Instance.new("BillboardGui", p); b.Size = UDim2.new(0, 50, 0, 50); b.AlwaysOnTop = true
local t = Instance.new("TextLabel", b); t.Size = UDim2.new(1, 0, 1, 0); t.BackgroundTransparency = 1; t.Text = tostring(data.Num); t.TextColor3 = Color3.new(1, 1, 1); t.Font = Enum.Font.SourceSansBold; t.TextSize = 25; Instance.new("UIStroke", t)
table.insert(dInstances, {Part = p, RealIndex = i})
end
end
local conn; conn = RunService.Heartbeat:Connect(function()
if not DomainActive then conn:Disconnect() return end
for _, d in ipairs(dInstances) do
if (root.Position - d.Part.Position).Magnitude < 12 then
conn:Disconnect(); DomainActive = false; music:Destroy(); floor:Destroy()
local targetDoorData = ActiveDoors[d.RealIndex]
if targetDoorData and targetDoorData.Part then
root.CFrame = targetDoorData.Pos
playSFX(SFX.WARP, 3)
targetDoorData.Part:Destroy()
table.remove(ActiveDoors, d.RealIndex)
reorderDoors()
end
IsImmobilized = true; addVisualEffect("EXITING...", Color3.new(1, 1, 1), 1); task.wait(1); IsImmobilized = false
TempSpeed = 18
addVisualEffect("PORTAL BUFF (SPD 18)", Color3.new(0, 1, 0), 6)
task.delay(6, function() if TempSpeed == 18 then TempSpeed = 0 end end)
for _, p in pairs(game.Players:GetPlayers()) do
if p.Character and p ~= Player then
local h = Instance.new("Highlight", p.Character); h.FillColor = Color3.new(1, 1, 0); h.OutlineColor = Color3.new(0,0,0); Debris:AddItem(h, 3)
end
end
for _, cp in ipairs(dInstances) do cp.Part:Destroy() end
break
end
end
end)
return true
end)No comments yet for this script.



