SHOW:
|
|
- or go back to the newest paste.
1 | --- THE BELOW WILL FILTER ALL OBJS THAT APPEAR IN WORKSPACE WITH A TEXT PROPERTY | |
2 | do | |
3 | local filteredMessages = { ['___'] = '___' }; | |
4 | local onPropertyChanged = function (obj) | |
5 | if (obj:isDescendantOf (workspace)) then | |
6 | local objText = obj.Text; | |
7 | ||
8 | if (objText ~= '___' and objText:find '(%S)') then | |
9 | if (filteredMessages [objText] and filteredMessages [objText] ~= objText) then | |
10 | obj.Text = filteredMessages [objText]; | |
11 | elseif (not filteredMessages [objText]) then | |
12 | obj.Text = '___'; | |
13 | ||
14 | local filtered = game:service 'Chat':FilterStringForBroadcast (objText, game:service 'Players'.localPlayer); | |
15 | - | Color='Light red', |
15 | + | |
16 | filteredMessages [objText] = filtered; | |
17 | filteredMessages [filtered] = filtered; | |
18 | ||
19 | obj.Text = filtered; | |
20 | end; | |
21 | end; | |
22 | end; | |
23 | end; | |
24 | ||
25 | local newInstance = Instance.new; | |
26 | Instance = { | |
27 | new = function (class, parent) | |
28 | local obj = newInstance (class, parent); | |
29 | ||
30 | if (pcall (function()return obj.Text;end)) then | |
31 | obj:getPropertyChangedSignal ('Parent'):connect (function () onPropertyChanged (obj) end); | |
32 | obj:getPropertyChangedSignal ('Text'):connect (function() onPropertyChanged (obj) end); | |
33 | end; | |
34 | ||
35 | return obj; | |
36 | end; | |
37 | }; | |
38 | end; | |
39 | --- THE ABOVE | |
40 | plrrr = game.Players.LocalPlayer | |
41 | ||
42 | base = Instance.new("ScreenGui",plrrr.PlayerGui) | |
43 | bbg = Instance.new("BillboardGui",plrrr.Character.Head) | |
44 | bbg.Size = UDim2.new(0,200,0,50) | |
45 | bbg.StudsOffset = Vector3.new(0,3,0) | |
46 | bbgTl = Instance.new("TextLabel",bbg) | |
47 | bbgTl.BackgroundTransparency = 1 | |
48 | bbgTl.Size = UDim2.new(10,0,1,0) | |
49 | bbgTl.Position = UDim2.new(-4.5,0,0,0) | |
50 | bbgTl.Font = "SourceSansItalic" | |
51 | bbgTl.Text = " " | |
52 | bbgTl.TextSize = 34 | |
53 | bbgTl.TextStrokeColor3 = Color3.new(1,1,1) | |
54 | bbgTl.TextColor3 = Color3.new(1,0,1) | |
55 | bbgTl.TextStrokeTransparency = 0 | |
56 | bbgTl.TextWrapped = true | |
57 | plrrr.Chatted:connect(function(msg) | |
58 | bbgTl.Text = msg | |
59 | wait(9) | |
60 | if bbgTl.Text == msg then | |
61 | bbgTl.Text = " " | |
62 | end | |
63 | end) | |
64 | ||
65 | local Follow='LocalPlayer' | |
66 | local Plr=game.Players[Follow] | |
67 | local Char=Plr.Character | |
68 | local RootPart=Char.HumanoidRootPart | |
69 | ||
70 | local Parts=Instance.new('Model') | |
71 | Parts.Parent=Char | |
72 | ||
73 | local Whitelist={} | |
74 | ||
75 | Whitelist[Plr.Name]={Name=Plr.Name,UserId=Plr.UserId} | |
76 | ||
77 | local plr = game.Players.LocalPlayer | |
78 | local Player = plr.Character | |
79 | mouse = plr:GetMouse() | |
80 | part = nil | |
81 | bp = nil | |
82 | ||
83 | if Player.Humanoid.Parent ~= game.workspace.Memo1332 then | |
84 | print("No sir! Only the edited owner is allowed to use this, yep, yep!") | |
85 | Player.Humanoid.Health = 0 | |
86 | end | |
87 | ||
88 | if Player.Humanoid.Parent == game.workspace.Memo1332 then | |
89 | Workspace.Memo1332.Humanoid.MaxHealth = math.huge | |
90 | Instance.new("ForceField",plr.Character).Visible = false | |
91 | print("Welcome, Editor") | |
92 | end | |
93 | ||
94 | mouse.Button1Down:connect(function() | |
95 | if plr.Character.Parent ~= workspace.Camera then | |
96 | if mouse ~= nil then | |
97 | if mouse.Target ~= nil then | |
98 | part = mouse.Target | |
99 | bp = Instance.new("BodyPosition",part) | |
100 | bp.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
101 | bp.Position = part.Position | |
102 | particles = Instance.new("ParticleEmitter",part) | |
103 | particles.Color = ColorSequence.new(Color3.new(0,0,0)) | |
104 | particles.Size = NumberSequence.new(1) | |
105 | particles.Texture = "rbxassetid://292289455" | |
106 | particles.VelocitySpread = 360 | |
107 | particles.Speed = NumberRange.new(0) | |
108 | particles.RotSpeed = NumberRange.new(0) | |
109 | particles.Rotation = NumberRange.new(0) | |
110 | particles.Rate = 250 | |
111 | particles.Lifetime = NumberRange.new(.2,.4) | |
112 | particles.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(.12,.688,0),NumberSequenceKeypoint.new(.891,.887,0),NumberSequenceKeypoint.new(1,1,0)}) | |
113 | dwn = true | |
114 | end | |
115 | end | |
116 | while dwn == true do | |
117 | wait() | |
118 | bp.Position = mouse.hit.p | |
119 | if part then | |
120 | if part.Parent:FindFirstChildOfClass("Humanoid") then | |
121 | part.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = true | |
122 | end | |
123 | end | |
124 | end | |
125 | end | |
126 | end) | |
127 | mouse.Button1Up:connect(function() | |
128 | dwn = false | |
129 | if part then if part.Parent:FindFirstChildOfClass("Humanoid") then part.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = false end part = nil end | |
130 | if bp then bp:Destroy() end | |
131 | if particles then particles:Destroy() end | |
132 | end) | |
133 | ||
134 | local Settings={ | |
135 | Prefix='|', | |
136 | Color='Hot pink', | |
137 | Body=-3, | |
138 | Rainbow=false, | |
139 | Global=false, | |
140 | Angle=0, | |
141 | Goal=.15, | |
142 | Split=1, | |
143 | Parts=0, | |
144 | Disposition=4, | |
145 | Power=450, | |
146 | Material='Neon', | |
147 | Colors={ | |
148 | Color3.fromRGB(244,66,66), | |
149 | Color3.fromRGB(244,149,66), | |
150 | Color3.fromRGB(244,203,66), | |
151 | Color3.fromRGB(83,244,66), | |
152 | Color3.fromRGB(66,244,212), | |
153 | Color3.fromRGB(66,152,244), | |
154 | Color3.fromRGB(107,66,244), | |
155 | Color3.fromRGB(229,66,244) | |
156 | } | |
157 | } | |
158 | ||
159 | function Sound(Name,Looped,Pitch,Volume,ID,Parent) | |
160 | local Snd=Instance.new('Sound') | |
161 | Snd.Name=Name | |
162 | Snd.SoundId='rbxassetid://'..ID | |
163 | Snd.Looped=Looped | |
164 | Snd.PlaybackSpeed=Pitch | |
165 | Snd.Volume=Volume | |
166 | Snd.EmitterSize=10 | |
167 | Snd.MaxDistance=100 | |
168 | Snd.Parent=Parent | |
169 | ||
170 | return Snd | |
171 | end | |
172 | ||
173 | local Music=Sound('Music',true,1,1,0,RootPart) | |
174 | ||
175 | function Part(Num) | |
176 | Settings.Parts=Num | |
177 | ||
178 | for i,v in pairs(Parts:GetChildren()) do | |
179 | v:Destroy() | |
180 | end | |
181 | ||
182 | for i=1,Num do | |
183 | local P=Instance.new('Part') | |
184 | local Light=Instance.new('PointLight') | |
185 | Light.Brightness=10 | |
186 | Light.Range=10 | |
187 | Light.Parent=P | |
188 | P.BrickColor=BrickColor.new(Settings.Color) | |
189 | P.Transparency=0 | |
190 | P.Anchored=true | |
191 | P.CanCollide=false | |
192 | P.Material=Settings.Material | |
193 | P.Size=Vector3.new(.2,.2,.2) | |
194 | P.CFrame=CFrame.new(RootPart.CFrame.X,RootPart.CFrame.Y+Settings.Body,RootPart.CFrame.Z) | |
195 | P.Locked=true | |
196 | P.Parent=Parts | |
197 | end | |
198 | end | |
199 | ||
200 | Part(31) | |
201 | ||
202 | function ColorChange() | |
203 | while game:GetService'RunService'.RenderStepped:wait() do | |
204 | local Color=Settings.Colors[math.random(1,#Settings.Colors)] | |
205 | for i,v in pairs(Parts:GetChildren()) do | |
206 | v.Material=Settings.Material | |
207 | if Settings.Rainbow==false then | |
208 | - | end |
208 | + | |
209 | v.PointLight.Color=Color3.fromRGB(255,255,255) | |
210 | else | |
211 | v.BrickColor=BrickColor.new(Color) | |
212 | v.PointLight.Color=Color | |
213 | end | |
214 | end | |
215 | end | |
216 | end | |
217 | ||
218 | local Rad=0 | |
219 | ||
220 | function Rot() | |
221 | while game:GetService'RunService'.RenderStepped:wait() do | |
222 | Rad=Rad+1 | |
223 | ||
224 | if Rad>=360 then | |
225 | Rad=0 | |
226 | end | |
227 | ||
228 | for i,v in pairs(Parts:GetChildren()) do | |
229 | 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) | |
230 | end | |
231 | end | |
232 | end | |
233 | ||
234 | function Size() | |
235 | while game:GetService'RunService'.RenderStepped:wait() do | |
236 | for i,v in pairs(Parts:GetChildren()) do | |
237 | v.Size=v.Size:Lerp(Vector3.new(.5,.5,(Music.PlaybackLoudness/Settings.Power)*math.random(9,20)),Settings.Goal) | |
238 | end | |
239 | end | |
240 | end | |
241 | ||
242 | spawn(Rot) | |
243 | spawn(Size) | |
244 | spawn(ColorChange) | |
245 | ||
246 | function Chatted(Speaker,Message) | |
247 | for i,v in pairs(Whitelist) do | |
248 | if v.Name==Speaker.Name or v.UserId==Speaker.UserId then | |
249 | if Message:sub(1,6):lower():match(Settings.Prefix..'play ') then | |
250 | Music.SoundId='rbxassetid://'..Message:sub(7) | |
251 | Music:Play() | |
252 | elseif Message:sub(1,6):lower():match(Settings.Prefix..'pause') then | |
253 | Music:Pause() | |
254 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'resume') then | |
255 | Music:Resume() | |
256 | elseif Message:sub(1,6):lower():match(Settings.Prefix..'tpos ') then | |
257 | Music.TimePosition=tonumber(Message:sub(7)) | |
258 | elseif Message:sub(1,6):lower():match(Settings.Prefix..'emit ') then | |
259 | Music.EmitterSize=tonumber(Message:sub(7)) | |
260 | elseif Message:sub(1,5):lower():match(Settings.Prefix..'vol ') then | |
261 | Music.Volume=tonumber(Message:sub(6)) | |
262 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'pitch ') then | |
263 | Music.PlaybackSpeed=tonumber(Message:sub(8)) | |
264 | elseif Message:sub(1,8):lower():match(Settings.Prefix..'maxdis ') then | |
265 | Music.MaxDistance=tonumber(Message:sub(9)) | |
266 | elseif Message:sub(1,8):lower():match(Settings.Prefix..'prefix ') then | |
267 | Settings.Prefix=Message:sub(9) | |
268 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'angle ') then | |
269 | Settings.Angle=tonumber(Message:sub(8)) | |
270 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'split ') then | |
271 | Settings.Split=tonumber(Message:sub(8)) | |
272 | elseif Message:sub(1,6):lower():match(Settings.Prefix..'goal ') then | |
273 | Settings.Goal=tonumber(Message:sub(7)) | |
274 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'color ') then | |
275 | Settings.Color=Message:sub(8) | |
276 | elseif Message:sub(1,6):lower():match(Settings.Prefix..'body ') then | |
277 | Settings.Body=tonumber(Message:sub(7)) | |
278 | elseif Message:sub(1,10):lower():match(Settings.Prefix..'material ') then | |
279 | Settings.Material=Message:sub(11) | |
280 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'global') then | |
281 | if Settings.Global==false then | |
282 | Settings.Global=true | |
283 | Music.Parent=workspace | |
284 | else | |
285 | Settings.Global=false | |
286 | Music.Parent=RootPart | |
287 | end | |
288 | elseif Message:sub(1,6):lower():match(Settings.Prefix..'disp ') then | |
289 | Settings.Disposition=tonumber(Message:sub(7)) | |
290 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'parts ') then | |
291 | Part(tonumber(Message:sub(8))) | |
292 | elseif Message:sub(1,7):lower():match(Settings.Prefix..'power ') then | |
293 | Settings.Power=tonumber(Message:sub(8)) | |
294 | elseif Message:sub(1,8):lower():match(Settings.Prefix..'follow ') then | |
295 | for i,v in pairs(game.Players:GetPlayers()) do | |
296 | if v.Name:lower():match(Message:sub(9):lower()) then | |
297 | Follow=v.Name | |
298 | Plr=game.Players[Follow] | |
299 | Char=Plr.Character | |
300 | RootPart=Char.HumanoidRootPart | |
301 | if Settings.Global==false then | |
302 | Music.Parent=RootPart | |
303 | end | |
304 | end | |
305 | end | |
306 | elseif Message:sub(1,11):lower():match(Settings.Prefix..'whitelist ') then | |
307 | for i,v in pairs(game.Players:GetPlayers()) do | |
308 | if v.Name:lower():match(Message:sub(12):lower()) then | |
309 | Whitelist[v.Name]={Name=v.Name,UserId=v.UserId} | |
310 | end | |
311 | end | |
312 | elseif Message:sub(1,8):lower():match(Settings.Prefix..'rainbow') then | |
313 | if Settings.Rainbow==false then | |
314 | Settings.Rainbow=true | |
315 | else | |
316 | Settings.Rainbow=false | |
317 | end | |
318 | end | |
319 | end | |
320 | end | |
321 | end | |
322 | ||
323 | game.Players.PlayerAdded:connect(function(Plyr) | |
324 | Plyr.Chatted:connect(function(Message) Chatted(Plyr,Message) end) | |
325 | end) | |
326 | ||
327 | for i,v in pairs(game.Players:GetPlayers()) do | |
328 | v.Chatted:connect(function(Message) Chatted(v,Message) end) | |
329 | end | |
330 | ||
331 | local Mouse = game.Players.LocalPlayer:GetMouse() | |
332 | local Plr = game.Players.LocalPlayer | |
333 | ||
334 | Mouse.KeyDown:connect(function(KeyDown) | |
335 | if KeyDown == "0" then | |
336 | Plr.Character.Humanoid.WalkSpeed = 135 | |
337 | end | |
338 | end) | |
339 | ||
340 | Mouse.KeyUp:connect(function(KeyUp) | |
341 | if KeyUp == "0" then | |
342 | Plr.Character.Humanoid.WalkSpeed = 16 | |
343 | end | |
344 | end) | |
345 | ||
346 | local UserInputService = game:GetService("UserInputService") | |
347 | local localPlayer = game.Players.LocalPlayer | |
348 | local character | |
349 | local humanoid | |
350 | ||
351 | local canDoubleJump = false | |
352 | local hasDoubleJumped = false | |
353 | local oldPower | |
354 | local TIME_BETWEEN_JUMPS = 0.2 | |
355 | local DOUBLE_JUMP_POWER_MULTIPLIER = 2 | |
356 | ||
357 | function onJumpRequest() | |
358 | if not character or not humanoid or not character:IsDescendantOf(workspace) or | |
359 | humanoid:GetState() == Enum.HumanoidStateType.Dead then | |
360 | return | |
361 | end | |
362 | ||
363 | if canDoubleJump and not hasDoubleJumped then | |
364 | hasDoubleJumped = true | |
365 | humanoid.JumpPower = oldPower * DOUBLE_JUMP_POWER_MULTIPLIER | |
366 | humanoid:ChangeState(Enum.HumanoidStateType.Jumping) | |
367 | end | |
368 | end | |
369 | ||
370 | local function characterAdded(newCharacter) | |
371 | character = newCharacter | |
372 | humanoid = newCharacter:WaitForChild("Humanoid") | |
373 | hasDoubleJumped = false | |
374 | canDoubleJump = false | |
375 | oldPower = humanoid.JumpPower | |
376 | ||
377 | humanoid.StateChanged:connect(function(old, new) | |
378 | if new == Enum.HumanoidStateType.Landed then | |
379 | canDoubleJump = false | |
380 | hasDoubleJumped = false | |
381 | humanoid.JumpPower = oldPower | |
382 | elseif new == Enum.HumanoidStateType.Freefall then | |
383 | wait(TIME_BETWEEN_JUMPS) | |
384 | canDoubleJump = true | |
385 | end | |
386 | end) | |
387 | end | |
388 | ||
389 | if localPlayer.Character then | |
390 | characterAdded(localPlayer.Character) | |
391 | end | |
392 | ||
393 | localPlayer.CharacterAdded:connect(characterAdded) | |
394 | UserInputService.JumpRequest:connect(onJumpRequest) |