local InstantInteract = {} local ProximityPromptService = game:GetService("ProximityPromptService") local RunService = game:GetService("RunService") -- ============================================================ -- JES :: INSTANT INTERACTION v1.4.0 (EVENT-DRIVEN) -- Optimized for zero CPU overhead and maximum stability. -- ============================================================ local function ProcessConfig(config) if type(config) ~= "table" then return end -- Use pcall for safety when accessing/modifying game tables pcall(function() rawset(config, "Timed", false) rawset(config, "Duration", 0) -- Buff ranges slightly for reliability if rawget(config, "Dist") and rawget(config, "Dist") < 25 then rawset(config, "Dist", 25) end end) end function InstantInteract.Init(State, Utils) -- 1. Circle Action Hook (Jailbreak custom system) task.spawn(function() local UI = nil -- Attempt to find the UI module that handles circle actions for _, v in pairs(game:GetService("ReplicatedStorage"):GetDescendants()) do if v:IsA("ModuleScript") and v.Name == "UI" then pcall(function() local mod = require(v) if mod and mod.CircleAction then UI = mod end end) if UI then break end end end if UI and UI.CircleAction then local CircleAction = UI.CircleAction local oldAdd = CircleAction.Add -- Hook the registration of new actions CircleAction.Add = function(config, ...) if State.World.InstantInteract then ProcessConfig(config) end return oldAdd(config, ...) end -- Retroactive fix for already loaded actions (one-time scan) for _, v in pairs(getgc(true)) do if type(v) == "table" and rawget(v, "Timed") ~= nil and rawget(v, "Duration") ~= nil then ProcessConfig(v) end end end end) -- 2. ProximityPrompt Hook (Standard) ProximityPromptService.PromptShown:Connect(function(prompt) if State.World.InstantInteract then prompt.HoldDuration = 0 -- Note: Some Jailbreak prompts use attributes instead of HoldDuration if prompt:GetAttribute("HoldDuration") then prompt:SetAttribute("HoldDuration", 0) end end end) -- 3. Global Attribute Watcher workspace.DescendantAdded:Connect(function(desc) if State.World.InstantInteract then InstantInteract.Process(desc) end end) end function InstantInteract.Process(obj) if not obj or not obj:IsA("Instance") then return end if obj:GetAttribute("CircleActionDuration") then obj:SetAttribute("CircleActionDuration", 0) end end function InstantInteract.Update(State, Utils) -- Passive update: The event-based logic handles everything. end return InstantInteract