View difference between Paste ID: UeSEuNHP and 3zfwdwJt
SHOW: | | - or go back to the newest paste.
1
--SB Plasma Shotgun 2013
2
3
--madiik's plasma shottie
4
5
--variables
6
7
local plr = game:service'Players'.LocalPlayer
8
local char = plr.Character
9
local mouse = plr:GetMouse()
10
local humanoid = char:findFirstChild("Humanoid")
11
local torso = char:findFirstChild("Torso")
12
local head = char.Head
13
local ra = char:findFirstChild("Right Arm")
14
local la = char:findFirstChild("Left Arm")
15
local rl = char:findFirstChild("Right Leg")
16
local ll = char:findFirstChild("Left Leg")
17
local rs = torso:findFirstChild("Right Shoulder")
18
local ls = torso:findFirstChild("Left Shoulder")
19
local rh = torso:findFirstChild("Right Hip")
20
local lh = torso:findFirstChild("Left Hip")
21
local neck = torso:findFirstChild("Neck")
22
local animate = char.Animate
23
24
25
--some more variables
26
local equipping = false
27
local equipped = false
28
local spread = 0
29
-- end of some more variables
30
31
local sound = Instance.new("Sound",head)
32-
sound.SoundId = "http://www.roblox.com/asset?id=130113322"
32+
sound.SoundId = "http://www.roblox.com/asset?id=255061221"
33
sound.Volume = 1
34
sound.Pitch = 1
35
36
local sound2 = Instance.new("Sound",head)
37-
sound2.SoundId = "http://www.roblox.com/asset?id=130113370"
37+
sound2.SoundId = "http://www.roblox.com/asset?id=254833653"
38
sound2.Volume = 1
39
sound2.Pitch = 0.9
40
41
42
modelName = "Gun"
43
44
pcall(function()
45
char:findFirstChild(modelName):Destroy()
46
end)
47
48
49
local gun = Instance.new("Model", char)
50
gun.Name = modelName
51
52
53
54
function attach(weld, part0, part1)
55
weld.Part0 = part0
56
weld.Part1 = part1
57
end
58
59
60
61
62
63
64
65
66
67
--create func
68
function part(parent, size, color, formfactor, collide, transparency)
69
if transparency == nil then transparency = 0 end
70
if collide == nil then collide = false end
71
if formfactor == nil then formfactor = Enum.FormFactor.Custom end
72
local p=Instance.new("Part", parent)
73
p.FormFactor=formfactor
74
p.CanCollide=false
75
p.Size=size
76
p.Locked=true
77
p.Transparency=transparency
78
p.Position=torso.Position
79
p.BrickColor=color
80
p.FrontSurface="SmoothNoOutlines" 
81
p.BackSurface="SmoothNoOutlines" 
82
p.LeftSurface="SmoothNoOutlines" 
83
p.BottomSurface="SmoothNoOutlines" 
84
p.TopSurface="SmoothNoOutlines" 
85
p.RightSurface="SmoothNoOutlines" 
86
return p
87
end
88
function wedge(parent, size, color, formfactor, collide, transparency)
89
90
if transparency == nil then transparency = 0 end
91
if collide == nil then collide = false end
92
if formfactor == nil then formfactor = Enum.FormFactor.Custom end
93
94
local p=Instance.new("WedgePart", parent)
95
p.FormFactor=formfactor
96
p.CanCollide=false
97
p.Size=size
98
p.Locked=true
99
p.Position = torso.Position
100
p.BrickColor=color
101
p.FrontSurface="SmoothNoOutlines" 
102
p.BackSurface="SmoothNoOutlines" 
103
p.LeftSurface="SmoothNoOutlines" 
104
p.BottomSurface="SmoothNoOutlines" 
105
p.TopSurface="SmoothNoOutlines" 
106
p.RightSurface="SmoothNoOutlines"
107
return p
108
end 
109
function weld(part0, part1, c0, parent, c1)
110
if parent == nil then parent = gun end
111
if c1 == nil then c1 = CFrame.new() end
112
113
local wel=Instance.new("Weld", parent)
114
wel.Part0 = part0
115
wel.Part1 = part1
116
wel.C0 = c0
117
wel.C1 = c1
118
return wel
119
end
120
function specialmesh(parent, meshType, scale, meshId)
121
local mesh = Instance.new("SpecialMesh", parent)
122
mesh.Scale = scale
123
mesh.MeshType = meshType
124
mesh.MeshId = meshId
125
return mesh
126
end
127
128
129
--some ray functi0n
130
131
function rayCast(speed, gravity, from)
132
coroutine.wrap(function()        
133
if char.Humanoid.Health == 0 then return end
134
local rayP = Instance.new("Part")
135
rayP.Name = "rayP"
136-
rayP.BrickColor = BrickColor.new("Cyan")
136+
rayP.BrickColor = BrickColor.new("New Yeller")
137
rayP.Anchored = true
138
rayP.CanCollide = false
139
rayP.Locked = true
140
rayP.TopSurface = Enum.SurfaceType.Smooth
141
rayP.BottomSurface = Enum.SurfaceType.Smooth
142
rayP.formFactor = Enum.FormFactor.Custom
143
rayP.Size = Vector3.new(0.2, 0.2, 0.2)
144
145
Instance.new("PointLight", rayP).Color = Color3.new(0, 255, 255)
146
147
Instance.new("BlockMesh", rayP).Scale = Vector3.new(0.3, 0.3, 20)
148
149
150
151
152
153
154
155
156
local bulletposition = from.Position + Vector3.new(0, 0.3, 0)
157
158
local bulletvelocity = (Vector3.new(math.random(-spread*4,spread*4), math.random(-spread*4,spread*4), math.random(-spread*4,spread*4)))+( plr:GetMouse().Hit.p - bulletposition).unit*speed
159
local bulletlastposition = bulletposition
160
161
162
163
164
coroutine.resume(coroutine.create(function()
165
while true do
166
local dt = wait()
167
bulletlastposition = bulletposition
168
bulletvelocity = bulletvelocity + (Vector3.new(0, -9.81*gravity, 0)*dt)
169
bulletposition = bulletposition + (bulletvelocity*dt)
170
171
local ray = Ray.new(bulletlastposition, (bulletposition - bulletlastposition))
172
173
local hit, hitposition = workspace:FindPartOnRayWithIgnoreList( ray, { char, rayP, TrailPart} )
174
175
if (torso.Position - rayP.Position).magnitude > 540 then
176
rayP:Destroy()
177
break
178
end
179
180
181
if hit then
182-
local damage = math.random(1004, 1007)
182+
local damage = math.random(9999, 10000)
183
if hit.Parent:findFirstChild("Humanoid") ~= nil then
184
hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - damage
185
end
186
if hit.Parent:IsA("Hat") and hit.Parent.Parent:findFirstChild("Humanoid") ~= nil then
187
hit.Parent.Parent.Humanoid.Health = hit.Parent.Parent.Humanoid.Health - damage        
188
end
189
bulletposition = hitposition
190
rayP.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity)
191
rayP:Destroy()
192
break
193
end
194
rayP.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity)
195
rayP.Parent = workspace
196
end
197
end))
198
end)()
199
end
200
201
202
203
--part(parent, size, color, formfactor(opt), collide(opt), transparency(opt))
204
--specialmesh(parent, meshType, scale, meshId)
205-
p1 = part(gun, Vector3.new(0.2, 0.85, 1), BrickColor.new("Really red"))
205+
p1 = part(gun, Vector3.new(0.2, 0.85, 1), BrickColor.new("Really Red"))
206
w1 = weld(p1, torso, CFrame.new(0.6, 0, -1)* CFrame.Angles(-math.pi/4, -math.pi/2, 0))
207
208
209
p2 = wedge(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.new("Really red"))
210
w2 = weld(p2, p1, CFrame.new(0, -0.325, 0.6))
211
212
213
p3 = wedge(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.new("Really red"))
214
w3 = weld(p3, p1, CFrame.new(0, -0.325, 0.6)*CFrame.Angles(math.pi, math.pi, 0))
215
216
217
p4 = part(gun, Vector3.new(0.2, 0.45, 2), BrickColor.new("Dark stone grey"))
218
w4 = weld(p4, p1, CFrame.new(0, 0, 1.5))
219
220
221
p5 = part(gun, Vector3.new(0.2, 0.2, 1), BrickColor.new("Dark stone grey"))
222
Instance.new("BlockMesh", p5).Scale = Vector3.new(1.01, 0.5, 1.01)
223
w5 = weld(p5, p1, CFrame.new(0, 0.175, 0))
224
225
226
227
228
p6 = part(gun, Vector3.new(0.2, 0.2, 1), BrickColor.new("Dark stone grey"))
229
Instance.new("BlockMesh", p6).Scale = Vector3.new(1.01, 0.5, 1.01)
230
w6 = weld(p6, p1, CFrame.new(0, -0.175, 0))
231
232
233
234
p7 = part(gun, Vector3.new(0.2, 0.75, 0.25), BrickColor.new("Really red"))
235
Instance.new("BlockMesh", p7).Scale = Vector3.new(.9, 1, 1)
236
w7 = weld(p7, p1, CFrame.new(0, -0.2, 1)*CFrame.Angles(math.pi/6, 0, 0))
237
238
239
240
p8 = part(gun, Vector3.new(0.2, 1, 0.2), BrickColor.new("Dark stone grey"))
241
Instance.new("CylinderMesh", p8)
242
w8 = weld(p8, p1, CFrame.new(0, -3, -0.1)*CFrame.Angles(math.pi/2, 0, 0))
243
244
245
246
--part(parent, size, color, formfactor(opt), collide(opt), transparency(opt))
247
--specialmesh(parent, meshType, scale, meshId)
248
249
250
251
p9 = part(gun, Vector3.new(0.2, 1, 0.2), BrickColor.new("Dark stone grey"))
252
Instance.new("CylinderMesh", p9).Scale = Vector3.new(0.8, 1, 0.8)
253
w9 = weld(p9, p1, CFrame.new(0, -2.8, 0.08)*CFrame.Angles(math.pi/2, 0, 0))
254
255
256
257
258
pa1 = part(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.new("Dark stone grey"))
259
specialmesh(pa1, "FileMesh", Vector3.new(0.4, 0.4, 1), "http://www.roblox.com/asset/?id=3270017")
260
we1 = weld(pa1, p1, CFrame.new(1.1, 0.2, 0)*CFrame.Angles(0, math.pi/2, 0))
261
262
263
pa2 = part(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.new("Dark stone grey"))
264
specialmesh(pa2, "FileMesh", Vector3.new(0.35, 0.35, 1.5), "http://www.roblox.com/asset/?id=3270017")
265
we2 = weld(pa2, p1, CFrame.new(1.9 - 0.6, 0, 0.05)*CFrame.Angles(0, math.pi/2, 0))
266
267
pa3 = part(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.White())
268
Instance.new("BlockMesh", pa3).Scale = Vector3.new(0.95, 1, 0.1)
269
we3 = weld(pa3, p1, CFrame.new(-0.01, 0, 1.82 - 0.6))
270
271
pa4 = part(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.White())
272
Instance.new("BlockMesh", pa4).Scale = Vector3.new(0.95, 1, 0.1)
273
we4 = weld(pa4, p1, CFrame.new(-0.01, 0, 1.98 - 0.6))
274
275
pa5 = part(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.White())
276
Instance.new("BlockMesh", pa5).Scale = Vector3.new(0.95, 0.1, 0.1)
277
we5 = weld(pa5, p1, CFrame.new(-0.01, -0.05, 1.85 - 0.6))
278
279
pa6 = part(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.White())
280
Instance.new("BlockMesh", pa6).Scale = Vector3.new(0.95, 0.1, 0.1)
281
we6 = weld(pa6, p1, CFrame.new(-0.01, -0.05, 1.95 - 0.6))
282
283
pa7 = part(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.White())
284
Instance.new("BlockMesh", pa7).Scale = Vector3.new(0.95, 0.1, 0.1)
285
we7 = weld(pa7, p1, CFrame.new(-0.01, -0.02, 1.9 - 0.6))
286
287
288
pa8 = wedge(gun, Vector3.new(0.2, 0.2, 0.2), BrickColor.new("Dark stone grey"))
289
specialmesh(pa8, "Wedge", Vector3.new(0.2, 1, 1), "")
290
we8 = weld(pa8, p1, CFrame.new(0, -0.23, -3.35)*CFrame.Angles(0, math.pi, 0))
291
292
pa9 = part(gun, Vector3.new(0.21, 0.8, 0.21), BrickColor.new("Really Red"))
293
we9 = weld(pa9, p1, CFrame.new(0, -2.3, 0.2)*CFrame.Angles(math.pi/2, 0, 0))
294
295
296
--part(parent, size, color, formfactor(opt), collide(opt), transparency(opt))
297
--specialmesh(parent, meshType, scale, meshId)
298
299
300
for pos = 0.9, 1.9, 0.2 do
301-
local lpart = part(gun, Vector3.new(0.201, 0.201, 0.201), BrickColor.new("Really Red"))
301+
local lpart = part(gun, Vector3.new(0.201, 0.201, 0.201), BrickColor.new("Light stone grey"))
302
Instance.new("BlockMesh", lpart).Scale = Vector3.new(1, 0.5, 0.8)
303
local lweld = weld(lpart, p1, CFrame.new(0, -0.25, pos))
304
end
305
306
307
308
--function attach(weld, part0, part1)
309
--weld.Part0 = part0
310
--weld.Part1 = part1
311
--end
312
313
function equip()
314
animate.Disabled = true
315
--weld(part0, part1, c0, c1)
316
--part(parent, size, color, formfactor(opt), collide(opt), transparency(opt))
317
local ftorso = part(gun, torso.Size, torso.BrickColor)
318
ftorso.Name = "FakeTorsoShotgun"
319
Instance.new("SpecialMesh", ftorso).MeshId = "rbxasset://fonts/torso.mesh"
320
local ftorsoweld = weld(ftorso, torso, CFrame.new(),ftorso)
321
torso.Transparency = 1
322
local ar = Instance.new("Part", gun)
323
ar.FormFactor = "Custom"
324
ar.Size = Vector3.new(1, 1, 1)
325
ar.Transparency = 1
326
ar.CanCollide = false
327
ar.Locked = true
328
ar.Name = "ShoulderJoint"
329
ar:BreakJoints()
330
local weldf = Instance.new("Motor", ar)
331
weldf.C0 = CFrame.new(0, 0.5, 0)
332
weldf.Part0 = ra
333
weldf.Part1 = ar
334
motor = Instance.new("Motor", ar)
335
motor.Part0 = ftorso
336
motor.Part1 = ar
337
motor.C0 = CFrame.new(1.5, 0.5, 0)
338
local ar2 = Instance.new("Part", gun)
339
ar2.FormFactor = "Custom"
340
ar2.Size = Vector3.new(1, 1, 1)
341
ar2.Transparency = 1
342
ar2.CanCollide = false
343
ar2.Locked = true
344
ar2.Name = "ShoulderJoint2"
345
ar2:BreakJoints()
346
local weldf2 = Instance.new("Motor", ar2)
347
weldf2.C0 = CFrame.new(0, 0.5, 0)
348
weldf2.Part0 = la
349
weldf2.Part1 = ar2
350
motor2 = Instance.new("Motor", ar2)
351
motor2.Part0 = ftorso
352
motor2.Part1 = ar2
353
motor2.C0 = CFrame.new(-1.5, 0.5, 0)
354
w1.Part1 = ra
355
for angle = 0, 180, 20 do
356
w1.C0 = CFrame.new(0+angle/460, 0.5-angle/160, 0.5-angle/360) * CFrame.Angles(math.pi + math.rad(angle/2), math.rad(angle), math.rad(angle))
357
wait()
358
end
359
attach(rh, ftorso, rl)
360
attach(lh, ftorso, ll)
361
for angle = 0, 90, 10 do
362
ftorsoweld.C0 = CFrame.new() * CFrame.Angles(0, math.rad(angle-30), 0)
363
motor.C0 = CFrame.new(1.3, 0.5, 0-angle/120) * CFrame.Angles(math.rad(angle), 0, -math.rad(angle-30))
364
motor2.C0 = CFrame.new(-1.3, 0.5, 0-angle/180) * CFrame.Angles(math.rad(angle), 0, 0)
365
wait()
366
end
367
368
369
370
371
end
372
373
function unequip()
374
animate.Disabled = false
375
attach(rh, torso, rl)
376
attach(lh, torso, ll)
377
w1.C0 = CFrame.new(0.6, 0, -1)* CFrame.Angles(-math.pi/4, -math.pi/2, 0)
378
w1.Part1 = torso
379
torso.Transparency = 0
380
pcall(function()
381
gun.FakeTorsoShotgun:Destroy()
382
gun.FakeTorsoShotgun:Destroy()
383
gun.ShoulderJoint:Destroy()
384
gun.ShoulderJoint:Destroy()
385
gun.ShoulderJoint2:Destroy()
386
gun.ShoulderJoint2:Destroy()
387
end)
388
389
end
390
391
392
local tool = Instance.new("HopperBin", plr.Backpack)
393
tool.Name = "Plasma Shotgun"
394
395
396
397
tool.Selected:connect(function(mouse2)
398
equipped = true
399
local mainGui = Instance.new("ScreenGui", plr.PlayerGui)
400
mainGui.Name = "AccuracyStuff"
401
402
local accuracyFrame = Instance.new("Frame", mainGui)
403
accuracyFrame.Size = UDim2.new(0, 100, 0, 100)
404
accuracyFrame.BackgroundTransparency = 1
405
406
mouse2.Icon = "http://www.roblox.com/asset/?id=108625356"
407
408
409
410
local accuracy1 = Instance.new("TextLabel", accuracyFrame)
411
accuracy1.Text = ""
412
accuracy1.BorderSizePixel = 0
413
accuracy1.BackgroundColor = BrickColor.new("Lime green")
414
accuracy1.Size = UDim2.new(0, -15, 0, 2)
415
416
local accuracy2 = Instance.new("TextLabel", accuracyFrame)
417
accuracy2.Text = ""
418
accuracy2.BorderSizePixel = 0
419
accuracy2.BackgroundColor = BrickColor.new("Lime green")
420
accuracy2.Size = UDim2.new(0, 15, 0, 2)
421
422
local accuracy3 = Instance.new("TextLabel", accuracyFrame)
423
accuracy3.Text = ""
424
accuracy3.BorderSizePixel = 0
425
accuracy3.BackgroundColor = BrickColor.new("Lime green")
426
accuracy3.Size = UDim2.new(0, 2, 0, -15)
427
428
local accuracy4 = Instance.new("TextLabel", accuracyFrame)
429
accuracy4.Text = ""
430
accuracy4.BorderSizePixel = 0
431
accuracy4.BackgroundColor = BrickColor.new("Lime green")
432
accuracy4.Size = UDim2.new(0, 2, 0, 15)
433
434
coroutine.wrap(function()
435
while equipped do
436
if spread < 0 then spread = 0 end
437
if humanoid.Health == 0 then break end
438
accuracy1.Position = UDim2.new(0, 41-(spread*40), 0, 50)
439
accuracy2.Position = UDim2.new(0, 60+(spread*40), 0, 50)
440
accuracy3.Position = UDim2.new(0, 50, 0, 40-(spread*40))
441
accuracy4.Position = UDim2.new(0, 50, 0, 60+(spread*40))        
442
accuracyFrame.Position = UDim2.new(0, mouse.X-50, 0, mouse.Y-50)
443
game:service'RunService'.Stepped:wait()
444
end
445
end)()
446
447
equip()
448
mouse2.Button1Down:connect(function()
449
if debounce then return end
450
debounce = true
451
sound:play()
452
motor.C0 = motor.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(20), -math.rad(12), 0)
453
coroutine.wrap(function()
454
wait(0.3)
455
for angle = 0, 4 do
456
motor.C0 = motor.C0 * CFrame.Angles(-math.rad(3.5), math.rad(2.2), 0)
457
wait()
458
end
459
motor.C0 = CFrame.new(1.3, 0.5, 0-90/120) * CFrame.Angles(math.rad(90), 0, -math.rad(90-30))
460
wait(0.2)
461
sound2:play()
462
we9.C0 = we9.C0 * CFrame.new(0, 0, -0.3)
463
motor2.C0 = motor2.C0 * CFrame.new(0.3, 0, 0)
464
wait(0.1)
465
for move = 0, 3 do
466
if move > 2 then return end
467
we9.C0 = we9.C0 * CFrame.new(0, 0, 0.1)
468
motor2.C0 = motor2.C0 * CFrame.new(-0.1, 0, 0)
469
wait(0.06)
470
end
471
end)()
472
spread = spread + 1
473
coroutine.wrap(function()
474
for bullitz = 0, 7 do
475
if bullitz > 6 then return end
476
rayCast(200, 2, pa8)
477
end
478
end)()
479
coroutine.wrap(function()
480
for _ = 0, 50 do
481
pcall(function()
482
spread = spread - 0.02
483
end)
484
wait()
485
end
486
end)()
487
wait(1)
488
debounce = false
489
end)
490
491
end)
492
493
tool.Deselected:connect(function()
494
equipped = false
495
pcall(function()
496
unequip()
497
plr.PlayerGui.AccuracyStuff:Destroy()
498
plr.PlayerGui.AccuracyStuff:Destroy()
499
plr.PlayerGui.AccuracyStuff:Destroy()
500
end)
501
end)