
KeylessUniversal

local Players=game:GetService("Players")
local RunService=game:GetService("RunService")
local Workspace=game:GetService("Workspace")
local Lighting=game:GetService("Lighting")
local UserInputService=game:GetService("UserInputService")
local player=Players.LocalPlayer
local guiPlayer=player:WaitForChild("PlayerGui")
getgenv().GUI_POSITIONS=getgenv().GUI_POSITIONS or {}
getgenv().GUI_LOCKS=getgenv().GUI_LOCKS or {}
local ScreenGui=Instance.new("ScreenGui")
ScreenGui.Name="MinimapGui"
ScreenGui.ResetOnSpawn=false
ScreenGui.Parent=guiPlayer
local camera=Workspace.CurrentCamera
local viewportSize=camera.ViewportSize
local baseSize=math.clamp(math.floor(math.min(viewportSize.X,viewportSize.Y)*0.22),120,260)
local offsetFromEdge=math.floor(baseSize*0.15)
local MinimapFrame=Instance.new("Frame")
MinimapFrame.Name="Minimap"
MinimapFrame.Parent=ScreenGui
MinimapFrame.AnchorPoint=Vector2.new(1,0)
MinimapFrame.Position=UDim2.new(1,-offsetFromEdge,0,offsetFromEdge*0.6)
MinimapFrame.Size=UDim2.new(0,baseSize,0,baseSize)
MinimapFrame.BackgroundColor3=Color3.fromRGB(29,29,29)
MinimapFrame.BorderSizePixel=0
MinimapFrame.ClipsDescendants=true
local UIStroke=Instance.new("UIStroke")
UIStroke.Thickness=3.6
UIStroke.Color=Color3.fromRGB(70,70,70)
UIStroke.Parent=MinimapFrame
local Viewport=Instance.new("ViewportFrame")
Viewport.Parent=MinimapFrame
Viewport.Size=UDim2.new(1,0,1,0)
Viewport.BorderSizePixel=0
Viewport.BackgroundColor3=Color3.fromRGB(120,120,120)
Viewport.Ambient=Color3.new(1,1,1)
Viewport.LightColor=Color3.new(1,1,1)
Viewport.LightDirection=Vector3.new(0,-1,0)
local WorldModel=Instance.new("WorldModel")
WorldModel.Parent=Viewport
local Arrow=Instance.new("ImageLabel")
Arrow.Parent=Viewport
Arrow.AnchorPoint=Vector2.new(0.5,0.5)
Arrow.Position=UDim2.new(0.5,0,0.5,0)
Arrow.Size=UDim2.new(0,math.floor(baseSize*0.1),0,math.floor(baseSize*0.1))
Arrow.BackgroundTransparency=1
Arrow.Image="rbxassetid://5485245567"
local Camera=Instance.new("Camera")
Camera.FieldOfView=70
Camera.CameraType=Enum.CameraType.Scriptable
Camera.Parent=Viewport
Viewport.CurrentCamera=Camera
local Character=player.Character or player.CharacterAdded:Wait()
local HumanoidRootPart=Character:WaitForChild("HumanoidRootPart")
player.CharacterAdded:Connect(function(char)
Character=char
HumanoidRootPart=char:WaitForChild("HumanoidRootPart")
end)
local function holdSystem(button,name)
local HOLD_TIME=5
local locked=getgenv().GUI_LOCKS[name] or false
local holding=false
local holdStart=0
local holdTriggered=false
button.InputBegan:Connect(function(input)
if input.UserInputType~=Enum.UserInputType.MouseButton1 and input.UserInputType~=Enum.UserInputType.Touch then return end
holding=true
holdStart=tick()
holdTriggered=false
end)
button.InputEnded:Connect(function(input)
if input.UserInputType~=Enum.UserInputType.MouseButton1 and input.UserInputType~=Enum.UserInputType.Touch then return end
holding=false
end)
RunService.RenderStepped:Connect(function()
if holding and not holdTriggered then
if tick()-holdStart>=HOLD_TIME then
holdTriggered=true
locked=not locked
getgenv().GUI_LOCKS[name]=locked
end
end
end)
return function()
return locked
end
end
local function drag(button,isLocked,name)
local dragging=false
local dragInput
local dragStart
local startPos
if getgenv().GUI_POSITIONS[name] then
button.Position=getgenv().GUI_POSITIONS[name]
end
button.InputBegan:Connect(function(input)
if isLocked and isLocked() then return end
if input.UserInputType==Enum.UserInputType.MouseButton1 or input.UserInputType==Enum.UserInputType.Touch then
dragging=true
dragInput=input
dragStart=input.Position
startPos=button.Position
end
end)
button.InputChanged:Connect(function(input)
if input==dragInput and dragging then
local delta=input.Position-dragStart
button.Position=UDim2.new(
startPos.X.Scale,
startPos.X.Offset+delta.X,
startPos.Y.Scale,
startPos.Y.Offset+delta.Y
)
getgenv().GUI_POSITIONS[name]=button.Position
end
end)
UserInputService.InputEnded:Connect(function(input)
if input==dragInput then
dragging=false
dragInput=nil
end
end)
end
local minimapLocked=holdSystem(MinimapFrame,"minimap")
drag(MinimapFrame,minimapLocked,"minimap")
local clonedParts={}
local allowed={Part=true,MeshPart=true,UnionOperation=true}
local function addPart(obj)
if clonedParts[obj] then return end
if Character and obj:IsDescendantOf(Character) then return end
if not allowed[obj.ClassName] then return end
if obj.Size.Magnitude<1 then return end
local clone=obj:Clone()
clone.Anchored=true
clone.CanCollide=false
clone.Parent=WorldModel
clonedParts[obj]=clone
end
local function removePart(obj)
local clone=clonedParts[obj]
if clone then
clone:Destroy()
clonedParts[obj]=nil
end
end
task.spawn(function()
local count=0
for _,obj in ipairs(Workspace:GetDescendants()) do
addPart(obj)
count+=1
if count%60==0 then
RunService.Heartbeat:Wait()
end
end
end)
Workspace.DescendantAdded:Connect(addPart)
Workspace.DescendantRemoving:Connect(removePart)
RunService.RenderStepped:Connect(function()
if HumanoidRootPart then
Camera.CFrame=CFrame.new(
HumanoidRootPart.Position+Vector3.new(0,150,0),
HumanoidRootPart.Position
)
Arrow.Rotation=-HumanoidRootPart.Orientation.Y-90
end
end)No comments yet for this script.



