View difference between Paste ID: 68ewXjLK and aLYZq9pc
SHOW: | | - or go back to the newest paste.
1
-----------------------
2
--[[ Name : Some gay animations (gat) ]]--
3
-------------------------------------------------------
4
--A script By makhail07
5
--Footplanting added by Nebula_Zorua (Nebula the Zorua#6969)
6
7
--Discord Creterisk#2958 
8
9
--NOTE THIS SCRIPT WAS PURELY MADE FROM MY FUCKING IMAGINATION
10
--IF IT HAPPENS TO LOOK LIKE ANOTHER SCRIPT
11
--DONT CALL IT A FUCKING BOOTLEG THANK YOU AND ENJOY THE SCRIPT
12
--YOU FUCKING SKIDS,
13
--For Those who log/decompile this, If you sell or trade this,
14
--and I find out who you are, i will take massive action.
15
-------------------------------------------------------
16
17
--https://github.com/Mokiros/roblox-FE-compatibility
18
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
19
local Player,game,owner = owner,game
20
local RealPlayer = Player
21
do
22
	print("FE Compatibility code V2 by Mokiros")
23
	local RealPlayer = RealPlayer
24
	script.Parent = RealPlayer.Character
25
26
	--Fake event to make stuff like Mouse.KeyDown work
27
	local Disconnect_Function = function(this)
28
		this[1].Functions[this[2]] = nil
29
	end
30
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
31
	local FakeEvent_Metatable = {__index={
32
		Connect = function(this,f)
33
			local i = tostring(math.random(0,10000))
34
			while this.Functions[i] do
35
				i = tostring(math.random(0,10000))
36
			end
37
			this.Functions[i] = f
38
			return setmetatable({this,i},Disconnect_Metatable)
39
		end
40
	}}
41
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
42
	local function fakeEvent()
43
		return setmetatable({Functions={}},FakeEvent_Metatable)
44
	end
45
46
	--Creating fake input objects with fake variables
47
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
48
    FakeMouse.keyUp = FakeMouse.KeyUp
49
    FakeMouse.keyDown = FakeMouse.KeyDown
50
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
51
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
52
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
53
	end}
54
	--Merged 2 functions into one by checking amount of arguments
55
	CAS.UnbindAction = CAS.BindAction
56
57
	--This function will trigger the events that have been :Connect()'ed
58
	local function TriggerEvent(self,ev,...)
59
		for _,f in pairs(self[ev].Functions) do
60
			f(...)
61
		end
62
	end
63
	FakeMouse.TriggerEvent = TriggerEvent
64
	UIS.TriggerEvent = TriggerEvent
65
66
	--Client communication
67
	local Event = Instance.new("RemoteEvent")
68
	Event.Name = "UserInput_Event"
69
	Event.OnServerEvent:Connect(function(plr,io)
70
	    if plr~=RealPlayer then return end
71
		FakeMouse.Target = io.Target
72
		FakeMouse.Hit = io.Hit
73
		if not io.isMouse then
74
			local b = io.UserInputState == Enum.UserInputState.Begin
75
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
76
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
77
			end
78
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
79
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
80
			end
81
			for _,t in pairs(CAS.Actions) do
82
				for _,k in pairs(t.Keys) do
83
					if k==io.KeyCode then
84
						t.Function(t.Name,io.UserInputState,io)
85
					end
86
				end
87
			end
88
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
89
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
90
	    end
91
	end)
92
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
93
	local Mouse = owner:GetMouse()
94
	local UIS = game:GetService("UserInputService")
95
	local input = function(io,RobloxHandled)
96
		if RobloxHandled then return end
97
		--Since InputObject is a client-side instance, we create and pass table instead
98
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
99
	end
100
	UIS.InputBegan:Connect(input)
101
	UIS.InputEnded:Connect(input)
102
	local h,t
103
	--Give the server mouse data every second frame, but only if the values changed
104
	--If player is not moving their mouse, client won't fire events
105
	local HB = game:GetService("RunService").Heartbeat
106
	while true do
107
		if h~=Mouse.Hit or t~=Mouse.Target then
108
			h,t=Mouse.Hit,Mouse.Target
109
			Event:FireServer({isMouse=true,Target=t,Hit=h})
110
		end
111
		--Wait 2 frames
112
		for i=1,2 do
113
			HB:Wait()
114
		end
115
	end]==],script)
116
117
	----Sandboxed game object that allows the usage of client-side methods and services
118
	--Real game object
119
	local RealGame = game
120
121
	--Metatable for fake service
122
	local FakeService_Metatable = {
123
		__index = function(self,k)
124
			local s = rawget(self,"_RealService")
125
			if s then
126
				return typeof(s[k])=="function"
127
				and function(_,...)return s[k](s,...)end or s[k]
128
			end
129
		end,
130
		__newindex = function(self,k,v)
131
			local s = rawget(self,"_RealService")
132
			if s then s[k]=v end
133
		end
134
	}
135
	local function FakeService(t,RealService)
136
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
137
		return setmetatable(t,FakeService_Metatable)
138
	end
139
140
	--Fake game object
141
	local FakeGame = {
142
		GetService = function(self,s)
143
			return rawget(self,s) or RealGame:GetService(s)
144
		end,
145
		Players = FakeService({
146
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
147
		},"Players"),
148
		UserInputService = FakeService(UIS,"UserInputService"),
149
		ContextActionService = FakeService(CAS,"ContextActionService"),
150
		RunService = FakeService({
151
			_btrs = {},
152
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
153
			BindToRenderStep = function(self,name,_,fun)
154
				self._btrs[name] = self.Heartbeat:Connect(fun)
155
			end,
156
			UnbindFromRenderStep = function(self,name)
157
				self._btrs[name]:Disconnect()
158
			end,
159
		},"RunService")
160
	}
161
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
162
	FakeGame.service = FakeGame.GetService
163
	FakeService(FakeGame,game)
164
	--Changing owner to fake player object to support owner:GetMouse()
165
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
166
end
167
168
169
local FavIDs = {
170
	340106355, --Nefl Crystals
171
	927529620, --Dimension
172
	876981900, --Fantasy
173
	398987889, --Ordinary Days
174
	1117396305, --Oh wait, it's you.
175
	885996042, --Action Winter Journey
176
	919231299, --Sprawling Idiot Effigy
177
	743466274, --Good Day Sunshine
178
	727411183, --Knife Fight
179
	1402748531, --The Earth Is Counting On You!
180
	595230126 --Robot Language
181
	}
