Roblox Execute
Allows for you to execute scripts in Roblox. You still need an executor, of course.
Instructions
-
Put the following script inside of your
autoexec
folder (it might be named differently):local Config = { Name = "RobloxExecute", Address = "ws://127.0.0.1:53203", CheckInterval = 1000, PingInterval = 1000, CheckActiveInterval = 1000, MinActive = 3000, } assert(WebSocket and WebSocket.connect, "Executor doesn't support WebSockets.") local Players = game:GetService("Players") local Socket, Checking, LastActive local Active = true local function GetStore(Key) return getgenv()[`{Config.Name}-{Key}`] end local function SetStore(Key, Value) getgenv()[`{Config.Name}-{Key}`] = Value end local function SetSocket(NewSocket) Socket = NewSocket LastActive = Socket and tick() or nil end local function OnMessage(Text) if Text == `{Config.Name}-Pong` then LastActive = tick() else local Callback, Error = loadstring(Text) if Error then error(Error, 2) end task.spawn(Callback) end end local function SetPlayerName() local Player = Players.LocalPlayer if not Player then Players:GetPropertyChangedSignal("LocalPlayer"):Wait() Player = Players.LocalPlayer end if Socket then Socket:Send(Player.Name) end end local function Connect() if Checking then return end Checking = true local Success, NewSocket = pcall(WebSocket.connect, Config.Address) if Success and Active then SetSocket(NewSocket) task.spawn(SetPlayerName) Socket.OnMessage:Connect(OnMessage) Socket.OnClose:Wait() SetSocket(nil) elseif Success and NewSocket then NewSocket:Close() end Checking = false end local function TimeElapsed(LastTime, Threshold) return LastTime and tick() - LastTime > Threshold / 1000 end local function Wait(Interval) return task.wait((Interval and Interval > 0) and (Interval / 1000) or 0) end local function Disconnect() Active = false if Socket then Socket:Close() end end local ExistingDisconnect = GetStore("Disconnect") if ExistingDisconnect and typeof(ExistingDisconnect) == "function" then ExistingDisconnect() end SetStore("Disconnect", Disconnect) task.spawn(function() Connect() while Wait(Config.CheckInterval) and Active do Connect() end end) task.spawn(function() while Wait(Config.PingInterval) and Active do if Socket then Socket:Send(`{Config.Name}-Ping`) end end end) task.spawn(function() while Wait(Config.CheckActiveInterval) and Active do if Socket and TimeElapsed(LastActive, Config.MinActive) then Socket:Close() end end end)
-
Ensure this extension is installed, your IDE is open, and attach.
-
On the bottom left of your IDE, you should see the client(s) connected.
Ensure the file extension is one of the following:
luau
lua
txt
Or, alternatively, ensure the tabs language is set to:
luau
lua
plaintext
(default)
Languages
JavaScript
62.9%
Luau
37.1%