Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Environment = {
- GetMetatable = getrawmetatable or debug.getmetatable or false,
- GetUpvalues = debug.getupvalues or getupvalues or getupvals or false,
- GetLocals = (isluau() and debug.getlocals) or (debug.getstack and function(stkid)
- local r = {}
- r.caller = debug.getstack(stkid + 1)[1]
- r.player = debug.getstack(stkid + 1)[2]
- return r
- end) or false,
- SetUpvalue = debug.setupvalue or setupval or false,
- MetaWrite = function(meta)
- if not setreadonly then
- return make_writeable(meta)
- end
- return setreadonly(meta, false)
- end,
- Place = false
- }
- local SharedMeta = Environment.GetMetatable(getrenv().shared)
- if SharedMeta then
- Environment.Place = "Vanilla"
- end
- if not Environment.Place then
- local Pod = rawget(game:GetObjects("rbxassetid://2640185420"), 1)
- local Ok = Pod.MessageBox.OK.Ok
- Pod.Parent = Arsenic.Client.PlayerGui
- Pod.MessageBox.Title.Text = 'Invalid environement'
- Pod.MessageBox.Content.Text = 'Arsenic does not support the current game'
- Ok.Visible = true
- Ok.MouseButton1Click:Connect(function()
- Pod:Destroy()
- end)
- return
- end
- local fireserver
- if SharedMeta.__index then
- if not isluau() then
- fireserver = Environment.GetUpvalues(SharedMeta.__index).fireserver
- Environment.SetUpvalue(fireserver, "heystopokay", function() return error end)
- Environment.SetUpvalue(fireserver, "plsno", function() return true end)
- else
- fireserver = debug.getupvalue(SharedMeta.__index, 3)
- Environment.SetUpvalue(fireserver, 1, function() return error end)
- Environment.SetUpvalue(fireserver, 2, function() return true end)
- end
- end
- setmetatable(Arsenic, {
- __index = {
- Client = game:GetService("Players").LocalPlayer,
- UI = Arsenic.Interface,
- Globals = (function()
- return getrenv()._G
- end)(),
- Remote = workspace.Remote
- },
- __call = function(t, remote, ...)
- fireserver(remote, ...)
- end
- })
- return Environment
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement