1

# How can I make a local script enable/disable another local script?

It is a simple question but I am unable to fine answer. For reference, I have two local scripts, one to enable/disable the other and the other is the script that actually does things. In my case, I have an X-Ray vision type thing but what I want to do is make it so that I can enable and disable it by running the script to enable/disable it if that makes sense? I know I need to use Remote Events and that but I do not know how to integrate it. This is the enable/disable script:

local uis = game:GetService("UserInputService")

uis.InputBegan:Connect(function(inp, processed)

if processed then return end

if inp.KeyCode == Enum.KeyCode.F then

script.Parent["EyeOfX-RayVision"].Enabled = true
end
end)

uis.InputEnded:Connect(function(inp)

if inp.KeyCode == Enum.KeyCode.F then

script.Parent["EyeOfX-RayVision"].Enabled = false
end
end)


All help would be appreciated.

0
Edited 14 days ago

Sadly, you cannot re-run the script once you re-enabled it. Instead, put the script inside the "enable/disable" script and make that script a function/thread.

For example: you have script 1 and 2. Script 1 prints "hi" in the Output every second, meanwhile Script 2 enables/disables Script 1 in order to play and stop the loop multiple times. Here's the thing: it doesn't work like that. You have to make Script 1 a function/thread inside Script 2 then run it.

Before:

--Script 1
print("hi") --prints hi every 1 second
end

--Script 2
local Script1 = workspace.Script1

Script1.Enabled = not Script1.Enabled --toggles Script1.Enabled true/false every 5 second
end


After:

--Script 2

local Script1 = coroutine.create(function() --creates a function/thread copy of Script 1
print("hi")
end
end)

coroutine.resume(Script1) -- "enables" it
local status = coroutine.status(Script1) -- gets its status as a string

if status == "running" then -- if Script1 is "enabled"
elseif status == "dead" then -- if Script1 is "disabled"
Script1 = coroutine.create(function() -- creates a new one
print("hi")
end
end)

coroutine.resume(Script1) -- "re-enables" it
end
end


Note: This is just an example. Don't copy-and-paste it directly to your script or it will error. Do this method on your own.

Hope this helped!