--
local Rayfield = loadstring(game:HttpGet("https://raw.githubusercontent.com/twistedk1d/BloxStrike/refs/heads/main/Source/UI/source.lua"))()
--// Window creation
local Window = Rayfield:CreateWindow({
Name = "Yukio",
Icon = 0,
LoadingTitle = "loading Yukio (Blox Strike)",
LoadingSubtitle = "by Yukio",
ShowText = "Menu",
Theme = {
TextColor = Color3.fromRGB(255,255,255),
Background = Color3.fromRGB(8,8,8),
Topbar = Color3.fromRGB(20,0,0),
Shadow = Color3.fromRGB(0,0,0),
NotificationBackground = Color3.fromRGB(15,15,15),
NotificationActionsBackground = Color3.fromRGB(35,0,0),
TabBackground = Color3.fromRGB(15,15,15),
TabStroke = Color3.fromRGB(255,0,0),
TabBackgroundSelected = Color3.fromRGB(80,0,0),
TabTextColor = Color3.fromRGB(255,255,255),
SelectedTabTextColor = Color3.fromRGB(255,255,255),
ElementBackground = Color3.fromRGB(12,12,12),
ElementBackgroundHover = Color3.fromRGB(30,0,0),
SecondaryElementBackground = Color3.fromRGB(18,18,18),
ElementStroke = Color3.fromRGB(255,0,0),
SecondaryElementStroke = Color3.fromRGB(120,0,0),
SliderBackground = Color3.fromRGB(50,0,0),
SliderProgress = Color3.fromRGB(255,0,0),
SliderStroke = Color3.fromRGB(255,0,0),
ToggleBackground = Color3.fromRGB(20,20,20),
ToggleEnabled = Color3.fromRGB(255,0,0),
ToggleDisabled = Color3.fromRGB(60,60,60),
ToggleEnabledStroke = Color3.fromRGB(255,40,40),
ToggleDisabledStroke = Color3.fromRGB(100,100,100),
ToggleEnabledOuterStroke = Color3.fromRGB(120,0,0),
ToggleDisabledOuterStroke = Color3.fromRGB(60,60,60),
DropdownSelected = Color3.fromRGB(80,0,0),
DropdownUnselected = Color3.fromRGB(20,20,20),
InputBackground = Color3.fromRGB(20,20,20),
InputStroke = Color3.fromRGB(255,0,0),
PlaceholderColor = Color3.fromRGB(170,170,170)
},
ToggleUIKeybind = Enum.KeyCode.RightShift,
DisableRayfieldPrompts = false,
DisableBuildWarnings = false,
ConfigurationSaving = {
Enabled = true,
FolderName = "Yukio",
FileName = "Sqilss_config"
}
})
--// Services & Globals
local RS = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local CAS = game:GetService("ContextActionService")
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera
local CharactersFolder = Workspace:WaitForChild("Characters", 10)
--// TABS
local Tab_Combat = Window:CreateTab("Combat", "crosshair")
local Tab_Skins = Window:CreateTab("Skins", "swords")
local Tab_Visuals = Window:CreateTab("Visuals", "eye")
Tab_Skins:CreateLabel("skin changerby twistedk1d (not made by me)", "code", Color3.fromRGB(80,80,80), false)
--// SHARED LOGIC
local function getTFolder() return CharactersFolder:FindFirstChild("Terrorists") end
local function getCTFolder() return CharactersFolder:FindFirstChild("Counter-Terrorists") end
local function isAlive()
local t, ct = getTFolder(), getCTFolder()
return (t and t:FindFirstChild(player.Name)) or (ct and ct:FindFirstChild(player.Name))
end
local function getEnemyFolder()
if not isAlive() then return nil end
local t, ct = getTFolder(), getCTFolder()
if t and t:FindFirstChild(player.Name) then return ct end
if ct and ct:FindFirstChild(player.Name) then return t end
return nil
end
--// AIMBOT (unchanged)
local AimbotEnabled = false
local ShowFOV = false
local FOV_Radius = 100
local Smoothing = 3
local AimKey = Enum.UserInputType.MouseButton2
local isAiming = false
local FOVCircle = Drawing.new("Circle")
FOVCircle.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
FOVCircle.Radius = FOV_Radius
FOVCircle.Filled = false
FOVCircle.Color = Color3.fromRGB(255, 255, 255)
FOVCircle.Visible = false
FOVCircle.Thickness = 1
local function getClosestEnemyToMouse()
local closestEnemy = nil
local shortestDistance = FOV_Radius
local enemyFolder = getEnemyFolder()
if not enemyFolder or not AimbotEnabled then return nil end
local mousePos = UserInputService:GetMouseLocation()
for _, enemy in ipairs(enemyFolder:GetChildren()) do
local hum = enemy:FindFirstChildOfClass("Humanoid")
local head = enemy:FindFirstChild("Head")
if hum and hum.Health > 0 and head then
local headPos, onScreen = camera:WorldToViewportPoint(head.Position)
if onScreen then
local distance = (Vector2.new(headPos.X, headPos.Y) - mousePos).Magnitude
if distance 0 then
if TriggerBotDelay > 0 then task.wait(TriggerBotDelay / 1000) end
if mouse1click then mouse1click() end
task.wait(0.05)
end
end
end
end
end
end
end)
local HitboxEnabled = false
local HitboxSize = 3
local originalHeadSizes = {}
Tab_Combat:CreateSection("Simple Hitbox (Max 3)")
Tab_Combat:CreateToggle({Name = "Enable Hitbox", CurrentValue = false, Flag = "HitboxToggle", Callback = function(Value) HitboxEnabled = Value end})
Tab_Combat:CreateSlider({Name = "Hitbox Size", Range = {1, 3}, Increment = 0.1, Suffix = " Studs", CurrentValue = 3, Flag = "HitboxSize", Callback = function(Value) HitboxSize = Value end})
task.spawn(function()
while task.wait(0.5) do
local enemyFolder = getEnemyFolder()
if enemyFolder then
for _, enemy in ipairs(enemyFolder:GetChildren()) do
local head = enemy:FindFirstChild("Head")
local hum = enemy:FindFirstChildOfClass("Humanoid")
if head and hum and hum.Health > 0 then
if not originalHeadSizes[head] then originalHeadSizes[head] = head.Size end
if HitboxEnabled then
head.Size = Vector3.new(HitboxSize, HitboxSize, HitboxSize)
head.CanCollide = false
head.Transparency = 0.5
else
if originalHeadSizes[head] and head.Size ~= originalHeadSizes[head] then
head.Size = originalHeadSizes[head]
head.Transparency = 0
end
end
end
end
end
end
end)
local BhopEnabled = false
Tab_Combat:CreateSection("Movement Settings")
Tab_Combat:CreateToggle({Name = "Enable Bunny Hop (Hold Space)", CurrentValue = false, Flag = "BhopToggle", Callback = function(Value) BhopEnabled = Value end})
RunService.RenderStepped:Connect(function()
if BhopEnabled and UserInputService:IsKeyDown(Enum.KeyCode.Space) and isAlive() then
if player.Character then
local hum = player.Character:FindFirstChildOfClass("Humanoid")
if hum and hum:GetState() ~= Enum.HumanoidStateType.Jumping and hum:GetState() ~= Enum.HumanoidStateType.Freefall then
hum.Jump = true
end
end
end
end)
--// SKINS TAB (unchanged)
local scriptRunning = false
local selectedKnife = "Butterfly Knife"
local spawned = false
local inspecting = false
local swinging = false
local lastAttackTime = 0
local ATTACK_COOLDOWN = 1
local ACTION_INSPECT = "InspectKnifeAction"
local ACTION_ATTACK = "AttackKnifeAction"
pcall(function() RS.Assets.Weapons.Karambit.Camera.ViewmodelLight.Transparency = 1 end)
local knives = {
["Karambit"] = {Offset = CFrame.new(0, -1.5, 1.5)},
["Butterfly Knife"] = {Offset = CFrame.new(0, -1.5, 1.5)},
["M9 Bayonet"] = {Offset = CFrame.new(0, -1.5, 1)},
["Flip Knife"] = {Offset = CFrame.new(0, -1.5, 1.25)},
["Gut Knife"] = {Offset = CFrame.new(0, -1.5, 0.5)},
}
local vm, animator
local equipAnim, idleAnim, inspectAnim, HeavySwingAnim, Swing1Anim, Swing2Anim
local function getKnifeInCamera() return camera:FindFirstChild("T Knife") or camera:FindFirstChild("CT Knife") end
local function cleanPart(part)
if not part:IsA("BasePart") then return end
part.CanCollide, part.Anchored, part.CastShadow, part.CanTouch, part.CanQuery = false, false, false, false, false
end
local function disableCollisions(model)
for _, part in model:GetDescendants() do cleanPart(part) end
end
local function hideOriginalKnife(knife)
for _, part in knife:GetDescendants() do
if part:IsA("BasePart") or part:IsA("MeshPart") or part:IsA("Texture") then part.Transparency = 1 end
end
end
local function playSound(folder, name)
local weaponSounds = RS.Sounds:FindFirstChild(selectedKnife)
if not weaponSounds then return end
local sound = weaponSounds:WaitForChild(folder):WaitForChild(name):Clone()
sound.Parent = camera
sound:Play()
sound.Ended:Once(function() sound:Destroy() end)
return sound
end
local function attachAsset(folder, armPartName, assetModelName, finalName, offset)
local targetArm = vm:FindFirstChild(armPartName)
if not targetArm then return end
local assetMesh = folder:WaitForChild(assetModelName):Clone()
cleanPart(assetMesh)
assetMesh.Name = finalName
assetMesh.Parent = targetArm
local motor = Instance.new("Motor6D")
motor.Part0, motor.Part1, motor.C0, motor.Parent = targetArm, assetMesh, offset, targetArm
end
local function handleAction(actionName, inputState, inputObject)
if inputState ~= Enum.UserInputState.Begin or not spawned or not animator or not isAlive() then return Enum.ContextActionResult.Pass end
if actionName == ACTION_INSPECT then
if (equipAnim and equipAnim.IsPlaying) or inspecting or swinging then return Enum.ContextActionResult.Pass end
inspecting = true
if idleAnim then idleAnim:Stop() end
inspectAnim:Play()
inspectAnim.Stopped:Once(function() inspecting = false end)
elseif actionName == ACTION_ATTACK then
local currentTime = os.clock()
if (equipAnim and equipAnim.IsPlaying) or (currentTime - lastAttackTime 0 then
local randomSkin = optionsList[math.random(1, #optionsList)]
if DropdownObjects[weaponName] then
for _, dropdown in ipairs(DropdownObjects[weaponName]) do dropdown:Set({randomSkin}) end
end
end
end
end})
local function CreateSkinDropdown(weaponName)
local folder = SkinsFolder:FindFirstChild(weaponName)
if not folder then return end
local options = {}
for _, skin in folder:GetChildren() do table.insert(options, skin.Name) end
SkinOptions[weaponName] = options
if not SelectedSkins[weaponName] then SelectedSkins[weaponName] = options[1] end
local dp = Tab_Skins:CreateDropdown({
Name = weaponName,
Options = options,
CurrentOption = {SelectedSkins[weaponName]},
Flag = "Skin_" .. weaponName,
Callback = function(opt)
local newSkin = opt[1]
SelectedSkins[weaponName] = newSkin
if DropdownObjects[weaponName] then
for _, other in DropdownObjects[weaponName] do
if other.CurrentOption[1] ~= newSkin then other:Set({newSkin}) end
end
end
for _, obj in camera:GetChildren() do obj:SetAttribute("SkinApplied", nil); applyWeaponSkin(obj) end
end
})
DropdownObjects[weaponName] = DropdownObjects[weaponName] or {}
table.insert(DropdownObjects[weaponName], dp)
end
Tab_Skins:CreateToggle({Name = "Enable Custom Knife", CurrentValue = false, Flag = "KnifeToggle", Callback = function(Value) scriptRunning = Value; if not Value then removeViewmodel() end end})
Tab_Skins:CreateDropdown({Name = "Selected Custom Knife", Options = {"Butterfly Knife", "Karambit", "M9 Bayonet", "Flip Knife", "Gut Knife"}, CurrentOption = {"Butterfly Knife"}, MultipleOptions = false, Flag = "KnifeDropdown", Callback = function(Options) selectedKnife = Options[1]; if spawned then removeViewmodel() end end})
Tab_Skins:CreateSection("Knives Skins")
for name in pairs(KNIVES) do CreateSkinDropdown(name) end
Tab_Skins:CreateSection("Gloves")
for name in pairs(GLOVES) do CreateSkinDropdown(name) end
Tab_Skins:CreateSection("CT Weapons")
for name in pairs(CT_ONLY) do CreateSkinDropdown(name) end
Tab_Skins:CreateSection("T Weapons")
for name in pairs(SHARED) do CreateSkinDropdown(name) end
for _, folder in SkinsFolder:GetChildren() do
local n = folder.Name
if not IgnoreFolders[n] and not KNIVES[n] and not GLOVES[n] and not CT_ONLY[n] and not SHARED[n] then CreateSkinDropdown(n) end
end
camera.ChildAdded:Connect(function(obj)
if not SkinChangerEnabled or not isAlive() then return end
task.wait(COOLDOWN); applyWeaponSkin(obj)
end)
task.spawn(function()
while task.wait(0.5) do
if SkinChangerEnabled and isAlive() then
for _, obj in camera:GetChildren() do
if SelectedSkins[obj.Name] and obj:GetAttribute("SkinApplied") ~= SelectedSkins[obj.Name] then applyWeaponSkin(obj) end
end
end
end
end)
--// ESP + CHAMS (unchanged)
local EspEnabled = false
local EspBox = true
local EspName = true
local EspHealth = true
local EspDistance = true
local EspSkeleton = false
local EspHeadDot = false
local EspTracers = false
local EspMaxDistance = 0
local RainbowESP = false
local RainbowESP_Speed = 2.0
local RainbowChams = false
local RainbowChams_Speed = 2.0
local BoxColor = Color3.fromRGB(255, 50, 50)
local TextColor = Color3.fromRGB(255, 255, 255)
local SkeletonColor = Color3.fromRGB(255, 255, 255)
local TracerColor = Color3.fromRGB(255, 50, 50)
local HeadDotColor = Color3.fromRGB(255, 255, 255)
local EspTextSize = 15
local BoxThickness = 1.5
local ChamsEnabled = false
local ChamsColor = Color3.fromRGB(255, 0, 255)
local ChamsFillTransparency = 0.7
local ChamsOutlineTransparency = 0
local WeaponChamsEnabled = false
local WeaponChamsColor = Color3.fromRGB(0, 255, 255)
local WeaponChamsFillTransparency = 0.5
local WeaponChamsOutlineTransparency = 0.0
local espCache = {}
local chamsCache = {}
local weaponChamsCache = {}
local function getRainbowColor(speed)
local time = tick() * speed
return Color3.fromHSV(time % 1, 1, 1)
end
local function createESP()
local esp = {
boxOutline = Drawing.new("Square"),
box = Drawing.new("Square"),
name = Drawing.new("Text"),
distance = Drawing.new("Text"),
healthOutline = Drawing.new("Line"),
healthBackground = Drawing.new("Line"),
healthBar = Drawing.new("Line"),
headDot = Drawing.new("Circle"),
tracer = Drawing.new("Line"),
skeleton = {
headToNeck = Drawing.new("Line"),
neckToTorso = Drawing.new("Line"),
torsoToLeftUpper = Drawing.new("Line"),
torsoToRightUpper = Drawing.new("Line"),
leftUpperToLower = Drawing.new("Line"),
rightUpperToLower = Drawing.new("Line"),
leftLowerToFoot = Drawing.new("Line"),
rightLowerToFoot = Drawing.new("Line")
}
}
esp.boxOutline.Thickness = 3
esp.boxOutline.Filled = false
esp.boxOutline.Color = Color3.new(0, 0, 0)
esp.box.Thickness = BoxThickness
esp.box.Filled = false
esp.name.Center = true
esp.name.Outline = true
esp.name.Size = EspTextSize
esp.distance.Center = true
esp.distance.Outline = true
esp.distance.Size = EspTextSize - 2
esp.healthOutline.Thickness = 3
esp.healthOutline.Color = Color3.new(0, 0, 0)
esp.healthBackground.Thickness = 4
esp.healthBackground.Color = Color3.new(0, 0, 0)
esp.healthBackground.Transparency = 0.7
esp.healthBar.Thickness = 2
esp.headDot.Radius = 3
esp.headDot.Filled = true
esp.headDot.Transparency = 1
esp.tracer.Thickness = 1.5
esp.tracer.Transparency = 0.8
for _, line in pairs(esp.skeleton) do
line.Thickness = 1.5
line.Transparency = 0.9
end
return esp
end
RunService.RenderStepped:Connect(function()
if not EspEnabled or not isAlive() then
for _, e in pairs(espCache) do
for _, drawing in pairs(e) do
if typeof(drawing) == "table" then
for _, line in pairs(drawing) do line.Visible = false end
else
drawing.Visible = false
end
end
end
return
end
local enemyFolder = getEnemyFolder()
if not enemyFolder then return end
local currentAlive = {}
local screenCenter = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y)
local rainbowColor = RainbowESP and getRainbowColor(RainbowESP_Speed) or nil
for _, enemy in ipairs(enemyFolder:GetChildren()) do
local hum = enemy:FindFirstChildOfClass("Humanoid")
local root = enemy:FindFirstChild("HumanoidRootPart")
local head = enemy:FindFirstChild("Head")
if hum and hum.Health > 0 and root and head then
currentAlive[enemy] = true
if not espCache[enemy] then espCache[enemy] = createESP() end
local esp = espCache[enemy]
local rootPos, onScreen = camera:WorldToViewportPoint(root.Position)
local headPos = camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.4, 0))
local legPos = camera:WorldToViewportPoint(root.Position - Vector3.new(0, 3.2, 0))
local distance = (camera.CFrame.Position - root.Position).Magnitude
if EspMaxDistance > 0 and distance > EspMaxDistance then
for _, d in pairs(esp) do
if typeof(d) == "table" then
for _, l in pairs(d) do l.Visible = false end
else
d.Visible = false
end
end
continue
end
if onScreen then
local boxHeight = math.abs(headPos.Y - legPos.Y) * 1.05
local boxWidth = boxHeight * 0.55
local boxX = rootPos.X - boxWidth / 2
local boxY = headPos.Y
local currentBoxColor = RainbowESP and rainbowColor or BoxColor
local currentTextColor = RainbowESP and rainbowColor or TextColor
local currentSkeletonColor = RainbowESP and rainbowColor or SkeletonColor
local currentTracerColor = RainbowESP and rainbowColor or TracerColor
local currentHeadDotColor = RainbowESP and rainbowColor or HeadDotColor
if EspBox then
esp.boxOutline.Size = Vector2.new(boxWidth, boxHeight)
esp.boxOutline.Position = Vector2.new(boxX, boxY)
esp.boxOutline.Visible = true
esp.box.Size = Vector2.new(boxWidth, boxHeight)
esp.box.Position = Vector2.new(boxX, boxY)
esp.box.Color = currentBoxColor
esp.box.Thickness = BoxThickness
esp.box.Visible = true
else
esp.boxOutline.Visible = false
esp.box.Visible = false
end
if EspHealth then
local hpPct = hum.Health / hum.MaxHealth
local barX = boxX - 7
local barTop = boxY
local barBottom = boxY + boxHeight
esp.healthBackground.From = Vector2.new(barX, barTop)
esp.healthBackground.To = Vector2.new(barX, barBottom)
esp.healthBackground.Visible = true
esp.healthOutline.From = Vector2.new(barX - 1, barTop - 1)
esp.healthOutline.To = Vector2.new(barX + 1, barBottom + 1)
esp.healthOutline.Visible = true
esp.healthBar.From = Vector2.new(barX, barBottom)
esp.healthBar.To = Vector2.new(barX, barBottom - (boxHeight * hpPct))
esp.healthBar.Color = Color3.fromHSV(hpPct * 0.33, 1, 1)
esp.healthBar.Visible = true
else
esp.healthBackground.Visible = false
esp.healthOutline.Visible = false
esp.healthBar.Visible = false
end
if EspName then
esp.name.Text = enemy.Name
esp.name.Position = Vector2.new(rootPos.X, headPos.Y - 22)
esp.name.Color = currentTextColor
esp.name.Size = EspTextSize
esp.name.Visible = true
else
esp.name.Visible = false
end
if EspDistance then
esp.distance.Text = string.format("[%d studs]", math.floor(distance))
esp.distance.Position = Vector2.new(rootPos.X, boxY + boxHeight + 4)
esp.distance.Color = currentTextColor
esp.distance.Size = EspTextSize - 2
esp.distance.Visible = true
else
esp.distance.Visible = false
end
if EspHeadDot then
esp.headDot.Position = Vector2.new(headPos.X, headPos.Y)
esp.headDot.Color = currentHeadDotColor
esp.headDot.Visible = true
else
esp.headDot.Visible = false
end
if EspTracers then
esp.tracer.From = screenCenter
esp.tracer.To = Vector2.new(rootPos.X, rootPos.Y + boxHeight / 2)
esp.tracer.Color = currentTracerColor
esp.tracer.Visible = true
else
esp.tracer.Visible = false
end
if EspSkeleton then
local neck = enemy:FindFirstChild("Neck") or head
local torso = enemy:FindFirstChild("UpperTorso") or enemy:FindFirstChild("Torso")
local leftUpper = enemy:FindFirstChild("LeftUpperArm")
local rightUpper = enemy:FindFirstChild("RightUpperArm")
local leftLower = enemy:FindFirstChild("LeftLowerArm")
local rightLower = enemy:FindFirstChild("RightLowerArm")
local leftFoot = enemy:FindFirstChild("LeftFoot") or enemy:FindFirstChild("Left Leg")
local rightFoot = enemy:FindFirstChild("RightFoot") or enemy:FindFirstChild("Right Leg")
local function w2s(pos)
local p = camera:WorldToViewportPoint(pos)
return Vector2.new(p.X, p.Y)
end
local lines = esp.skeleton
for _, line in pairs(lines) do
line.Color = currentSkeletonColor
line.Visible = true
end
lines.headToNeck.From = Vector2.new(headPos.X, headPos.Y)
lines.headToNeck.To = w2s(neck.Position)
lines.neckToTorso.From = w2s(neck.Position)
lines.neckToTorso.To = w2s(torso and torso.Position or root.Position)
lines.torsoToLeftUpper.From = w2s(torso and torso.Position or root.Position)
lines.torsoToLeftUpper.To = w2s(leftUpper and leftUpper.Position or root.Position)
lines.torsoToRightUpper.From = w2s(torso and torso.Position or root.Position)
lines.torsoToRightUpper.To = w2s(rightUpper and rightUpper.Position or root.Position)
lines.leftUpperToLower.From = w2s(leftUpper and leftUpper.Position or root.Position)
lines.leftUpperToLower.To = w2s(leftLower and leftLower.Position or root.Position)
lines.rightUpperToLower.From = w2s(rightUpper and rightUpper.Position or root.Position)
lines.rightUpperToLower.To = w2s(rightLower and rightLower.Position or root.Position)
lines.leftLowerToFoot.From = w2s(leftLower and leftLower.Position or root.Position)
lines.leftLowerToFoot.To = w2s(leftFoot and leftFoot.Position or root.Position)
lines.rightLowerToFoot.From = w2s(rightLower and rightLower.Position or root.Position)
lines.rightLowerToFoot.To = w2s(rightFoot and rightFoot.Position or root.Position)
else
for _, line in pairs(esp.skeleton) do line.Visible = false end
end
else
for _, d in pairs(esp) do
if typeof(d) == "table" then
for _, l in pairs(d) do l.Visible = false end
else
d.Visible = false
end
end
end
end
end
for cEnemy, e in pairs(espCache) do
if not currentAlive[cEnemy] then
for _, d in pairs(e) do
if typeof(d) == "table" then
for _, l in pairs(d) do l:Remove() end
else
d:Remove()
end
end
espCache[cEnemy] = nil
end
end
end)
local function updatePlayerChams()
local enemyFolder = getEnemyFolder()
if not enemyFolder then return end
local rainbowColor = RainbowChams and getRainbowColor(RainbowChams_Speed) or ChamsColor
for _, enemy in ipairs(enemyFolder:GetChildren()) do
local hum = enemy:FindFirstChildOfClass("Humanoid")
if hum and hum.Health > 0 then
if not chamsCache[enemy] then
local highlight = Instance.new("Highlight")
highlight.Adornee = enemy
highlight.Parent = enemy
highlight.FillTransparency = ChamsFillTransparency
highlight.OutlineTransparency = ChamsOutlineTransparency
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
chamsCache[enemy] = highlight
end
local hl = chamsCache[enemy]
hl.FillColor = rainbowColor
hl.OutlineColor = rainbowColor
hl.FillTransparency = ChamsFillTransparency
hl.OutlineTransparency = ChamsOutlineTransparency
end
end
for model, hl in pairs(chamsCache) do
if not model.Parent or (model:FindFirstChildOfClass("Humanoid") and model:FindFirstChildOfClass("Humanoid").Health <= 0) then
if hl then hl:Destroy() end
chamsCache[model] = nil
end
end
end
local function updateWeaponChams()
if not WeaponChamsEnabled then
for _, hl in pairs(weaponChamsCache) do
if hl then hl:Destroy() end
end
weaponChamsCache = {}
return
end
local rainbowColor = RainbowChams and getRainbowColor(RainbowChams_Speed) or WeaponChamsColor
for _, obj in ipairs(camera:GetChildren()) do
if obj:IsA("Model") and (obj.Name:find("Knife") or obj:FindFirstChild("Weapon")) then
if not weaponChamsCache[obj] then
local highlight = Instance.new("Highlight")
highlight.Adornee = obj
highlight.Parent = obj
highlight.FillTransparency = WeaponChamsFillTransparency
highlight.OutlineTransparency = WeaponChamsOutlineTransparency
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
weaponChamsCache[obj] = highlight
end
local hl = weaponChamsCache[obj]
hl.FillColor = rainbowColor
hl.OutlineColor = rainbowColor
hl.FillTransparency = WeaponChamsFillTransparency
hl.OutlineTransparency = WeaponChamsOutlineTransparency
end
end
for obj, hl in pairs(weaponChamsCache) do
if not obj.Parent then
if hl then hl:Destroy() end
weaponChamsCache[obj] = nil
end
end
end
task.spawn(function()
while task.wait(0.05) do
if ChamsEnabled then
updatePlayerChams()
end
updateWeaponChams()
end
end)
--// ADVANCED BULLET TRACERS WITH PATTERNS (unchanged)
local BulletTracersEnabled = false
local BulletTracerColor = Color3.fromRGB(0, 255, 255)
local BulletTracerTransparency = 0.3
local BulletTracerDuration = 0.6
local BulletTracerThickness = 0.2
local BulletTracerPattern = "Straight"
local tracerParts = {}
local function createAdvancedTracer(origin, direction)
local tracer = Instance.new("Part")
tracer.Anchored = true
tracer.CanCollide = false
tracer.Transparency = BulletTracerTransparency
tracer.Color = BulletTracerColor
tracer.Material = Enum.Material.Neon
tracer.Size = Vector3.new(BulletTracerThickness, BulletTracerThickness, 300)
tracer.CFrame = CFrame.new(origin, origin + direction) * CFrame.new(0, 0, -150)
tracer.Parent = Workspace
if BulletTracerPattern == "Wave" then
task.spawn(function()
local startTime = tick()
while tracer.Parent and (tick() - startTime) < BulletTracerDuration do
local t = (tick() - startTime) * 15
local offset = Vector3.new(math.sin(t) * 2, 0, 0)
tracer.CFrame = CFrame.new(origin + offset, origin + direction + offset) * CFrame.new(0, 0, -150)
RunService.Heartbeat:Wait()
end
if tracer.Parent then tracer:Destroy() end
end)
elseif BulletTracerPattern == "Spiral" then
task.spawn(function()
local startTime = tick()
while tracer.Parent and (tick() - startTime) < BulletTracerDuration do
local t = (tick() - startTime) * 20
local offset = Vector3.new(math.cos(t) * 1.5, math.sin(t) * 1.5, 0)
tracer.CFrame = CFrame.new(origin + offset, origin + direction + offset) * CFrame.new(0, 0, -150)
RunService.Heartbeat:Wait()
end
if tracer.Parent then tracer:Destroy() end
end)
elseif BulletTracerPattern == "Dashed" then
task.spawn(function()
local startTime = tick()
while tracer.Parent and (tick() - startTime) 0) and BulletTracerTransparency or 1
RunService.Heartbeat:Wait()
end
if tracer.Parent then tracer:Destroy() end
end)
else
task.delay(BulletTracerDuration, function()
if tracer and tracer.Parent then tracer:Destroy() end
end)
end
table.insert(tracerParts, tracer)
end
UserInputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 and BulletTracersEnabled and isAlive() then
local origin = camera.CFrame.Position
local direction = camera.CFrame.LookVector * 300
createAdvancedTracer(origin, direction)
end
end)
RunService.Heartbeat:Connect(function()
for i = #tracerParts, 1, -1 do
if not tracerParts[i].Parent then
table.remove(tracerParts, i)
end
end
end)
--// PARTICLE EFFECTS (unchanged)
local ParticleEffectsEnabled = false
local ParticleColor = Color3.fromRGB(255, 100, 0)
local ParticleAmount = 25
local ParticleLifetime = 1.2
local ParticleStyle = "Spark"
local function createParticleEffect(position)
if not ParticleEffectsEnabled then return end
local attachment = Instance.new("Attachment")
attachment.Position = position
attachment.Parent = Workspace.Terrain
local particle = Instance.new("ParticleEmitter")
particle.Color = ColorSequence.new(ParticleColor)
particle.Texture = "rbxassetid://243660364"
particle.Lifetime = NumberRange.new(ParticleLifetime * 0.6, ParticleLifetime)
particle.Rate = 0
particle.EmissionDirection = Enum.NormalId.Front
particle.SpreadAngle = Vector2.new(35, 35)
particle.Speed = NumberRange.new(8, 18)
particle.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6), NumberSequenceKeypoint.new(1, 0.1)})
particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, 1)})
particle.Parent = attachment
if ParticleStyle == "Smoke" then
particle.Texture = "rbxassetid://243098098"
particle.Speed = NumberRange.new(2, 6)
elseif ParticleStyle == "Fire" then
particle.Texture = "rbxassetid://241650934"
particle.Speed = NumberRange.new(5, 12)
elseif ParticleStyle == "Explosion" then
particle.Lifetime = NumberRange.new(0.4, 0.8)
particle.Speed = NumberRange.new(15, 30)
particle.SpreadAngle = Vector2.new(80, 80)
particle.Amount = ParticleAmount * 2
elseif ParticleStyle == "Magic" then
particle.Texture = "rbxassetid://243098098"
particle.RotSpeed = NumberRange.new(-200, 200)
end
particle:Emit(ParticleAmount)
task.delay(ParticleLifetime + 0.5, function()
if attachment then attachment:Destroy() end
end)
end
UserInputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 and ParticleEffectsEnabled and isAlive() then
local ray = camera:ViewportPointToRay(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
raycastParams.FilterDescendantsInstances = {camera, player.Character or {}}
local result = Workspace:Raycast(ray.Origin, ray.Direction * 500, raycastParams)
if result and result.Position then
createParticleEffect(result.Position)
else
local muzzlePos = camera.CFrame.Position + camera.CFrame.LookVector * 3
createParticleEffect(muzzlePos)
end
end
end)
--// KILL EFFECTS (NEW)
local KillEffectsEnabled = false
local KillEffectColor = Color3.fromRGB(255, 0, 100)
local KillEffectDuration = 0.8
local KillEffectIntensity = 0.6
local killFlashGui = nil
local killText = nil
local function createKillEffects()
if not KillEffectsEnabled then return end
-- Screen Flash
if not killFlashGui then
killFlashGui = Instance.new("ScreenGui")
killFlashGui.ResetOnSpawn = false
killFlashGui.Parent = player:WaitForChild("PlayerGui")
local flashFrame = Instance.new("Frame")
flashFrame.Size = UDim2.new(1, 0, 1, 0)
flashFrame.BackgroundColor3 = KillEffectColor
flashFrame.BackgroundTransparency = 1
flashFrame.BorderSizePixel = 0
flashFrame.Parent = killFlashGui
killFlashGui.Frame = flashFrame
end
local flash = killFlashGui.Frame
flash.BackgroundTransparency = 0.2
TweenService:Create(flash, TweenInfo.new(KillEffectDuration, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1}):Play()
-- Floating Kill Text
local text = Instance.new("TextLabel")
text.Size = UDim2.new(0, 300, 0, 100)
text.Position = UDim2.new(0.5, -150, 0.4, 0)
text.BackgroundTransparency = 1
text.Text = "KILL"
text.TextColor3 = KillEffectColor
text.TextScaled = true
text.Font = Enum.Font.GothamBold
text.TextStrokeTransparency = 0
text.TextStrokeColor3 = Color3.new(0, 0, 0)
text.Parent = player.PlayerGui
TweenService:Create(text, TweenInfo.new(KillEffectDuration * 0.7, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0.5, -150, 0.25, 0), TextTransparency = 1}):Play()
task.delay(KillEffectDuration, function()
if text and text.Parent then text:Destroy() end
end)
end
-- Detect kills (monitor enemy health dropping to 0)
task.spawn(function()
local lastHealth = {}
while task.wait(0.1) do
if not KillEffectsEnabled then continue end
local enemyFolder = getEnemyFolder()
if not enemyFolder then continue end
for _, enemy in ipairs(enemyFolder:GetChildren()) do
local hum = enemy:FindFirstChildOfClass("Humanoid")
if hum then
local currentHealth = hum.Health
if lastHealth[enemy] and lastHealth[enemy] > 0 and currentHealth <= 0 then
createKillEffects()
end
lastHealth[enemy] = currentHealth
end
end
end
end)
--// Visuals Tab UI
Tab_Visuals:CreateSection("ESP Master Switch")
Tab_Visuals:CreateToggle({Name = "Enable Player ESP", CurrentValue = false, Flag = "ESPToggle", Callback = function(Value) EspEnabled = Value end})
Tab_Visuals:CreateSection("ESP Visual Settings")
Tab_Visuals:CreateToggle({Name = "Show Box", CurrentValue = true, Flag = "EspBoxToggle", Callback = function(Value) EspBox = Value end})
Tab_Visuals:CreateToggle({Name = "Show Health Bar", CurrentValue = true, Flag = "EspHealthToggle", Callback = function(Value) EspHealth = Value end})
Tab_Visuals:CreateToggle({Name = "Show Name", CurrentValue = true, Flag = "EspNameToggle", Callback = function(Value) EspName = Value end})
Tab_Visuals:CreateToggle({Name = "Show Distance", CurrentValue = true, Flag = "EspDistanceToggle", Callback = function(Value) EspDistance = Value end})
Tab_Visuals:CreateToggle({Name = "Show Skeleton", CurrentValue = false, Flag = "EspSkeletonToggle", Callback = function(Value) EspSkeleton = Value end})
Tab_Visuals:CreateToggle({Name = "Show Head Dot", CurrentValue = false, Flag = "EspHeadDotToggle", Callback = function(Value) EspHeadDot = Value end})
Tab_Visuals:CreateToggle({Name = "Show Tracers", CurrentValue = false, Flag = "EspTracersToggle", Callback = function(Value) EspTracers = Value end})
Tab_Visuals:CreateSection("Rainbow Settings")
Tab_Visuals:CreateToggle({Name = "๐ Rainbow ESP", CurrentValue = false, Flag = "RainbowESPToggle", Callback = function(Value) RainbowESP = Value end})
Tab_Visuals:CreateSlider({Name = "Rainbow ESP Speed", Range = {0.1, 10}, Increment = 0.1, Suffix = "", CurrentValue = 2.0, Flag = "RainbowESPSpeed", Callback = function(Value) RainbowESP_Speed = Value end})
Tab_Visuals:CreateToggle({Name = "๐ Rainbow Chams", CurrentValue = false, Flag = "RainbowChamsToggle", Callback = function(Value) RainbowChams = Value end})
Tab_Visuals:CreateSlider({Name = "Rainbow Chams Speed", Range = {0.1, 10}, Increment = 0.1, Suffix = "", CurrentValue = 2.0, Flag = "RainbowChamsSpeed", Callback = function(Value) RainbowChams_Speed = Value end})
Tab_Visuals:CreateSection("Player Chams (See Through Walls)")
Tab_Visuals:CreateToggle({Name = "Enable Player Chams", CurrentValue = false, Flag = "ChamsToggle", Callback = function(Value) ChamsEnabled = Value; if not Value then for _, hl in pairs(chamsCache) do hl:Destroy() end chamsCache = {} end end})
Tab_Visuals:CreateColorPicker({Name = "Player Chams Color (when Rainbow off)", Color = Color3.fromRGB(255, 0, 255), Flag = "ChamsColorPicker", Callback = function(Value) ChamsColor = Value end})
Tab_Visuals:CreateSlider({Name = "Player Chams Fill Transparency", Range = {0, 1}, Increment = 0.05, Suffix = "", CurrentValue = 0.7, Flag = "ChamsFillTrans", Callback = function(Value) ChamsFillTransparency = Value end})
Tab_Visuals:CreateSlider({Name = "Player Chams Outline Transparency", Range = {0, 1}, Increment = 0.05, Suffix = "", CurrentValue = 0, Flag = "ChamsOutlineTrans", Callback = function(Value) ChamsOutlineTransparency = Value end})
Tab_Visuals:CreateSection("Weapon Chams")
Tab_Visuals:CreateToggle({Name = "Enable Weapon Chams", CurrentValue = false, Flag = "WeaponChamsToggle", Callback = function(Value) WeaponChamsEnabled = Value end})
Tab_Visuals:CreateColorPicker({Name = "Weapon Chams Color", Color = Color3.fromRGB(0, 255, 255), Flag = "WeaponChamsColorPicker", Callback = function(Value) WeaponChamsColor = Value end})
Tab_Visuals:CreateSlider({Name = "Weapon Chams Fill Transparency", Range = {0, 1}, Increment = 0.05, Suffix = "", CurrentValue = 0.5, Flag = "WeaponChamsFillTrans", Callback = function(Value) WeaponChamsFillTransparency = Value end})
Tab_Visuals:CreateSlider({Name = "Weapon Chams Outline Transparency", Range = {0, 1}, Increment = 0.05, Suffix = "", CurrentValue = 0, Flag = "WeaponChamsOutlineTrans", Callback = function(Value) WeaponChamsOutlineTransparency = Value end})
Tab_Visuals:CreateSection("Advanced Bullet Tracers")
Tab_Visuals:CreateToggle({Name = "Enable Bullet Tracers", CurrentValue = false, Flag = "BulletTracersToggle", Callback = function(Value) BulletTracersEnabled = Value end})
Tab_Visuals:CreateDropdown({Name = "Tracer Pattern", Options = {"Straight", "Wave", "Spiral", "Dashed"}, CurrentOption = {"Straight"}, Flag = "TracerPattern", Callback = function(Option) BulletTracerPattern = Option[1] end})
Tab_Visuals:CreateColorPicker({Name = "Tracer Color", Color = Color3.fromRGB(0, 255, 255), Flag = "BulletTracerColorPicker", Callback = function(Value) BulletTracerColor = Value end})
Tab_Visuals:CreateSlider({Name = "Tracer Transparency", Range = {0, 1}, Increment = 0.05, Suffix = "", CurrentValue = 0.3, Flag = "BulletTracerTrans", Callback = function(Value) BulletTracerTransparency = Value end})
Tab_Visuals:CreateSlider({Name = "Tracer Duration", Range = {0.1, 2}, Increment = 0.1, Suffix = " sec", CurrentValue = 0.6, Flag = "BulletTracerDuration", Callback = function(Value) BulletTracerDuration = Value end})
Tab_Visuals:CreateSlider({Name = "Tracer Thickness", Range = {0.1, 1}, Increment = 0.05, Suffix = "", CurrentValue = 0.2, Flag = "BulletTracerThickness", Callback = function(Value) BulletTracerThickness = Value end})
Tab_Visuals:CreateSection("Particle Effects")
Tab_Visuals:CreateToggle({Name = "Enable Particle Effects", CurrentValue = false, Flag = "ParticleEffectsToggle", Callback = function(Value) ParticleEffectsEnabled = Value end})
Tab_Visuals:CreateColorPicker({Name = "Particle Color", Color = Color3.fromRGB(255, 100, 0), Flag = "ParticleColorPicker", Callback = function(Value) ParticleColor = Value end})
Tab_Visuals:CreateSlider({Name = "Particle Amount", Range = {5, 80}, Increment = 5, Suffix = "", CurrentValue = 25, Flag = "ParticleAmount", Callback = function(Value) ParticleAmount = Value end})
Tab_Visuals:CreateSlider({Name = "Particle Lifetime", Range = {0.3, 3}, Increment = 0.1, Suffix = " sec", CurrentValue = 1.2, Flag = "ParticleLifetime", Callback = function(Value) ParticleLifetime = Value end})
Tab_Visuals:CreateDropdown({Name = "Particle Style", Options = {"Spark", "Smoke", "Fire", "Explosion", "Magic"}, CurrentOption = {"Spark"}, Flag = "ParticleStyle", Callback = function(Option) ParticleStyle = Option[1] end})
--// Kill Effects Section
Tab_Visuals:CreateSection("Kill Effects")
Tab_Visuals:CreateToggle({Name = "Enable Kill Effects", CurrentValue = false, Flag = "KillEffectsToggle", Callback = function(Value) KillEffectsEnabled = Value end})
Tab_Visuals:CreateColorPicker({Name = "Kill Effect Color", Color = Color3.fromRGB(255, 0, 100), Flag = "KillEffectColorPicker", Callback = function(Value) KillEffectColor = Value end})
Tab_Visuals:CreateSlider({Name = "Kill Effect Duration", Range = {0.3, 2}, Increment = 0.1, Suffix = " sec", CurrentValue = 0.8, Flag = "KillEffectDuration", Callback = function(Value) KillEffectDuration = Value end})
Tab_Visuals:CreateSlider({Name = "Kill Effect Intensity", Range = {0.2, 1}, Increment = 0.1, Suffix = "", CurrentValue = 0.6, Flag = "KillEffectIntensity", Callback = function(Value) KillEffectIntensity = Value end})
Tab_Visuals:CreateSection("ESP Customization (when Rainbow is off)")
Tab_Visuals:CreateColorPicker({Name = "Box Color", Color = Color3.fromRGB(255, 50, 50), Flag = "BoxColorPicker", Callback = function(Value) BoxColor = Value end})
Tab_Visuals:CreateColorPicker({Name = "Text Color (Name/Distance)", Color = Color3.fromRGB(255, 255, 255), Flag = "TextColorPicker", Callback = function(Value) TextColor = Value end})
Tab_Visuals:CreateColorPicker({Name = "Skeleton Color", Color = Color3.fromRGB(255, 255, 255), Flag = "SkeletonColorPicker", Callback = function(Value) SkeletonColor = Value end})
Tab_Visuals:CreateColorPicker({Name = "Tracer Color", Color = Color3.fromRGB(255, 50, 50), Flag = "TracerColorPicker", Callback = function(Value) TracerColor = Value end})
Tab_Visuals:CreateColorPicker({Name = "Head Dot Color", Color = Color3.fromRGB(255, 255, 255), Flag = "HeadDotColorPicker", Callback = function(Value) HeadDotColor = Value end})
Tab_Visuals:CreateSlider({Name = "Text Size", Range = {10, 20}, Increment = 1, Suffix = "", CurrentValue = 15, Flag = "EspTextSize", Callback = function(Value) EspTextSize = Value end})
Tab_Visuals:CreateSlider({Name = "Box Thickness", Range = {1, 3}, Increment = 0.1, Suffix = "", CurrentValue = 1.5, Flag = "BoxThickness", Callback = function(Value) BoxThickness = Value end})
Tab_Visuals:CreateSlider({Name = "Max ESP Distance", Range = {0, 500}, Increment = 10, Suffix = " studs (0 = unlimited)", CurrentValue = 0, Flag = "EspDistanceLimit", Callback = function(Value) EspMaxDistance = Value end})
--// Configs
Tab_Visuals:CreateSection("Configs")
Tab_Visuals:CreateButton({Name = "Save Current Config", Callback = function() Rayfield:SaveConfiguration() Rayfield:Notify({Title = "Config Saved", Content = "Settings saved successfully!", Duration = 3}) end})
Tab_Visuals:CreateButton({Name = "Load Last Config", Callback = function() Rayfield:LoadConfiguration() Rayfield:Notify({Title = "Config Loaded", Content = "Last config loaded.", Duration = 3}) end})
--// World & Effects (Anti-Flash / Anti-Smoke only)
local AntiFlashEnabled, AntiSmokeEnabled = false, false
Tab_Visuals:CreateSection("World & Effects")
Tab_Visuals:CreateToggle({Name = "Anti-Flashbang", CurrentValue = false, Flag = "AntiFlashToggle", Callback = function(Value) AntiFlashEnabled = Value end})
Tab_Visuals:CreateToggle({Name = "Anti-Smoke", CurrentValue = false, Flag = "AntiSmokeToggle", Callback = function(Value) AntiSmokeEnabled = Value end})
task.spawn(function()
while task.wait(0.2) do
if AntiFlashEnabled then
local gui = player.PlayerGui:FindFirstChild("FlashbangEffect")
local effect = game:GetService("Lighting"):FindFirstChild("FlashbangColorCorrection")
if gui then gui:Destroy() end
if effect then effect:Destroy() end
end
end
end)
task.spawn(function()
while task.wait(0.5) do
if AntiSmokeEnabled then
local debris = Workspace:FindFirstChild("Debris")
if debris then
for _, folder in ipairs(debris:GetChildren()) do
if string.match(folder.Name, "Voxel") then folder:ClearAllChildren(); folder:Destroy() end
end
end
end
end
end)
Rayfield:LoadConfiguration()