182
183
184
185
--The reality of my life isn't real but a Universe -makhail07
186
wait()
187
local plr = game:service'Players'.LocalPlayer
188
print('Local User is '..plr.Name)
189
local char = plr.Character
190
local hum = char.Humanoid
191
local ra = char["Right Arm"]
192
local la= char["Left Arm"]
193
local rl= char["Right Leg"]
194
local ll = char["Left Leg"]
195
local hed = char.Head
196
local root = char.HumanoidRootPart
197
local rootj = root.RootJoint
198
local tors = char.Torso
199
local mouse = plr:GetMouse()
200
local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
201
local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
202
local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
203
-------------------------------------------------------
204
--Start Whitelist and Invincibility--
205
-------------------------------------------------------	
206
function checkfriendlist(model)
207
local friend = false
208
local target = nil
209
if model.ClassName == "Player" then
210
target = model
211
else
212
target = game:GetService("Players"):GetPlayerFromCharacter(model)
213
end
214
if target ~= nil then
215-
if target:IsFriendsWith(19909695) then friend = true end
215+
if target:IsFriendsWith(67726430) then friend = true end
216
end
217
return friend
218
end
219
if checkfriendlist(game:GetService("Players").LocalPlayer) == true then
220
	warn('Youre whitelisted/friends with the creator, Have fun! ' ..plr.Name)
221
end
222
223
if checkfriendlist(game:GetService("Players").LocalPlayer) == false then
224
	warn('How did you even get this script? ' ..plr.Name)
225
error"Your are not whitelisted/Friends with the creator."
226
end
227
228
ff = Instance.new("ForceField",char)
229
ff.Visible = false
230
hum.Name = "Base"
231
hum.MaxHealth = 1.0E298
232
hum.Health = 1.0E298
233
game:GetService("RunService"):BindToRenderStep("Bbae", 0, function()
234
  if hum.Health > 0.1 and hum.Health < 1.0E298 then
235
    hum.MaxHealth = 1.0E298
236
    hum.Health = 1.0E298
237
  end
238
end)
239
-------------------------------------------------------
240
--End Whitelist and Invincibility--
241
-------------------------------------------------------	
242
243
-------------------------------------------------------
244
--Start Good Stuff--
245
-------------------------------------------------------
246
CF = CFrame.new
247
angles = CFrame.Angles
248
attack = false
249
Euler = CFrame.fromEulerAnglesXYZ
250
Rad = math.rad
251
IT = Instance.new
252
BrickC = BrickColor.new
253
Cos = math.cos
254
Acos = math.acos
255
Sin = math.sin
256
Asin = math.asin
257
Abs = math.abs
258
Mrandom = math.random
259
Floor = math.floor
260
-------------------------------------------------------
261
--End Good Stuff--
262
-------------------------------------------------------
263
necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
264
RSH, LSH = nil, nil 
265
RW = Instance.new("Weld") 
266
LW = Instance.new("Weld")
267
RH = tors["Right Hip"]
268
LH = tors["Left Hip"]
269
RSH = tors["Right Shoulder"] 
270
LSH = tors["Left Shoulder"] 
271
RSH.Parent = nil 
272
LSH.Parent = nil 
273
RW.Name = "RW"
274
RW.Part0 = tors 
275
RW.C0 = CF(1.5, 0.5, 0)
276
RW.C1 = CF(0, 0.5, 0) 
277
RW.Part1 = ra
278
RW.Parent = tors 
279
LW.Name = "LW"
280
LW.Part0 = tors 
281
LW.C0 = CF(-1.5, 0.5, 0)
282
LW.C1 = CF(0, 0.5, 0) 
283
LW.Part1 = la
284
LW.Parent = tors
285
Effects = {}
286
287
-------------------------------------------------------
288
--Start HeartBeat--
289
-------------------------------------------------------
290
ArtificialHB = Instance.new("BindableEvent", script)
291
ArtificialHB.Name = "Heartbeat"
292
script:WaitForChild("Heartbeat")
293
294
frame = 1 / 60
295
tf = 0
296
allowframeloss = false
297
tossremainder = false
298
299
300
lastframe = tick()
301
script.Heartbeat:Fire()
302
303
304
game:GetService("RunService").Heartbeat:connect(function(s, p)
305
	tf = tf + s
306
	if tf >= frame then
307
		if allowframeloss then
308
			script.Heartbeat:Fire()
309
			lastframe = tick()
310
		else
311
			for i = 1, math.floor(tf / frame) do
312
				script.Heartbeat:Fire()
313
			end
314
			lastframe = tick()
315
		end
316
		if tossremainder then
317
			tf = 0
318
		else
319
			tf = tf - frame * math.floor(tf / frame)
320
		end
321
	end
322
end)
323
-------------------------------------------------------
324
--End HeartBeat--
325
-------------------------------------------------------
326
327
-------------------------------------------------------
328
--Start Important Functions--
329
-------------------------------------------------------
330
331
function thread(f)
332
	coroutine.resume(coroutine.create(f))
333
end
334
function clerp(a, b, t)
335
	local qa = {
336
		QuaternionFromCFrame(a)
337
	}
338
	local qb = {
339
		QuaternionFromCFrame(b)
340
	}
341
	local ax, ay, az = a.x, a.y, a.z
342
	local bx, by, bz = b.x, b.y, b.z
343
	local _t = 1 - t
344
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
345
end
346
function QuaternionFromCFrame(cf)
347
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
348
	local trace = m00 + m11 + m22
349
	if trace > 0 then
350
		local s = math.sqrt(1 + trace)
351
		local recip = 0.5 / s
352
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
353
	else
354
		local i = 0
355
		if m00 < m11 then
356
			i = 1
357
		end
358
		if m22 > (i == 0 and m00 or m11) then
359
			i = 2
360
		end
361
		if i == 0 then
362
			local s = math.sqrt(m00 - m11 - m22 + 1)
363
			local recip = 0.5 / s
364
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
365
		elseif i == 1 then
366
			local s = math.sqrt(m11 - m22 - m00 + 1)
367
			local recip = 0.5 / s
368
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
369
		elseif i == 2 then
