for _, v in pairs(getgc(true)) do if type(v) == "table" and rawget(v, "indexInstance") then local idx = rawget(v, "indexInstance") if type(idx) == "table" and idx[1] == "kick" then setreadonly(v, false) v.tvk = { "kick", newcclosure(function() return task.wait(999e9) end) } setreadonly(v, true) end end end task.wait(4) task.spawn(function() pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Pixeluted/adoniscries/main/Source.lua", true))() end) end) task.spawn(function() pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/SUUUUUS00000/MEGGD-Anti-kick/refs/heads/main/MEGGD%20Best%20Anti-kick.lua'))() end) end) task.wait(2) local Rayfield pcall(function() Rayfield = loadstring(game:HttpGet("https://sirius.menu/gen2"))() end) if not Rayfield then return end -- Services & Variables local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local GuiService = game:GetService("GuiService") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera -- Feature Settings local SilentAimEnabled = false local WallCheckEnabled = false local KillCheckEnabled = true local TeamCheckEnabled = false -- เพิ่มตัวแปร Team Check local AimPart = "Head" local SilentAimFOV = 150 local ShowFOV = false -- Spread Settings local SpreadEnabled = false local SpreadAmount = 0 -- Target Head Circle Settings local TargetHeadDotEnabled = false local TargetHeadDotColor = Color3.fromRGB(255, 100, 100) -- Target Head Circle Drawings (Main & Outline) local TargetHeadCircleOutline = nil local TargetHeadCircle = nil if Drawing and Drawing.new then pcall(function() TargetHeadCircleOutline = Drawing.new("Circle") TargetHeadCircleOutline.Thickness = 4 TargetHeadCircleOutline.Color = Color3.fromRGB(0, 0, 0) TargetHeadCircleOutline.Filled = false TargetHeadCircleOutline.Transparency = 1 TargetHeadCircleOutline.NumSides = 30 TargetHeadCircleOutline.Visible = false TargetHeadCircle = Drawing.new("Circle") TargetHeadCircle.Thickness = 2.5 TargetHeadCircle.Color = TargetHeadDotColor TargetHeadCircle.Filled = false TargetHeadCircle.Transparency = 1 TargetHeadCircle.NumSides = 30 TargetHeadCircle.Visible = false end) end -- ESP Settings local ESPBoxEnabled = false local ESPNameEnabled = false local ESPHealthEnabled = false local ESPOutlineEnabled = true local ESPBoxColor = Color3.fromRGB(255, 255, 255) local ESPNameColor = Color3.fromRGB(255, 255, 255) local ESPObjects = {} -- Dynamic Target Tracking local CurrentTarget = nil local CurrentAimTargetPosition = nil -- FOV Circle Drawings (Main & Outline) local FOVCircleOutline = nil local FOVCircle = nil if Drawing and Drawing.new then pcall(function() FOVCircleOutline = Drawing.new("Circle") FOVCircleOutline.Thickness = 3.5 FOVCircleOutline.Color = Color3.fromRGB(0, 0, 0) FOVCircleOutline.Filled = false FOVCircleOutline.Transparency = 0.8 FOVCircleOutline.NumSides = 60 FOVCircleOutline.Visible = false FOVCircle = Drawing.new("Circle") FOVCircle.Thickness = 1.5 FOVCircle.Color = Color3.fromRGB(255, 100, 100) FOVCircle.Filled = false FOVCircle.Transparency = 0.8 FOVCircle.NumSides = 60 FOVCircle.Visible = false end) end -- Raycast Params for Wall Check local WallCheckParams = RaycastParams.new() WallCheckParams.FilterType = Enum.RaycastFilterType.Exclude -- Helper Function Check Character local function IsValidTarget(plr) if not plr or plr == LocalPlayer or not plr.Parent then return false end -- Team Check Logic if TeamCheckEnabled then if plr.Team and LocalPlayer.Team and plr.Team == LocalPlayer.Team then return false end end local char = plr.Character if not char or not char.Parent then return false end local hum = char:FindFirstChildOfClass("Humanoid") if not hum then return false end if KillCheckEnabled and hum.Health <= 0 then return false end local part = char:FindFirstChild(AimPart) return part ~= nil end -- Calculate Spread Direction Vector local function ApplySpread(direction) if not SpreadEnabled or SpreadAmount <= 0 then return direction end local spreadFactor = (SpreadAmount / 10) * 0.05 local randomOffset = Vector3.new( (math.random() - 0.5) * spreadFactor, (math.random() - 0.5) * spreadFactor, (math.random() - 0.5) * spreadFactor ) return (direction + randomOffset).Unit end -- Create BillboardGui Title Label for Player Name local function CreateNameTag(player, char) local head = char:WaitForChild("Head", 3) if not head then return nil end local existing = head:FindFirstChild("HookSense_NameTag") if existing then existing:Destroy() end local billboard = Instance.new("BillboardGui") billboard.Name = "HookSense_NameTag" billboard.Adornee = head billboard.Size = UDim2.new(0, 200, 0, 50) billboard.StudsOffset = Vector3.new(0, 2, 0) billboard.AlwaysOnTop = true local titleLabel = Instance.new("TextLabel") titleLabel.Name = "TitleLabel" titleLabel.Size = UDim2.new(1, 0, 1, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = player.Name titleLabel.TextColor3 = ESPNameColor titleLabel.TextSize = 14 titleLabel.Font = Enum.Font.SourceSansBold titleLabel.TextStrokeTransparency = 0 titleLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) titleLabel.Visible = ESPNameEnabled titleLabel.Parent = billboard billboard.Parent = head return titleLabel end -- Hide ESP Helper Function local function HideESP(objs) objs.BoxOutline.Visible = false objs.Box.Visible = false objs.HealthOutline.Visible = false objs.HealthBar.Visible = false if objs.TitleLabel and objs.TitleLabel.Parent then objs.TitleLabel.Visible = false end end -- ESP Object Management Functions local function CreateESP(player) if ESPObjects[player] or player == LocalPlayer then return end local objects = { BoxOutline = Drawing.new("Square"), Box = Drawing.new("Square"), HealthOutline = Drawing.new("Square"), HealthBar = Drawing.new("Square"), TitleLabel = nil } -- Box Setup objects.BoxOutline.Thickness = 3 objects.BoxOutline.Color = Color3.fromRGB(0, 0, 0) objects.BoxOutline.Filled = false objects.BoxOutline.Visible = false objects.Box.Thickness = 1 objects.Box.Color = ESPBoxColor objects.Box.Filled = false objects.Box.Visible = false -- Health Bar Setup objects.HealthOutline.Thickness = 1 objects.HealthOutline.Color = Color3.fromRGB(0, 0, 0) objects.HealthOutline.Filled = true objects.HealthOutline.Visible = false objects.HealthBar.Thickness = 1 objects.HealthBar.Filled = true objects.HealthBar.Visible = false ESPObjects[player] = objects if player.Character then task.spawn(function() objects.TitleLabel = CreateNameTag(player, player.Character) end) end player.CharacterAdded:Connect(function(char) task.spawn(function() if ESPObjects[player] then ESPObjects[player].TitleLabel = CreateNameTag(player, char) end end) end) end local function RemoveESP(player) if ESPObjects[player] then for name, obj in pairs(ESPObjects[player]) do if name ~= "TitleLabel" and typeof(obj) == "table" and obj.Remove then pcall(function() obj:Remove() end) end end ESPObjects[player] = nil end end -- Initialize ESP for Current Players for _, plr in ipairs(Players:GetPlayers()) do CreateESP(plr) end Players.PlayerAdded:Connect(CreateESP) Players.PlayerRemoving:Connect(RemoveESP) -- Wall Check Function local function IsVisible(targetPart) if not WallCheckEnabled then return true end if not LocalPlayer.Character then return false end local origin = Camera.CFrame.Position local destination = targetPart.Position local direction = destination - origin WallCheckParams.FilterDescendantsInstances = {LocalPlayer.Character, Camera} local result = Workspace:Raycast(origin, direction, WallCheckParams) if result then return result.Instance:IsDescendantOf(targetPart.Parent) end return true end -- Calculation Center Viewport Position local function GetCenterPosition() local viewportSize = Camera.ViewportSize return Vector2.new(viewportSize.X / 2, viewportSize.Y / 2) end -- Target Selection Logic (Strict Central FOV Check) local function GetClosestPlayer() local CenterPos = GetCenterPosition() local Closest = nil local MaxDistance = SilentAimFOV for _, player in ipairs(Players:GetPlayers()) do if IsValidTarget(player) then local Part = player.Character:FindFirstChild(AimPart) if Part then local ScreenPos, OnScreen = Camera:WorldToViewportPoint(Part.Position) if OnScreen and IsVisible(Part) then local Distance = (Vector2.new(ScreenPos.X, ScreenPos.Y) - CenterPos).Magnitude if Distance <= MaxDistance then MaxDistance = Distance Closest = player end end end end end return Closest end -- RenderStepped Loop RunService.RenderStepped:Connect(function() local CenterPos = GetCenterPosition() -- Update FOV Circle & FOV Outline if FOVCircle and FOVCircleOutline then FOVCircleOutline.Position = CenterPos FOVCircleOutline.Radius = SilentAimFOV FOVCircleOutline.Visible = ShowFOV FOVCircle.Position = CenterPos FOVCircle.Radius = SilentAimFOV FOVCircle.Visible = ShowFOV end if SilentAimEnabled then CurrentTarget = GetClosestPlayer() if CurrentTarget and CurrentTarget.Character then local Part = CurrentTarget.Character:FindFirstChild(AimPart) if Part then CurrentAimTargetPosition = Part.Position else CurrentAimTargetPosition = nil end else CurrentAimTargetPosition = nil end else CurrentTarget = nil CurrentAimTargetPosition = nil end -- Update Target Head Circle & Head Circle Outline Logic if TargetHeadCircle and TargetHeadCircleOutline then if TargetHeadDotEnabled and CurrentTarget and CurrentTarget.Character then local head = CurrentTarget.Character:FindFirstChild("Head") if head then local headPos, onScreen = Camera:WorldToViewportPoint(head.Position) if onScreen and headPos.Z > 0 then local distance = (Camera.CFrame.Position - head.Position).Magnitude local radius = math.clamp(250 / distance, 8, 45) local headVec2 = Vector2.new(headPos.X, headPos.Y) TargetHeadCircleOutline.Position = headVec2 TargetHeadCircleOutline.Radius = radius TargetHeadCircleOutline.Visible = true TargetHeadCircle.Position = headVec2 TargetHeadCircle.Radius = radius TargetHeadCircle.Color = TargetHeadDotColor TargetHeadCircle.Visible = true else TargetHeadCircleOutline.Visible = false TargetHeadCircle.Visible = false end else TargetHeadCircleOutline.Visible = false TargetHeadCircle.Visible = false end else TargetHeadCircleOutline.Visible = false TargetHeadCircle.Visible = false end end -- Update ESP Drawing Logic for player, objs in pairs(ESPObjects) do local char = player.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local hrp = char and char:FindFirstChild("HumanoidRootPart") if char and hum and hrp and hum.Health > 0 then local hrpCFrame = hrp.CFrame local topWorld = hrpCFrame.Position + Vector3.new(0, 3, 0) local bottomWorld = hrpCFrame.Position - Vector3.new(0, 3.5, 0) local topPos, topOnScreen = Camera:WorldToViewportPoint(topWorld) local bottomPos, bottomOnScreen = Camera:WorldToViewportPoint(bottomWorld) if topOnScreen and bottomOnScreen and topPos.Z > 0 then local height = math.abs(bottomPos.Y - topPos.Y) local width = height * 0.65 local boxPos = Vector2.new(topPos.X - width / 2, topPos.Y) -- Box ESP if ESPBoxEnabled then if ESPOutlineEnabled then objs.BoxOutline.Size = Vector2.new(width, height) objs.BoxOutline.Position = boxPos objs.BoxOutline.Visible = true else objs.BoxOutline.Visible = false end objs.Box.Size = Vector2.new(width, height) objs.Box.Position = boxPos objs.Box.Color = ESPBoxColor objs.Box.Visible = true else objs.BoxOutline.Visible = false objs.Box.Visible = false end -- Health Bar ESP if ESPHealthEnabled then local healthPercent = math.clamp(hum.Health / hum.MaxHealth, 0, 1) local barHeight = height * healthPercent local barPos = Vector2.new(boxPos.X - 6, boxPos.Y + (height - barHeight)) objs.HealthOutline.Size = Vector2.new(3, height + 2) objs.HealthOutline.Position = Vector2.new(boxPos.X - 7, boxPos.Y - 1) objs.HealthOutline.Visible = ESPOutlineEnabled objs.HealthBar.Size = Vector2.new(1, barHeight) objs.HealthBar.Position = barPos objs.HealthBar.Color = Color3.fromRGB(255, 0, 0):Lerp(Color3.fromRGB(0, 255, 0), healthPercent) objs.HealthBar.Visible = true else objs.HealthOutline.Visible = false objs.HealthBar.Visible = false end -- Name Tag Visibility if objs.TitleLabel and objs.TitleLabel.Parent then objs.TitleLabel.Visible = ESPNameEnabled objs.TitleLabel.TextColor3 = ESPNameColor end else HideESP(objs) end else HideESP(objs) end end end) -- Metatable Hooking (__namecall) local OldNamecall OldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(Self, ...) if checkcaller() then return OldNamecall(Self, ...) end local Args = { ... } local Method = getnamecallmethod() if SilentAimEnabled and CurrentAimTargetPosition then if (Method == "ScreenPointToRay" or Method == "ViewportPointToRay") and Self == Camera then local rawDir = (CurrentAimTargetPosition - Camera.CFrame.Position).Unit local finalDir = ApplySpread(rawDir) return Ray.new(Camera.CFrame.Position, finalDir) end if Method == "Raycast" and Self == Workspace then if Args[1] and Args[2] then local rawDir = (CurrentAimTargetPosition - Args[1]).Unit local finalDir = ApplySpread(rawDir) Args[2] = finalDir * Args[2].Magnitude return OldNamecall(Self, table.unpack(Args)) end end if (Method == "FindPartOnRay" or Method == "FindPartOnRayWithIgnoreList" or Method == "FindPartOnRayWithWhitelist") and Self == Workspace then local CurrentRay = Args[1] if CurrentRay and typeof(CurrentRay) == "Ray" then local rawDir = (CurrentAimTargetPosition - CurrentRay.Origin).Unit local finalDir = ApplySpread(rawDir) Args[1] = Ray.new(CurrentRay.Origin, finalDir * CurrentRay.Direction.Magnitude) return OldNamecall(Self, table.unpack(Args)) end end end return OldNamecall(Self, ...) end)) -- Metatable Hooking (__index) local OldIndex OldIndex = hookmetamethod(game, "__index", newcclosure(function(Self, Key) if not checkcaller() and SilentAimEnabled and CurrentTarget then if typeof(Self) == "Instance" and Self:IsA("Mouse") then local char = CurrentTarget.Character local TargetPart = char and char:FindFirstChild(AimPart) if TargetPart then if Key == "Hit" then local rawDir = (TargetPart.Position - Camera.CFrame.Position).Unit local finalDir = ApplySpread(rawDir) local spreadPos = Camera.CFrame.Position + (finalDir * (TargetPart.Position - Camera.CFrame.Position).Magnitude) return CFrame.new(spreadPos) elseif Key == "Target" then return TargetPart end end end end return OldIndex(Self, Key) end)) -- Rayfield UI Setup local Window = Rayfield:CreateWindow({ Name = "weipz Hub", LoadingTitle = "Rayfield Gen2", LoadingSubtitle = "by weipz", ConfigurationSaving = { Enabled = false }, Discord = { Enabled = false }, KeySystem = false }) local CombatTab = Window:CreateTab({ Name = "Combat", Icon = 4483362458 }) CombatTab:CreateSection("Silent Aim Features") CombatTab:CreateToggle({ Name = "Enable Silent Aim", CurrentValue = false, Flag = "SilentAimToggle", Callback = function(Value) SilentAimEnabled = Value end, }) CombatTab:CreateToggle({ Name = "Wall Check", CurrentValue = false, Flag = "WallCheckToggle", Callback = function(Value) WallCheckEnabled = Value end, }) CombatTab:CreateToggle({ Name = "Alive Check (Ignore Dead)", CurrentValue = true, Flag = "KillCheckToggle", Callback = function(Value) KillCheckEnabled = Value end, }) -- เพิ่ม Toggle สำหรับ Team Check ในเมนู CombatTab:CreateToggle({ Name = "Team Check", CurrentValue = false, Flag = "TeamCheckToggle", Callback = function(Value) TeamCheckEnabled = Value end, }) CombatTab:CreateDropdown({ Name = "Target Part", Options = {"Head", "HumanoidRootPart", "Torso"}, CurrentOption = {"Head"}, MultipleOptions = false, Flag = "AimPartDropdown", Callback = function(Options) AimPart = type(Options) == "table" and Options[1] or Options end, }) CombatTab:CreateSection("Bullet Spread Settings") CombatTab:CreateToggle({ Name = "Enable Bullet Spread", CurrentValue = false, Flag = "SpreadToggle", Callback = function(Value) SpreadEnabled = Value end, }) CombatTab:CreateSlider({ Name = "Spread Amount", Range = {0, 10}, Increment = 1, Suffix = "Level", CurrentValue = 0, Flag = "SpreadAmountSlider", Callback = function(Value) SpreadAmount = Value end, }) CombatTab:CreateSection("Target Visuals") CombatTab:CreateToggle({ Name = "Target Head Dot", CurrentValue = false, Flag = "TargetHeadDotToggle", Callback = function(Value) TargetHeadDotEnabled = Value end, }) CombatTab:CreateColorPicker({ Name = "Head Dot Color", Color = Color3.fromRGB(255, 100, 100), Flag = "TargetHeadDotColorPicker", Callback = function(Value) TargetHeadDotColor = Value if TargetHeadCircle then TargetHeadCircle.Color = Value end end, }) CombatTab:CreateSection("FOV Settings") CombatTab:CreateToggle({ Name = "Show FOV Circle", CurrentValue = false, Flag = "ShowFOVToggle", Callback = function(Value) ShowFOV = Value end, }) CombatTab:CreateSlider({ Name = "Silent Aim FOV", Range = {30, 500}, Increment = 5, Suffix = "px", CurrentValue = 150, Flag = "SilentAimFOVSlider", Callback = function(Value) SilentAimFOV = Value end, }) CombatTab:CreateColorPicker({ Name = "FOV Circle Color", Color = Color3.fromRGB(255, 100, 100), Flag = "FOVCircleColorPicker", Callback = function(Value) if FOVCircle then FOVCircle.Color = Value end end, }) -- Visuals / ESP Tab local ESPTab = Window:CreateTab({ Name = "Visuals", Icon = 4483362458 }) ESPTab:CreateSection("Player ESP Features") ESPTab:CreateToggle({ Name = "Enable Box ESP", CurrentValue = false, Flag = "ESPBoxToggle", Callback = function(Value) ESPBoxEnabled = Value end, }) ESPTab:CreateToggle({ Name = "Enable Name ESP", CurrentValue = false, Flag = "ESPNameToggle", Callback = function(Value) ESPNameEnabled = Value end, }) ESPTab:CreateToggle({ Name = "Enable Health Bar", CurrentValue = false, Flag = "ESPHealthToggle", Callback = function(Value) ESPHealthEnabled = Value end, }) ESPTab:CreateToggle({ Name = "Enable ESP Outline", CurrentValue = true, Flag = "ESPOutlineToggle", Callback = function(Value) ESPOutlineEnabled = Value end, }) ESPTab:CreateSection("ESP Colors") ESPTab:CreateColorPicker({ Name = "Box Color", Color = Color3.fromRGB(255, 255, 255), Flag = "ESPBoxColorPicker", Callback = function(Value) ESPBoxColor = Value end, }) ESPTab:CreateColorPicker({ Name = "Name Color", Color = Color3.fromRGB(255, 255, 255), Flag = "ESPNameColorPicker", Callback = function(Value) ESPNameColor = Value end, }) local SettingsTab = Window:CreateTab({ Name = "Settings", Icon = 4483362458 }) SettingsTab:CreateSection("Theme Presets") SettingsTab:CreateDropdown({ Name = "Select Theme", Options = {"Default", "Frost", "Amethyst", "Rose", "Cobalt", "Ember"}, CurrentOption = {"Ember"}, MultipleOptions = false, Flag = "ThemePresetDropdown", Callback = function(Options) local theme = type(Options) == "table" and Options[1] or Options Window:ChangeTheme(theme) end, })