Dark Spawner Script
HomeGamesTrendingExecutors
Dark Spawner Script

The best community driven platform for finding the latest Roblox scripts. Create, share, and discover amazing scripts.

Scripts
414+
Games
302+
Votes cast
7,328+

Quick Links

  • How to Use
  • Games
  • Trending Scripts
  • Executors
  • FAQs

Community

Links coming soon.

Contact

  • [email protected]
  • Report a script

© 2026 Dark Spawner Script. All rights reserved.

About UsPrivacy PolicyDisclaimer
Home›Games›TTK Testing

TTK Testing Script Shamancode: Aimbot, Infinite Ammo

TTK Testing•1 hour ago
0 views
TTK Testing Script Shamancode: Aimbot, Infinite Ammo
No Key
  • Working
  • updated 1 hour ago
  • No key
  • tested on Delta, Xeno
T

Team Darkspawner

Hub: Shamancode

Play Game Game Link

Description

Use this Shamancode hub for TTK Testing Roblox!! Now you can get features like Aimbot, No Recoil, Infinite Ammo, Rapid Fire and ESP, and More!! The Shamancode mod menu lays out 13 switches in two columns, with No Spread, No Camera Shake and No Sway sitting under Aimbot and ESP on the left. The right column handles the gun itself through Infinite Reserve, No Reload, Force Full Auto, Infinite Throwables and Fire Delay Max. The whole script is open source, so you can read every line before you run it. No key on this one, so paste the loadstring and go!!

Features

  • +Infinite Ammo
  • +Aimbot
  • +No Recoil
  • +Rapid Fire
  • +ESP
  • +No Spread
  • +Infinite Reserve
  • +No Reload
  • +Force Full Auto
  • +No Camera Shake
  • +Infinite Throwables
  • +No Sway
TTK Testing

TTK Testing

Explore more scripts for this game (1)

Script

Raw Download
--[[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=6ae4b15de9d55eb2575c014d"))()
	end)
end)
--[[rscripts:analytics:end]]

local Players    = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS        = game:GetService("UserInputService")
local RS         = game:GetService("ReplicatedStorage")
local Workspace  = game:GetService("Workspace")
local LP         = Players.LocalPlayer

pcall(function()
	if type(hookfunction) ~= "function" or type(newcclosure) ~= "function" then return end
	local function silence(rem)
		local orig
		orig = hookfunction(rem.FireServer, newcclosure(function(self, reason, payload, ...)
			if self == rem and reason ~= "hb" then return end
			return orig(self, reason, payload, ...)
		end))
	end
	local rem = RS:FindFirstChild("Remotes")
	rem = rem and rem:FindFirstChild("Combat")
	rem = rem and rem:FindFirstChild("SessionTelemetry")
	if rem then silence(rem) return end
	task.spawn(function()
		local ok, r = pcall(function()
			return RS:WaitForChild("Remotes", 30):WaitForChild("Combat", 30):WaitForChild("SessionTelemetry", 30)
		end)
		if ok and r then pcall(silence, r) end
	end)
end)

local cfg = {
	esp = false, box = true, names = true, dist = true, head = true, chams = true, enemyOnly = true,
	aim = false, aimHead = true, aimFov = 130, aimSmooth = 0.25, showFov = true,
	noSpread = false, noRecoil = false, noShake = false, noSway = false,
	infAmmo = false, infReserve = false, noReload = false,
	rapid = false, rapidRate = 0.05, fullAuto = false,
	instantADS = false, infThrow = false,
}
local COL_ENEMY = Color3.fromRGB(255, 70, 70)
local COL_ALLY  = Color3.fromRGB(90, 200, 120)
local aimActive = false
local SWAY_SPRINGS = {
	"MoveLagSpring", "MovementLowerSpring", "GunStrafeRollSpring", "LookFlickSpring",
	"LookPitchTiltSpring", "LandingSpring", "CrouchJerkPosSpring", "CrouchJerkRotSpring",
	"BarrelSnapSpring", "AdsLookaroundSpring", "AimParallaxSpring",
}

local function cam() return Workspace.CurrentCamera end
local function w2s(p)
	local c = cam(); if not c then return nil end
	local v, on = c:WorldToViewportPoint(p)
	return Vector2.new(v.X, v.Y), (on and v.Z > 0), v.Z
end
local function myTeam() return LP.Character and LP.Character:GetAttribute("Team") end
local function teamOf(name)
	local pl = Players:FindFirstChild(name)
	return pl and pl.Character and pl.Character:GetAttribute("Team")
