SHOW:
|
|
- or go back to the newest paste.
1 | ---------------------------------------- | |
2 | -- Originally made by Alfederate :D -- | |
3 | -- And Edited By Memo1332 So Fucks Given-- | |
4 | ---------------------------------------- | |
5 | ||
6 | -- there's no time to explain! -- | |
7 | ||
8 | do | |
9 | local filteredMessages = { ['___'] = '___' }; | |
10 | local onPropertyChanged = function (obj) | |
11 | if (obj:isDescendantOf (workspace)) then | |
12 | local objText = obj.Text; | |
13 | ||
14 | if (objText ~= '___' and objText:find '(%S)') then | |
15 | if (filteredMessages [objText] and filteredMessages [objText] ~= objText) then | |
16 | obj.Text = filteredMessages [objText]; | |
17 | elseif (not filteredMessages [objText]) then | |
18 | obj.Text = '___'; | |
19 | ||
20 | local filtered = game:service 'Chat':FilterStringForBroadcast (objText, game:service 'Players'.localPlayer); | |
21 | ||
22 | filteredMessages [objText] = filtered; | |
23 | filteredMessages [filtered] = filtered; | |
24 | ||
25 | obj.Text = filtered; | |
26 | end; | |
27 | end; | |
28 | end; | |
29 | end; | |
30 | ||
31 | local newInstance = Instance.new; | |
32 | Instance = { | |
33 | new = function (class, parent) | |
34 | local obj = newInstance (class, parent); | |
35 | ||
36 | if (pcall (function()return obj.Text;end)) then | |
37 | obj:getPropertyChangedSignal ('Parent'):connect (function () onPropertyChanged (obj) end); | |
38 | obj:getPropertyChangedSignal ('Text'):connect (function() onPropertyChanged (obj) end); | |
39 | end; | |
40 | ||
41 | return obj; | |
42 | end; | |
43 | }; | |
44 | end; | |
45 | --- THE ABOVE | |
46 | ||
47 | local Mouse = game.Players.LocalPlayer:GetMouse() | |
48 | local Plr = game.Players.LocalPlayer | |
49 | local plr = game.Players.LocalPlayer | |
50 | local s = Instance.new("Sound") | |
51 | ||
52 | base = Instance.new("ScreenGui",plr.PlayerGui) | |
53 | bbg = Instance.new("BillboardGui",plr.Character.Head) | |
54 | bbg.Size = UDim2.new(0,200,0,50) | |
55 | bbg.StudsOffset = Vector3.new(0,3,0) | |
56 | bbgTl = Instance.new("TextLabel",bbg) | |
57 | bbgTl.BackgroundTransparency = 1 | |
58 | bbgTl.Size = UDim2.new(10,0,1,0) | |
59 | bbgTl.Position = UDim2.new(-4.5,0,0,0) | |
60 | bbgTl.Font = "Code" | |
61 | bbgTl.Text = " " | |
62 | bbgTl.TextSize = 25 | |
63 | bbgTl.TextStrokeColor3 = Color3.new(0,0.3,0.85) | |
64 | bbgTl.TextColor3 = Color3.new(0,0,0.6) | |
65 | bbgTl.TextStrokeTransparency = 0 | |
66 | bbgTl.TextWrapped = true | |
67 | plr.Chatted:connect(function(msg) | |
68 | bbgTl.Text = msg | |
69 | wait(5) | |
70 | if bbgTl.Text == msg then | |
71 | bbgTl.Text = " " | |
72 | end | |
73 | end) | |
74 | ||
75 | Mouse.KeyDown:connect(function(KeyDown) | |
76 | if KeyDown == "0" then | |
77 | s.Name = "Sound" | |
78 | s.SoundId = "http://www.roblox.com/asset/?id=732384930" | |
79 | s.Volume = 11 | |
80 | s.Looped = true | |
81 | s.Archivable = false | |
82 | s.Looped = true | |
83 | s.Pitch = 1.3 | |
84 | s.Parent = game.Workspace | |
85 | s:Play() | |
86 | Plr.Character.Humanoid.WalkSpeed = 135 | |
87 | end | |
88 | end) | |
89 | ||
90 | Mouse.KeyUp:connect(function(KeyUp) | |
91 | if KeyUp == "0" then | |
92 | Plr.Character.Humanoid.WalkSpeed = 16 | |
93 | s:Stop() | |
94 | end | |
95 | end) | |
96 | ||
97 | local new=Instance.new | |
98 | local rad=math.rad | |
99 | local cf=CFrame.new | |
100 | local v3=Vector3.new | |
101 | local ang=function(x,y,z) | |
102 | return CFrame.Angles(rad(x),rad(y),rad(z)) | |
103 | end | |
104 | local player=game:service'Players'.LocalPlayer | |
105 | local char=player.Character | |
106 | local cam=workspace.Camera | |
107 | local mouse=player:GetMouse() | |
108 | local weld=function(a,b,c0,c1) | |
109 | m=Instance.new('Motor',a) | |
110 | m.Part0=a | |
111 | m.Part1=b | |
112 | m.C0=c0 | |
113 | m.C1=c1 | |
114 | return m | |
115 | end | |
116 | ||
117 | snd='rbxassetid://262300125' | |
118 | beamm=Instance.new('Model',workspace) | |
119 | beamm.Name='beam' | |
120 | ||
121 | laser=false | |
122 | ||
123 | rs=Instance.new('Part',char) | |
124 | rs.Transparency=1 | |
125 | rs.CanCollide=false | |
126 | rs.BrickColor=BrickColor.new('Forest green') | |
127 | rs.TopSurface,rs.BottomSurface=0,0 | |
128 | rs.FormFactor=3 | |
129 | rs.Size=Vector3.new(.5,.5,2) | |
130 | ||
131 | ls=rs:Clone() | |
132 | ls.Parent=char | |
133 | ||
134 | rsw=weld(rs,char.Torso,cf(-1,-.5,0),cf()) | |
135 | lsw=weld(ls,char.Torso,cf(1,-.5,0),cf()) | |
136 | raw=weld(char['Right Arm'],rs,cf(-.5,.6,-.14),ang(90,0,-8)) | |
137 | law=weld(char['Left Arm'],ls,cf(-.3,1.5,-.14),ang(90,0,43)) | |
138 | ||
139 | s1=Instance.new('Sound',char) | |
140 | s1.Volume=20 | |
141 | s1.Pitch=1.3 | |
142 | s1.Looped=true | |
143 | s1.SoundId=snd | |
144 | ||
145 | particles={} | |
146 | ||
147 | local wep=new('Part',char) | |
148 | wep.FormFactor=3 | |
149 | wep.CanCollide=false | |
150 | wep.Size=v3(1.3,6,1.3) | |
151 | wep.BrickColor=BrickColor.new('Dark blue') | |
152 | - | wep.Material='Neon' |
152 | + | wep.Material='Glass' |
153 | wep.Transparency = 0.6 | |
154 | wep.TopSurface,wep.BottomSurface=0,0 | |
155 | local wepw=weld(wep,char['Right Arm'],cf(.26,.4,.7),ang(0,0,8)) | |
156 | ||
157 | local beam=wep:Clone() | |
158 | - | beam.Material='Neon' |
158 | + | |
159 | beam.Material='Glass' | |
160 | beam.BrickColor=BrickColor.new('Deep blue') | |
161 | beam.Size=Vector3.new(3,3,1) | |
162 | beam.Transparency=.5 | |
163 | beam.Anchored=true | |
164 | local ms=Instance.new('BlockMesh',beam) | |
165 | - | inner.Transparency=0 |
165 | + | |
166 | - | inner.Material='SmoothPlastic' |
166 | + | inner.Transparency=0.3 |
167 | inner.Material='Neon' | |
168 | inner.BrickColor=BrickColor.new('Deep blue') | |
169 | local ms2=inner.Mesh | |
170 | ||
171 | local expl=inner:Clone() | |
172 | - | expl.Material='Neon' |
172 | + | |
173 | expl.Material='Glass' | |
174 | expl.BrickColor=BrickColor.new('Electric blue') | |
175 | expl.Size=Vector3.new(11,11,11) | |
176 | expl.Transparency=.55 | |
177 | pl=Instance.new('PointLight',expl) | |
178 | pl.Color=expl.BrickColor.Color | |
179 | pl.Range=pl.Range*2 | |
180 | pl.Name='light' | |
181 | local br=pl.Range | |
182 | ||
183 | local exa=expl:Clone() | |
184 | exa.Size=Vector3.new(4,4,4) | |
185 | pl2=exa.light | |
186 | ||
187 | local part=exa:Clone() | |
188 | part.Size=Vector3.new(1.5,1.5,1.5) | |
189 | pl3=part.light | |
190 | pms=Instance.new('BlockMesh',part) | |
191 | ||
192 | char.Humanoid.Died:connect(function() | |
193 | laser=false | |
194 | beam.Parent=nil | |
195 | inner.Parent=nil | |
196 | expl.Parent=nil | |
197 | exa.Parent=nil | |
198 | s1:stop() | |
199 | end) | |
200 | ||
201 | mouse.Button1Down:connect(function() if char.Humanoid.Health~=0 then | |
202 | laser=true | |
203 | s1.Volume=1.3 | |
204 | s1:play() | |
205 | end end) | |
206 | mouse.Button1Up:connect(function() | |
207 | laser=false | |
208 | beam.Parent=nil | |
209 | inner.Parent=nil | |
210 | expl.Parent=nil | |
211 | exa.Parent=nil | |
212 | s1:stop() | |
213 | end) | |
214 | ||
215 | parti=0 | |
216 | game:service'RunService'.Stepped:connect(function() | |
217 | parti=parti+1 | |
218 | for i,v in pairs(particles) do | |
219 | v.CFrame=v.CFrame*CFrame.new(0,0,-.3) | |
220 | v.Transparency=v.Transparency+.08 | |
221 | if v.Transparency >= 1 then | |
222 | v:Destroy() | |
223 | table.remove(particles,i) | |
224 | else | |
225 | v.Parent=beamm | |
226 | end | |
227 | end | |
228 | a=cam.CoordinateFrame.p | |
229 | b=mouse.Hit.p | |
230 | mhitr=Ray.new(a,(b-a).unit*999) | |
231 | mhit,ps=workspace:FindPartOnRayWithIgnoreList(mhitr,{char,beamm}) | |
232 | raw.C1=ang(90+(mouse.Hit.lookVector.y*90),0,-8) | |
233 | law.C1=ang(90+(mouse.Hit.lookVector.y*90),0,43) | |
234 | if not char.Humanoid.Sit and not char.Humanoid.PlatformStand then | |
235 | char.Torso.CFrame=CFrame.new(char.Torso.CFrame.p,Vector3.new(ps.x,char.Torso.CFrame.p.y,ps.z)) | |
236 | end | |
237 | if laser then | |
238 | beamm.Parent=workspace | |
239 | beam.Parent=beamm | |
240 | inner.Parent=beamm | |
241 | expl.Parent=beamm | |
242 | exa.Parent=beamm | |
243 | s1.Volume=s1.Volume-0 | |
244 | ||
245 | ray=Ray.new((wep.CFrame*cf(0,-1.5,0)).p,((wep.CFrame*cf(0,-10,0)).p-(wep.CFrame*cf(0,-1.5,0)).p).unit*999) | |
246 | hit,pos=workspace:FindPartOnRayWithIgnoreList(ray,{char,beamm}) | |
247 | ||
248 | if hit and hit.Parent:findFirstChild('Humanoid') and s1.Volume > .3 and parti/8==math.floor(parti/8) then | |
249 | Instance.new('Explosion',workspace).Position=pos | |
250 | local soof = Instance.new("Sound",script.Parent) | |
251 | soof.Name = "Sound" | |
252 | soof.SoundId = "http://www.roblox.com/asset/?id=322832112" | |
253 | soof.Volume = 10 | |
254 | soof.Looped = false | |
255 | soof.Pitch = 1.1+math.random()*.5 | |
256 | soof.archivable = false | |
257 | wait() | |
258 | soof:play() | |
259 | end | |
260 | if hit and hit.Parent==workspace.Terrain or hit==workspace.Terrain and parti/8==math.floor(parti/8) then | |
261 | e=Instance.new('Explosion',workspace) | |
262 | e.Position=pos | |
263 | e.BlastRadius=14 | |
264 | e.BlastPressure=1e4 | |
265 | local soof = Instance.new("Sound",script.Parent) | |
266 | soof.Name = "Sound" | |
267 | soof.SoundId = "http://www.roblox.com/asset/?id=322832112" | |
268 | soof.Volume = 10 | |
269 | soof.Looped = false | |
270 | soof.Pitch = 1.1+math.random()*.5 | |
271 | soof.archivable = false | |
272 | wait() | |
273 | soof:play() | |
274 | end | |
275 | if hit and not hit.Anchored and not (hit:GetMass()>1e4) then | |
276 | hit.Velocity=hit.Velocity+beam.CFrame.lookVector*(1*s1.Volume*hit:GetMass()) | |
277 | end | |
278 | ||
279 | if parti==math.floor(parti) then | |
280 | par=part:Clone() | |
281 | table.insert(particles,par) | |
282 | par.Parent=beamm | |
283 | par.Transparency=1-s1.Volume | |
284 | par.light.Range=br*s1.Volume | |
285 | par.CFrame=cf(pos)*ang(math.random(-180,180),math.random(-180,180),math.random(-180,180))*cf(0,0,-10) | |
286 | end | |
287 | ||
288 | mag=((wep.CFrame*cf(0,-1.5,0)).p-pos).magnitude | |
289 | ms.Scale=v3(s1.Volume,s1.Volume,mag) | |
290 | ms2.Scale=v3(ms.Scale.x/2,ms.Scale.y/2,mag-(.1/mag)) | |
291 | beam.CFrame=cf((wep.CFrame*cf(0,-1.5,0)).p,pos)*cf(0,0,-mag/2)*ang(0,0,math.random(0,180)) | |
292 | inner.CFrame=beam.CFrame | |
293 | pl.Range=br*s1.Volume | |
294 | pl2.Range=br*s1.Volume | |
295 | expl.Size=v3(math.random(9,13),math.random(9,13),math.random(9,13))*s1.Volume | |
296 | expl.Transparency=math.random(40,60)/100 | |
297 | expl.CFrame=cf(pos)*ang(math.random(0,180),math.random(0,180),math.random(0,180)) | |
298 | exa.Size=v3(4,4,4)*s1.Volume | |
299 | exa.CFrame=wep.CFrame*cf(0,-1.5,0)*ang(math.random(0,180),math.random(0,180),math.random(0,180)) | |
300 | char.Torso.Velocity=char.Torso.Velocity-beam.CFrame.lookVector*(7*s1.Volume) | |
301 | end | |
302 | end) | |
303 | ||
304 | local UserInputService = game:GetService("UserInputService") | |
305 | local localPlayer = game.Players.LocalPlayer | |
306 | local character | |
307 | local humanoid | |
308 | ||
309 | local canDoubleJump = false | |
310 | local hasDoubleJumped = false | |
311 | local oldPower | |
312 | local TIME_BETWEEN_JUMPS = 0.2 | |
313 | local DOUBLE_JUMP_POWER_MULTIPLIER = 2 | |
314 | local s = Instance.new("Sound",script.Parent) | |
315 | function onJumpRequest() | |
316 | if not character or not humanoid or not character:IsDescendantOf(workspace) or | |
317 | humanoid:GetState() == Enum.HumanoidStateType.Dead then | |
318 | return | |
319 | end | |
320 | ||
321 | if canDoubleJump and not hasDoubleJumped then | |
322 | hasDoubleJumped = true | |
323 | humanoid.JumpPower = oldPower * DOUBLE_JUMP_POWER_MULTIPLIER | |
324 | humanoid:ChangeState(Enum.HumanoidStateType.Jumping) | |
325 | s.Name = "Sound" | |
326 | s.SoundId = "rbxassetid://192604675" | |
327 | s.Volume = 50 | |
328 | s.Looped = false | |
329 | s.Pitch = 1.1+math.random()*.3 | |
330 | s.archivable = false | |
331 | wait() | |
332 | s:Play() | |
333 | end | |
334 | end | |
335 | ||
336 | local function characterAdded(newCharacter) | |
337 | character = newCharacter | |
338 | humanoid = newCharacter:WaitForChild("Humanoid") | |
339 | hasDoubleJumped = false | |
340 | canDoubleJump = false | |
341 | oldPower = humanoid.JumpPower | |
342 | ||
343 | humanoid.StateChanged:connect(function(old, new) | |
344 | if new == Enum.HumanoidStateType.Landed then | |
345 | canDoubleJump = false | |
346 | hasDoubleJumped = false | |
347 | humanoid.JumpPower = oldPower | |
348 | elseif new == Enum.HumanoidStateType.Freefall then | |
349 | wait(TIME_BETWEEN_JUMPS) | |
350 | canDoubleJump = true | |
351 | end | |
352 | end) | |
353 | end | |
354 | ||
355 | bbgTl.Text = "Oof Cannon Edit By Memo1332" | |
356 | wait(3) | |
357 | bbgTl.Text = " " | |
358 | ||
359 | if localPlayer.Character then | |
360 | characterAdded(localPlayer.Character) | |
361 | end | |
362 | ||
363 | localPlayer.CharacterAdded:connect(characterAdded) | |
364 | UserInputService.JumpRequest:connect(onJumpRequest) |