370
			local s = math.sqrt(m22 - m00 - m11 + 1)
371
			local recip = 0.5 / s
372
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
373
		end
374
	end
375
end
376
function QuaternionToCFrame(px, py, pz, x, y, z, w)
377
	local xs, ys, zs = x + x, y + y, z + z
378
	local wx, wy, wz = w * xs, w * ys, w * zs
379
	local xx = x * xs
380
	local xy = x * ys
381
	local xz = x * zs
382
	local yy = y * ys
383
	local yz = y * zs
384
	local zz = z * zs
385
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
386
end
387
function QuaternionSlerp(a, b, t)
388
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
389
	local startInterp, finishInterp
390
	if cosTheta >= 1.0E-4 then
391
		if 1 - cosTheta > 1.0E-4 then
392
			local theta = math.acos(cosTheta)
393
			local invSinTheta = 1 / Sin(theta)
394
			startInterp = Sin((1 - t) * theta) * invSinTheta
395
			finishInterp = Sin(t * theta) * invSinTheta
396
		else
397
			startInterp = 1 - t
398
			finishInterp = t
399
		end
400
	elseif 1 + cosTheta > 1.0E-4 then
401
		local theta = math.acos(-cosTheta)
402
		local invSinTheta = 1 / Sin(theta)
403
		startInterp = Sin((t - 1) * theta) * invSinTheta
404
		finishInterp = Sin(t * theta) * invSinTheta
405
	else
406
		startInterp = t - 1
407
		finishInterp = t
408
	end
409
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
410
end
411
function rayCast(Position, Direction, Range, Ignore)
412
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
413
end
414
local RbxUtility = LoadLibrary("RbxUtility")
415
local Create = RbxUtility.Create
416
417
418
local ArtificialHB = Instance.new("BindableEvent", script)
419
ArtificialHB.Name = "Heartbeat"
420
421
script:WaitForChild("Heartbeat")
422
423
local tf = 0
424
local allowframeloss = false
425
local tossremainder = false
426
local lastframe = tick()
427
local frame = 1/60
428
ArtificialHB:Fire()
429
430
game:GetService("RunService").Heartbeat:connect(function(s, p)
431
	tf = tf + s
432
	if tf >= frame then
433
		if allowframeloss then
434
			script.Heartbeat:Fire()
435
			lastframe = tick()
436
		else
437
			for i = 1, math.floor(tf / frame) do
438
				ArtificialHB:Fire()
439
			end
440
			lastframe = tick()
441
		end
442
		if tossremainder then
443
			tf = 0
444
		else
445
			tf = tf - frame * math.floor(tf / frame)
446
		end
447
	end
448
end)
449
450
function swait(num)
451
	if num == 0 or num == nil then
452
		ArtificialHB.Event:wait()
453
	else
454
		for i = 0, num do
455
			ArtificialHB.Event:wait()
456
		end
457
	end
458
end
459
460
-------------------------------------------------------
461
--Start Damage Function--
462
-------------------------------------------------------
463
function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
464
	if hit.Parent == nil then
465
		return
466
	end
467
	local h = hit.Parent:FindFirstChildOfClass("Humanoid")
468
	for _, v in pairs(hit.Parent:children()) do
469
		if v:IsA("Humanoid") then
470
			h = v
471
		end
472
	end
473
         if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
474
	
475
         hit.Parent:FindFirstChild("Head"):BreakJoints()
476
         end
477
478
	if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
479
		if hit.Parent:findFirstChild("DebounceHit") ~= nil then
480
			if hit.Parent.DebounceHit.Value == true then
481
				return
482
			end
483
		end
484
         if insta == true then
485
         hit.Parent:FindFirstChild("Head"):BreakJoints()
486
         end
487
		local c = Create("ObjectValue"){
488
			Name = "creator",
489
			Value = game:service("Players").LocalPlayer,
490
			Parent = h,
491
		}
492
		game:GetService("Debris"):AddItem(c, .5)
493
		if HitSound ~= nil and HitPitch ~= nil then
494
			CFuncs.Sound.Create(HitSound, hit, 1, HitPitch) 
495
		end
496
		local Damage = math.random(minim, maxim)
497
		local blocked = false
498
		local block = hit.Parent:findFirstChild("Block")
499
		if block ~= nil then
500
			if block.className == "IntValue" then
501
				if block.Value > 0 then
502
					blocked = true
503
					block.Value = block.Value - 1
504
					print(block.Value)
505
				end
506
			end
507
		end
508
		if blocked == false then
509
			h.Health = h.Health - Damage
510
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
511
		else
512
			h.Health = h.Health - (Damage / 2)
513
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
514
		end
515
		if Type == "Knockdown" then
516
			local hum = hit.Parent.Humanoid
517
			hum.PlatformStand = true
518
			coroutine.resume(coroutine.create(function(HHumanoid)
519
				swait(1)
520
				HHumanoid.PlatformStand = false
521
			end), hum)
522
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
523
			local bodvol = Create("BodyVelocity"){
524
				velocity = angle * knockback,
525
				P = 5000,
526
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
527
				Parent = hit,
528
			}
529
			local rl = Create("BodyAngularVelocity"){
530
				P = 3000,
531
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
532
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
533
				Parent = hit,
534
			}
535
			game:GetService("Debris"):AddItem(bodvol, .5)
536
			game:GetService("Debris"):AddItem(rl, .5)
537
		elseif Type == "Normal" then
538
			local vp = Create("BodyVelocity"){
539
				P = 500,
540
				maxForce = Vector3.new(math.huge, 0, math.huge),
541
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
542
			}
543
			if knockback > 0 then
544
				vp.Parent = hit.Parent.Torso
545
			end
546
			game:GetService("Debris"):AddItem(vp, .5)
547
		elseif Type == "Up" then
548
			local bodyVelocity = Create("BodyVelocity"){
549
				velocity = Vector3.new(0, 20, 0),
550
				P = 5000,
551
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
552
				Parent = hit,
553
			}
554
			game:GetService("Debris"):AddItem(bodyVelocity, .5)
555
		elseif Type == "DarkUp" then
556
			coroutine.resume(coroutine.create(function()
557
				for i = 0, 1, 0.1 do
558
					swait()
559
					Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
560
				end
561
			end))
562
			local bodyVelocity = Create("BodyVelocity"){
563
				velocity = Vector3.new(0, 20, 0),
564
				P = 5000,
565
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
566
				Parent = hit,
567
			}
568
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
569
		elseif Type == "Snare" then
570
			local bp = Create("BodyPosition"){
571
				P = 2000,
572
				D = 100,
573
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
574
				position = hit.Parent.Torso.Position,
575
				Parent = hit.Parent.Torso,
576
			}
577
			game:GetService("Debris"):AddItem(bp, 1)
578
		elseif Type == "Freeze" then
579
			local BodPos = Create("BodyPosition"){
580
				P = 50000,
581
				D = 1000,
582
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
583
				position = hit.Parent.Torso.Position,
584
				Parent = hit.Parent.Torso,
585
			}
586
			local BodGy = Create("BodyGyro") {
587
				maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
588
				P = 20e+003,
589
				Parent = hit.Parent.Torso,
590
				cframe = hit.Parent.Torso.CFrame,
591
			}
592
			hit.Parent.Torso.Anchored = true
593
			coroutine.resume(coroutine.create(function(Part) 
594
				swait(1.5)
595
				Part.Anchored = false
596
			end), hit.Parent.Torso)
597
			game:GetService("Debris"):AddItem(BodPos, 3)
598
			game:GetService("Debris"):AddItem(BodGy, 3)
599
		end
600
		local debounce = Create("BoolValue"){
601
			Name = "DebounceHit",
602
			Parent = hit.Parent,
603
			Value = true,
604
		}
605
		game:GetService("Debris"):AddItem(debounce, Delay)
606
		c = Create("ObjectValue"){
607
			Name = "creator",
608
			Value = Player,
609
			Parent = h,
610
		}
611
		game:GetService("Debris"):AddItem(c, .5)
612
	end
613
end
614
-------------------------------------------------------
615
--End Damage Function--
616
-------------------------------------------------------
617
618
-------------------------------------------------------
619
--Start Damage Function Customization--
620
-------------------------------------------------------
621
function ShowDamage(Pos, Text, Time, Color)
622
	local Rate = (1 / 30)
623
	local Pos = (Pos or Vector3.new(0, 0, 0))
624
	local Text = (Text or "")
625
	local Time = (Time or 2)
626
	local Color = (Color or Color3.new(1, 0, 1))
627
	local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
628
	EffectPart.Anchored = true
629
	local BillboardGui = Create("BillboardGui"){
630
		Size = UDim2.new(3, 0, 3, 0),
631
		Adornee = EffectPart,
632
		Parent = EffectPart,
633
	}
634
	local TextLabel = Create("TextLabel"){
635
		BackgroundTransparency = 1,
636
		Size = UDim2.new(1, 0, 1, 0),
637
		Text = Text,
638
		Font = "Bodoni",
639
		TextColor3 = Color,
640
		TextScaled = true,
641
		TextStrokeColor3 = Color3.fromRGB(0,0,0),
642
		Parent = BillboardGui,
643
	}
644
	game.Debris:AddItem(EffectPart, (Time))
645
	EffectPart.Parent = game:GetService("Workspace")
646
	delay(0, function()
647
		local Frames = (Time / Rate)
648
		for Frame = 1, Frames do
649
			wait(Rate)
650
			local Percent = (Frame / Frames)
651
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
652
			TextLabel.TextTransparency = Percent
653
		end
654
		if EffectPart and EffectPart.Parent then
655
			EffectPart:Destroy()
656
		end
657
	end)
658
end
659
-------------------------------------------------------
660
--End Damage Function Customization--
661
-------------------------------------------------------
662
663
function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
664
  for _, c in pairs(workspace:children()) do
665
    local hum = c:findFirstChild("Humanoid")
666
    if hum ~= nil then
667
      local head = c:findFirstChild("Head")
668
      if head ~= nil then
669
        local targ = head.Position - Part.Position
670
        local mag = targ.magnitude
671
        if magni >= mag and c.Name ~= plr.Name then
672
          Damage(head, head, mindam, maxdam, knock, Type, root, 0.1, "http://www.roblox.com/asset/?id=0", 1.2)
673
        end
674
      end
675
    end
676
  end
677
end
678
679
680
CFuncs = {
681
	Part = {
682
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
683
			local Part = Create("Part")({
684
				Parent = Parent,
685
				Reflectance = Reflectance,
686
				Transparency = Transparency,
687
				CanCollide = false,
688
				Locked = true,
689
				BrickColor = BrickColor.new(tostring(BColor)),
690
				Name = Name,
691
				Size = Size,
692
				Material = Material
693
			})
694
			RemoveOutlines(Part)
695
			return Part
696
		end
697
	},
698
	Mesh = {
699
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
700
			local Msh = Create(Mesh)({
701
				Parent = Part,
702
				Offset = OffSet,
703
				Scale = Scale
704
			})
705
			if Mesh == "SpecialMesh" then
706
				Msh.MeshType = MeshType
707
				Msh.MeshId = MeshId
708
			end
709
			return Msh
710
		end
711
	},
712
	Mesh = {
713
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
714
			local Msh = Create(Mesh)({
715
				Parent = Part,
716
				Offset = OffSet,
717
				Scale = Scale
718
			})
719
			if Mesh == "SpecialMesh" then
720
				Msh.MeshType = MeshType
721
				Msh.MeshId = MeshId
722
			end
723
			return Msh
724
		end
725
	},
726
	Weld = {
727
		Create = function(Parent, Part0, Part1, C0, C1)
728
			local Weld = Create("Weld")({
729
				Parent = Parent,
730
				Part0 = Part0,
731
				Part1 = Part1,
732
				C0 = C0,
733
				C1 = C1
734
			})
735
			return Weld
736
		end
737
	},
738
	Sound = {
739
		Create = function(id, par, vol, pit)
740
			coroutine.resume(coroutine.create(function()
741
				local S = Create("Sound")({
742
					Volume = vol,
743
					Pitch = pit or 1,
744
					SoundId = id,
745
					Parent = par or workspace
746
				})
747
				wait()
748
				S:play()
749
				game:GetService("Debris"):AddItem(S, 6)
750
			end))
751
		end
752
	},
753
	ParticleEmitter = {
754
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
755
			local fp = Create("ParticleEmitter")({
756
				Parent = Parent,
757
				Color = ColorSequence.new(Color1, Color2),
758
				LightEmission = LightEmission,
759
				Size = Size,
760
				Texture = Texture,
761
				Transparency = Transparency,
762
				ZOffset = ZOffset,
763
				Acceleration = Accel,
764
				Drag = Drag,
765
				LockedToPart = LockedToPart,
766
				VelocityInheritance = VelocityInheritance,
767
				EmissionDirection = EmissionDirection,
768
				Enabled = Enabled,
769
				Lifetime = LifeTime,
770
				Rate = Rate,
771
				Rotation = Rotation,
772
				RotSpeed = RotSpeed,
773
				Speed = Speed,
774
				VelocitySpread = VelocitySpread
775
			})
776
			return fp
777
		end
778
	}
779
}
780
function RemoveOutlines(part)
781
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
782
end
783
function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
784
	local Part = Create("Part")({
785
		formFactor = FormFactor,
786
		Parent = Parent,
787
		Reflectance = Reflectance,
788
		Transparency = Transparency,
789
		CanCollide = false,
790
		Locked = true,
791
		BrickColor = BrickColor.new(tostring(BColor)),
792
		Name = Name,
793
		Size = Size,
794
		Material = Material
795
	})
