Location Saver Open Source
Key Required

Location Saver Open Source

Just a baseplate.1w691w69 9.8K views 40 executesUpdated Jul 13, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Scriptโ€ข182 lines (5669 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer

local savedPosition = nil
local currentLanguage = "ar"

local translations = {
	ar = {
		save = "๐Ÿ“Œ ุงุญูุธ ู…ูˆู‚ุนูŠ",
		returnBtn = "๐Ÿ” ุงุฑุฌุน ู„ู„ู…ูˆู‚ุน",
		saved = "โœ… ุชู… ุงู„ุญูุธ",
		notSaved = "โŒ ู„ู… ูŠุชู… ุงู„ุญูุธ",
	},
	en = {
		save = "๐Ÿ“Œ Save Position",
		returnBtn = "๐Ÿ” Return to Saved",
		saved = "โœ… Saved!",
		notSaved = "โŒ Not saved!",
	}
}

local screenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
screenGui.Name = "TeleportGui"
screenGui.ResetOnSpawn = false

local mainFrame = Instance.new("Frame", screenGui)
mainFrame.Size = UDim2.new(0, 300, 0, 250)
mainFrame.Position = UDim2.new(0.5, -150, 0.5, -125)
mainFrame.BackgroundColor3 = Color3.new(0, 0, 0)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true

local closeButton = Instance.new("TextButton", mainFrame)
closeButton.Text = "โŒ"
closeButton.Size = UDim2.new(0, 40, 0, 40)
closeButton.Position = UDim2.new(1, -45, 0, 5)
closeButton.BackgroundColor3 = Color3.new(0, 0, 0)
closeButton.TextColor3 = Color3.fromRGB(200, 50, 50)
closeButton.Font = Enum.Font.SourceSansBold
closeButton.TextSize = 24

local saveButton = Instance.new("TextButton", mainFrame)
saveButton.Size = UDim2.new(1, -40, 0, 40)
saveButton.Position = UDim2.new(0, 20, 0, 60)
saveButton.BackgroundColor3 = Color3.fromRGB(40, 120, 255)
saveButton.TextColor3 = Color3.new(1,1,1)
saveButton.Font = Enum.Font.SourceSans
saveButton.TextSize = 20

local returnButton = Instance.new("TextButton", mainFrame)
returnButton.Size = UDim2.new(1, -40, 0, 40)
returnButton.Position = UDim2.new(0, 20, 0, 110)
returnButton.BackgroundColor3 = Color3.fromRGB(20, 180, 100)
returnButton.TextColor3 = Color3.new(1,1,1)
returnButton.Font = Enum.Font.SourceSans
returnButton.TextSize = 20

local langButton = Instance.new("TextButton", mainFrame)
langButton.Size = UDim2.new(1, -40, 0, 35)
langButton.Position = UDim2.new(0, 20, 0, 160)
langButton.BackgroundColor3 = Color3.fromRGB(180, 180, 180)
langButton.TextColor3 = Color3.new(0, 0, 0)
langButton.Font = Enum.Font.SourceSans
langButton.TextSize = 18

local cleanToggleButton = Instance.new("TextButton", mainFrame)
cleanToggleButton.Size = UDim2.new(0, 80, 0, 40)
cleanToggleButton.Position = UDim2.new(1, -135, 0, 5)
cleanToggleButton.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
cleanToggleButton.TextColor3 = Color3.new(1,1,1)
cleanToggleButton.Font = Enum.Font.SourceSansBold
cleanToggleButton.TextSize = 18
cleanToggleButton.Text = "-"

local gradientTextFrame = Instance.new("Frame", mainFrame)
gradientTextFrame.Size = UDim2.new(1, -130, 0, 40)
gradientTextFrame.Position = UDim2.new(0, 10, 0, 5)
gradientTextFrame.BackgroundTransparency = 1
gradientTextFrame.ClipsDescendants = true

local title = Instance.new("TextLabel", gradientTextFrame)
title.Size = UDim2.new(1, 0, 1, 0)
title.Position = UDim2.new(0, 0, 0, 0)
title.Text = "Discord:1w69"
title.BackgroundTransparency = 1
title.Font = Enum.Font.SourceSansBold
title.TextSize = 22
title.TextColor3 = Color3.new(1,1,1)
title.TextXAlignment = Enum.TextXAlignment.Left

local gradient = Instance.new("UIGradient", title)
gradient.Rotation = 0
gradient.Color = ColorSequence.new({
	ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255,0,0)),
	ColorSequenceKeypoint.new(0.20, Color3.fromRGB(255,127,0)),
	ColorSequenceKeypoint.new(0.40, Color3.fromRGB(255,255,0)),
	ColorSequenceKeypoint.new(0.60, Color3.fromRGB(0,255,0)),
	ColorSequenceKeypoint.new(0.80, Color3.fromRGB(0,0,255)),
	ColorSequenceKeypoint.new(1.00, Color3.fromRGB(139,0,255)),
})

task.spawn(function()
	while title and title.Parent do
		for i = 0, 1, 0.005 do
			gradient.Offset = Vector2.new(i, 0)
			wait(0.02)
		end
	end
end)

local buttonsToToggle = {saveButton, returnButton, langButton}

local isClean = false
local fullSize = UDim2.new(0, 300, 0, 250)
local minimizedSize = UDim2.new(0, 300, 0, 50)

local function fadeButtons(toVisible)
	for _, btn in pairs(buttonsToToggle) do
		TweenService:Create(btn, TweenInfo.new(0.5), {
			BackgroundTransparency = toVisible and 0 or 1,
			TextTransparency = toVisible and 0 or 1,
		}):Play()
	end
end

cleanToggleButton.MouseButton1Click:Connect(function()
	if not isClean then
		fadeButtons(false)
		local tween = TweenService:Create(mainFrame, TweenInfo.new(0.5), {Size = minimizedSize})
		tween:Play()
		tween.Completed:Wait()
		isClean = true
	else
		local tween = TweenService:Create(mainFrame, TweenInfo.new(0.5), {Size = fullSize})
		tween:Play()
		fadeButtons(true)
		isClean = false
	end
end)

local function updateText()
	local t = translations[currentLanguage]
	saveButton.Text = t.save
	returnButton.Text = t.returnBtn
	langButton.Text = currentLanguage == "ar" and "๐ŸŒ English" or "๐ŸŒ ุนุฑุจูŠ"
end

updateText()

saveButton.MouseButton1Click:Connect(function()
	local char = player.Character
	if char and char:FindFirstChild("HumanoidRootPart") then
		savedPosition = char.HumanoidRootPart.Position
		saveButton.Text = translations[currentLanguage].saved
		task.wait(1)
		updateText()
	end
end)

returnButton.MouseButton1Click:Connect(function()
	local char = player.Character
	if char and char:FindFirstChild("HumanoidRootPart") then
		if savedPosition then
			char.HumanoidRootPart.CFrame = CFrame.new(savedPosition)
		else
			returnButton.Text = translations[currentLanguage].notSaved
			task.wait(1)
			updateText()
		end
	end
end)

langButton.MouseButton1Click:Connect(function()
	currentLanguage = (currentLanguage == "ar") and "en" or "ar"
	updateText()
end)

closeButton.MouseButton1Click:Connect(function()
	mainFrame.Visible = false
end)

Features & Information

A simple script that allows you to save your position in the game and return to it with one click. ๐ŸŒIt supports both Arabic and English languages, which can be toggled ๐Ÿ” License: This script is open source. You are free to modify, improve, or use it in any project without restrictions.

Community Comments (1)

zxcvzxcvJul 13, 2025(edited)

thx good sir

More Scripts for Just a baseplate.