goto Base Script
Key Required

goto Base Script

Steal a Meme🤑maviseek500maviseek500 4.5K views 70 executesUpdated Sep 7, 2025
2.5/ 5(2 votes)
1150% Positive
Lua Script•105 lines (3787 chars)
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = game.Players.LocalPlayer

local moveSpeed = 10 -- studs per second (constant speed)
local yOffset = 15 -- studs to move up
local zigzagAmplitude = 1 -- studs for zigzag offset
local zigzagFrequency = 1 -- number of zigzags per waypoint
local verticalMoveSpeed = 10 -- studs per second for vertical ascent/descent

local isMoving = false
local moveCoroutine = nil

local function smoothVerticalMove(character, startY, targetY, speed)
	local currentCFrame = character:GetPivot()
	local currentPos = currentCFrame.Position
	local distance = math.abs(targetY - startY)
	local travelTime = distance / speed
	local startTime = tick()
	while tick() - startTime < travelTime do
		if not isMoving then
			return false
		end
		local alpha = (tick() - startTime) / travelTime
		local newY = startY + (targetY - startY) * alpha
		local newPos = Vector3.new(currentPos.X, newY, currentPos.Z)
		character:PivotTo(CFrame.new(newPos))
		task.wait(0.03)
	end
	character:PivotTo(CFrame.new(currentPos.X, targetY, currentPos.Z))
	return true
end

local function smoothDirectMove(character, startPos, endPos, speed)
	local distance = (endPos - startPos).Magnitude
	local travelTime = distance / speed
	local startTime = tick()
	while tick() - startTime < travelTime do
		if not isMoving then
			return false
		end
		local alpha = (tick() - startTime) / travelTime
		local interpPos = startPos:Lerp(endPos, alpha)
		character:PivotTo(CFrame.new(interpPos))
		task.wait(0.03)
	end
	character:PivotTo(CFrame.new(endPos))
	isMoving = false
	return true
end

local function startDirectMove()
	local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
	local plotsFolder = game.Workspace:FindFirstChild("GameAssets")
	if not plotsFolder then return end
	local plots = plotsFolder:FindFirstChild("Plots")
	if not plots then return end
	local plotChildren = plots:GetChildren()

	for i = 1, #plotChildren do
		local v = plotChildren[i]
		if v:IsA("Folder") and v:FindFirstChild("Avatar") and v.Avatar:FindFirstChild("Info") and v.Avatar.Info:FindFirstChild("ImageLabel") and v.Avatar.Info.ImageLabel.Image:find(LocalPlayer.UserId) then
			local lockObj = v:FindFirstChild("Lock")
			if not lockObj or not lockObj:FindFirstChild("Color") then continue end
			local targetPart = lockObj:FindFirstChild("Color")
			local targetPos = targetPart.Position
			local currentCFrame = character:GetPivot()
			local startPos = currentCFrame.Position

			print("TargetPart:", targetPart, "CanCollide:", targetPart.CanCollide)

			-- Step 1: Slowly ascend (only once, from ground to elevated Y)
			local ascended = smoothVerticalMove(character, startPos.Y, startPos.Y + yOffset, verticalMoveSpeed)
			if not ascended then return end

			-- Step 2: Direct movement at elevated Y
			local elevatedStartPos = Vector3.new(startPos.X, startPos.Y + yOffset, startPos.Z)
			local elevatedTargetPos = Vector3.new(targetPos.X, targetPos.Y + yOffset, targetPos.Z)

			print("Moving directly to target position at elevated Y.")
			local directMoved = smoothDirectMove(character, elevatedStartPos, elevatedTargetPos, moveSpeed)
			if not directMoved then return end

			-- Step 3: Slowly descend (only once, from elevated Y to ground Y)
			local finalPos = character:GetPivot().Position
			smoothVerticalMove(character, finalPos.Y, finalPos.Y - yOffset, verticalMoveSpeed)
		end
	end
end

local function toggleMove()
	if isMoving then
		isMoving = false
	else
		isMoving = true
		moveCoroutine = coroutine.create(startDirectMove)
		coroutine.resume(moveCoroutine)
	end
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if gameProcessed then return end
	if input.KeyCode == Enum.KeyCode.Q then
		toggleMove()
	end
end)

Features & Information

When Press Q go to the Base! This only PC.

Community Comments (2)

Mr_opensourcedMr_opensourcedSep 7, 2025

for mobile if they use keyboard script

Replying to @Mr_opensourced
maviseek500maviseek500Sep 11, 2025

@RealEric yeah if you have a keyboard you can use it.

More Scripts for Steal a Meme🤑