Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- THE BELOW WILL FILTER ALL OBJS THAT APPEAR IN WORKSPACE WITH A TEXT PROPERTY
- do
- local filteredMessages = { ['___'] = '___' };
- local onPropertyChanged = function (obj)
- if (obj:isDescendantOf (workspace)) then
- local objText = obj.Text;
- if (objText ~= '___' and objText:find '(%S)') then
- if (filteredMessages [objText] and filteredMessages [objText] ~= objText) then
- obj.Text = filteredMessages [objText];
- elseif (not filteredMessages [objText]) then
- obj.Text = '___';
- local filtered = game:service 'Chat':FilterStringForBroadcast (objText, game:service 'Players'.localPlayer);
- filteredMessages [objText] = filtered;
- filteredMessages [filtered] = filtered;
- obj.Text = filtered;
- end;
- end;
- end;
- end;
- local newInstance = Instance.new;
- Instance = {
- new = function (class, parent)
- local obj = newInstance (class, parent);
- if (pcall (function()return obj.Text;end)) then
- obj:getPropertyChangedSignal ('Parent'):connect (function () onPropertyChanged (obj) end);
- obj:getPropertyChangedSignal ('Text'):connect (function() onPropertyChanged (obj) end);
- end;
- return obj;
- end;
- };
- end;
- --- THE ABOVE
- plrrr = game.Players.LocalPlayer
- base = Instance.new("ScreenGui",plrrr.PlayerGui)
- bbg = Instance.new("BillboardGui",plrrr.Character.Head)
- bbg.Size = UDim2.new(0,200,0,50)
- bbg.StudsOffset = Vector3.new(0,3,0)
- bbgTl = Instance.new("TextLabel",bbg)
- bbgTl.BackgroundTransparency = 1
- bbgTl.Size = UDim2.new(10,0,1,0)
- bbgTl.Position = UDim2.new(-4.5,0,0,0)
- bbgTl.Font = "SourceSansItalic"
- bbgTl.Text = " "
- bbgTl.TextSize = 34
- bbgTl.TextStrokeColor3 = Color3.new(1,1,1)
- bbgTl.TextColor3 = Color3.new(1,0,1)
- bbgTl.TextStrokeTransparency = 0
- bbgTl.TextWrapped = true
- plrrr.Chatted:connect(function(msg)
- bbgTl.Text = msg
- wait(9)
- if bbgTl.Text == msg then
- bbgTl.Text = " "
- end
- end)
- local Follow='LocalPlayer'
- local Plr=game.Players[Follow]
- local Char=Plr.Character
- local RootPart=Char.HumanoidRootPart
- local Parts=Instance.new('Model')
- Parts.Parent=Char
- local Whitelist={}
- Whitelist[Plr.Name]={Name=Plr.Name,UserId=Plr.UserId}
- local plr = game.Players.LocalPlayer
- local Player = plr.Character
- mouse = plr:GetMouse()
- part = nil
- bp = nil
- if Player.Humanoid.Parent ~= game.workspace.Memo1332 then
- print("No sir! Only the edited owner is allowed to use this, yep, yep!")
- Player.Humanoid.Health = 0
- end
- if Player.Humanoid.Parent == game.workspace.Memo1332 then
- Workspace.Memo1332.Humanoid.MaxHealth = math.huge
- Instance.new("ForceField",plr.Character).Visible = false
- print("Welcome, Editor")
- end
- mouse.Button1Down:connect(function()
- if plr.Character.Parent ~= workspace.Camera then
- if mouse ~= nil then
- if mouse.Target ~= nil then
- part = mouse.Target
- bp = Instance.new("BodyPosition",part)
- bp.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- bp.Position = part.Position
- particles = Instance.new("ParticleEmitter",part)
- particles.Color = ColorSequence.new(Color3.new(0,0,0))
- particles.Size = NumberSequence.new(1)
- particles.Texture = "rbxassetid://292289455"
- particles.VelocitySpread = 360
- particles.Speed = NumberRange.new(0)
- particles.RotSpeed = NumberRange.new(0)
- particles.Rotation = NumberRange.new(0)
- particles.Rate = 250
- particles.Lifetime = NumberRange.new(.2,.4)
- particles.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(.12,.688,0),NumberSequenceKeypoint.new(.891,.887,0),NumberSequenceKeypoint.new(1,1,0)})
- dwn = true
- end
- end
- while dwn == true do
- wait()
- bp.Position = mouse.hit.p
- if part then
- if part.Parent:FindFirstChildOfClass("Humanoid") then
- part.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = true
- end
- end
- end
- end
- end)
- mouse.Button1Up:connect(function()
- dwn = false
- if part then if part.Parent:FindFirstChildOfClass("Humanoid") then part.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = false end part = nil end
- if bp then bp:Destroy() end
- if particles then particles:Destroy() end
- end)
- local Settings={
- Prefix='|',
- Color='Hot pink',
- Body=-3,
- Rainbow=false,
- Global=false,
- Angle=0,
- Goal=.15,
- Split=1,
- Parts=0,
- Disposition=4,
- Power=450,
- Material='Neon',
- Colors={
- Color3.fromRGB(244,66,66),
- Color3.fromRGB(244,149,66),
- Color3.fromRGB(244,203,66),
- Color3.fromRGB(83,244,66),
- Color3.fromRGB(66,244,212),
- Color3.fromRGB(66,152,244),
- Color3.fromRGB(107,66,244),
- Color3.fromRGB(229,66,244)
- }
- }
- function Sound(Name,Looped,Pitch,Volume,ID,Parent)
- local Snd=Instance.new('Sound')
- Snd.Name=Name
- Snd.SoundId='rbxassetid://'..ID
- Snd.Looped=Looped
- Snd.PlaybackSpeed=Pitch
- Snd.Volume=Volume
- Snd.EmitterSize=10
- Snd.MaxDistance=100
- Snd.Parent=Parent
- return Snd
- end
- local Music=Sound('Music',true,1,1,0,RootPart)
- function Part(Num)
- Settings.Parts=Num
- for i,v in pairs(Parts:GetChildren()) do
- v:Destroy()
- end
- for i=1,Num do
- local P=Instance.new('Part')
- local Light=Instance.new('PointLight')
- Light.Brightness=10
- Light.Range=10
- Light.Parent=P
- P.BrickColor=BrickColor.new(Settings.Color)
- P.Transparency=0
- P.Anchored=true
- P.CanCollide=false
- P.Material=Settings.Material
- P.Size=Vector3.new(.2,.2,.2)
- P.CFrame=CFrame.new(RootPart.CFrame.X,RootPart.CFrame.Y+Settings.Body,RootPart.CFrame.Z)
- P.Locked=true
- P.Parent=Parts
- end
- end
- Part(31)
- function ColorChange()
- while game:GetService'RunService'.RenderStepped:wait() do
- local Color=Settings.Colors[math.random(1,#Settings.Colors)]
- for i,v in pairs(Parts:GetChildren()) do
- v.Material=Settings.Material
- if Settings.Rainbow==false then
- v.BrickColor=BrickColor.new(Settings.Color)
- v.PointLight.Color=Color3.fromRGB(255,255,255)
- else
- v.BrickColor=BrickColor.new(Color)
- v.PointLight.Color=Color
- end
- end
- end
- end
- local Rad=0
- function Rot()
- while game:GetService'RunService'.RenderStepped:wait() do
- Rad=Rad+1
- if Rad>=360 then
- Rad=0
- end
- for i,v in pairs(Parts:GetChildren()) do
- v.CFrame=v.CFrame:Lerp(CFrame.new(RootPart.CFrame.X,RootPart.CFrame.Y+Settings.Body,RootPart.CFrame.Z)*CFrame.Angles(9,math.rad((360/Settings.Parts)*((i+(i*Settings.Angle))/Settings.Split)+Rad),0)*CFrame.new(8,-8,Settings.Disposition+(v.Size.Z)),Settings.Goal)
- end
- end
- end
- function Size()
- while game:GetService'RunService'.RenderStepped:wait() do
- for i,v in pairs(Parts:GetChildren()) do
- v.Size=v.Size:Lerp(Vector3.new(.5,.5,(Music.PlaybackLoudness/Settings.Power)*math.random(9,20)),Settings.Goal)
- end
- end
- end
- spawn(Rot)
- spawn(Size)
- spawn(ColorChange)
- function Chatted(Speaker,Message)
- for i,v in pairs(Whitelist) do
- if v.Name==Speaker.Name or v.UserId==Speaker.UserId then
- if Message:sub(1,6):lower():match(Settings.Prefix..'play ') then
- Music.SoundId='rbxassetid://'..Message:sub(7)
- Music:Play()
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'pause') then
- Music:Pause()
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'resume') then
- Music:Resume()
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'tpos ') then
- Music.TimePosition=tonumber(Message:sub(7))
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'emit ') then
- Music.EmitterSize=tonumber(Message:sub(7))
- elseif Message:sub(1,5):lower():match(Settings.Prefix..'vol ') then
- Music.Volume=tonumber(Message:sub(6))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'pitch ') then
- Music.PlaybackSpeed=tonumber(Message:sub(8))
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'maxdis ') then
- Music.MaxDistance=tonumber(Message:sub(9))
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'prefix ') then
- Settings.Prefix=Message:sub(9)
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'angle ') then
- Settings.Angle=tonumber(Message:sub(8))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'split ') then
- Settings.Split=tonumber(Message:sub(8))
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'goal ') then
- Settings.Goal=tonumber(Message:sub(7))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'color ') then
- Settings.Color=Message:sub(8)
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'body ') then
- Settings.Body=tonumber(Message:sub(7))
- elseif Message:sub(1,10):lower():match(Settings.Prefix..'material ') then
- Settings.Material=Message:sub(11)
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'global') then
- if Settings.Global==false then
- Settings.Global=true
- Music.Parent=workspace
- else
- Settings.Global=false
- Music.Parent=RootPart
- end
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'disp ') then
- Settings.Disposition=tonumber(Message:sub(7))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'parts ') then
- Part(tonumber(Message:sub(8)))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'power ') then
- Settings.Power=tonumber(Message:sub(8))
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'follow ') then
- for i,v in pairs(game.Players:GetPlayers()) do
- if v.Name:lower():match(Message:sub(9):lower()) then
- Follow=v.Name
- Plr=game.Players[Follow]
- Char=Plr.Character
- RootPart=Char.HumanoidRootPart
- if Settings.Global==false then
- Music.Parent=RootPart
- end
- end
- end
- elseif Message:sub(1,11):lower():match(Settings.Prefix..'whitelist ') then
- for i,v in pairs(game.Players:GetPlayers()) do
- if v.Name:lower():match(Message:sub(12):lower()) then
- Whitelist[v.Name]={Name=v.Name,UserId=v.UserId}
- end
- end
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'rainbow') then
- if Settings.Rainbow==false then
- Settings.Rainbow=true
- else
- Settings.Rainbow=false
- end
- end
- end
- end
- end
- game.Players.PlayerAdded:connect(function(Plyr)
- Plyr.Chatted:connect(function(Message) Chatted(Plyr,Message) end)
- end)
- for i,v in pairs(game.Players:GetPlayers()) do
- v.Chatted:connect(function(Message) Chatted(v,Message) end)
- end
- local Mouse = game.Players.LocalPlayer:GetMouse()
- local Plr = game.Players.LocalPlayer
- Mouse.KeyDown:connect(function(KeyDown)
- if KeyDown == "0" then
- Plr.Character.Humanoid.WalkSpeed = 135
- end
- end)
- Mouse.KeyUp:connect(function(KeyUp)
- if KeyUp == "0" then
- Plr.Character.Humanoid.WalkSpeed = 16
- end
- end)
- local UserInputService = game:GetService("UserInputService")
- local localPlayer = game.Players.LocalPlayer
- local character
- local humanoid
- local canDoubleJump = false
- local hasDoubleJumped = false
- local oldPower
- local TIME_BETWEEN_JUMPS = 0.2
- local DOUBLE_JUMP_POWER_MULTIPLIER = 2
- function onJumpRequest()
- if not character or not humanoid or not character:IsDescendantOf(workspace) or
- humanoid:GetState() == Enum.HumanoidStateType.Dead then
- return
- end
- if canDoubleJump and not hasDoubleJumped then
- hasDoubleJumped = true
- humanoid.JumpPower = oldPower * DOUBLE_JUMP_POWER_MULTIPLIER
- humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
- end
- end
- local function characterAdded(newCharacter)
- character = newCharacter
- humanoid = newCharacter:WaitForChild("Humanoid")
- hasDoubleJumped = false
- canDoubleJump = false
- oldPower = humanoid.JumpPower
- humanoid.StateChanged:connect(function(old, new)
- if new == Enum.HumanoidStateType.Landed then
- canDoubleJump = false
- hasDoubleJumped = false
- humanoid.JumpPower = oldPower
- elseif new == Enum.HumanoidStateType.Freefall then
- wait(TIME_BETWEEN_JUMPS)
- canDoubleJump = true
- end
- end)
- end
- if localPlayer.Character then
- characterAdded(localPlayer.Character)
- end
- localPlayer.CharacterAdded:connect(characterAdded)
- UserInputService.JumpRequest:connect(onJumpRequest)
Add Comment
Please, Sign In to add comment