View difference between Paste ID: TXn0tmS7 and 5w5QXmyA
SHOW: | | - or go back to the newest paste.
1
-------[[({{==~~||Scythe 'o dead||~~==}})]]-------------------------------------------------------------------------------------------------------------------------------------------------
2
-------------------------------------------------------------------------------------------------------------------------------------------
3-
name = "baluga"
3+
name = "qJoshh"
4
5
me = game.Players[name]
6
char = me.Character
7
bin = script.Parent
8
selected = false
9
attacking = false
10
hurt = false
11
deb = true
12
normdmg = 18
13
dmg = normdmg
14
fly = false
15
firecols = {"Bright violet", "Black", "Really black"}
16
17
parts = {}
18
19
if char:findFirstChild("Scythe",true) ~= nil then
20
	char:findFirstChild("Scythe",true).Parent = nil
21
end
22
23
function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form)
24
part.Parent = parent
25
part.formFactor = form
26
part.CanCollide = collide
27
part.Transparency = tran
28
part.Reflectance = ref
29
part.Size = Vector3.new(x,y,z)
30
part.BrickColor = BrickColor.new(color)
31
part.TopSurface = 0
32
part.BottomSurface = 0
33
part.Anchored = anchor
34
part.Locked = true
35
part:BreakJoints()
36
end
37
38
function weld(w, p, p1, a, b, c, x, y, z)
39
w.Parent = p
40
w.Part0 = p
41
w.Part1 = p1
42
w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z)
43
end
44
45
function mesh(mesh, parent, x, y, z, type)
46
mesh.Parent = parent
47
mesh.Scale = Vector3.new(x, y, z)
48
mesh.MeshType = type
49
end
50
51
function getcharparts(path)
52
	local objs = {}
53
	for _,v in pairs(path:children()) do
54
		if v:IsA("Model") and v.Name ~= name then
55
			for _,k in pairs(v:children()) do
56
				if k.Name == "Torso" then
57
					table.insert(objs,k)
58
				end
59
			end
60
		end
61
	end
62
	return objs
63
end
64
65
sword = Instance.new("Model",me.Character)
66
sword.Name = "Scythe"
67
68
--Parts-------------------------Parts-------------------------Parts-------------------------Parts----------------------
69
70
rarm = char:findFirstChild("Right Arm")
71
larm = char:findFirstChild("Left Arm")
72
torso = char:findFirstChild("Torso")
73
hum = char:findFirstChild("Humanoid")
74
75
main = Instance.new("Part")
76
prop(main, sword, false, 0, 0, 0.45, 6.4, 0.45, "Really black", false, "Custom")
77
mme = Instance.new("SpecialMesh")
78
mesh(mme,main,1,1,1,"Head")
79
table.insert(parts,main)
80
81
part1 = Instance.new("Part")
82
prop(part1, sword, false, 0, 0, 0.45, 1, 0.45, "Really black", false, "Custom")
83
p1m = Instance.new("SpecialMesh")
84
mesh(p1m,part1,1,1,1,"Head")
85
w1 = Instance.new("Weld")
86
weld(w1, main, part1, 0, 0, -1.1, -0.3, 3.3, 0)
87
88
part2 = Instance.new("Part")
89
prop(part2, sword, false, 0, 0, 0.45, 1, 0.45, "Really black", false, "Custom")
90
p2m = Instance.new("SpecialMesh")
91
mesh(p2m,part2,1,1,1,"Head")
92
w2 = Instance.new("Weld")
93
weld(w2, main, part2, 0, 0, -1.1, 0.3, -3.3, 0)
94
95
blade1 = Instance.new("Part")
96
prop(blade1, sword, false, 0, 0, 1.4, 0.8, 0.1, "Dark grey", false, "Custom")
97
b1m = Instance.new("BlockMesh",blade1)
98
w3 = Instance.new("Weld")
99
weld(w3, main, blade1, 0, 0, -0.4, -0.45, -3.4, 0)
100
table.insert(parts,blade1)
101
102
blade2 = Instance.new("Part")
103
prop(blade2, sword, false, 0, 0, 1.1, 0.8, 0.1, "Dark grey", false, "Custom")
104
b2m = Instance.new("BlockMesh",blade2)
105
w4 = Instance.new("Weld")
106
weld(w4, main, blade2, 0, 0, 0, -1.5, -3.66, 0)
107
table.insert(parts,blade2)
108
109
blade3 = Instance.new("Part")
110
prop(blade3, sword, false, 0, 0, 0.1, 0.8, 1.7, "Dark grey", false, "Custom")
111
b3m = Instance.new("SpecialMesh")
112
mesh(b3m,blade3,1,1,1,"Wedge")
113
w5 = Instance.new("Weld")
114
weld(w5, main, blade3, 0, math.pi/2, 0.4, -2.64, -3.38, 0)
115
table.insert(parts,blade3)
116
117
blade1b = Instance.new("Part")
118
prop(blade1b, sword, false, 0, 0, 1.4, 0.8, 0.1, "Dark grey", false, "Custom")
119
b1mb = Instance.new("BlockMesh",blade1b)
120
w6 = Instance.new("Weld")
121
weld(w6, main, blade1b, 0, 0, -0.4+math.pi, 0.45, 3.4, 0)
122
table.insert(parts,blade1b)
123
124
blade2b = Instance.new("Part")
125
prop(blade2b, sword, false, 0, 0, 1.1, 0.8, 0.1, "Dark grey", false, "Custom")
126
b2mb = Instance.new("BlockMesh",blade2b)
127
w7 = Instance.new("Weld")
128
weld(w7, main, blade2b, 0, 0, math.pi, 1.5, 3.66, 0)
129
table.insert(parts,blade2b)
130
131
blade3b = Instance.new("Part")
132
prop(blade3b, sword, false, 0, 0, 0.1, 0.8, 1.7, "Dark grey", false, "Custom")
133
b3mb = Instance.new("SpecialMesh")
134
mesh(b3mb,blade3b,1,1,1,"Wedge")
135
w8 = Instance.new("Weld")
136
weld(w8, main, blade3b, 0, math.pi/2, 0.4+math.pi, 2.64, 3.38, 0)
137
table.insert(parts,blade3b)
138
139
for i=0.9, 1.6, 0.09 do
140
hp1 = Instance.new("Part")
141
prop(hp1, sword, false, 0, 0, 0.48, 0.09, 0.48, "White", false, "Custom")
142
h1m = Instance.new("SpecialMesh")
143
mesh(h1m,hp1,1,1,1,"Head")
144
w9 = Instance.new("Weld")
145
weld(w9, main, hp1, math.random(-20,20)/100, 0, math.random(-20,20)/100, 0, i, 0)
146
end
147
148
for i=0.9, 1.6, 0.09 do
149
hp2 = Instance.new("Part")
150
prop(hp2, sword, false, 0, 0, 0.48, 0.09, 0.48, "White", false, "Custom")
151
h2m = Instance.new("SpecialMesh")
152
mesh(h2m,hp2,1,1,1,"Head")
153
w10 = Instance.new("Weld")
154
weld(w10, main, hp2, math.random(-20,20)/100, 0, math.random(-20,20)/100, 0, -i, 0)
155
end
156
157
--Arm joints-----------------------Arm joints-----------------------Arm joints---------------------
158
159
righthold = Instance.new("Part")
160
prop(righthold, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
161
w11 = Instance.new("Weld")
162
weld(w11, rarm, righthold, 0, 0, 0, 0, 1, 0)
163
164
lefthold = Instance.new("Part")
165
prop(lefthold, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
166
w12 = Instance.new("Weld")
167
weld(w12, larm, lefthold, 0, 0, 0, 0, 1, 0)
168
169
rb = Instance.new("Part")
170
prop(rb, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
171
w13 = Instance.new("Weld")
172
weld(w13, torso, rb, 0, 0, 0, -1.5, -0.5, 0)
173
174
lb = Instance.new("Part")
175
prop(lb, sword, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
176
w14 = Instance.new("Weld")
177
weld(w14, torso, lb, 0, 0, 0, 1.5, -0.5, 0)
178
179
rw = Instance.new("Weld")
180
weld(rw, rb, nil, 0, 0, 0, 0, 0.5, 0)
181
182
lw = Instance.new("Weld")
183
weld(lw, lb, nil, 0, 0, 0, 0, 0.5, 0)
184
185
186
holdweld = Instance.new("Weld")
187
weld(holdweld,torso,main,0,0,0.85,0,0,-0.64)
188
189
rh = Instance.new("Weld")
190
weld(rh,righthold,nil,math.pi/2,0,math.pi,0,0,1)
191
192
lh = Instance.new("Weld")
193
weld(lh,lefthold,nil,math.pi/2,0,0,0,0,0)
194
195
rightbattle = nil
196
leftbattle = nil
197
198
if script.Parent.className ~= "HopperBin" then
199
	h = Instance.new("HopperBin",me.Backpack)
200
	h.Name = "Scythe"
201
	script.Parent = h
202
end
203
204
bin = script.Parent
205
206
function selectmotion()
207
	rw.Part1 = rarm
208
	rh.C0 = CFrame.new(0,0,0)
209
	rw.C0 = CFrame.new(0,0,0)
210
	lw.C0 = CFrame.new(0,0,0)
211
	for i=1, 7 do
212
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.25,0.13,-0.1)
213
		wait()
214
	end
215
	rh.Part1 = main
216
	holdweld.Part1 = nil
217
	for i=1, 5 do
218
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.3,0,-0.1)
219
		rh.C0 = rh.C0 * CFrame.new(0,0,0.4) * CFrame.fromEulerAnglesXYZ(0,0,-(math.pi/2)/5)
220
		wait()
221
	end
222
	lw.Part1 = larm
223
	for i=1, 5 do
224
		rw.C0 = rw.C0 * CFrame.new(-0.03,0.05,0.08) * CFrame.fromEulerAnglesXYZ(-0.3,-0.2,0.13)
225
		lw.C0 = lw.C0 * CFrame.new(0.08,0,0) * CFrame.fromEulerAnglesXYZ(0.2,0,0)
226
		wait()
227
	end
228
	rightbattle = rw.C0
229
	leftbattle = lw.C0
230
	rh.Part1 = main
231
	lw.Part1 = larm
232
	rw.C0 = rightbattle
233
	lw.C0 = leftbattle
234
	selected = true
235
end
236
237
function deselmotion()
238
	selected = false
239
	rightbattle = rw.C0
240
	leftbattle = lw.C0
241
	rh.Part1 = main
242
	lw.Part1 = larm
243
	rw.Part1 = rarm
244
	rw.C0 = rightbattle
245
	lw.C0 = leftbattle
246
	for i=1, 5 do
247
		rw.C0 = rw.C0 * CFrame.new(0.03,-0.05,-0.08) * CFrame.fromEulerAnglesXYZ(0.3,0.2,-0.13)
248
		lw.C0 = lw.C0 * CFrame.new(-0.08,0,0) * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
249
		wait()
250
	end
251
	lw.Part1 = nil
252
	for i=1, 5 do
253
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.3,0,0.1)
254
		rh.C0 = rh.C0 * CFrame.new(0,0,-0.4) * CFrame.fromEulerAnglesXYZ(0,0,(math.pi/2)/5)
255
		wait()
256
	end
257
	holdweld.Part1 = main
258
	rh.Part1 = nil
259
	for i=1, 7 do
260
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.25,-0.13,0.1)
261
		wait()
262
	end
263
	rw.Part1 = nil
264
	lw.Part1 = nil
265
	rh.C0 = CFrame.new(0,0,0)
266
	rw.C0 = CFrame.new(0,0,0)
267
	lw.C0 = CFrame.new(0,0,0)
268
end
269
270
--Effect------------------Effect------------------Effect------------------Effect------------------Effect----------------
271
272
function effect()
273
	for _,v in pairs(parts) do
274
		local o = v:clone()
275
		o.Parent = workspace
276
		o.Transparency = 0.6
277
		o.BrickColor = BrickColor.new("Bright violet")
278
		o.Anchored = true
279
		o.CanCollide = false
280
		o.CFrame = v.CFrame
281
		coroutine.resume(coroutine.create(function()
282
			for i=o.Transparency, 1, 0.07 do
283
				wait()
284
				o.Transparency = i
285
			end
286
			o:remove()
287
		end))
288
	end
289
end
290
291
--KILL FUNCTION-------------KILL FUNCTION-------------KILL FUNCTION-------------KILL FUNCTION-----------
292
293
294
function kill(h)
295
	if hurt and deb then
296
		local hu = h.Parent:findFirstChild("Humanoid")
297
		if hu ~= nil and h.Parent.Name ~= name then
298
			deb = false
299
			local dam = math.random(0,dmg)
300
			hu.Health = hu.Health - dam
301
			local p = Instance.new("Part")
302
			prop(p,nil,false,1,0,0.9,0.25,0.9,"Bright red",false,"Custom")
303
			p.CFrame = CFrame.new(blade3b.Position) * CFrame.new(0,2,0)
304
			local bil = Instance.new("BillboardGui",p)
305
			bil.Adornee = bil.Parent
306
			bil.Size = UDim2.new(0,60,0,60)
307
			local txt = Instance.new("TextLabel",bil)
308
			txt.Text = dam
309
			txt.BackgroundTransparency = 1
310
			txt.FontSize = "Size24"
311
			txt.Size = UDim2.new(0,60,0,60)
312
			local bp = Instance.new("BodyPosition",p)
313
			bp.maxForce = Vector3.new(math.huge,math.huge,math.huge)
314
			bp.P = 200000
315
			bp.position = p.Position
316
			local po = bp.position
317
			local cf = CFrame.Angles(0,0,0)
318
			if fly then
319
				local too = h.Parent:findFirstChild("Torso")
320
				if too ~= nil then
321
					coroutine.resume(coroutine.create(function()
322
						hu.PlatformStand = true
323
						wait(0.06)
324
						local c = CFrame.new(torso.Position, too.Position)
325
						too.Velocity = c.lookVector * math.random(30,70)
326
						wait(0.6)
327
						hu.PlatformStand = false
328
					end))
329
				end
330
			end
331
			coroutine.resume(coroutine.create(function()
332
				p.Parent = workspace
333
				for i=0, math.random(16,27), 0.35 do
334
					wait()
335
					cf = CFrame.Angles(0,i/1.3,0) * CFrame.new(0,i/1.7,i/3.2)
336
					bp.position = po + cf.p
337
				end
338
				p:remove()
339
			end))
340
			coroutine.resume(coroutine.create(function()
341
				wait(0.14)
342
				deb = true
343
			end))
344
		end
345
	end
346
end
347
348
for _,v in pairs(parts) do
349
	v.Touched:connect(kill)
350
end
351
352
--Attacks-----------Attacks----------------Attacks-----------Attacks----------------Attacks-----------Attacks--------------
353
354
function att()
355
	attacking = true
356
	for i=1,7 do
357
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.05,-0.2,-0.05)
358
		lw.C0 = lw.C0 * CFrame.new(0.07,-0.08,0) * CFrame.fromEulerAnglesXYZ(0,0,0.12)
359
		wait()
360
	end
361
	for i=1,6 do
362
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.3,0,0.05)
363
		lw.C0 = lw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.2,0,0.1)
364
		wait()
365
	end
366
	hurt = true
367
	for i=1,6 do
368
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.5,-0.06,0.12)
369
		lw.C0 = lw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.23,-0.07,0)
370
		effect()
371
		wait()
372
	end
373
	hurt = false
374
	for i=1,6 do
375
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.13,0.23,-0.2)
376
		lw.C0 = lw.C0 * CFrame.new(-0.08,0.09,0.03) * CFrame.fromEulerAnglesXYZ(-0.1,0.15,-0.15)
377
		effect()
378
		wait()
379
	end
380
	rw.C0 = rightbattle
381
	lw.C0 = leftbattle
382
	attacking = false
383
end
384
385
function throw()
386
	attacking = true
387
	for i=1,7 do
388
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.08,-0.14,-0.2)
389
		wait()
390
	end
391
	for i=1,3 do
392
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.2,-0,0)
393
		effect()
394
		wait()
395
	end
396
	for i=1,4 do
397
		rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.45,-0,0)
398
		effect()
399
		wait()
400
	end
401
	rh.Part1 = nil
402
	local bv = Instance.new("BodyVelocity",main)
403
	bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
404
	bv.velocity = torso.CFrame.lookVector * 70
405
	local bav = Instance.new("BodyAngularVelocity",main)
406
	bav.P = 10000
407
	bav.angularvelocity = torso.CFrame.lookVector * 40
408
	local lolpos = torso.CFrame
409
	wait(0.4)
410
	hurt = true
411
	dmg = 65
412
	coroutine.resume(coroutine.create(function()
413
		repeat wait() effect() until (main.Position - torso.Position).magnitude < 11
414
		rh.Part1 = main
415
		bv:remove()
416
		bav:remove()
417
		rw.C0 = rightbattle
418
		lw.C0 = leftbattle
419
		attacking = false
420
		hurt = false
421
		dmg = normdmg
422
	end))
423
	wait(3)
424
	bv.velocity = lolpos.lookVector * -180
425
end
426
427
function spin()
428
	attacking = true
429
	wait(0.1)
430
	local bg = Instance.new("BodyGyro",torso)
431
	bg.P = 13000
432
	bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
433
	local cf = CFrame.Angles(0,0,0)
434
	local xd = torso.CFrame
435
	bg.cframe = CFrame.new(torso.Position, xd * cf * CFrame.new(0,0,-90).p)
436
	for i=1,4 do
437
		rw.C0 = rw.C0 * CFrame.new(0,0.1,0) * CFrame.fromEulerAnglesXYZ(0.35,0,-0.07)
438
		lw.C0 = lw.C0 * CFrame.new(0,0.1,0) * CFrame.fromEulerAnglesXYZ(0,0,0)
439
		wait()
440
	end
441
	hurt = true
442
	fly = true
443
	for i=0,math.pi*4,math.pi/6 do
444
		wait()
445
		cf = CFrame.Angles(0,-i,0)
446
		bg.cframe = CFrame.new(torso.Position, xd * cf * CFrame.new(0,0,-90).p)
447
		effect()
448
	end
449
	hurt = false
450
	fly = false
451
	bg:remove()
452
	for i=1,4 do
453
		rw.C0 = rw.C0 * CFrame.new(0,-0.1,0) * CFrame.fromEulerAnglesXYZ(-0.35,0,0.07)
454
		lw.C0 = lw.C0 * CFrame.new(0,-0.1,0) * CFrame.fromEulerAnglesXYZ(0,0,0)
455
		wait()
456
	end
457
	rw.C0 = rightbattle
458
	lw.C0 = leftbattle
459
	wait(0.2)
460
	attacking = false
461
end
462
463
function select(mouse)
464
	repeat wait() until selected == false and attacking == false
465
	if selected == false then
466
		selectmotion()
467
	end
468
	coroutine.resume(coroutine.create(function()
469
		while selected do
470
			wait(0.25)
471
			if torso.RotVelocity.Y < -14 and attacking == false then
472
				spin()
473
			end
474
		end
475
	end))
476
	mouse.Button1Down:connect(function()
477
		if selected and attacking == false then
478
			att()
479
		end
480
	end)
481
	mouse.KeyDown:connect(function(kai)
482
		if attacking == false then
483
			omg = kai:lower()
484
			if omg == "r" then
485
				throw()
486
			end
487
		end
488
	end)
489
end
490
491
function desel()
492
	repeat wait() until selected and attacking == false
493
	if selected then
494
		deselmotion()
495
	end
496
end
497
498
bin.Selected:connect(select)
499
bin.Deselected:connect(desel)