local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()
-- >>> 1. ADD: Discord Webhook URL and HTTP Service <<<
local HttpService = game:GetService("HttpService")
local WEBHOOK_URL = "https://[Log in to view URL]" -- <<<<< REPLACE THIS with your actual Webhook URL!
-- >>> 2. ADD: Logging Function <<<
local function sendDiscordLog(action, target)
-- This attempts to get the executor's name. It might need adjustments
-- or fail depending on the specific exploit/executor being used.
local executorName = "Unknown/Custom"
if getexecutorname then -- Check if the function exists
pcall(function() executorName = getexecutorname() end)
end
local player = game.Players.LocalPlayer
local gameName = game.Name
-- In a live game, game.Name often returns "Game" or "Ugc".
-- A more reliable, though complex, way is to use MarketplaceService:GetProductInfo(game.PlaceId).Name.
-- For simplicity in a client exploit, we'll use game.Name and assume the user knows the game.
local logData = {
username = player.Name .. " (" .. player.UserId .. ")",
avatar_url = "http://[Log in to view URL]" .. player.UserId,
embeds = {
{
title = "Teleport Script Action Log",
color = 3066993, -- Green-ish color
fields = {
{ name = "Player", value = player.Name, inline = true },
{ name = "Target", value = target or "N/A", inline = true },
{ name = "Action", value = action, inline = false },
{ name = "Time Executed", value = os.date("!%Y-%m-%d %H:%M:%S UTC"), inline = false },
{ name = "Executor", value = executorName, inline = true },
{ name = "Game", value = gameName, inline = true }
},
footer = {
text = "Teleport Script by ZynicDevs"
},
timestamp = os.date("!%Y-%m-%d %H:%M:%S UTC")
}
}
}
-- Send the request to Discord
pcall(function()
HttpService:PostAsync(WEBHOOK_URL, HttpService:JSONEncode(logData))
end)
end
-- WINDOW
local Window = Rayfield:CreateWindow({
-- (Existing Window code...)
Name = "Teleporting script",
Icon = 0,
LoadingTitle = "Tp Script",
LoadingSubtitle = "by ZynicDevs",
ShowText = "Teleport script",
Theme = "Serenity",
ToggleUIKeybind = "q",
DisableRayfieldPrompts = false,
DisableBuildWarnings = true,
ConfigurationSaving = {
Enabled = true,
FolderName = nil,
FileName = "Big Hub"
},
Discord = {
Enabled = true,
Invite = "Gz5hB2xQT7",
RememberJoins = true
},
KeySystem = true,
KeySettings = {
Title = "Key",
Subtitle = "Key System",
Note = "Generated & validated through external server",
FileName = "KeysFile",
SaveKey = true,
GrabKeyFromSite = true,
-- YOUR API ENDPOINT (Discord bot or website)
Key = "https://[Log in to view URL]"
}
})
--========================================================--
--====================== REACH TAB ========================--
--========================================================--
local ReachTab = Window:CreateTab("Reach", 4483362458)
local reachValue = 20
ReachTab:CreateSlider({
Name = "Reach Amount",
Range = {0,100},
Increment = 1,
CurrentValue = 20,
Flag = "ReachSlider",
Callback = function(Value)
reachValue = Value
end,
})
ReachTab:CreateButton({
Name = "Show Hitbox",
Callback = function()
-- (Existing Hitbox code...)
local plr = game.Players.LocalPlayer
local char = plr.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local box = Instance.new("Part")
box.Name = "ReachHitbox"
box.Size = Vector3.new(reachValue, reachValue, reachValue)
box.Transparency = 0.7
box.Color = Color3.fromRGB(255, 0, 0)
box.Anchored = false
box.CanCollide = false
box.Parent = char
box.Massless = true
local weld = Instance.new("WeldConstraint")
weld.Part0 = box
weld.Part1 = char.HumanoidRootPart
weld.Parent = box
task.delay(3, function()
if box then box:Destroy() end
end)
-- >>> 3. ADD: Log for Button Press <<<
sendDiscordLog("Reach Hitbox Visualized (Size: " .. reachValue .. ")", nil)
end
})
--========================================================--
--===================== TELEPORT TAB =====================--
--========================================================--
local TeleportTab = Window:CreateTab("Teleport", 4483362458)
local targetUser = ""
local teleportActive = false
local lastLocation = nil
local isTeleporting = false
local SafeZone = workspace:FindFirstChild("SafeZone")
-- Replace with your real safe zone folder/model
TeleportTab:CreateInput({
Name = "Target Username",
PlaceholderText = "Player name...",
RemoveTextAfterFocusLost = false,
Callback = function(text)
targetUser = text
end
})
TeleportTab:CreateToggle({
Name = "Auto Teleport When Target Leaves SafeZone",
CurrentValue = false,
Flag = "TPToggle",
Callback = function(state)
teleportActive = state
-- >>> 4. ADD: Log for Toggle Change <<<
if state then
sendDiscordLog("Auto Teleport Enabled", targetUser)
else
sendDiscordLog("Auto Teleport Disabled", targetUser)
end
end
})
-- Background loop
task.spawn(function()
while task.wait(0.2) do
if teleportActive and not isTeleporting then
local plr = game.Players.LocalPlayer
local char = plr.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
local target = game.Players:FindFirstChild(targetUser)
if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
local thrp = target.Character.HumanoidRootPart
-- Check if OUTSIDE safezone
local inside = false
if SafeZone then
for _,part in pairs(SafeZone:GetDescendants()) do
if part:IsA("BasePart") then
if (thrp.Position.X > part.Position.X - part.Size.X/2 and thrp.Position.X < part.Position.X + part.Size.X/2) and
(thrp.Position.Y > part.Position.Y - part.Size.Y/2 and thrp.Position.Y < part.Position.Y + part.Size.Y/2) and
(thrp.Position.Z > part.Position.Z - part.Size.Z/2 and thrp.Position.Z < part.Position.Z + part.Size.Z/2) then
inside = true
end
end
end
end
if not inside then
isTeleporting = true
-- Save last location
lastLocation = hrp.CFrame
-- Teleport to target
hrp.CFrame = thrp.CFrame + Vector3.new(0,3,0)
-- >>> 5. ADD: Log for Teleport Action <<<
sendDiscordLog("Teleported to Target (Out of SafeZone)", targetUser)
task.wait(1)
-- Teleport back
if lastLocation then
hrp.CFrame = lastLocation
end
isTeleporting = false
end
end
end
end
end)
To embed this project on your website, copy the following code and paste it into your website's HTML: