ZaZa Teleportation
Key RequiredUniversal

ZaZa Teleportation

Universal ScriptUrJustHighUrJustHigh 372 views 188 executesUpdated Dec 31, 2025
Unrated
00
Lua Script•346 lines (10829 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer

local teleportActive = false
local selectedPlayers = {}

-- Create ScreenGui
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ZaZaWeedTeleportGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = game:GetService("CoreGui")

-- Toggle Icon (weed leaf icon)
local ToggleIcon = Instance.new("ImageButton")
ToggleIcon.Name = "ToggleIcon"
ToggleIcon.Size = UDim2.new(0, 50, 0, 50)
ToggleIcon.Position = UDim2.new(1, -60, 0.5, -25)
ToggleIcon.AnchorPoint = Vector2.new(0, 0)
ToggleIcon.BackgroundColor3 = Color3.fromRGB(20, 60, 20)
ToggleIcon.BorderSizePixel = 0
ToggleIcon.AutoButtonColor = true
-- Cannabis leaf icon asset (replace if needed)
ToggleIcon.Image = "rbxassetid://6031281391"
ToggleIcon.ImageColor3 = Color3.fromRGB(120, 200, 120)
ToggleIcon.Parent = ScreenGui

-- Tooltip for Toggle Icon
local Tooltip = Instance.new("TextLabel")
Tooltip.Name = "Tooltip"
Tooltip.Size = UDim2.new(0, 140, 0, 25)
Tooltip.Position = UDim2.new(0, -150, 0.5, -12)
Tooltip.BackgroundColor3 = Color3.fromRGB(15, 45, 15)
Tooltip.BorderSizePixel = 0
Tooltip.TextColor3 = Color3.fromRGB(180, 255, 180)
Tooltip.Font = Enum.Font.GothamBlack
Tooltip.TextSize = 14
Tooltip.Text = "Toggle Teleport GUI"
Tooltip.Visible = false
Tooltip.Parent = ToggleIcon

ToggleIcon.MouseEnter:Connect(function()
	Tooltip.Visible = true
end)
ToggleIcon.MouseLeave:Connect(function()
	Tooltip.Visible = false
end)

-- Main GUI Frame (initially hidden)
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 320, 0, 420)
MainFrame.Position = UDim2.new(0.5, -160, 0.5, -210)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 50, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Visible = false
MainFrame.Parent = ScreenGui
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.ClipsDescendants = true
MainFrame.BackgroundTransparency = 0

-- Rounded corners for main frame
local UICornerMain = Instance.new("UICorner")
UICornerMain.CornerRadius = UDim.new(0, 15)
UICornerMain.Parent = MainFrame

-- RGB LED Border Frame with green hues
local BorderFrame = Instance.new("Frame")
BorderFrame.Name = "BorderFrame"
BorderFrame.Size = UDim2.new(1, 8, 1, 8)
BorderFrame.Position = UDim2.new(0, -4, 0, -4)
BorderFrame.BackgroundColor3 = Color3.fromRGB(0, 150, 0)
BorderFrame.BorderSizePixel = 0
BorderFrame.ZIndex = MainFrame.ZIndex - 1
BorderFrame.Parent = MainFrame
local UICornerBorder = Instance.new("UICorner")
UICornerBorder.CornerRadius = UDim.new(0, 18)
UICornerBorder.Parent = BorderFrame

local function createBorderSegment(name, size, position)
	local segment = Instance.new("Frame")
	segment.Name = name
	segment.Size = size
	segment.Position = position
	segment.BackgroundColor3 = Color3.fromRGB(0, 150, 0)
	segment.BorderSizePixel = 0
	segment.Parent = BorderFrame
	return segment
end

local TopBorder = createBorderSegment("TopBorder", UDim2.new(1, 0, 0, 5), UDim2.new(0, 0, 0, 0))
local BottomBorder = createBorderSegment("BottomBorder", UDim2.new(1, 0, 0, 5), UDim2.new(0, 0, 1, -5))
local LeftBorder = createBorderSegment("LeftBorder", UDim2.new(0, 5, 1, 0), UDim2.new(0, 0, 0, 0))
local RightBorder = createBorderSegment("RightBorder", UDim2.new(0, 5, 1, 0), UDim2.new(1, -5, 0, 0))

local function HSVtoRGB(h, s, v)
	local c = v * s
	local x = c * (1 - math.abs((h * 6) % 2 - 1))
	local m = v - c

	local r, g, b = 0, 0, 0

	if h < 1/6 then
		r, g, b = c, x, 0
	elseif h < 2/6 then
		r, g, b = x, c, 0
	elseif h < 3/6 then
		r, g, b = 0, c, x
	elseif h < 4/6 then
		r, g, b = 0, x, c
	elseif h < 5/6 then
		r, g, b = x, 0, c
	else
		r, g, b = c, 0, x
	end

	return Color3.new(r + m, g + m, b + m)
end

local hue = 0
RunService.Heartbeat:Connect(function(dt)
	hue = (hue + dt * 0.15) % 1

	-- Greenish hues cycling softly
	local colors = {
		HSVtoRGB((hue * 0.5) % 1, 0.8, 0.7),
		HSVtoRGB(((hue * 0.5) + 0.25) % 1, 0.8, 0.7),
		HSVtoRGB(((hue * 0.5) + 0.5) % 1, 0.8, 0.7),
		HSVtoRGB(((hue * 0.5) + 0.75) % 1, 0.8, 0.7),
	}

	TopBorder.BackgroundColor3 = colors[1]
	RightBorder.BackgroundColor3 = colors[2]
	BottomBorder.BackgroundColor3 = colors[3]
	LeftBorder.BackgroundColor3 = colors[4]
end)

-- Title Bar
local TitleBar = Instance.new("Frame")
TitleBar.Name = "TitleBar"
TitleBar.Size = UDim2.new(1, 0, 0, 40)
TitleBar.BackgroundColor3 = Color3.fromRGB(15, 45, 15)
TitleBar.Parent = MainFrame
local UICornerTitle = Instance.new("UICorner")
UICornerTitle.CornerRadius = UDim.new(0, 15)
UICornerTitle.Parent = TitleBar

local TitleLabel = Instance.new("TextLabel")
TitleLabel.Name = "TitleLabel"
TitleLabel.Size = UDim2.new(1, -50, 1, 0)
TitleLabel.Position = UDim2.new(0, 15, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "ZaZa Teleportation"
TitleLabel.TextColor3 = Color3.fromRGB(180, 255, 180)
TitleLabel.Font = Enum.Font.GothamBlack
TitleLabel.TextSize = 24
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.TextYAlignment = Enum.TextYAlignment.Center
TitleLabel.Parent = TitleBar

local CloseButton = Instance.new("TextButton")
CloseButton.Name = "CloseButton"
CloseButton.Size = UDim2.new(0, 40, 0, 40)
CloseButton.Position = UDim2.new(1, -45, 0, 0)
CloseButton.BackgroundColor3 = Color3.fromRGB(80, 20, 20)
CloseButton.Text = "✕"
CloseButton.TextColor3 = Color3.fromRGB(200, 100, 100)
CloseButton.Font = Enum.Font.GothamBlack
CloseButton.TextSize = 28
CloseButton.Parent = TitleBar
local UICornerClose = Instance.new("UICorner")
UICornerClose.CornerRadius = UDim.new(0, 12)
UICornerClose.Parent = CloseButton

CloseButton.MouseButton1Click:Connect(function()
	MainFrame.Visible = false
end)

local PlayerListFrame = Instance.new("ScrollingFrame")
PlayerListFrame.Name = "PlayerListFrame"
PlayerListFrame.Size = UDim2.new(1, -20, 1, -130)
PlayerListFrame.Position = UDim2.new(0, 10, 0, 50)
PlayerListFrame.BackgroundColor3 = Color3.fromRGB(20, 40, 20)
PlayerListFrame.BorderSizePixel = 0
PlayerListFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
PlayerListFrame.ScrollBarThickness = 8
PlayerListFrame.Parent = MainFrame

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Padding = UDim.new(0, 6)
UIListLayout.Parent = PlayerListFrame

-- Buttons Frame
local ButtonsFrame = Instance.new("Frame")
ButtonsFrame.Name = "ButtonsFrame"
ButtonsFrame.Size = UDim2.new(1, -20, 0, 55)
ButtonsFrame.Position = UDim2.new(0, 10, 1, -70)
ButtonsFrame.BackgroundTransparency = 1
ButtonsFrame.Parent = MainFrame

local function createButton(text, position, parent)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(0, 95, 0, 40)
	btn.Position = position
	btn.BackgroundColor3 = Color3.fromRGB(50, 120, 50)
	btn.TextColor3 = Color3.fromRGB(220, 255, 220)
	btn.Font = Enum.Font.GothamBlack
	btn.TextSize = 18
	btn.Text = text
	btn.Parent = parent
	local corner = Instance.new("UICorner")
	corner.CornerRadius = UDim.new(0, 10)
	corner.Parent = btn

	btn.MouseEnter:Connect(function()
		btn.BackgroundColor3 = Color3.fromRGB(90, 180, 90)
	end)
	btn.MouseLeave:Connect(function()
		btn.BackgroundColor3 = Color3.fromRGB(50, 120, 50)
	end)

	return btn
end

local SelectAllButton = createButton("Select All", UDim2.new(0, 0, 0, 0), ButtonsFrame)
local DeselectAllButton = createButton("Deselect All", UDim2.new(0, 105, 0, 0), ButtonsFrame)
local StartTeleportButton = createButton("Start Teleport", UDim2.new(0, 210, 0, 0), ButtonsFrame)
local StopTeleportButton = createButton("Stop Teleport", UDim2.new(0, 210, 0, 0), ButtonsFrame)
StopTeleportButton.Visible = false

local function refreshPlayerList()
	for _, child in pairs(PlayerListFrame:GetChildren()) do
		if child:IsA("TextButton") then
			child:Destroy()
		end
	end

	for _, player in pairs(Players:GetPlayers()) do
		if player ~= LocalPlayer then
			local btn = Instance.new("TextButton")
			btn.Size = UDim2.new(1, -10, 0, 32)
			btn.BackgroundColor3 = Color3.fromRGB(35, 80, 35)
			btn.TextColor3 = Color3.fromRGB(200, 255, 200)
			btn.Font = Enum.Font.GothamBlack
			btn.TextSize = 17
			btn.Text = player.Name
			btn.Parent = PlayerListFrame
			btn.AutoButtonColor = false
			local corner = Instance.new("UICorner")
			corner.CornerRadius = UDim.new(0, 8)
			corner.Parent = btn

			local function updateButton()
				if selectedPlayers[player] then
					btn.BackgroundColor3 = Color3.fromRGB(100, 180, 100)
				else
					btn.BackgroundColor3 = Color3.fromRGB(35, 80, 35)
				end
			end
			updateButton()

			btn.MouseButton1Click:Connect(function()
				if selectedPlayers[player] then
					selectedPlayers[player] = nil
				else
					selectedPlayers[player] = true
				end
				updateButton()
			end)
		end
	end

	RunService.Heartbeat:Wait()
	PlayerListFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 10)
