Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait()
- local ScriptBuilder = {}
- local User = getfenv(1).owner and getfenv(1).owner
- ScriptBuilder.OriginalVariables = {}
- ScriptBuilder.whitelistedIds = {417641510,411446235,410051373}
- ScriptBuilder.boxcutter_references = {'Abyss'}
- local SBENV = newproxy(true)getmetatable(SBENV).__tostring = function()SBENV = getfenv(3)end pcall(warn,SBENV)
- oldSandbox = ScriptBuilder.OriginalVariables
- oldSandbox['require'] = SBENV.require
- oldSandbox['getfenv'] = SBENV.getfenv
- oldSandbox['setfenv'] = SBENV.setfenv
- oldSandbox['warn'] = SBENV.warn
- oldSandbox['error'] = SBENV.error
- oldSandbox['print'] = SBENV.print
- local Sandbox = {}
- function Sandbox.isC(f)
- return pcall(string.dump, f) == false
- end
- function ScriptBuilder.Output(Message, Type)
- local p = Instance.new('StringValue')
- p.Name = 'SB_Output:Output'
- p.Value = '["'..Type..'","'..Message..'"]'
- wait()
- p.Parent = User
- end
- function ScriptBuilder.EXE(cmd)
- User:findFirstChild('SB_CommandRemote',true).Value = cmd
- end
- wait()
- function ScriptBuilder.SetVariable(name, value)
- ScriptBuilder.OriginalVariables[name] = SBENV[name]
- SBENV[name] = type(value) == "function" and not Sandbox.isC(value) and setfenv(value, SBENV) or value
- end
- ScriptBuilder.SetVariable('sb', '~ Abyss ~')
- ScriptBuilder.SetVariable('require', function(id) if ScriptBuilder.whitelistedIds[id] then ScriptBuilder.Output('', 'Note') return SBENV.require(id) else ScriptBuilder.Output('Abyss ~ This request has been blocked', 'Error') end end)
- setmetatable(ScriptBuilder, {__metatable='locked'})
- setfenv(1,SBENV)
- setfenv(2,SBENV)
- return nil
Add Comment
Please, Sign In to add comment