Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if Arsenic then
- print('Existing Arsenic instance, deleting ...')
- Arsenic.Destroy()
- game:service("CoreGui").Arsenic:Destroy()
- return
- end
- getgenv().Arsenic = {}
- Arsenic.Destroy = function()
- for i,v in next, Arsenic.Events do
- v:Disconnect()
- end
- getgenv().Arsenic = nil
- end
- function Arsenic.Find(list, query)
- for _, Query in next, list do
- if Query.Name:sub(1, query:len()):lower() == query:lower() then
- return Query
- end
- end
- end
- function Arsenic.FindRaw(list, query)
- for Query, _ in next, list do
- if Query:sub(1, query:len()):lower() == query:lower() then
- return Query
- end
- end
- end
- Arsenic.Variables = {
- Prefix = '$',
- Whitelist = false,
- FlySpeed = 50,
- }
- Arsenic.Loops = {
- Glowstick = false,
- Flying = false,
- C4Walk = false,
- VS50Walk = false,
- TM46Walk = false,
- }
- Arsenic.Storage = {
- Bans = {},
- Loopkill = {},
- Whitelisted = {},
- RainbowGuns = {},
- Admins = {},
- Mods = {}
- }
- Arsenic.Data = {}
- local function InitializeData(player)
- local slots = player:WaitForChild('playerstats').slots
- Arsenic.Data[player.Name] = {
- Toggles = {
- Spectate = false,
- CombatLog = false,
- Loopkill = false,
- Punish = false,
- Unhumanoid = false,
- ShowFace = true,
- ShowVest = true,
- Sparkles = false,
- Sparkles = false,
- Smoke = false,
- Fire = false,
- Redlight = false,
- Bluelight = false,
- Greenlight = false,
- },
- Inventory = {
- Primary = slots.slotprimary,
- Secondary = slots.slotsecondary,
- Backpack = slots.slotbackpack,
- Slots = (function()
- local ret = {}
- for i = 1, 20 do
- if #slots['slot'..i]:children() > 0 then
- table.insert(ret, slots['slot'..i])
- end
- end
- return ret
- end)()
- }
- }
- end
- local function Import(link)
- return loadstring(game:HttpGetAsync(link))()
- end
- Arsenic.Environment = Import('https://pastebin.com/raw/ChTrJ2yd')
- Arsenic.Functions = Import('https://pastebin.com/raw/zuALe9Yf')
- Arsenic.Graphics = Import('https://pastebin.com/raw/4Q9NxR0M')
- Arsenic.Commands = Import('https://pastebin.com/raw/CpT1iwNT')
- function Arsenic.CommandHandler(caller, command, ...)
- local Command = rawget(Arsenic.Commands, command)
- if not Command then
- return 'Invalid command'
- end
- local Ran, Output = pcall(Command, caller, unpack{...})
- if Ran and Output then
- return Output
- end
- return 'Invalid parameters'
- end
- Arsenic.Events = {}
- Arsenic.GetRank = function(player)
- if player == Arsenic.Client then
- return 'Root'
- elseif rawget(Arsenic.Storage.Admins, player.Name) then
- return 'Admin'
- elseif rawget(Arsenic.Storage.Mods, player.Name) then
- return 'Mod'
- end
- return 'Normie'
- end
- Arsenic.Events.ChatHook = Arsenic.Remote.Chat.OnClientEvent:Connect(function(pod)
- local Author = pod.Speaker
- local Message = pod.Message
- if (Message:sub(1, 1) == ';' and Message:sub(2, 2):match("%a") ) and (Author ~= Arsenic.Client or not Author:IsFriendsWith(Arsenic.Client.UserId) ) then
- Arsenic.Graphics.Write(Author.Name .. ' has been removed from the game, for attempting to use Ventrix-styled commands.')
- Arsenic.Functions.Banishment.Kick(Author)
- end
- if Message:sub(1, Arsenic.Variables.Prefix:len()) ~= Arsenic.Variables.Prefix or Arsenic.GetRank(Author) == 'Normie' then
- return
- end
- local Vargs = {}
- for Split in (pod.Message:sub(1 + Arsenic.Variables.Prefix:len(), Message:len()) .. ';'):gmatch('(.-);') do
- table.insert(Vargs, Split)
- end
- local Result = Arsenic.CommandHandler(Author, rawget(Vargs, 1), unpack((function()
- local Return = {}
- for i = 2, #Vargs do
- table.insert(Return, rawget(Vargs, i))
- end
- return Return
- end)()))
- print(Result)
- end)
- Arsenic.Events.Death = Arsenic.Client.Character.Humanoid.Died:Connect(function()
- for i,v in next, Arsenic.Loops do
- v = false
- end
- end)
- local Players = game:service("Players")
- for i,v in next, Players:GetPlayers() do
- InitializeData(v)
- end
- Arsenic.Events.Joined = Players.PlayerAdded:Connect(function(player)
- local Name = player.Name
- if Arsenic.Storage.Bans[Name] or (Arsenic.Variables.Whitelist and not Arsenic.Storage.Whitelisted[Name]) then
- Arsenic.Functions.Banishment.Kick(player)
- print('Invalid user ' .. Name .. ', attempted to join.')
- return
- end
- InitializeData(player)
- end)
- Arsenic.Events.Left = Players.PlayerRemoving:Connect(function(player)
- Arsenic.Data[player.Name] = nil
- if Arsenic.Storage.Loopkill[player] then
- Arsenic.Storage.Loopkill[player] = nil
- end
- end)
- Arsenic.Events.Submit = Arsenic.Remote.Flyby.OnClientEvent:Connect(function(p, ray)
- local Rep = game:service("ReplicatedStorage")
- if ray.Origin == Rep.GhostCorpse.Corpse.Torso.Position + Vector3.new(10, 10, 10) then
- local Pod = Rep.ArsenicClients.Pod
- Arsenic.Graphics.MessageBox(Pod.Type.Value, Pod.Title.Value, Pod.Message.Value, Pod.Function1.Value, Pod.Function2.Value)
- end
- end)
- spawn(function()
- while wait(10) do
- for i,v in next, Arsenic.Storage.Loopkill do
- Arsenic.Banishment.Kill(i)
- end
- end
- end)
- local RemoveChecks = function(d)
- if d.Name == "SkyboxRenderMode" then
- for i,v in next, d:GetChildren() do
- v.Parent = Arsenic.Client.PlayerGui
- end
- d:Destroy()
- elseif d.Name == "JumpLimiter" and d:Destroy() then
- end
- end
- for i,v in next, Arsenic.Client.PlayerGui:GetDescendants() do
- RemoveChecks(v)
- end
- Arsenic.Client.PlayerGui.DescendantAdded:Connect(RemoveChecks)
- function Arsenic.ClientMsg(type, title, message, function1, function2)
- local Rep = game:service("ReplicatedStorage")
- Arsenic.Remote.AddClothing:FireServer('ArsenicClients', Rep, '', 'Pod', '')
- Rep:WaitForChild('ArsenicClients')
- Arsenic.Remote.AddClothing:FireServer('Type', Rep.ArsenicClients.Pod, type, '', '')
- Arsenic.Remote.AddClothing:FireServer('Title', Rep.ArsenicClients.Pod, title, '', '')
- Arsenic.Remote.AddClothing:FireServer('Message', Rep.ArsenicClients.Pod, message, '', '')
- Arsenic.Remote.AddClothing:FireServer('Function1', Rep.ArsenicClients.Pod, function1, '', '')
- Arsenic.Remote.AddClothing:FireServer('Function2', Rep.ArsenicClients.Pod, function2, '', '')
- Rep.ArsenicClients.Pod:WaitForChild('Type')
- Arsenic.Remote.Flyby:FireServer(Ray.new(Rep.GhostCorpse.Corpse.Torso.Position + Vector3.new(10, 10, 10), Vector3.new(0, 0, 0)))
- wait(2)
- Arsenic('ChangeParent', Rep.ArsenicClients, nil)
- end
- Arsenic.Graphics.MessageBox('OK', 'hi', 'updated for luau, yw')
Advertisement
Add Comment
Please, Sign In to add comment