end

SelectAllButton.MouseButton1Click:Connect(function()
	for _, player in pairs(Players:GetPlayers()) do
		if player ~= LocalPlayer then
			selectedPlayers[player] = true
		end
	end
	refreshPlayerList()
end)

DeselectAllButton.MouseButton1Click:Connect(function()
	selectedPlayers = {}
	refreshPlayerList()
end)

-- Teleport function: teleport local player near target player (slightly offset to avoid overlap)
local function teleportToPlayer(target)
	if not target.Character then return end
	local targetHRP = target.Character:FindFirstChild("HumanoidRootPart")
	local localCharacter = LocalPlayer.Character
	if not localCharacter then return end
	local localHRP = localCharacter:FindFirstChild("HumanoidRootPart")
	if not localHRP or not targetHRP then return end

	-- Calculate a position slightly behind the target to avoid collision
	local offsetDistance = 5
	local targetLookVector = targetHRP.CFrame.LookVector
	local teleportPosition = targetHRP.Position - targetLookVector * offsetDistance + Vector3.new(0, 3, 0)

	-- Teleport local player
	localHRP.CFrame = CFrame.new(teleportPosition)
end

local teleportConnection

StartTeleportButton.MouseButton1Click:Connect(function()
	if teleportActive then return end
	teleportActive = true
	StartTeleportButton.Visible = false
	StopTeleportButton.Visible = true

	teleportConnection = RunService.Heartbeat:Connect(function()
		for player in pairs(selectedPlayers) do
			if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
				teleportToPlayer(player)
			end
		end
	end)
end)

StopTeleportButton.MouseButton1Click:Connect(function()
	if not teleportActive then return end
	teleportActive = false
	StartTeleportButton.Visible = true
	StopTeleportButton.Visible = false

	if teleportConnection then
		teleportConnection:Disconnect()
		teleportConnection = nil
	end
end)

ToggleIcon.MouseButton1Click:Connect(function()
	MainFrame.Visible = not MainFrame.Visible
	if MainFrame.Visible then
		refreshPlayerList()
	end
end)

refreshPlayerList()

Features & Information

The Best Teleporting Script Made by me Ur able to Click Usernames To Teleport too I would suggest leave the teleport on so you can just click them ☺️
#Teleport#Free

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts