Загрузка данных


-- =========================================================================================
-- MMV ADVANCED COMBAT FRAMEWORK & FLICKBOT SYSTEM FOR XENO EXECUTOR (FIXED LMB)
-- Version: 4.8.3-Release (Hardware Click Integration)
-- Target Environment: Roblox / Murder Mystery V / Xeno Environment
-- =========================================================================================

--[ [ SAFETY & ENVIRONMENT BOOTSTRAP ] --
if not syn and not PROTOSCREW and not identifyexecutor and not game:GetService("CoreGui") then
    warn("[Framework]: Executing under standard environment constraints.")
end

local CoreGui = game:GetService("CoreGui")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local TweenService = game:GetService("TweenService")
local Lighting = game:GetService("Lighting")
local HttpService = game:GetService("HttpService")
local VirtualInputManager = game:GetService("VirtualInputManager")

local LocalPlayer = Players.LocalPlayer
local CurrentCamera = Workspace.CurrentCamera

--[ [ CONFIGURATION STRUCT ] --
local FrameworkConfig = {
    MasterSwitch = true,
    ActivationKey = Enum.KeyCode.E,
    MaxRaycastDistance = 1000,
    TargetingPriority = "Distance",
    AimOffset = Vector3.new(0, 1.35, 0),
    PreFireDelay = 0.015,
    PostFireDelay = 0.035,
    SmoothReturn = false,
    ReturnSpeed = 0.05,
    DebugMode = true,
    VisualIndicators = {
        Enabled = true,
        BoxColor = Color3.fromRGB(255, 50, 50),
        TextColor = Color3.fromRGB(255, 255, 255)
    },
    SecurityBypass = {
        BypassType = "XenoOptimized",
        SpoofUserIdentity = false,
        AntiCheatMitigation = true
    }
}

--[ [ STATE MANAGEMENT SYSTEM ] --
local FrameworkState = {
    IsInitialized = false,
    ActiveConnections = {},
    CachedTargets = {},
    LastExecutionTick = 0,
    ExecutionCooldown = 0.1,
    CurrentTargetInstance = nil,
    OriginalCameraCFrame = CFrame.new(),
    SessionStats = {
        TotalFlicks = 0,
        SuccessfulShots = 0,
        FalsePositives = 0
    }
}

--[ [ LOGGING & TELEMETRY MODULE ] --
local Logger = {}
function Logger.Info(Message)
    if FrameworkConfig.DebugMode then
        print(string.format("[MMV-Framework][INFO][%s]: %s", os.date("%H:%M:%S"), tostring(Message)))
    end
end

function Logger.Warning(Message)
    print(string.format("[MMV-Framework][WARN][%s]: %s", os.date("%H:%M:%S"), tostring(Message)))
end

function Logger.Error(Message)
    warn(string.format("[MMV-Framework][ERROR][%s]: %s", os.date("%H:%M:%S"), tostring(Message)))
end

Logger.Info("Bootstrapping core memory segments...")
Logger.Info("Allocating heap structures for Xeno hook architecture...")

--[ [ UTILITY MATHEMATICS & RAYCAST MODULE ] --
local MathUtility = {}

function MathUtility.CalculateVectorMagnitude(VectorA, VectorB)
    return (VectorA - VectorB).Magnitude
end

function MathUtility.WorldToScreenPoint(WorldPosition)
    local Vector, OnScreen = CurrentCamera:WorldToScreenPoint(WorldPosition)
    return Vector2.new(Vector.X, Vector.Y), OnScreen
end

function MathUtility.GetScreenCenter()
    local ViewportSize = CurrentCamera.ViewportSize
    return Vector2.new(ViewportSize.X / 2, ViewportSize.Y / 2)
end

function MathUtility.ValidatePart(InstanceObject)
    if not InstanceObject then return false end
    if not InstanceObject:IsA("BasePart") then return false end
    if InstanceObject.Transparency > 0.95 then return false end
    return true
end

--[ [ ROLE & ENTITY RECOGNITION SUBSYSTEM ] --
local EntityAnalyzer = {}

function EntityAnalyzer.InspectBackpack(PlayerInstance)
    local Backpack = PlayerInstance:FindFirstChild("Backpack")
    if not Backpack then return false, nil end
    
    for _, Item in ipairs(Backpack:GetChildren()) do
        if Item:IsA("Tool") then
            local ItemName = string.lower(Item.Name)
            if string.find(ItemName, "knife") or string.find(ItemName, "нож") or string.find(ItemName, "murder") or string.find(ItemName, "blade") then
                return true, Item
            end
        end
    end
    return false, nil
end

function EntityAnalyzer.InspectCharacter(PlayerInstance)
    local Character = PlayerInstance.Character
    if not Character then return false, nil end
    
    local ActiveTool = Character:FindFirstChildOfClass("Tool")
    if ActiveTool then
        local ToolName = string.lower(ActiveTool.Name)
        if string.find(ToolName, "knife") or string.find(ToolName, "нож") or string.find(ToolName, "murder") or string.find(ToolName, "blade") then
            return true, ActiveTool
        end
    end
    
    return false, nil
end

function EntityAnalyzer.IsTargetMurderer(PlayerInstance)
    if PlayerInstance == LocalPlayer then return false end
    
    local InChar, CharTool = EntityAnalyzer.InspectCharacter(PlayerInstance)
    if InChar then return true, CharTool end
    
    local InBack, BackTool = EntityAnalyzer.InspectBackpack(PlayerInstance)
    if InBack then return true, BackTool end
    
    return false, nil
end

--[ [ TARGET RESOLUTION & SCANNER SUBSYSTEM ] --
local TargetScanner = {}

function TargetScanner.ScanForThreats()
    local PotentialTargets = {}
    local AllPlayers = Players:GetPlayers()
    
    for Index = 1, #AllPlayers do
        local TargetPlayer = AllPlayers[Index]
        if TargetPlayer ~= LocalPlayer and TargetPlayer.Character then
            local IsMurderer, DetectedTool = EntityAnalyzer.IsTargetMurderer(TargetPlayer)
            
            if IsMurderer then
                local Character = TargetPlayer.Character
                local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")
                local Humanoid = Character:FindFirstChildOfClass("Humanoid")
                
                if HumanoidRootPart and Humanoid and Humanoid.Health > 0 then
                    local LocalCharacter = LocalPlayer.Character
                    if LocalCharacter then
                        local LocalRootPart = LocalCharacter:FindFirstChild("HumanoidRootPart")
                        if LocalRootPart then
                            local Distance = MathUtility.CalculateVectorMagnitude(LocalRootPart.Position, HumanoidRootPart.Position)
                            
                            if Distance <= FrameworkConfig.MaxRaycastDistance then
                                table.insert(PotentialTargets, {
                                    Player = TargetPlayer,
                                    Character = Character,
                                    RootPart = HumanoidRootPart,
                                    Distance = Distance,
                                    Tool = DetectedTool
                                })
                            end
                        end
                    end
                end
            end
        end
    end
    
    if #PotentialTargets == 0 then
        return nil
    end
    
    table.sort(PotentialTargets, function(A, B)
        return A.Distance < B.Distance
    end)
    
    return PotentialTargets[1].RootPart, PotentialTargets[1].Player
end

--[ [ WEAPON INTERACTION & FIRE CONTROL SUBSYSTEM ] --
local FireControl = {}

function FireControl.GetLocalWeapon()
    local Character = LocalPlayer.Character
    if not Character then return nil end
    
    local Tool = Character:FindFirstChildOfClass("Tool")
    if Tool then
        local ToolName = string.lower(Tool.Name)
        if string.find(ToolName, "gun") or string.find(ToolName, "revolver") or string.find(ToolName, "pistol") or string.find(ToolName, "шериф") or string.find(ToolName, "пистолет") then
            return Tool
        end
    end
    
    local Backpack = LocalPlayer:FindFirstChild("Backpack")
    if Backpack then
        for _, Item in ipairs(Backpack:GetChildren()) do
            if Item:IsA("Tool") then
                local ItemName = string.lower(Item.Name)
                if string.find(ItemName, "gun") or string.find(ItemName, "revolver") or string.find(ItemName, "pistol") or string.find(ItemName, "шериф") or string.find(ItemName, "пистолет") then
                    return Item
                end
            end
        end
    end
    
    return nil
end

function FireControl.ExecuteTriggerPull()
    local Character = LocalPlayer.Character
    if not Character then return false end
    
    -- Принудительно экипируем оружие, если оно в рюкзаке
    local CurrentTool = Character:FindFirstChildOfClass("Tool")
    if not CurrentTool then
        local TargetWeapon = FireControl.GetLocalWeapon()
        if TargetWeapon then
            TargetWeapon.Parent = Character
            task.wait(0.02)
        end
    end
    
    -- Активируем тул в коде + Эмулируем аппаратный клик ЛКМ через VirtualInputManager
    pcall(function()
        local ActiveTool = Character:FindFirstChildOfClass("Tool")
        if ActiveTool then
            ActiveTool:Activate()
        end
        
        local ViewportSize = CurrentCamera.ViewportSize
        local CenterX, CenterY = ViewportSize.X / 2, ViewportSize.Y / 2
        
        VirtualInputManager:SendMouseButtonEvent(CenterX, CenterY, 0, true, game, 0)
        task.wait(0.02)
        VirtualInputManager:SendMouseButtonEvent(CenterX, CenterY, 0, false, game, 0)
    end)
    
    return true
end

--[ [ CORE FLICK EXECUTION ENGINE ] --
local FlickEngine = {}

function FlickEngine.ExecuteFlickSequence()
    local CurrentTick = tick()
    if CurrentTick - FrameworkState.LastExecutionTick < FrameworkState.ExecutionCooldown then
        return
    end
    FrameworkState.LastExecutionTick = CurrentTick
    
    if not FrameworkConfig.MasterSwitch then return end
    
    local TargetRootPart, TargetPlayer = TargetScanner.ScanForThreats()
    
    if TargetRootPart and TargetPlayer then
        FrameworkState.CurrentTargetInstance = TargetRootPart
        FrameworkState.SessionStats.TotalFlicks = FrameworkState.SessionStats.TotalFlicks + 1
        
        Logger.Info(string.format("Threat identified! Locking onto target: %s", TargetPlayer.Name))
        
        local LocalCharacter = LocalPlayer.Character
        if not LocalCharacter then return end
        local LocalRootPart = LocalCharacter:FindFirstChild("HumanoidRootPart")
        if not LocalRootPart then return end
        
        FrameworkState.OriginalCameraCFrame = CurrentCamera.CFrame
        
        local CalculatedTargetPosition = TargetRootPart.Position + FrameworkConfig.AimOffset
        local InterpolatedCFrame = CFrame.new(CurrentCamera.CFrame.Position, CalculatedTargetPosition)
        
        CurrentCamera.CFrame = InterpolatedCFrame
        
        task.wait(FrameworkConfig.PreFireDelay)
        
        local ShotDispatched = FireControl.ExecuteTriggerPull()
        if ShotDispatched then
            FrameworkState.SessionStats.SuccessfulShots = FrameworkState.SessionStats.SuccessfulShots + 1
            Logger.Info("Trigger sequence & hardware click successfully executed.")
        else
            FrameworkState.SessionStats.FalsePositives = FrameworkState.SessionStats.FalsePositives + 1
            Logger.Warning("Trigger sequence failed: Valid weapon instance not equipped.")
        end
        
        task.wait(FrameworkConfig.PostFireDelay)
        
        if FrameworkConfig.SmoothReturn then
            local TweenInfoParam = TweenInfo.new(FrameworkConfig.ReturnSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
            local TweenInstance = TweenService:Create(CurrentCamera, TweenInfoParam, {CFrame = FrameworkState.OriginalCameraCFrame})
            TweenInstance:Play()
        else
            CurrentCamera.CFrame = FrameworkState.OriginalCameraCFrame
        end
        
        Logger.Info("Flick cycle completed. Camera restored.")
    else
        Logger.Info("Execution aborted: No valid murderer entity verified within radius.")
    end
end

--[ [ INPUT LISTENER & HOOK REGISTRATION ] --
local InputSubsystem = {}

function InputSubsystem.InitializeHooks()
    local Connection = UserInputService.InputBegan:Connect(function(InputObject, GameProcessedEvent)
        if GameProcessedEvent then return end
        
        if InputObject.KeyCode == FrameworkConfig.ActivationKey then
            pcall(function()
                FlickEngine.ExecuteFlickSequence()
            end)
        end
    end)
    
    table.insert(FrameworkState.ActiveConnections, Connection)
    Logger.Info("Input hook successfully registered to KeyCode: " .. tostring(FrameworkConfig.ActivationKey))
end

function InputSubsystem.TeardownHooks()
    for _, Connection in ipairs(FrameworkState.ActiveConnections) do
        if Connection and typeof(Connection.Disconnect) == "function" then
            Connection:Disconnect()
        end
    end
    FrameworkState.ActiveConnections = {}
    Logger.Info("All input hooks successfully detached.")
end

--[ [ TELEMETRY & DEBUG GUI LAYER ] --
local DebugOverlay = {}

function DebugOverlay.Initialize()
    if not FrameworkConfig.DebugMode then return end
    
    pcall(function()
        local ScreenGui = Instance.new("ScreenGui")
        ScreenGui.Name = "MMV_Framework_DebugConsole"
        ScreenGui.ResetOnSpawn = false
        ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
        
        if syn and syn.protect_gui then
            syn.protect_gui(ScreenGui)
            ScreenGui.Parent = CoreGui
        elseif CoreGui:FindFirstChild("RobloxGui") then
            ScreenGui.Parent = CoreGui.RobloxGui
        else
            ScreenGui.Parent = CoreGui
        end
        
        local StatusLabel = Instance.new("TextLabel")
        StatusLabel.Name = "StatusDisplay"
        StatusLabel.Size = UDim2.new(0, 280, 0, 95)
        StatusLabel.Position = UDim2.new(0, 15, 0, 15)
        StatusLabel.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
        StatusLabel.BackgroundTransparency = 0.35
        StatusLabel.BorderColor3 = Color3.fromRGB(50, 50, 50)
        StatusLabel.TextColor3 = Color3.fromRGB(0, 255, 128)
        StatusLabel.TextSize = 13
        StatusLabel.Font = Enum.Font.Code
        StatusLabel.TextXAlignment = Enum.TextXAlignment.Left
        StatusLabel.TextYAlignment = Enum.TextYAlignment.Top
        StatusLabel.TextWrapped = true
        StatusLabel.Parent = ScreenGui
        
        local UICorner = Instance.new("UICorner")
        UICorner.CornerRadius = UDim.new(0, 6)
        UICorner.Parent = StatusLabel
        
        local RenderConnection = RunService.RenderStepped:Connect(function()
            local TotalFlicks = FrameworkState.SessionStats.TotalFlicks
            local SuccessfulShots = FrameworkState.SessionStats.SuccessfulShots
            local FalsePositives = FrameworkState.SessionStats.FalsePositives
            
            StatusLabel.Text = string.format(
                "[MMV ADVANCED FRAMEWORK v4.8.3]\nStatus: ACTIVE + LMB FIX\nKeybind: [ E ]\nTotal Flicks: %d\nSuccessful Shots: %d\nErrors/Misfires: %d",
                TotalFlicks, SuccessfulShots, FalsePositives
            )
        end)
        
        table.insert(FrameworkState.ActiveConnections, RenderConnection)
        Logger.Info("Debug telemetry overlay initialized successfully.")
    end)
end

--[ [ SYSTEM STARTUP & INITIALIZATION SEQUENCE ] --
local function InitializeSystem()
    Logger.Info("Starting core modules initialization pipeline...")
    
    if not LocalPlayer then
        Logger.Error("Fatal: LocalPlayer instance could not be resolved.")
        return false
    end
    
    InputSubsystem.InitializeHooks()
    DebugOverlay.Initialize()
    
    FrameworkState.IsInitialized = true
    Logger.Info("==========================================================")
    Logger.Info("MMV Combat Framework successfully initialized and locked.")
    Logger.Info("Ready for runtime execution under Xeno environment.")
    Logger.Info("==========================================================")
    
    return true
end

local Success, ErrorMessage = pcall(InitializeSystem)
if not Success then
    Logger.Error("Critical initialization failure: " .. tostring(ErrorMessage))
end