796
	RemoveOutlines(Part)
797
	return Part
798
end
799
function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
800
	local Msh = Create(Mesh)({
801
		Parent = Part,
802
		Offset = OffSet,
803
		Scale = Scale
804
	})
805
	if Mesh == "SpecialMesh" then
806
		Msh.MeshType = MeshType
807
		Msh.MeshId = MeshId
808
	end
809
	return Msh
810
end
811
function CreateWeld(Parent, Part0, Part1, C0, C1)
812
	local Weld = Create("Weld")({
813
		Parent = Parent,
814
		Part0 = Part0,
815
		Part1 = Part1,
816
		C0 = C0,
817
		C1 = C1
818
	})
819
	return Weld
820
end
821
822
823
-------------------------------------------------------
824
--Start Effect Function--
825
-------------------------------------------------------
826
EffectModel = Instance.new("Model", char)
827
Effects = {
828
  Block = {
829
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
830
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
831
      prt.Anchored = true
832
      prt.CFrame = cframe
833
      local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
834
      game:GetService("Debris"):AddItem(prt, 10)
835
      if Type == 1 or Type == nil then
836
        table.insert(Effects, {
837
          prt,
838
          "Block1",
839
          delay,
840
          x3,
841
          y3,
842
          z3,
843
          msh
844
        })
845
      elseif Type == 2 then
846
        table.insert(Effects, {
847
          prt,
848
          "Block2",
849
          delay,
850
          x3,
851
          y3,
852
          z3,
853
          msh
854
        })
855
      else
856
        table.insert(Effects, {
857
          prt,
858
          "Block3",
859
          delay,
860
          x3,
861
          y3,
862
          z3,
863
          msh
864
        })
865
      end
866
    end
867
  },
868
  Sphere = {
869
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
870
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
871
      prt.Anchored = true
872
      prt.CFrame = cframe
873
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
874
      game:GetService("Debris"):AddItem(prt, 10)
875
      table.insert(Effects, {
876
        prt,
877
        "Cylinder",
878
        delay,
879
        x3,
880
        y3,
881
        z3,
882
        msh
883
      })
884
    end
885
  },
886
  Cylinder = {
887
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
888
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
889
      prt.Anchored = true
890
      prt.CFrame = cframe
891
      local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
892
      game:GetService("Debris"):AddItem(prt, 10)
893
      table.insert(Effects, {
894
        prt,
895
        "Cylinder",
896
        delay,
897
        x3,
898
        y3,
899
        z3,
900
        msh
901
      })
902
    end
903
  },
904
  Wave = {
905
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
906
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
907
      prt.Anchored = true
908
      prt.CFrame = cframe
909
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
910
      game:GetService("Debris"):AddItem(prt, 10)
911
      table.insert(Effects, {
912
        prt,
913
        "Cylinder",
914
        delay,
915
        x3 / 60,
916
        y3 / 60,
917
        z3 / 60,
918
        msh
919
      })
920
    end
921
  },
922
  Ring = {
923
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
924
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
925
      prt.Anchored = true
926
      prt.CFrame = cframe
927
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
928
      game:GetService("Debris"):AddItem(prt, 10)
929
      table.insert(Effects, {
930
        prt,
931
        "Cylinder",
932
        delay,
933
        x3,
934
        y3,
935
        z3,
936
        msh
937
      })
938
    end
939
  },
940
  Break = {
941
    Create = function(brickcolor, cframe, x1, y1, z1)
942
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
943
      prt.Anchored = true
944
      prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
945
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
946
      local num = math.random(10, 50) / 1000
947
      game:GetService("Debris"):AddItem(prt, 10)
948
      table.insert(Effects, {
949
        prt,
950
        "Shatter",
951
        num,
952
        prt.CFrame,
953
        math.random() - math.random(),
954
        0,
955
        math.random(50, 100) / 100
956
      })
957
    end
958
  },
959
Spiral = {
960
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
961
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
962
      prt.Anchored = true
963
      prt.CFrame = cframe
964
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
965
      game:GetService("Debris"):AddItem(prt, 10)
966
      table.insert(Effects, {
967
        prt,
968
        "Cylinder",
969
        delay,
970
        x3,
971
        y3,
972
        z3,
973
        msh
974
      })
975
    end
976
  },
977
Push = {
978
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
979
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
980
      prt.Anchored = true
981
      prt.CFrame = cframe
982
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
983
      game:GetService("Debris"):AddItem(prt, 10)
984
      table.insert(Effects, {
985
        prt,
986
        "Cylinder",
987
        delay,
988
        x3,
989
        y3,
990
        z3,
991
        msh
992
      })
993
    end
994
  }
995
}
996
function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
997
	local fp = IT("Part")
998
	fp.formFactor = formfactor 
999
	fp.Parent = parent
1000
	fp.Reflectance = reflectance
1001
	fp.Transparency = transparency
1002
	fp.CanCollide = false 
1003
	fp.Locked = true
1004
	fp.BrickColor = brickcolor
1005
	fp.Name = name
1006
	fp.Size = size
1007
	fp.Position = tors.Position 
1008
	RemoveOutlines(fp)
1009
	fp.Material = "SmoothPlastic"
1010
	fp:BreakJoints()
1011
	return fp 
1012
end 
1013
 
1014
function mesh(Mesh,part,meshtype,meshid,offset,scale)
1015
	local mesh = IT(Mesh) 
1016
	mesh.Parent = part
1017
	if Mesh == "SpecialMesh" then
1018
		mesh.MeshType = meshtype
1019
	if meshid ~= "nil" then
1020
		mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
1021
		end
1022
	end
1023
	mesh.Offset = offset
1024
	mesh.Scale = scale
1025
	return mesh
1026
end
1027
1028
function Magic(bonuspeed, type, pos, scale, value, color, MType)
1029
	local type = type
1030
	local rng = Instance.new("Part", char)
1031
	rng.Anchored = true
1032
	rng.BrickColor = color
1033
	rng.CanCollide = false
1034
	rng.FormFactor = 3
1035
	rng.Name = "Ring"
1036
	rng.Material = "Neon"
1037
	rng.Size = Vector3.new(1, 1, 1)
1038
	rng.Transparency = 0
1039
	rng.TopSurface = 0
1040
	rng.BottomSurface = 0
1041
	rng.CFrame = pos
1042
	local rngm = Instance.new("SpecialMesh", rng)
1043
	rngm.MeshType = MType
1044
	rngm.Scale = scale
1045
	local scaler2 = 1
1046
	if type == "Add" then
1047
		scaler2 = 1 * value
1048
	elseif type == "Divide" then
1049
		scaler2 = 1 / value
1050
	end
1051
	coroutine.resume(coroutine.create(function()
1052
		for i = 0, 10 / bonuspeed, 0.1 do
1053
			swait()
1054
			if type == "Add" then
1055
				scaler2 = scaler2 - 0.01 * value / bonuspeed
1056
			elseif type == "Divide" then
1057
				scaler2 = scaler2 - 0.01 / value * bonuspeed
1058
			end
1059
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
1060
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
1061
		end
1062
		rng:Destroy()
1063
	end))
1064
end
1065
1066
function Eviscerate(dude)
1067
	if dude.Name ~= char then
1068
		local bgf = IT("BodyGyro", dude.Head)
1069
		bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
1070
		local val = IT("BoolValue", dude)
1071
		val.Name = "IsHit"
1072
		local ds = coroutine.wrap(function()
1073
			dude:WaitForChild("Head"):BreakJoints()
1074
			wait(0.5)
1075
			target = nil
1076
			coroutine.resume(coroutine.create(function()
1077
				for i, v in pairs(dude:GetChildren()) do
1078
					if v:IsA("Accessory") then
1079
						v:Destroy()
1080
					end
1081
					if v:IsA("Humanoid") then
1082
						v:Destroy()
1083
					end
1084
					if v:IsA("CharacterMesh") then
1085
						v:Destroy()
1086
					end
1087
					if v:IsA("Model") then
1088
						v:Destroy()
1089
					end
1090
					if v:IsA("Part") or v:IsA("MeshPart") then
1091
						for x, o in pairs(v:GetChildren()) do
1092
							if o:IsA("Decal") then
1093
								o:Destroy()
1094
							end
1095
						end
1096
						coroutine.resume(coroutine.create(function()
1097
							v.Material = "Neon"
1098
							v.CanCollide = false
1099
							local PartEmmit1 = IT("ParticleEmitter", v)
1100
							PartEmmit1.LightEmission = 1
1101
							PartEmmit1.Texture = "rbxassetid://284205403"
1102
							PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1103
							PartEmmit1.Rate = 150
1104
							PartEmmit1.Lifetime = NumberRange.new(1)
1105
							PartEmmit1.Size = NumberSequence.new({
1106
								NumberSequenceKeypoint.new(0, 0.75, 0),
1107
								NumberSequenceKeypoint.new(1, 0, 0)
1108
							})
1109
							PartEmmit1.Transparency = NumberSequence.new({
1110
								NumberSequenceKeypoint.new(0, 0, 0),
1111
								NumberSequenceKeypoint.new(1, 1, 0)
1112
							})
1113
							PartEmmit1.Speed = NumberRange.new(0, 0)
1114
							PartEmmit1.VelocitySpread = 30000
1115
							PartEmmit1.Rotation = NumberRange.new(-500, 500)
1116
							PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
1117
							local BodPoss = IT("BodyPosition", v)
1118
							BodPoss.P = 3000
1119
							BodPoss.D = 1000
1120
							BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
1121
							BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
1122
							v.Color = maincolor.Color
1123
							coroutine.resume(coroutine.create(function()
1124
								for i = 0, 49 do
1125
									swait(1)
1126
									v.Transparency = v.Transparency + 0.08
1127
								end
1128
								wait(0.5)
1129
								PartEmmit1.Enabled = false
1130
								wait(3)
1131
								v:Destroy()
1132
								dude:Destroy()
1133
							end))
1134
						end))
1135
					end
1136
				end
1137
			end))
1138
		end)
1139
		ds()
1140
	end
1141
end
1142
1143
function FindNearestHead(Position, Distance, SinglePlayer)
1144
	if SinglePlayer then
1145
		return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
1146
	end
1147
	local List = {}
1148
	for i, v in pairs(workspace:GetChildren()) do
1149
		if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
1150
			table.insert(List, v)
1151
		end
1152
	end
1153
	return List
1154
end
1155
1156
function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
1157
	local type = type
1158
	local rng = Instance.new("Part", char)
1159
	rng.Anchored = true
1160
	rng.BrickColor = color
1161
	rng.CanCollide = false
1162
	rng.FormFactor = 3
1163
	rng.Name = "Ring"
1164
	rng.Material = "Neon"
1165
	rng.Size = Vector3.new(1, 1, 1)
1166
	rng.Transparency = 0
1167
	rng.TopSurface = 0
1168
	rng.BottomSurface = 0
1169
	rng.CFrame = pos
1170
	rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
1171
	local rngm = Instance.new("SpecialMesh", rng)
1172
	rngm.MeshType = MType
1173
	rngm.Scale = Vector3.new(x1, y1, z1)
1174
	local scaler2 = 1
1175
	local speeder = FastSpeed
1176
	if type == "Add" then
1177
		scaler2 = 1 * value
1178
	elseif type == "Divide" then
1179
		scaler2 = 1 / value
