Ultimate Multihack | Aim, ESP, Teleport & FPS Boost
[UPDATE 1.4] Eastern ReforgedDescription
🔥 Created by Wex 🔥 A powerful and fully-featured GUI script for Eastern Reforged designed to enhance your gameplay and performance! ⚡ FEATURES ⚡ • Visuals: Player ESP (Name/HP/Distance), Team filter, Remove trees & grass, Remove corpses • Aim: Silent Aim (LMB), Customizable FOV radius, Visibility check, Bullet drop compensation, Target lead • Teleport: Instant & Smooth modes, Fast hops, Teleport to crosshair (T), Save/Load custom positions, Teleport to players • Map Points: Quick teleports to Alpha, Bravo, Charlie, BLUFOR & REDFOR Spawns • Performance: FPS Boost, Ultra FPS (Plain materials & no textures for maximum smoothness)
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--[[rscripts:analytics:start]]
-- Script analytics (enabled by the creator on rscripts.net).
-- Runs in its own thread and cannot affect the script below.
task.spawn(function()
pcall(function()
loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6ad4cb4c08f6937e2a87fc1d"))()
end)
end)
--[[rscripts:analytics:end]]
-- Eastern Reforged hub (light, no GitHub): ESP + Silent aim + Teleport + FPS boost + no corpses / trees
-- RightShift = menu | T = TP to crosshair | B = back | F3 = save position | F6 = cancel TP | End = unload
local P, RS, UIS, WS, CG, LT, HS = game:GetService("Players"), game:GetService("RunService"), game:GetService("UserInputService"), game:GetService("Workspace"), game:GetService("CoreGui"), game:GetService("Lighting"), game:GetService("HttpService")
local LP, Cam = P.LocalPlayer, WS.CurrentCamera
for _, k in ipairs({ "__ER_UNLOAD", "__TOWN_HUB_UNLOAD" }) do
if shared[k] then pcall(shared[k]) end
end
local C = { ESP = true, Names = true, Team = true, SilentAim = false, AimPart = "Head", FOV = 180, WallCheck = true, DropComp = true, Lead = true,
TPMode = "Instant", HopSize = 150, TPSpeed = 45, TPLift = 25, GroundCheck = true, CrosshairTP = true, Delete = false,
FPS = false, NoCorpses = true, NoTrees = true }
local alive, conns = true, {}
local note
local function tr(c) conns[#conns + 1] = c return c end
local function new(cl, pr, par)
local i = Instance.new(cl)
for k, v in pairs(pr) do i[k] = v end
i.Parent = par
return i
end
local function foe(p)
if p == LP or (C.Team and p.Team and p.Team == LP.Team) then return end
local c = p.Character
local h = c and c:FindFirstChildOfClass("Humanoid")
local r = c and c:FindFirstChild("HumanoidRootPart")
if h and r and h.Health > 0 then return c, h, r end
end
-- ESP: heavy work 5x/sec, per-frame only label positions
local ent, seen, foes = {}, {}, {}
local function drop(i)
local e = ent[i]
if e then e.h:Destroy() e.t:Remove() ent[i] = nil end
end
local function scan()
table.clear(seen)
table.clear(foes)
for _, p in ipairs(P:GetPlayers()) do
local c, h, r = foe(p)
if c then
foes[#foes + 1] = { c = c, r = r }
if C.ESP then
local e = ent[c]
if not e then
local t = Drawing.new("Text")
t.Size, t.Center, t.Outline = 14, true, true
e = { t = t, h = new("Highlight", { DepthMode = Enum.HighlightDepthMode.AlwaysOnTop, FillTransparency = 0.6, OutlineTransparency = 0, Adornee = c }, CG) }
ent[c] = e
end
seen[c] = true
local col = p.Team and p.TeamColor.Color or Color3.fromRGB(255, 60, 60)
e.h.FillColor, e.h.OutlineColor, e.h.Enabled, e.t.Color = col, Color3.new(1, 1, 1), true, col
e.t.Text = ("%s [%d] %dm"):format(p.Name, math.floor(h.Health), math.floor((Cam.CFrame.Position - r.Position).Magnitude))
end
end
end
for c, e in pairs(ent) do
if not seen[c] then
e.h.Enabled, e.t.Visible = false, false
if not c.Parent then drop(c) end
end
end
end
local function labels()
for _, f in ipairs(foes) do
local e = ent[f.c]
if e then
local sp, on = Cam:WorldToViewportPoint(f.r.Position + Vector3.new(0, 3.2, 0))
e.t.Visible = C.Names and on
if on then e.t.Position = Vector2.new(sp.X, sp.Y) end
end
end
end
-- Silent aim (the __index hook is installed only the first time you turn it on)
local target, tHrp, bal, orig
local function pick()
target, tHrp = nil, nil
local ctr, best = Cam.ViewportSize / 2, C.FOV
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Exclude
for _, f in ipairs(foes) do
local part = f.c:FindFirstChild(C.AimPart) or f.r
if part:IsA("BasePart") then
local v, on = Cam:WorldToViewportPoint(part.Position)
if on then
local d = (Vector2.new(v.X, v.Y) - ctr).Magnitude
if d < best then
local ok = true
if C.WallCheck then
rp.FilterDescendantsInstances = { LP.Character, f.c, Cam }
local o = Cam.CFrame.Position
ok = WS:Raycast(o, part.Position - o, rp) == nil
end
if ok then best, target, tHrp = d, part, f.r end
end
end
end
end
end
local function refreshBal()
bal = nil
local c = LP.Character
local t = c and c:FindFirstChildOfClass("Tool")
local m = t and t:FindFirstChild("ACS_Modules")
local st = m and m:FindFirstChild("Settings")
if st and st:IsA("ModuleScript") then
local ok, s = pcall(require, st)
if ok and type(s) == "table" and type(s.BSpeed) == "number" and s.BSpeed > 0 then bal = { s.BSpeed, 196.2 * (s.BDrop or 0) } end
end
end
local function hook()
if orig then return end
orig = hookmetamethod(game, "__index", newcclosure(function(self, key)
if key == "CFrame" and alive and C.SilentAim and target and not checkcaller() then
if typeof(self) == "Instance" and orig(self, "Name") == "SmokePart" and UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then
local cs = getcallingscript()
if cs and cs.Name == "Client" then
local o = orig(self, "CFrame").Position
local tp = target.Position
if bal then
local t = (tp - o).Magnitude / bal[1]
if C.Lead and tHrp then tp += tHrp.AssemblyLinearVelocity * t end
if C.DropComp then tp += Vector3.new(0, 0.5 * bal[2] * t * t, 0) end
end
return CFrame.lookAt(o, tp)
end
end
end
return orig(self, key)
end))
end
-- Corpses: removed locally the moment they spawn
local rcon
local function corpses(on)
if rcon then rcon:Disconnect() rcon = nil end
if not on then return end
local core = WS:FindFirstChild("Core")
local rg = core and core:FindFirstChild("Ragdolls")
if not rg then return end
local function purge(m) task.defer(function() pcall(m.Destroy, m) end) end
for _, m in ipairs(rg:GetChildren()) do purge(m) end
rcon = rg.ChildAdded:Connect(purge)
end
-- Trees + grass: Workspace.Game.trees / .grass are detached locally (restored when turned off), terrain grass decoration off
local fh, decV = {}, nil
local function foliage(on)
local g = WS:FindFirstChild("Game")
if on then
for _, n in ipairs({ "trees", "grass" }) do
local f = g and g:FindFirstChild(n)
if f then fh[#fh + 1] = { f, g } f.Parent = nil end
end
local ok, v = pcall(gethiddenproperty, WS.Terrain, "Decoration")
if ok then decV = v end
pcall(sethiddenproperty, WS.Terrain, "Decoration", false)
else
for i = #fh, 1, -1 do
local e = fh[i]
if e[2].Parent then e[1].Parent = e[2] end
fh[i] = nil
end
if decV ~= nil then pcall(sethiddenproperty, WS.Terrain, "Decoration", decV) end
end
end
-- FPS boost (reversible): shadows, effects, particles, water, texture quality, mesh detail
local fs, fc, fv, fcon, fxn = {}, {}, nil, nil, 0
local FX = { ParticleEmitter = 1, Smoke = 1, Fire = 1, Sparkles = 1, BloomEffect = 1, BlurEffect = 1, SunRaysEffect = 1, ColorCorrectionEffect = 1, DepthOfFieldEffect = 1 }
local function fxOff(d)
if FX[d.ClassName] and fs[d] == nil then fs[d] = d.Enabled d.Enabled = false fxn += 1 end
end
local function fps(on)
if on then
local T = WS.Terrain
fv = { sh = LT.GlobalShadows, ww = T.WaterWaveSize, wr = T.WaterReflectance, es = LT.EnvironmentSpecularScale }
LT.GlobalShadows, T.WaterWaveSize, T.WaterReflectance, LT.EnvironmentSpecularScale = false, 0, 0, 0
pcall(function()
local r = settings().Rendering
fv.q, fv.m = r.QualityLevel, r.MeshPartDetailLevel
r.QualityLevel, r.MeshPartDetailLevel = Enum.QualityLevel.Level01, Enum.MeshPartDetailLevel.Level04
end)
fxn = 0
fcon = WS.DescendantAdded:Connect(fxOff)
task.spawn(function()
local n, c = 0, 0
for _, root in ipairs({ WS, LT, Cam }) do
for _, d in ipairs(root:GetDescendants()) do
if not C.FPS then return end
fxOff(d)
if d:IsA("BasePart") and d.CastShadow then fc[d] = true d.CastShadow = false c += 1 end
n += 1
if n % 1500 == 0 then task.wait() end
end
end
note(("FPS boost on: %d part shadows, %d effects off"):format(c, fxn))
end)
else
if fcon then fcon:Disconnect() fcon = nil end
for d, v in pairs(fs) do
if d.Parent then d.Enabled = v end
fs[d] = nil
end
for d in pairs(fc) do
if d.Parent then d.CastShadow = true end
fc[d] = nil
end
if fv then
LT.GlobalShadows, WS.Terrain.WaterWaveSize, WS.Terrain.WaterReflectance, LT.EnvironmentSpecularScale = fv.sh, fv.ww, fv.wr, fv.es
pcall(function()
local r = settings().Rendering
if fv.q then r.QualityLevel = fv.q end
if fv.m then r.MeshPartDetailLevel = fv.m end
end)
fv = nil
end
end
end
-- Teleport
local tpTok, prev, tpErr = 0, nil, ""
local function cancelTP() tpTok += 1 end
local function settle(hrp)
task.spawn(function()
for _ = 1, 10 do
RS.Heartbeat:Wait()
if not hrp.Parent then return end
hrp.AssemblyLinearVelocity, hrp.AssemblyAngularVelocity = Vector3.zero, Vector3.zero
end
end)
end
local function tpTo(dest)
local ch = LP.Character
local hrp0 = ch and ch:FindFirstChild("HumanoidRootPart")
if not hrp0 then tpErr = "no character" return false end
if dest.Y < -50 then tpErr = "target below the map" return false end
if C.GroundCheck then
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Exclude
rp.FilterDescendantsInstances = { ch }
if not WS:Raycast(dest + Vector3.new(0, 3, 0), Vector3.new(0, -250, 0), rp) then tpErr = "no ground below target" return false end
end
cancelTP()
prev = hrp0.Position
if C.TPMode == "Instant" then
hrp0.CFrame = CFrame.new(dest) * hrp0.CFrame.Rotation
hrp0.AssemblyLinearVelocity = Vector3.zero
settle(hrp0)
return true
end
local tok, smooth, wi = tpTok, C.TPMode == "Smooth", 1
local wps = { dest }
if smooth then
local s = hrp0.Position
local y = math.max(s.Y, dest.Y) + C.TPLift
wps = { Vector3.new(s.X, y, s.Z), Vector3.new(dest.X, y, dest.Z), dest }
end
local cn
cn = RS.Heartbeat:Connect(function(dt)
local c = LP.Character
local hrp = c and c:FindFirstChild("HumanoidRootPart")
local hum = c and c:FindFirstChildOfClass("Humanoid")
if tok ~= tpTok or not alive or not hrp or not hum or hum.Health <= 0 then cn:Disconnect() return end
local delta = wps[wi] - hrp.Position
local dist = delta.Magnitude
if dist < 1 then
wi += 1
if wi > #wps then cn:Disconnect() settle(hrp) end
return
end
hrp.CFrame += delta.Unit * (smooth and math.min(dist, C.TPSpeed * dt) or math.min(dist, C.HopSize))
hrp.AssemblyLinearVelocity, hrp.AssemblyAngularVelocity = Vector3.zero, Vector3.zero
end)
tr(cn)
return true
end
-- Menu
local BG, PN, AC, TX, OFFC, MUT = Color3.fromRGB(22, 22, 28), Color3.fromRGB(34, 34, 44), Color3.fromRGB(96, 140, 255), Color3.fromRGB(235, 235, 245), Color3.fromRGB(70, 70, 88), Color3.fromRGB(150, 150, 170)
local root = CG
pcall(function() if gethui then root = gethui() end end)
local gui = new("ScreenGui", { Name = "ERHub", ResetOnSpawn = false, DisplayOrder = 999 }, root)
local main = new("Frame", { Size = UDim2.fromOffset(470, 400), Position = UDim2.new(0.5, -235, 0.5, -200), BackgroundColor3 = BG, BorderSizePixel = 0 }, gui)
local function corner(p, r) new("UICorner", { CornerRadius = UDim.new(0, r or 8) }, p) end
corner(main, 10)
local function isPtr(i, mv)
local t = i.UserInputType
return t == Enum.UserInputType.MouseButton1 or t == Enum.UserInputType.Touch or (mv and t == Enum.UserInputType.MouseMovement)
end
local function lbl(par, txt, sz, pos, col, al)
return new("TextLabel", { Size = sz, Position = pos, BackgroundTransparency = 1, Text = txt, TextColor3 = col or TX,
Font = Enum.Font.Gotham, TextSize = 13, TextXAlignment = al or Enum.TextXAlignment.Left }, par)
end
note = function(t)
local l = new("TextLabel", { Size = UDim2.fromOffset(340, 28), Position = UDim2.new(0.5, -170, 1, -90), BackgroundColor3 = PN, TextColor3 = TX,
Font = Enum.Font.GothamMedium, TextSize = 13, Text = t, BorderSizePixel = 0 }, gui)
corner(l)
task.delay(2.5, function() l:Destroy() end)
end
local function go(dest, label)
if tpTo(dest) then note("Teleport: " .. label) else note("Teleport failed: " .. tpErr) end
end
local tb = new("Frame", { Size = UDim2.new(1, 0, 0, 34), BackgroundTransparency = 1 }, main)
lbl(tb, "Eastern Reforged", UDim2.new(1, -50, 1, 0), UDim2.fromOffset(12, 0)).Font = Enum.Font.GothamBold
local xb = new("TextButton", { Size = UDim2.fromOffset(28, 22), Position = UDim2.new(1, -36, 0, 6), BackgroundColor3 = PN, Text = "X", TextColor3 = TX,
Font = Enum.Font.GothamBold, TextSize = 12, AutoButtonColor = false, BorderSizePixel = 0 }, tb)
corner(xb, 6)
tr(xb.MouseButton1Click:Connect(function() shared.__ER_UNLOAD() end))
local dr, ds, sp
tr(tb.InputBegan:Connect(function(i) if isPtr(i) then dr, ds, sp = true, i.Position, main.Position end end))
tr(UIS.InputChanged:Connect(function(i)
if dr and isPtr(i, true) then
local d = i.Position - ds
main.Position = UDim2.new(sp.X.Scale, sp.X.Offset + d.X, sp.Y.Scale, sp.Y.Offset + d.Y)
end
end))
tr(UIS.InputEnded:Connect(function(i) if isPtr(i) then dr = false end end))
local pages, tabs = {}, {}
local function sel(n)
for k, p in pairs(pages) do
p.Visible = k == n
tabs[k].BackgroundColor3 = k == n and AC or PN
end
end
local function page(n, px)
local b = new("TextButton", { Size = UDim2.fromOffset(108, 26), Position = UDim2.fromOffset(px, 38), BackgroundColor3 = PN, Text = n, TextColor3 = TX,
Font = Enum.Font.GothamMedium, TextSize = 13, AutoButtonColor = false, BorderSizePixel = 0 }, main)
corner(b)
local p = new("ScrollingFrame", { Size = UDim2.new(1, -16, 1, -74), Position = UDim2.fromOffset(8, 70), BackgroundTransparency = 1, BorderSizePixel = 0,
ScrollBarThickness = 3, AutomaticCanvasSize = Enum.AutomaticSize.Y, CanvasSize = UDim2.new(), Visible = false }, main)
new("UIListLayout", { Padding = UDim.new(0, 6), SortOrder = Enum.SortOrder.LayoutOrder }, p)
pages[n], tabs[n] = p, b
tr(b.MouseButton1Click:Connect(function() sel(n) end))
return p
end
local function row(pg, h, cl)
local r = new(cl, { Size = UDim2.new(1, -6, 0, h), BackgroundColor3 = PN, BorderSizePixel = 0, LayoutOrder = #pg:GetChildren() }, pg)
if cl == "TextButton" then r.Text, r.AutoButtonColor = "", false end
corner(r)
return r
end
local function tog(pg, txt, key, cb)
local r = row(pg, 32, "TextButton")
lbl(r, txt, UDim2.new(1, -60, 1, 0), UDim2.fromOffset(10, 0))
local pill = new("Frame", { Size = UDim2.fromOffset(36, 18), Position = UDim2.new(1, -46, 0.5, -9), BorderSizePixel = 0 }, r)
corner(pill, 9)
local k = new("Frame", { Size = UDim2.fromOffset(14, 14), BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0 }, pill)
corner(k, 7)
local function rd()
pill.BackgroundColor3 = C[key] and AC or OFFC
k.Position = C[key] and UDim2.new(1, -16, 0.5, -7) or UDim2.new(0, 2, 0.5, -7)
end
rd()
tr(r.MouseButton1Click:Connect(function() C[key] = not C[key] rd() if cb then cb(C[key]) end end))
end
local function sld(pg, txt, key, mn, mx, st, fmt)
local r = row(pg, 46, "Frame")
lbl(r, txt, UDim2.new(1, -110, 0, 24), UDim2.fromOffset(10, 2))
local v = lbl(r, "", UDim2.fromOffset(100, 24), UDim2.new(1, -110, 0, 2), AC, Enum.TextXAlignment.Right)
local bar = new("TextButton", { Size = UDim2.new(1, -20, 0, 6), Position = UDim2.fromOffset(10, 32), BackgroundColor3 = OFFC, Text = "", AutoButtonColor = false, BorderSizePixel = 0 }, r)
local f = new("Frame", { BackgroundColor3 = AC, BorderSizePixel = 0 }, bar)
local function rd()
f.Size = UDim2.new((C[key] - mn) / (mx - mn), 0, 1, 0)
v.Text = fmt:format(C[key])
end
rd()
local function set(px)
local rel = math.clamp((px - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1)
local nv = math.clamp(math.floor((mn + rel * (mx - mn)) / st + 0.5) * st, mn, mx)
if nv ~= C[key] then C[key] = nv rd() end
end
local d
tr(bar.InputBegan:Connect(function(i) if isPtr(i) then d = true set(i.Position.X) end end))
tr(UIS.InputChanged:Connect(function(i) if d and isPtr(i, true) then set(i.Position.X) end end))
tr(UIS.InputEnded:Connect(function(i) if isPtr(i) then d = false end end))
end
local function cyc(pg, txt, key, opts)
local r = row(pg, 32, "TextButton")
lbl(r, txt, UDim2.new(1, -170, 1, 0), UDim2.fromOffset(10, 0))
local v = lbl(r, C[key], UDim2.fromOffset(156, 32), UDim2.new(1, -166, 0, 0), AC, Enum.TextXAlignment.Right)
tr(r.MouseButton1Click:Connect(function()
C[key] = opts[(table.find(opts, C[key]) or 0) % #opts + 1]
v.Text = C[key]
end))
end
local function btn(pg, title, desc, cb)
local r = row(pg, desc and 40 or 32, "TextButton")
lbl(r, title, UDim2.new(1, -20, 0, desc and 22 or 32), UDim2.fromOffset(10, desc and 2 or 0))
if desc then lbl(r, desc, UDim2.new(1, -20, 0, 14), UDim2.fromOffset(10, 22), MUT).TextSize = 11 end
tr(r.MouseButton1Click:Connect(cb))
return r
end
local function inp(pg, ph, cb)
local r = row(pg, 32, "Frame")
local t = new("TextBox", { Size = UDim2.new(1, -20, 1, 0), Position = UDim2.fromOffset(10, 0), BackgroundTransparency = 1, PlaceholderText = ph, Text = "",
TextColor3 = TX, PlaceholderColor3 = Color3.fromRGB(120, 120, 140), Font = Enum.Font.Gotham, TextSize = 13, ClearTextOnFocus = false,
TextXAlignment = Enum.TextXAlignment.Left }, r)
tr(t:GetPropertyChangedSignal("Text"):Connect(function() cb(t.Text) end))
end
-- saved positions
local saved, FILE = {}, "EasternReforged_pos_" .. game.PlaceId .. ".json"
local function persist()
local o = {}
for _, s in ipairs(saved) do o[#o + 1] = { name = s.name, x = s.pos.X, y = s.pos.Y, z = s.pos.Z } end
pcall(writefile, FILE, HS:JSONEncode(o))
end
do
local ok, raw = pcall(function() return isfile(FILE) and readfile(FILE) end)
local ok2, d = false, nil
if ok and raw then ok2, d = pcall(HS.JSONDecode, HS, raw) end
if ok2 and type(d) == "table" then
local m
for _, e in ipairs(d) do
local n = tostring(e.name)
local k = n:match("^Позиція%s*(%d+)$") -- old Ukrainian default name -> English
if k then n, m = "Position " .. k, true end
saved[#saved + 1] = { name = n, pos = Vector3.new(e.x, e.y, e.z) }
end
if m then persist() end
end
end
local pV = page("Visuals", 8)
tog(pV, "Player ESP", "ESP")
tog(pV, "Name / HP / distance", "Names")
tog(pV, "Skip my team", "Team")
tog(pV, "Remove trees and grass", "NoTrees", foliage)
tog(pV, "Remove corpses (no walking on them)", "NoCorpses", corpses)
tog(pV, "FPS boost (shadows, effects, water, mesh detail)", "FPS", fps)
-- Ultra FPS never runs by itself: it needs two clicks within 3 seconds
local armed = 0
btn(pV, "Ultra FPS (click twice to confirm)", "Plain materials, no textures. Stays until you rejoin", function()
if os.clock() - armed > 3 then
armed = os.clock()
note("Click Ultra FPS again within 3 seconds to confirm")
return
end
armed = 0
task.spawn(function()
local n, T = 0, WS.Terrain
for _, d in ipairs(WS:GetDescendants()) do
if d:IsA("BasePart") and d ~= T then d.Material, d.Reflectance, d.CastShadow = Enum.Material.SmoothPlastic, 0, false
elseif d:IsA("Decal") or d:IsA("Texture") then d.Transparency = 1 end
n += 1
if n % 1500 == 0 then task.wait() end
end
note("Ultra FPS applied")
end)
end)
local pA = page("Aim", 120)
tog(pA, "Silent aim (while holding LMB)", "SilentAim", function(v) if v then hook() end end)
sld(pA, "FOV radius", "FOV", 50, 500, 5, "%d")
cyc(pA, "Aim part (click)", "AimPart", { "Head", "UpperTorso", "HumanoidRootPart" })
tog(pA, "Visibility check", "WallCheck")
tog(pA, "Bullet drop compensation", "DropComp")
tog(pA, "Target lead", "Lead")
local pT = page("Teleport", 232)
cyc(pT, "Mode (click)", "TPMode", { "Instant", "Fast hops", "Smooth" })
sld(pT, "Fast hops: studs / frame", "HopSize", 20, 500, 10, "%d")
sld(pT, "Smooth: speed", "TPSpeed", 15, 150, 5, "%d st/s")
sld(pT, "Smooth: flight height", "TPLift", 0, 80, 5, "%d")
tog(pT, "Refuse if no ground below target", "GroundCheck")
tog(pT, "T key = teleport to crosshair", "CrosshairTP")
btn(pT, "Back to previous spot (B)", nil, function()
if prev then go(prev, "Previous spot") else note("No previous spot yet") end
end)
btn(pT, "Cancel teleport (F6)", nil, cancelTP)
local pend = ""
local function addPos(s)
s.row = btn(pT, s.name, ("%d, %d, %d"):format(s.pos.X, s.pos.Y, s.pos.Z), function()
if C.Delete then
for i, e in ipairs(saved) do if e == s then table.remove(saved, i) break end end
s.row:Destroy()
persist()
note("Deleted " .. s.name)
else
go(s.pos, s.name)
end
end)
end
local function savePos(name)
local hrp = LP.Character and LP.Character:FindFirstChild("HumanoidRootPart")
if not hrp then return end
local b = (name and name ~= "") and name or ("Position " .. (#saved + 1))
local n, i, taken = b, 1, true
while taken do
taken = false
for _, s in ipairs(saved) do if s.name == n then taken = true end end
if taken then i += 1 n = b .. " (" .. i .. ")" end
end
local s = { name = n, pos = hrp.Position + Vector3.new(0, 1, 0) }
saved[#saved + 1] = s
persist()
addPos(s)
note("Saved " .. n)
end
inp(pT, "New position name...", function(t) pend = t end)
btn(pT, "Save current position (F3)", nil, function() savePos(pend) end)
tog(pT, "Delete mode (click a saved position)", "Delete")
for _, s in ipairs(saved) do addPos(s) end
local pM = page("Map points", 344)
local nexus = WS:FindFirstChild("NEXUS") or WS:WaitForChild("NEXUS", 3)
local caps = {}
for _, m in ipairs(nexus and nexus:GetChildren() or {}) do
if m:IsA("Model") and m:FindFirstChild("Zone") then caps[#caps + 1] = m end
end
table.sort(caps, function(a, b) return tostring(a:GetAttribute("DisplayName") or a.Name) < tostring(b:GetAttribute("DisplayName") or b.Name) end)
for _, m in ipairs(caps) do
local n = tostring(m:GetAttribute("DisplayName") or m.Name)
local p0 = m:GetPivot().Position
btn(pM, "Capture point " .. n, ("%d, %d, %d"):format(p0.X, p0.Y, p0.Z), function() go(m:GetPivot().Position + Vector3.new(0, 4, 0), "Capture point " .. n) end)
end
if #caps == 0 then btn(pM, "No capture points found", "Re-run the script once the round has started", function() end) end
for _, d in ipairs(WS:FindFirstChild("Menu") and WS.Menu:GetDescendants() or {}) do
local ln = d.Name:lower()
if d:IsA("SpawnLocation") and d.Position.Y > -20 and not (ln:find("train") or ln:find("platform") or ln:find("station")) then
local nm, pos = (d.Name:gsub("_", " ")), d.Position + Vector3.new(0, 4, 0)
btn(pM, nm, ("%d, %d, %d"):format(pos.X, pos.Y, pos.Z), function() go(pos, nm) end)
end
end
local wp = WS:FindFirstChild("Waypoint")
if wp and wp:IsA("BasePart") then
btn(pM, "Waypoint", nil, function() go(wp.Position + Vector3.new(0, 4, 0), "Waypoint") end)
end
local pq = ""
inp(pM, "Player (part of the nickname)...", function(t) pq = t end)
btn(pM, "Teleport to that player", nil, function()
local q = pq:lower()
for _, p in ipairs(P:GetPlayers()) do
local r = q ~= "" and p ~= LP and (p.Name:lower():find(q, 1, true) or p.DisplayName:lower():find(q, 1, true)) and p.Character and p.Character:FindFirstChild("HumanoidRootPart")
if r then go(r.Position - r.CFrame.LookVector * 4 + Vector3.new(0, 2, 0), p.Name) return end
end
note("Player not found / not loaded")
end)
sel("Visuals")
-- loop (throttled), hotkeys, unload
local fov = Drawing.new("Circle")
fov.Thickness, fov.Filled, fov.Color, fov.Transparency = 1, false, Color3.new(1, 1, 1), 0.6
local tScan, tPick, tSlow = 0, 0, 0
tr(RS.RenderStepped:Connect(function()
if not alive then return end
Cam = WS.CurrentCamera
local now = os.clock()
if now - tScan > 0.2 then tScan = now scan() end
if C.SilentAim and now - tPick > 0.05 then tPick = now pick() end
if now - tSlow > 1 then
tSlow = now
if C.SilentAim then refreshBal() end
if C.NoCorpses then corpses(true) end
end
if C.ESP then labels() end
fov.Visible = C.SilentAim
if C.SilentAim then fov.Radius, fov.Position = C.FOV, Cam.ViewportSize / 2 end
end))
tr(UIS.InputBegan:Connect(function(i, g)
if g then return end
local k = i.KeyCode
if k == Enum.KeyCode.RightShift then main.Visible = not main.Visible
elseif k == Enum.KeyCode.F3 then savePos(nil)
elseif k == Enum.KeyCode.F6 then cancelTP()
elseif k == Enum.KeyCode.B then if prev then go(prev, "Previous spot") end
elseif k == Enum.KeyCode.T and C.CrosshairTP then
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Exclude
rp.FilterDescendantsInstances = { LP.Character }
local sz = Cam.ViewportSize
local ray = Cam:ViewportPointToRay(sz.X / 2, sz.Y / 2)
local r = WS:Raycast(ray.Origin, ray.Direction * 3000, rp)
if r then go(r.Position + Vector3.new(0, 3.5, 0), "Crosshair") else note("Nothing under the crosshair") end
elseif k == Enum.KeyCode.End then shared.__ER_UNLOAD() end
end))
shared.__ER_UNLOAD = function()
alive = false
cancelTP()
for _, c in ipairs(conns) do pcall(c.Disconnect, c) end
if rcon then rcon:Disconnect() end
foliage(false)
C.FPS = false
fps(false)
for c in pairs(ent) do drop(c) end
pcall(fov.Remove, fov)
pcall(gui.Destroy, gui)
shared.__ER_UNLOAD = nil
end
corpses(C.NoCorpses)
if C.NoTrees then foliage(true) end
note("RightShift = menu | trees and corpses removed")
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.


Your community, in one place