end
local function targets(enemyOnly)
	local mt, out, best = myTeam(), {}, {}
	local mp = Workspace:FindFirstChild("MercPlayers")
	if not mp then return out end
	for _, rig in ipairs(mp:GetChildren()) do
		if rig.Name:sub(1, 13) == "MercHitboxes_" and not rig:GetAttribute("Dead") and not rig:GetAttribute("Ragdolled") then
			local uid = rig:GetAttribute("OwnerUserId")
			local pl = uid and Players:GetPlayerByUserId(uid)
			if pl and pl ~= LP then
				local built = rig:GetAttribute("BuiltAt") or 0
				local prev = best[pl.Name]
				if not prev or built >= prev.built then best[pl.Name] = { rig = rig, built = built } end
			end
		end
	end
	for name, e in pairs(best) do
		local ch = Workspace:FindFirstChild(name)
		local team = (ch and ch:GetAttribute("Team")) or e.rig:GetAttribute("Team")
		local enemy = (mt == nil) or (team ~= mt)
		if (not enemyOnly) or enemy then
			local head, parts = nil, {}
			for _, d in ipairs(e.rig:GetDescendants()) do
				if d:IsA("BasePart") then
					if d.Name:find("HitZone", 1, true) then parts[#parts + 1] = d end
					if d.Name == "Head" then head = d end
				end
			end
			if #parts == 0 then
				for _, d in ipairs(e.rig:GetDescendants()) do if d:IsA("BasePart") then parts[#parts + 1] = d end end
			end
			if #parts > 0 then
				out[#out + 1] = { name = name, hb = e.rig, visual = e.rig, head = head, parts = parts, enemy = enemy }
			end
		end
	end
	return out
end

local pool = {}
local function slot(i)
	if pool[i] then return pool[i] end
	local ok, s = pcall(function()
		return { box = Drawing.new("Square"), name = Drawing.new("Text"), dist = Drawing.new("Text"), head = Drawing.new("Circle") }
	end)
	if not ok then return nil end
	s.box.Thickness = 1; s.box.Filled = false; s.box.Transparency = 1
	s.name.Size = 13; s.name.Center = true; s.name.Outline = true
	s.dist.Size = 12; s.dist.Center = true; s.dist.Outline = true
	s.head.Thickness = 1; s.head.Filled = false; s.head.NumSides = 14
	for _, o in pairs(s) do o.Visible = false end
	pool[i] = s
	return s
end
local function hideFrom(n) for i = n, #pool do for _, o in pairs(pool[i]) do o.Visible = false end end end
local function hideAll() hideFrom(1) end

local chamsHolder
pcall(function()
	chamsHolder = Instance.new("Folder"); chamsHolder.Name = "TTK_Chams"
	chamsHolder.Parent = (gethui and gethui()) or game:GetService("CoreGui")
end)
local chamsPool = {}
local function chamSlot(i)
	if chamsPool[i] then return chamsPool[i] end
	local ok, h = pcall(function()
		local x = Instance.new("Highlight")
		x.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
		x.FillTransparency = 0.55; x.OutlineTransparency = 0
		x.Enabled = false; x.Parent = chamsHolder
		return x
	end)
	if not ok then return nil end
	chamsPool[i] = h; return h
end
local function hideChams(from) for i = from, #chamsPool do chamsPool[i].Enabled = false; chamsPool[i].Adornee = nil end end

RunService.RenderStepped:Connect(function()
	if not cfg.esp then hideAll(); hideChams(1); return end
	local list = targets(cfg.enemyOnly)
	if cfg.chams then
		local c = 0
		for _, t in ipairs(list) do
			if t.visual then
				c = c + 1
				local h = chamSlot(c)
				if h then
					local col = t.enemy and COL_ENEMY or COL_ALLY
					h.Adornee = t.visual; h.FillColor = col; h.OutlineColor = col; h.Enabled = true
				end
			end
		end
		hideChams(c + 1)
	else hideChams(1) end
	if not Drawing then hideAll(); return end
	local eye = cam() and cam().CFrame.Position
	local n = 0
	for _, t in ipairs(list) do
		local minX, minY, maxX, maxY, any = 1e9, 1e9, -1e9, -1e9, false
		for _, p in ipairs(t.parts) do
			local sz = p.Size * 0.5
			for sx = -1, 1, 2 do for sy = -1, 1, 2 do for sz2 = -1, 1, 2 do
				local s, on = w2s((p.CFrame * CFrame.new(sz.X * sx, sz.Y * sy, sz.Z * sz2)).Position)
				if on then
					any = true
					if s.X < minX then minX = s.X end
					if s.Y < minY then minY = s.Y end
					if s.X > maxX then maxX = s.X end
					if s.Y > maxY then maxY = s.Y end
				end
			end end end
		end
		if any then
			n = n + 1
			local s = slot(n)
			if s then
				local col = t.enemy and COL_ENEMY or COL_ALLY
				local w, h = (maxX - minX), (maxY - minY)
				local padX, padY = 2, 2
				if cfg.box then
					s.box.Position = Vector2.new(minX - padX, minY - padY)
					s.box.Size = Vector2.new(w + padX * 2, h + padY * 2)
					s.box.Color = col; s.box.Visible = true
				else s.box.Visible = false end
				if cfg.names then
					s.name.Text = t.name; s.name.Color = col
					s.name.Position = Vector2.new((minX + maxX) / 2, minY - padY - 15); s.name.Visible = true
				else s.name.Visible = false end
				if cfg.dist and eye then
					local ref = (t.head or t.parts[1]).Position
					s.dist.Text = ("%dm"):format((ref - eye).Magnitude)
					s.dist.Color = col
					s.dist.Position = Vector2.new((minX + maxX) / 2, maxY + padY + 1); s.dist.Visible = true
				else s.dist.Visible = false end
				if cfg.head and t.head then
					local hs, on = w2s(t.head.Position)
					if on then s.head.Position = hs; s.head.Radius = math.max(h * 0.06, 2); s.head.Color = col; s.head.Visible = true
					else s.head.Visible = false end
				else s.head.Visible = false end
			end
		end
	end
	hideFrom(n + 1)
end)

local aiming = false
UIS.InputBegan:Connect(function(i, gpe) if not gpe and i.UserInputType == Enum.UserInputType.MouseButton2 then aiming = true end end)
UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton2 then aiming = false end end)
local fovCircle
RunService:BindToRenderStep("TTK_Aim", Enum.RenderPriority.Last.Value + 10, function()
	local c = cam(); if not c then return end
	if Drawing and cfg.aim and cfg.showFov then
		if not fovCircle then
			local ok, x = pcall(function() local o = Drawing.new("Circle"); o.Thickness = 1; o.Filled = false; o.NumSides = 48; o.Color = Color3.fromRGB(255, 255, 255); o.Transparency = 0.5; return o end)
			fovCircle = ok and x or nil
		end
		if fovCircle then fovCircle.Position = c.ViewportSize / 2; fovCircle.Radius = cfg.aimFov; fovCircle.Visible = true end
	elseif fovCircle then fovCircle.Visible = false end
	if not cfg.aim or not aiming then aimActive = false; return end
	local center = c.ViewportSize / 2
	local best, bestD
	for _, t in ipairs(targets(true)) do
		local part = (cfg.aimHead and t.head) or t.parts[1]
		if part then
			local sp, on = w2s(part.Position)
			if on then
				local d = (sp - center).Magnitude
				if d < cfg.aimFov and (not bestD or d < bestD) then bestD, best = d, part.Position end
			end
		end
	end
	aimActive = best ~= nil
	if best then
		local pos = c.CFrame.Position
		local alpha = math.clamp(1 - cfg.aimSmooth, 0.06, 1)
		c.CFrame = c.CFrame:Lerp(CFrame.lookAt(pos, best), alpha)
	end
end)

local localGun, gunObj, camCtrl, firearmClass

task.spawn(function()
	while not firearmClass do
		if getgc then
			for _, o in ipairs(getgc(true)) do
				if type(o) == "table" and rawget(o, "Fire") ~= nil and rawget(o, "InitFromDef") ~= nil then firearmClass = o; break end
			end
		end
		if firearmClass and type(firearmClass.Fire) == "function" then
			local origFire = firearmClass.Fire
			firearmClass.Fire = function(self, ...)
				localGun = self
				if cfg.infAmmo then self.MagAmmo = self.MaxMagSize + 1 end
				if cfg.rapid then self.CanFire = true; self.FireRate = math.min(self.FireRate or 0.1, cfg.rapidRate) end
				return origFire(self, ...)
			end
			local origReserve = firearmClass.GetReserve
			if type(origReserve) == "function" then
				firearmClass.GetReserve = function(self, ...) if cfg.infReserve then return 999 end return origReserve(self, ...) end
			end
		else firearmClass = nil; task.wait(2) end
	end
end)

pcall(function()
	local GC = require(RS.Modules.Client.Controllers.GunController)
	if type(GC) ~= "table" then return end
	for _, fn in ipairs({ "ApplyRecoil", "_FireScriptedRecoil" }) do
		local orig = GC[fn]
		if type(orig) == "function" then
			GC[fn] = function(self, ...) gunObj = self; if cfg.noRecoil then return end return orig(self, ...) end
		end
	end
	for _, fn in ipairs({ "GetBloomFraction", "GetEffectiveBloomFraction" }) do
		local orig = GC[fn]
		if type(orig) == "function" then
			GC[fn] = function(self, ...) if cfg.noSpread then return 0 end return orig(self, ...) end
		end
	end
	for _, fn in ipairs({ "GetIdleSwayOffset", "GetMovementSwayOffset" }) do
		local orig = GC[fn]
		if type(orig) == "function" then
			GC[fn] = function(self, ...) if cfg.noSway or aimActive then return CFrame.new() end return orig(self, ...) end
		end
	end
	local origAim = GC._ApplyAimSpeed
	if type(origAim) == "function" then
		GC._ApplyAimSpeed = function(self, ...)
			local a, b, c = origAim(self, ...)
			if cfg.instantADS and self.AimSpring then pcall(function() self.AimSpring:setStiffness(500, 1) end) end
			return a, b, c
		end
	end
end)

pcall(function()
	local CC = require(RS.Modules.Client.Controllers.CameraController)
	if type(CC) == "table" then
		for _, fn in ipairs({ "Recoil", "BoomKick" }) do
			local orig = CC[fn]
			if type(orig) == "function" then
				CC[fn] = function(...) if cfg.noRecoil then return end return orig(...) end
			end
		end
	end
end)

task.spawn(function()
	while not camCtrl do
		if getgc then
			for _, o in ipairs(getgc(true)) do
				if type(o) == "table" and rawget(o, "_recoilShakeSpring") ~= nil and rawget(o, "_recoilSpring") ~= nil then camCtrl = o; break end
			end
		end
		if not camCtrl then task.wait(2) end
	end
end)

local ZERO = Vector3.new(0, 0, 0)
local function rest(sp) if type(sp) == "table" then pcall(function() sp.t = ZERO end); pcall(function() sp.p = ZERO end) end end
RunService:BindToRenderStep("TTK_Weapon", Enum.RenderPriority.First.Value, function()
	if gunObj then
		if cfg.noRecoil then
			for k, v in pairs(gunObj) do
				if type(k) == "string" and type(v) == "table" and (k:find("Recoil") or k:find("Kick") or k:find("FireDrift")) then rest(v) end
			end
		end
		if cfg.noSway or aimActive then
			for _, nm in ipairs(SWAY_SPRINGS) do rest(gunObj[nm]) end
			gunObj.WalkSwayX = 0; gunObj.WalkSwayY = 0
		end
		if cfg.instantADS and gunObj.AimSpring then pcall(function() gunObj.AimSpring:setStiffness(500, 1) end) end
	end
	if camCtrl then
		if cfg.noShake then
			for k, v in pairs(camCtrl) do
				local lk = type(k) == "string" and k:lower() or ""
				if type(v) == "table" and (lk:find("shake") or lk:find("sway") or lk:find("bob") or lk:find("breath")) then rest(v) end
			end
		end
		if cfg.noRecoil then
			for k, v in pairs(camCtrl) do
				if type(k) == "string" and type(v) == "table" and (k:lower():find("recoil")) then rest(v) end
			end
		end
	end
end)

RunService.Heartbeat:Connect(function()
	if not localGun then return end
	if cfg.infAmmo then localGun.MagAmmo = localGun.MaxMagSize + 1 end
	if cfg.noReload then localGun.IsReloading = false end
	if cfg.fullAuto or cfg.rapid then localGun.FireMode = "auto" end
	if cfg.rapid then localGun.CanFire = true end
	if cfg.infReserve and localGun._magazines then
		for i = 1, #localGun._magazines do localGun._magazines[i] = localGun.MaxMagSize end
	end
end)

pcall(function()
	local TC = require(RS.Modules.Client.Controllers.ThrowableController)
	if type(TC) == "table" and type(TC.GetAmmo) == "function" then
		local orig = TC.GetAmmo
		TC.GetAmmo = function(...) if cfg.infThrow then return 99 end return orig(...) end
	end
end)

local VibeUI = loadstring(game:HttpGet("https://sirmemegithub.com/RealSlimShady2000/VibeUI/raw/branch/main/VibeUI.luau"))()
local Window = VibeUI:Window({ Title = "TTK", Keybind = Enum.KeyCode.RightControl, Layout = "Side" })

local T1 = Window:Tab({ Name = "Visuals & Aim", Columns = 2 })
local espS = T1:Section({ Name = "ESP", Side = 1 })
espS:Toggle({ Name = "Enable ESP", Flag = "esp", Default = false, Callback = function(v) cfg.esp = v; if not v then hideAll(); hideChams(1) end end })
espS:Toggle({ Name = "Boxes", Flag = "box", Default = true, Callback = function(v) cfg.box = v end })
espS:Toggle({ Name = "Names", Flag = "names", Default = true, Callback = function(v) cfg.names = v end })
espS:Toggle({ Name = "Distance", Flag = "dist", Default = true, Callback = function(v) cfg.dist = v end })
espS:Toggle({ Name = "Head dot", Flag = "head", Default = true, Callback = function(v) cfg.head = v end })
espS:Toggle({ Name = "Chams (through walls)", Flag = "chams", Default = true, Callback = function(v) cfg.chams = v end })
espS:Toggle({ Name = "Enemies only", Flag = "enemyOnly", Default = true, Callback = function(v) cfg.enemyOnly = v end })

local aimS = T1:Section({ Name = "Aimbot", Side = 2 })
aimS:Toggle({ Name = "Enable Aimbot (hold RMB)", Flag = "aim", Default = false, Callback = function(v) cfg.aim = v end })
aimS:Toggle({ Name = "Target head", Flag = "aimHead", Default = true, Callback = function(v) cfg.aimHead = v end })
aimS:Toggle({ Name = "Show FOV circle", Flag = "showFov", Default = true, Callback = function(v) cfg.showFov = v end })
aimS:Slider({ Name = "FOV", Flag = "aimFov", Min = 20, Max = 600, Default = 130, Decimals = 1, Suffix = "px", Callback = function(v) cfg.aimFov = v end })
aimS:Slider({ Name = "Smoothness", Flag = "aimSmooth", Min = 0, Max = 0.95, Default = 0.25, Decimals = 0.01, Callback = function(v) cfg.aimSmooth = v end })

local T2 = Window:Tab({ Name = "Weapon", Columns = 2 })
local wA = T2:Section({ Name = "Recoil / Aim", Side = 1 })
wA:Toggle({ Name = "No spread", Flag = "noSpread", Default = false, Callback = function(v) cfg.noSpread = v end })
wA:Toggle({ Name = "No recoil (+ no gun kick)", Flag = "noRecoil", Default = false, Callback = function(v) cfg.noRecoil = v end })
wA:Toggle({ Name = "No camera shake", Flag = "noShake", Default = false, Callback = function(v) cfg.noShake = v end })
wA:Toggle({ Name = "No sway", Flag = "noSway", Default = false, Callback = function(v) cfg.noSway = v end })
wA:Toggle({ Name = "Instant ADS", Flag = "instantADS", Default = false, Callback = function(v) cfg.instantADS = v end })

local wB = T2:Section({ Name = "Ammo / Fire", Side = 2 })
wB:Toggle({ Name = "Infinite ammo", Flag = "infAmmo", Default = false, Callback = function(v) cfg.infAmmo = v end })
wB:Toggle({ Name = "Infinite reserve", Flag = "infReserve", Default = false, Callback = function(v) cfg.infReserve = v end })
wB:Toggle({ Name = "No reload", Flag = "noReload", Default = false, Callback = function(v) cfg.noReload = v end })
wB:Toggle({ Name = "Rapid fire", Flag = "rapid", Default = false, Callback = function(v) cfg.rapid = v end })
wB:Slider({ Name = "Fire delay", Flag = "rapidRate", Min = 0.01, Max = 0.2, Default = 0.05, Decimals = 0.01, Suffix = "s", Callback = function(v) cfg.rapidRate = v end })
wB:Toggle({ Name = "Force full auto", Flag = "fullAuto", Default = false, Callback = function(v) cfg.fullAuto = v end })
wB:Toggle({ Name = "Infinite throwables", Flag = "infThrow", Default = false, Callback = function(v) cfg.infThrow = v end })

pcall(function() VibeUI:CreateSettingsPage(Window) end)
VibeUI:Notification({ Title = "TTK loaded", Description = "RightControl to toggle the menu", Type = "success" })

Similar Scripts

Dead Rails Script Rivo Hub: Auto Bond Farm, Kill Aura

Key System • 1 hour ago

DONT SPLASH Script RVC Hub: Auto Play, Anti Splash

Key System • 1 hour ago

Steel Crossfire Script Shamancode: Hitbox Expander, Aimbot

Key System • 1 hour ago

DRAW SPELLS MAGIC ARENA Script Shamancode: God Mode

Key System • 1 hour ago

Ragdoll Playground Script Feather: Unlock All, Kill Farm

Key System • 6 hours ago