1180
	end
1181
	coroutine.resume(coroutine.create(function()
1182
		for i = 0, 10 / bonuspeed, 0.1 do
1183
			swait()
1184
			if type == "Add" then
1185
				scaler2 = scaler2 - 0.01 * value / bonuspeed
1186
			elseif type == "Divide" then
1187
				scaler2 = scaler2 - 0.01 / value * bonuspeed
1188
			end
1189
			speeder = speeder - 0.01 * FastSpeed * bonuspeed
1190
			rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
1191
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
1192
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
1193
		end
1194
		rng:Destroy()
1195
	end))
1196
end
1197
1198
function SoulSteal(dude)
1199
if dude.Name ~= char then
1200
local bgf = IT("BodyGyro", dude.Head)
1201
bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
1202
local val = IT("BoolValue", dude)
1203
val.Name = "IsHit"
1204
local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
1205
local soulst = coroutine.wrap(function()
1206
local soul = Instance.new("Part",dude)
1207
soul.Size = Vector3.new(1,1,1)
1208
soul.CanCollide = false
1209
soul.Anchored = false
1210
soul.Position = torso.Position
1211
soul.Transparency = 1
1212
local PartEmmit1 = IT("ParticleEmitter", soul)
1213
PartEmmit1.LightEmission = 1
1214
PartEmmit1.Texture = "rbxassetid://569507414"
1215
PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1216
PartEmmit1.Rate = 250
1217
PartEmmit1.Lifetime = NumberRange.new(1.6)
1218
PartEmmit1.Size = NumberSequence.new({
1219
	NumberSequenceKeypoint.new(0, 1, 0),
1220
	NumberSequenceKeypoint.new(1, 0, 0)
1221
})
1222
PartEmmit1.Transparency = NumberSequence.new({
1223
	NumberSequenceKeypoint.new(0, 0, 0),
1224
	NumberSequenceKeypoint.new(1, 1, 0)
1225
})
1226
PartEmmit1.Speed = NumberRange.new(0, 0)
1227
PartEmmit1.VelocitySpread = 30000
1228
PartEmmit1.Rotation = NumberRange.new(-360, 360)
1229
PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
1230
local BodPoss = IT("BodyPosition", soul)
1231
BodPoss.P = 3000
1232
BodPoss.D = 1000
1233
BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
1234
BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
1235
wait(1.6)
1236
soul.Touched:connect(function(hit)
1237
	if hit.Parent == char then
1238
	soul:Destroy()
1239
	end
1240
end)
1241
wait(1.2)
1242
while soul do
1243
	swait()
1244
	PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1245
	BodPoss.Position = tors.Position
1246
end
1247
end)
1248
	soulst()
1249
	end
1250
end
1251
function FaceMouse()
1252
local	Cam = workspace.CurrentCamera
1253
	return {
1254
		CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
1255
		Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
1256
	}
1257
end
1258
-------------------------------------------------------
1259
--End Effect Function--
1260
-------------------------------------------------------
1261
function Cso(ID, PARENT, VOLUME, PITCH)
1262
	local NSound = nil
1263
	coroutine.resume(coroutine.create(function()
1264
		NSound = IT("Sound", PARENT)
1265
		NSound.Volume = VOLUME
1266
		NSound.Pitch = PITCH
1267
		NSound.SoundId = "http://www.roblox.com/asset/?id="..ID
1268
		swait()
1269
		NSound:play()
1270
		game:GetService("Debris"):AddItem(NSound, 10)
1271
	end))
1272
	return NSound
1273
end
1274
-------------------------------------------------------
1275
--End Important Functions--
1276
-------------------------------------------------------
1277
1278
1279
-------------------------------------------------------
1280
--Start Music Option--
1281
-------------------------------------------------------
1282
local Music = Instance.new("Sound",tors)
1283
Music.Volume = 2.5
1284
Music.SoundId = "rbxassetid://1117396305"
1285
Music.Looped = true
1286
Music.Pitch = 1 --Pitcher
1287
Music:Play()
1288
-------------------------------------------------------
1289
--End Music Option--
1290
-------------------------------------------------------
1291
1292
1293
-------------------------------------------------------
1294
--Start Attacks N Stuff--
1295
-------------------------------------------------------
1296
local sine=0
1297
-------------------------------------------------------
1298
--End Attacks N Stuff--
1299
-------------------------------------------------------
1300
1301
 
1302
1303
1304
1305
1306
1307
1308
-------------------------------------------------------
1309
--Start Animations--
1310
-------------------------------------------------------
1311
local equipped = false
1312
local idle = 0
1313
local change = 1
1314
local val = 0
1315
local toim = 0
1316
local idleanim = 0.4
1317
hum.WalkSpeed = 8
1318
hum.Animator.Parent = nil
1319
while true do
1320
	swait()
1321
	sine = sine + change
1322
	local torvel = (root.Velocity * Vector3.new(1, 0, 1)).magnitude
1323
	local velderp = root.Velocity.y
1324
	hitfloor, posfloor = rayCast(root.Position, CFrame.new(root.Position, root.Position - Vector3.new(0, 1, 0)).lookVector, 4, char)
1325
	if equipped == true or equipped == false then
1326
		if attack == false then
1327
			idle = idle + 1
1328
		else
1329
			idle = 0
1330
		end
1331
    local exactVel = CFrame.new(root.CFrame:vectorToObjectSpace(root.Velocity))-- for footplanting
1332
    --you g00b my leg animations are complicated :joy:
1333
1334
		if 1 < root.Velocity.y and hitfloor == nil then
1335
			Anim = "Jump"
1336
			if attack == false then
1337
				rootj.C0 = clerp(rootj.C0, RootCF * angles(math.min(math.max(root.Velocity.Y/100,-Rad(65)),Rad(65)),0,0),0.3)
1338
				tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(Rad(0), Rad(0), Rad(0)), 0.3)
1339
				RW.C0 = clerp(RW.C0, CF(1.5, 0.5, 0) * angles(math.min(math.max(root.Velocity.Y/100,-Rad(35)),Rad(65)),0,Rad(15)),0.3)
1340
				LW.C0 = clerp(LW.C0, CF(-1.5, 0.5, 0) * angles(math.min(math.max(root.Velocity.Y/100,-Rad(35)),Rad(65)),0,Rad(-15)),0.3)
1341
				LH.C0=clerp(LH.C0, CF(-1,-.4-0.1 * Cos(sine / 20), -.6) * LHCF * angles(Rad(-5), Rad(-0), Rad(20)), 0.15)
1342
				RH.C0=clerp(RH.C0, CF(1,-1-0.1 * Cos(sine / 20), -.3) * angles(Rad(0), Rad(90), Rad(0)), .3)
1343
			end
1344
		elseif -1 > root.Velocity.y and hitfloor == nil then
1345
			Anim = "Fall"
1346
			if attack == false then
1347
				rootj.C0 = clerp(rootj.C0, RootCF * angles(math.min(math.max(root.Velocity.Y/100,-Rad(65)),Rad(65)),0,0),0.3)
1348
				tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(Rad(0), Rad(0), Rad(0)), 0.3)
1349
				RW.C0 = clerp(RW.C0, CF(1.5, 0.5, 0) * angles(math.min(math.max(root.Velocity.Y/100,-Rad(35)),Rad(65)),0,Rad(30)),0.3)
1350
				LW.C0 = clerp(LW.C0, CF(-1.5, 0.5, 0) * angles(math.min(math.max(root.Velocity.Y/100,-Rad(35)),Rad(65)),0,Rad(-30)),0.3)
1351
				LH.C0 = clerp(LH.C0, CF(-1,-.4-0.1 * Cos(sine / 20), -.6) * LHCF * angles(Rad(-5), Rad(-0), Rad(20)), 0.15)
1352
				RH.C0 = clerp(RH.C0, CF(1,-1-0.1 * Cos(sine / 20), -.3) * angles(Rad(0), Rad(90), Rad(0)), .3)
1353
			end
1354
		elseif torvel < 1 and hitfloor ~= nil then
1355
			Anim = "Idle"
1356
			change = .5
1357
			if attack == false then
1358
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0, 0, -0.1 + 0.1 * Cos(sine / 20)) * angles(Rad(0), Rad(0), Rad(0)), 0.15)
1359
				tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(Rad(-2.8 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
1360
				RH.C0 = clerp(RH.C0, CF(1, -0.9 - 0.1 * Cos(sine / 20), 0) * RHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
1361
				LH.C0 = clerp(LH.C0, CF(-1, -0.9 - 0.1 * Cos(sine / 20), 0) * LHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
1362
				RW.C0 = clerp(RW.C0, CF(1.5, 0.5 + 0.02 * Sin(sine / 20), 0) * angles(Rad(0), Rad(-.6), Rad(3 + 4.5 * Sin(sine / 20))), 0.1)
1363
				LW.C0 = clerp(LW.C0, CF(-1.5, 0.5 + 0.02 * Sin(sine / 20), 0) * angles(Rad(0), Rad(-.6), Rad(-3 - 4.5 * Sin(sine / 20))), 0.1)
1364
			end
1365
		elseif tors.Velocity.magnitude < 50 and hitfloor ~= nil then
1366
			Anim = "Walk"
1367
			change = .9
1368
			if attack == false then
1369
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0, 0, -0.175 + 0.025 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7) * angles(Rad(5 - 2.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(8 * Cos(sine / 7))), 0.15)
1370
				tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(Rad(-2.5 * Sin(sine / 7)), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.3)
1371
				RH.C0 = clerp(RH.C0, CF(1, -0.8 - 0.5 * Cos(sine / 7) / 2, 0.6 * Cos(sine / 7) / 2) * angles(Rad(-15 - 2 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 3 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
1372
       			LH.C0 = clerp(LH.C0, CF(-1, -0.8 + 0.5 * Cos(sine / 7) / 2, -0.6 * Cos(sine / 7) / 2) * angles(Rad(-15 + 2 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 3 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
1373
		
1374
       			RW.C0 = clerp(RW.C0, CF(1.5, 0.5 + 0.05 * Sin(sine / 7), 0) * angles(Rad(37)  * Cos(sine / 7) , Rad(0), Rad(-.6) - ra.RotVelocity.Y / 75), 0.1)
1375
				LW.C0 = clerp(LW.C0, CF(-1.5, 0.5 + 0.05 * Sin(sine / 7), 0) * angles(Rad(-37)  * Cos(sine / 7) , Rad(0) ,	Rad(.6) + la.RotVelocity.Y / 75), 0.1)
1376
			end
1377
		end
1378
	end
1379
	if 0 < #Effects then
1380
		for e = 1, #Effects do
1381
			if Effects[e] ~= nil then
1382
				local Thing = Effects[e]
1383
				if Thing ~= nil then
1384
					local Part = Thing[1]
1385
					local Mode = Thing[2]
1386
					local Delay = Thing[3]
1387
					local IncX = Thing[4]
1388
					local IncY = Thing[5]
1389
					local IncZ = Thing[6]
1390
					if 1 >= Thing[1].Transparency then
1391
						if Thing[2] == "Block1" then
1392
							Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1393
							local Mesh = Thing[1].Mesh
1394
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1395
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1396
						elseif Thing[2] == "Block2" then
1397
							Thing[1].CFrame = Thing[1].CFrame + Vector3.new(0, 0, 0)
1398
							local Mesh = Thing[7]
1399
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1400
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1401
						elseif Thing[2] == "Block3" then
1402
							Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) + Vector3.new(0, 0.15, 0)
1403
							local Mesh = Thing[7]
1404
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1405
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1406
						elseif Thing[2] == "Cylinder" then
1407
							local Mesh = Thing[1].Mesh
1408
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1409
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1410
						elseif Thing[2] == "Blood" then
1411
							local Mesh = Thing[7]
1412
							Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, 0.5, 0)
1413
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1414
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1415
						elseif Thing[2] == "Elec" then
1416
							local Mesh = Thing[1].Mesh
1417
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1418
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1419
						elseif Thing[2] == "Disappear" then
1420
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1421
						elseif Thing[2] == "Shatter" then
1422
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1423
							Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
1424
							Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
1425
							Thing[6] = Thing[6] + Thing[5]
1426
						end
1427
					else
1428
						Part.Parent = nil
1429
						table.remove(Effects, e)
1430
					end
1431
				end
1432
			end
1433
		end
1434
	end
1435
end
1436
-------------------------------------------------------
1437
--End Animations And Script--
1438
-------------------------------------------------------