Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility by WaverlyCole & Fireboltofdeath");print("https://github.com/WaverlyCole/FE-Compatibility-VoidSb-")
- local Wrapper = {};Wrapper.Fake = {};Wrapper.Real = {};Wrapper.Data = {};
- local sGame = game;local sScript = script;local sOwner = owner;local sInstance = Instance;local sLoadLibrary = LoadLibrary
- Wrapper.Event = Instance.new("RemoteEvent");Wrapper.Event.Name = "UserInput";
- Wrapper.CreateObject = function(connections, index)
- local proxy = newproxy (true);local meta = getmetatable (proxy);
- local runbind = function (self, i, ...) connections[i]:Fire (...); end;
- while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
- meta.__index = function (self, i)
- if (i == 'TriggerEvent') then return runbind end;
- return connections[i] and connections[i].Event or index[i];
- end;
- meta.__newindex = index;meta.__metatable = false;return proxy
- end;
- Wrapper.Mouse = Wrapper.CreateObject({"KeyUp","KeyDown","Button1Down","Button1Up","Move","Button2Down","Button2Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
- Wrapper.UserInputService = Wrapper.CreateObject({"InputBegan","InputEnded"},{})
- Wrapper.ContextActionService = {Actions={};BindAction = function(self,actionName,Func,touch,...)self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil end;UnBindAction = function(self,actionName,Func,touch,...)self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil end};
- Wrapper.Sandbox = function(...)
- local Unwrap = {...};
- for obi = 1,#Unwrap do
- local Object = Unwrap[obi];
- if (Wrapper.Fake[Object] == nil and Wrapper.Real[Object] == nil) then
- local Type = typeof(Object);local Replacement = Object;
- if (Type == "function") then
- Replacement = function(...)
- local IsRoblox = not (pcall(function() string.dump(Object) end))
- if IsRoblox then
- return Object(Wrapper.Unsandbox(...))
- end
- return Object(Wrapper.Sandbox(...))
- end
- elseif (Type == "table") then
- Replacement = {};
- setmetatable(Replacement, {
- __index = function(self, i)
- return Wrapper.Sandbox(Object[Wrapper.Unsandbox(i)])
- end,
- __newindex = function(self,i,v)
- Object[Wrapper.Unsandbox(i)] = Wrapper.Unsandbox(v)
- end;
- })
- elseif (Type == "Instance") then
- Replacement = newproxy(true);
- local Mt = getmetatable(Replacement);
- Mt.__namecall = function(self, ...)
- local Pack = {...};local Name = Pack[#Pack];table.remove(Pack, #Pack);
- local Rest = nil;pcall(function()Rest = Object[Name];end);
- for g, x in pairs (Wrapper.InstanceMT["GET"]) do
- if (Object:IsA(g) or g == "Global") then
- for t, v in pairs(x) do
- for str in string.gmatch(t .. ",", "(%w+),") do
- if (Name == str) then
- if typeof(v) == "function" then
- return Wrapper.Sandbox(v(Wrapper.Unsandbox(self), Wrapper.Unsandbox(unpack(Pack))))
- else
- return v;
- end
- end
- end
- end
- end
- end
- if (Rest == nil) then
- if Wrapper.Sandbox(sGame):GetService(unpack(Pack)) then return Wrapper.Sandbox(sGame):GetService(unpack(Pack))end;
- return Wrapper.Sandbox(Object[Name]);
- elseif (typeof(Rest) == "function") then
- return Wrapper.Sandbox(Rest(Wrapper.Unsandbox(self), Wrapper.Unsandbox(unpack(Pack))))
- end
- return Wrapper.Sandbox(Object[Name]);
- end
- Mt.__index = function(self, i)
- local Rest = nil;pcall(function()Rest = Object[i];end)
- for g, x in pairs (Wrapper.InstanceMT["GET"]) do
- if (Object:IsA(g) or g == "Global") then
- for t, v in pairs(x) do
- for str in string.gmatch(t .. ",", "(%w+),") do
- if (i == str) then
- if typeof(v) == "function" then
- return function(...)return Wrapper.Sandbox(v(Wrapper.Unsandbox(self), Wrapper.Unsandbox(...)))end;
- else
- return v;
- end
- end
- end
- end
- end
- end
- if (Object:IsA("Sound") and i == "PlaybackLoudness") then return Wrapper.SoundLoudness[Wrapper.Unsandbox(Object)];end;
- if (Rest == nil) then
- if Wrapper.Sandbox(sGame):GetService(i) then return Wrapper.Sandbox(sGame):GetService(i)end;
- return Wrapper.Sandbox(Object[i]);
- elseif (typeof(Rest) == "function") then
- local isService,Service = pcall(function() return sGame:GetService(i) end)
- if isService and Service then return Wrapper.Sandbox(Service) end
- return function(self, ...)
- return Wrapper.Sandbox(Rest(Wrapper.Unsandbox(self), Wrapper.Unsandbox(...)))
- end
- end
- return Wrapper.Sandbox(Object[i]);
- end
- Mt.__newindex = function(self, i, v)
- for g,x in pairs (Wrapper.InstanceMT["SET"]) do
- if (Object:IsA(g)) then
- for t, v in pairs(x) do
- for str in string.gmatch( t .. ",", "(%w+),") do
- if v(Wrapper.Unsandbox(self, i, v)) == true then
- Object[Wrapper.Unsandbox(i)] = Wrapper.Unsandbox(v);return
- end
- end
- end
- end
- end
- Object[Wrapper.Unsandbox(i)] = Wrapper.Unsandbox(v);
- end
- Mt.__tostring = function(self) return tostring(Object) end
- --elseif (Type == "") then -- Etc
- end
- Wrapper.Fake[Object] = Replacement;Wrapper.Real[Replacement] = Object;Unwrap[obi] = Replacement;
- else
- return Wrapper.Fake[Object] or Object;
- end
- end
- return unpack(Unwrap);
- end
- Wrapper.Unsandbox = function(...)
- local Unsandbox = {...};
- for i,v in pairs (Unsandbox) do Unsandbox[i] = Wrapper.Real[v] or Unsandbox[i]end;
- return unpack(Unsandbox)
- end
- Wrapper.Services = {
- ['contextactionservice'] = Wrapper.ContextActionService;
- ["userinputservice"] = Wrapper.UserInputService;
- }
- Wrapper.InstanceMT = {
- ["GET"] = {
- ["Global"] = {
- ["IsFake,isFake"] = function(self)return true;end;
- };
- ["Player"] = {
- ["mouse,Mouse,getMouse,GetMouse"] = function(self)return Wrapper.Mouse;end;
- };
- ["Players"] = {
- ["localPlayer,LocalPlayer"] = Wrapper.Sandbox(owner)
- };
- ["DataModel"] = {
- ["getService,GetService"] = function(self,service)
- if Wrapper.Services[service:lower()] then return Wrapper.Sandbox(Wrapper.Services[service:lower()])end;
- return Wrapper.Sandbox(sGame:GetService(service))
- end
- };
- ["RunService"] = {
- ["renderstepped,renderStepped,RenderStepped"] = sGame:GetService("RunService").Stepped;
- }
- };
- ["SET"] = {
- }
- }
- Wrapper.SoundLoudness = {};
- Wrapper.Event.OnServerEvent:Connect(function(FiredBy,Input)
- if FiredBy ~= sOwner then return end
- if Input.MouseEvent then
- Wrapper.Mouse.Target = Input.Target;Wrapper.Mouse.Hit = Input.Hit;Wrapper.Mouse:TriggerEvent("Move")
- elseif Input.Sound then
- if Wrapper.SoundLoudness[Input.Sound] then Wrapper.SoundLoudness[Input.Sound] = Input.Loudness end
- else
- local Begin = Input.UserInputState == Enum.UserInputState.Begin
- if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Wrapper.Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
- if Input.UserInputType == Enum.UserInputType.MouseButton2 then return Wrapper.Mouse:TriggerEvent(Begin and "Button2Down" or "Button2Up") end
- for _,Action in pairs(Wrapper.ContextActionService.Actions) do
- for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
- end
- Wrapper.Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());Wrapper.UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
- end
- end);
- Wrapper.Event.Parent = NLS([[
- local Player = owner;local Sounds = {};local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse();
- local Input = function(Input,gameProcessedEvent)
- if gameProcessedEvent then return end;
- Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
- end
- Event.OnClientEvent:connect(function(Args)
- if Args[1] == "NewSound" and Args[2]:IsA("Sound") then table.insert(Sounds,Args[2]) end
- end)
- UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
- local Hit,Target;while wait(1/30) do
- for x,Sound in pairs(Sounds) do if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end; end;
- if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
- Hit = Mouse.Hit;Target = Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
- end
- end]],sOwner.Character)
- Instance = {
- ["new"] = function(Type,Parent)
- local Real = sInstance.new(Type,Wrapper.Unsandbox(Parent))
- if Type:lower() == "sound" then
- if not Parent then
- Parent = sOwner.Character
- end
- Wrapper.SoundLoudness[Real] = 0;Wrapper.Event:FireClient(sOwner,{"NewSound",Real})
- end
- return Wrapper.Sandbox(Real)
- end
- }
- LoadLibrary = function(Library)
- if Library == "RbxUtility" then
- return setmetatable({},{
- __tostring = function() return "RbxUtility" end;
- __index = function(self, Index)
- if Index:lower() == "create" then
- return function(Type) return function(Data)
- Data = Data or {};local Inst = Instance.new(Type)
- for x,y in pairs(Data) do Inst[x] = y end
- return Inst
- end;end;
- end
- return sLoadLibrary(Library)[Index]
- end})
- end
- return sLoadLibrary(Library)
- end
- owner = Wrapper.Sandbox(owner);game = Wrapper.Sandbox(game)workspace = Wrapper.Sandbox(workspace)
- Game= game;Workspace = workspace;
- --//Paste script below this line.
- wait(1)
- -- Get LocalPlayer
- local p = game.Players.LocalPlayer
- -- Instance New Objects
- local gui = Instance.new('ScreenGui',p.PlayerGui)
- local frame = Instance.new('Frame',gui)
- local open = Instance.new('TextButton',gui)
- local bool = Instance.new('BoolValue',frame)
- local button = Instance.new('TextButton',frame)
- local name = Instance.new('TextLabel',frame)
- local box = Instance.new('TextBox',frame)
- local msg = Instance.new('StringValue',box)
- local exit = Instance.new('TextButton',frame)
- local spamon = Instance.new('TextButton',frame)
- local spamoff = Instance.new('TextButton',frame)
- local search = Instance.new('TextBox',frame)
- local people = Instance.new('StringValue',frame)
- -- Objects Name
- gui.Name = "SpamGUI"
- frame.Name = "SpawnFrame"
- open.Name = "OpenButton"
- bool.Name = "Bool"
- button.Name = "Open/Close"
- name.Name = "Title"
- box.Name = "TextBox"
- msg.Name = "Msg"
- exit.Name = "ExitButton"
- spamon.Name = "SpamON"
- spamoff.Name = "SpamOFF"
- search.Name = "SearchPeople"
- people.Name = "Result"
- -- Objects Position
- frame.Position = UDim2.new(0.7,7,0,3)
- open.Position = UDim2.new(0,-100,0.7,0)
- button.Position = UDim2.new(0,170,0.7,13)
- name.Position = UDim2.new(0,0,0,0)
- box.Position = UDim2.new(0,0,0,45)
- exit.Position = UDim2.new(0.8,30,0,0)
- spamon.Position = UDim2.new(0,5,0.7,13)
- spamoff.Position = UDim2.new(0,245,0.7,13)
- search.Position = UDim2.new(0,0,0,200)
- -- Object Size
- frame.Size = UDim2.new(0,400,0,200)
- open.Size = UDim2.new(0,100,0,40)
- button.Size = UDim2.new(0,60,0,40)
- name.Size = UDim2.new(0.8,25,0,40)
- box.Size = UDim2.new(1,0,0,100)
- exit.Size = UDim2.new(0,50,0,43)
- spamon.Size = UDim2.new(0,150,0,40)
- spamoff.Size = UDim2.new(0,150,0,40)
- search.Size = UDim2.new(0,400,0,50)
- -- Dragggable Frame
- frame.Active = true
- frame.Draggable = true
- -- Objects Background Color
- frame.BackgroundColor3 = Color3.new(0,0,0)
- open.BackgroundColor3 = Color3.new(255, 255, 0)
- button.BackgroundColor3 = Color3.new(255, 255, 255)
- name.BackgroundColor3 = Color3.new(255, 255, 255)
- box.BackgroundColor3 = Color3.new(255, 255, 255)
- exit.BackgroundColor3 = Color3.new(255, 0, 0)
- spamon.BackgroundColor3 = Color3.new(255, 0, 0)
- spamoff.BackgroundColor3 = Color3.new(255, 0, 0)
- search.BackgroundColor3 = Color3.new(255,255,255)
- -- Object Background Transparency
- frame.BackgroundTransparency = 0.5
- box.BackgroundTransparency = 0.5
- button.BackgroundTransparency = 0.6
- name.BackgroundTransparency = 1
- search.BackgroundTransparency = 0.6
- -- Visible
- open.Visible = false
- search.Visible = false
- -- Text Size/Scaled enabled
- open.TextScaled = true
- exit.TextScaled = true
- spamon.TextScaled = true
- spamoff.TextScaled = true
- box.TextScaled = true
- button.TextScaled = true
- name.TextScaled = true
- search.TextScaled = true
- -- Box Line
- box.ClearTextOnFocus = true
- box.MultiLine = true
- -- Text Color
- name.TextColor3 = Color3.new(255,0,0)
- -- Text
- open.Text = "Open"
- exit.Text = "Exit"
- spamoff.Text = "Turn Off"
- spamon.Text = "Turn On"
- box.Text = "Message Here ....."
- button.Text = "Close"
- name.Text = "Unique's Spam GUI"
- search.Text = "Search people"
- -- Value
- bool.Value = false
- msg.Value = ""
- people.Value = ""
- -- Spam On
- spamon.MouseButton1Down:connect(function()
- bool.Value = true
- msg.Value = box.Text
- box.Text = "Success !"
- search.Text = ""
- wait(1)
- box.Text = "Message Here ....."
- end)
- -- Spam Off
- spamoff.MouseButton1Down:connect(function()
- bool.Value = false
- end)
- -- Exit Function
- exit.MouseButton1Down:connect(function()
- frame:TweenPosition(UDim2.new(1,0,0,3),"Out","Quad",1,true)
- wait(1)
- frame.Visible = false
- wait(.5)
- open.Visible = true
- open:TweenPosition(UDim2.new(0,5,0.7,0),"Out","Bounce",1,true)
- end)
- -- Open Function
- open.MouseButton1Down:connect(function()
- open:TweenPosition(UDim2.new(0,-100,0.7,0),"Out","Quad",1,true)
- wait(1)
- open.Visible = false
- wait(.5)
- frame.Visible = true
- frame:TweenPosition(UDim2.new(0.7,7,0,3),"Out","Bounce",1,true)
- end)
- -- Search People Box
- button.MouseButton1Down:connect(function()
- if search.Visible == false then
- button.Text = "Open"
- search.Visible = true
- else
- button.Text = "Close"
- search.Visible = false
- end
- end)
- -- Spam Function
- while true do
- wait(.1)
- if bool.Value == true then
- local ppl = game.Players:FindFirstChild(people.Value)
- if ppl then
- game:GetService('Chat'):Chat(ppl.Character, msg.Value)
- elseif not ppl then
- for i,v in pairs(game.Players:GetChildren()) do
- game:GetService('Chat'):Chat(v.Character, msg.Value)
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment