View difference between Paste ID: kP6wh3cs 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) == false then
220
	warn('Youre whitelisted/friends with the creator, Have fun! ' ..plr.Name)
221
end
222
223
if checkfriendlist(game:GetService("Players").LocalPlayer) == true then
224
	warn('How did you even get this script? ' ..plr.Name)
225-
error"Your are not whitelisted/Friends with the creator."
225+
226
227
ff = Instance.new("ForceField",char)
228
ff.Visible = false
229
hum.Name = "Base"
230
hum.MaxHealth = 1.0E298
231
hum.Health = 1.0E298
232
game:GetService("RunService"):BindToRenderStep("Bbae", 0, function()
233
  if hum.Health > 0.1 and hum.Health < 1.0E298 then
234
    hum.MaxHealth = 1.0E298
235
    hum.Health = 1.0E298
236
  end
237
end)
238
-------------------------------------------------------
239
--End Whitelist and Invincibility--
240
-------------------------------------------------------	
241
242
-------------------------------------------------------
243
--Start Good Stuff--
244
-------------------------------------------------------
245
CF = CFrame.new
246
angles = CFrame.Angles
247
attack = false
248
Euler = CFrame.fromEulerAnglesXYZ
249
Rad = math.rad
250
IT = Instance.new
251
BrickC = BrickColor.new
252
Cos = math.cos
253
Acos = math.acos
254
Sin = math.sin
255
Asin = math.asin
256
Abs = math.abs
257
Mrandom = math.random
258
Floor = math.floor
259
-------------------------------------------------------
260
--End Good Stuff--
261
-------------------------------------------------------
262
necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
263
RSH, LSH = nil, nil 
264
RW = Instance.new("Weld") 
265
LW = Instance.new("Weld")
266
RH = tors["Right Hip"]
267
LH = tors["Left Hip"]
268
RSH = tors["Right Shoulder"] 
269
LSH = tors["Left Shoulder"] 
270
RSH.Parent = nil 
271
LSH.Parent = nil 
272
RW.Name = "RW"
273
RW.Part0 = tors 
274
RW.C0 = CF(1.5, 0.5, 0)
275
RW.C1 = CF(0, 0.5, 0) 
276
RW.Part1 = ra
277
RW.Parent = tors 
278
LW.Name = "LW"
279
LW.Part0 = tors 
280
LW.C0 = CF(-1.5, 0.5, 0)
281
LW.C1 = CF(0, 0.5, 0) 
282
LW.Part1 = la
283
LW.Parent = tors
284
Effects = {}
285
286
-------------------------------------------------------
287
--Start HeartBeat--
288
-------------------------------------------------------
289
ArtificialHB = Instance.new("BindableEvent", script)
290
ArtificialHB.Name = "Heartbeat"
291
script:WaitForChild("Heartbeat")
292
293
frame = 1 / 60
294
tf = 0
295
allowframeloss = false
296
tossremainder = false
297
298
299
lastframe = tick()
300
script.Heartbeat:Fire()
301
302
303
game:GetService("RunService").Heartbeat:connect(function(s, p)
304
	tf = tf + s
305
	if tf >= frame then
306
		if allowframeloss then
307
			script.Heartbeat:Fire()
308
			lastframe = tick()
309
		else
310
			for i = 1, math.floor(tf / frame) do
311
				script.Heartbeat:Fire()
312
			end
313
			lastframe = tick()
314
		end
315
		if tossremainder then
316
			tf = 0
317
		else
318
			tf = tf - frame * math.floor(tf / frame)
319
		end
320
	end
321
end)
322
-------------------------------------------------------
323
--End HeartBeat--
324
-------------------------------------------------------
325
326
-------------------------------------------------------
327
--Start Important Functions--
328
-------------------------------------------------------
329
330
function thread(f)
331
	coroutine.resume(coroutine.create(f))
332
end
333
function clerp(a, b, t)
334
	local qa = {
335
		QuaternionFromCFrame(a)
336
	}
337
	local qb = {
338
		QuaternionFromCFrame(b)
339
	}
340
	local ax, ay, az = a.x, a.y, a.z
341
	local bx, by, bz = b.x, b.y, b.z
342
	local _t = 1 - t
343
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
344
end
345
function QuaternionFromCFrame(cf)
346
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
347
	local trace = m00 + m11 + m22
348
	if trace > 0 then
349
		local s = math.sqrt(1 + trace)
350
		local recip = 0.5 / s
351
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
352
	else
353
		local i = 0
354
		if m00 < m11 then
355
			i = 1
356
		end
357
		if m22 > (i == 0 and m00 or m11) then
358
			i = 2
359
		end
360
		if i == 0 then
361
			local s = math.sqrt(m00 - m11 - m22 + 1)
362
			local recip = 0.5 / s
363
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
364
		elseif i == 1 then
365
			local s = math.sqrt(m11 - m22 - m00 + 1)
366
			local recip = 0.5 / s
367
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
368
		elseif i == 2 then
369
			local s = math.sqrt(m22 - m00 - m11 + 1)
370
			local recip = 0.5 / s
371
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
372
		end
373
	end
374
end
375
function QuaternionToCFrame(px, py, pz, x, y, z, w)
376
	local xs, ys, zs = x + x, y + y, z + z
377
	local wx, wy, wz = w * xs, w * ys, w * zs
378
	local xx = x * xs
379
	local xy = x * ys
380
	local xz = x * zs
381
	local yy = y * ys
382
	local yz = y * zs
383
	local zz = z * zs
384
	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))
385
end
386
function QuaternionSlerp(a, b, t)
387
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
388
	local startInterp, finishInterp
389
	if cosTheta >= 1.0E-4 then
390
		if 1 - cosTheta > 1.0E-4 then
391
			local theta = math.acos(cosTheta)
392
			local invSinTheta = 1 / Sin(theta)
393
			startInterp = Sin((1 - t) * theta) * invSinTheta
394
			finishInterp = Sin(t * theta) * invSinTheta
395
		else
396
			startInterp = 1 - t
397
			finishInterp = t
398
		end
399
	elseif 1 + cosTheta > 1.0E-4 then
400
		local theta = math.acos(-cosTheta)
401
		local invSinTheta = 1 / Sin(theta)
402
		startInterp = Sin((t - 1) * theta) * invSinTheta
403
		finishInterp = Sin(t * theta) * invSinTheta
404
	else
405
		startInterp = t - 1
406
		finishInterp = t
407
	end
408
	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
409
end
410
function rayCast(Position, Direction, Range, Ignore)
411
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
412
end
413
local RbxUtility = LoadLibrary("RbxUtility")
414
local Create = RbxUtility.Create
415
416
417
local ArtificialHB = Instance.new("BindableEvent", script)
418
ArtificialHB.Name = "Heartbeat"
419
420
script:WaitForChild("Heartbeat")
421
422
local tf = 0
423
local allowframeloss = false
424
local tossremainder = false
425
local lastframe = tick()
426
local frame = 1/60
427
ArtificialHB:Fire()
428
429
game:GetService("RunService").Heartbeat:connect(function(s, p)
430
	tf = tf + s
431
	if tf >= frame then
432
		if allowframeloss then
433
			script.Heartbeat:Fire()
434
			lastframe = tick()
435
		else
436
			for i = 1, math.floor(tf / frame) do
437
				ArtificialHB:Fire()
438
			end
439
			lastframe = tick()
440
		end
441
		if tossremainder then
442
			tf = 0
443
		else
444
			tf = tf - frame * math.floor(tf / frame)
445
		end
446
	end
447
end)
448
449
function swait(num)
450
	if num == 0 or num == nil then
451
		ArtificialHB.Event:wait()
452
	else
453
		for i = 0, num do
454
			ArtificialHB.Event:wait()
455
		end
456
	end
457
end
458
459
-------------------------------------------------------
460
--Start Damage Function--
461
-------------------------------------------------------
462
function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
463
	if hit.Parent == nil then
464
		return
465
	end
466
	local h = hit.Parent:FindFirstChildOfClass("Humanoid")
467
	for _, v in pairs(hit.Parent:children()) do
468
		if v:IsA("Humanoid") then
469
			h = v
470
		end
471
	end
472
         if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
473
	
474
         hit.Parent:FindFirstChild("Head"):BreakJoints()
475
         end
476
477
	if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
478
		if hit.Parent:findFirstChild("DebounceHit") ~= nil then
479
			if hit.Parent.DebounceHit.Value == true then
480
				return
481
			end
482
		end
483
         if insta == true then
484
         hit.Parent:FindFirstChild("Head"):BreakJoints()
485
         end
486
		local c = Create("ObjectValue"){
487
			Name = "creator",
488
			Value = game:service("Players").LocalPlayer,
489
			Parent = h,
490
		}
491
		game:GetService("Debris"):AddItem(c, .5)
492
		if HitSound ~= nil and HitPitch ~= nil then
493
			CFuncs.Sound.Create(HitSound, hit, 1, HitPitch) 
494
		end
495
		local Damage = math.random(minim, maxim)
496
		local blocked = false
497
		local block = hit.Parent:findFirstChild("Block")
498
		if block ~= nil then
499
			if block.className == "IntValue" then
500
				if block.Value > 0 then
501
					blocked = true
502
					block.Value = block.Value - 1
503
					print(block.Value)
504
				end
505
			end
506
		end
507
		if blocked == false then
508
			h.Health = h.Health - Damage
509
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
510
		else
511
			h.Health = h.Health - (Damage / 2)
512
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
513
		end
514
		if Type == "Knockdown" then
515
			local hum = hit.Parent.Humanoid
516
			hum.PlatformStand = true
517
			coroutine.resume(coroutine.create(function(HHumanoid)
518
				swait(1)
519
				HHumanoid.PlatformStand = false
520
			end), hum)
521
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
522
			local bodvol = Create("BodyVelocity"){
523
				velocity = angle * knockback,
524
				P = 5000,
525
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
526
				Parent = hit,
527
			}
528
			local rl = Create("BodyAngularVelocity"){
529
				P = 3000,
530
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
531
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
532
				Parent = hit,
533
			}
534
			game:GetService("Debris"):AddItem(bodvol, .5)
535
			game:GetService("Debris"):AddItem(rl, .5)
536
		elseif Type == "Normal" then
537
			local vp = Create("BodyVelocity"){
538
				P = 500,
539
				maxForce = Vector3.new(math.huge, 0, math.huge),
540
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
541
			}
542
			if knockback > 0 then
543
				vp.Parent = hit.Parent.Torso
544
			end
545
			game:GetService("Debris"):AddItem(vp, .5)
546
		elseif Type == "Up" then
547
			local bodyVelocity = Create("BodyVelocity"){
548
				velocity = Vector3.new(0, 20, 0),
549
				P = 5000,
550
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
551
				Parent = hit,
552
			}
553
			game:GetService("Debris"):AddItem(bodyVelocity, .5)
554
		elseif Type == "DarkUp" then
555
			coroutine.resume(coroutine.create(function()
556
				for i = 0, 1, 0.1 do
557
					swait()
558
					Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
559
				end
560
			end))
561
			local bodyVelocity = Create("BodyVelocity"){
562
				velocity = Vector3.new(0, 20, 0),
563
				P = 5000,
564
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
565
				Parent = hit,
566
			}
567
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
568
		elseif Type == "Snare" then
569
			local bp = Create("BodyPosition"){
570
				P = 2000,
571
				D = 100,
572
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
573
				position = hit.Parent.Torso.Position,
574
				Parent = hit.Parent.Torso,
575
			}
576
			game:GetService("Debris"):AddItem(bp, 1)
577
		elseif Type == "Freeze" then
578
			local BodPos = Create("BodyPosition"){
579
				P = 50000,
580
				D = 1000,
581
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
582
				position = hit.Parent.Torso.Position,
583
				Parent = hit.Parent.Torso,
584
			}
585
			local BodGy = Create("BodyGyro") {
586
				maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
587
				P = 20e+003,
588
				Parent = hit.Parent.Torso,
589
				cframe = hit.Parent.Torso.CFrame,
590
			}
591
			hit.Parent.Torso.Anchored = true
592
			coroutine.resume(coroutine.create(function(Part) 
593
				swait(1.5)
594
				Part.Anchored = false
595
			end), hit.Parent.Torso)
596
			game:GetService("Debris"):AddItem(BodPos, 3)
597
			game:GetService("Debris"):AddItem(BodGy, 3)
598
		end
599
		local debounce = Create("BoolValue"){
600
			Name = "DebounceHit",
601
			Parent = hit.Parent,
602
			Value = true,
603
		}
604
		game:GetService("Debris"):AddItem(debounce, Delay)
605
		c = Create("ObjectValue"){
606
			Name = "creator",
607
			Value = Player,
608
			Parent = h,
609
		}
610
		game:GetService("Debris"):AddItem(c, .5)
611
	end
612
end
613
-------------------------------------------------------
614
--End Damage Function--
615
-------------------------------------------------------
616
617
-------------------------------------------------------
618
--Start Damage Function Customization--
619
-------------------------------------------------------
620
function ShowDamage(Pos, Text, Time, Color)
621
	local Rate = (1 / 30)
622
	local Pos = (Pos or Vector3.new(0, 0, 0))
623
	local Text = (Text or "")
624
	local Time = (Time or 2)
625
	local Color = (Color or Color3.new(1, 0, 1))
626
	local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
627
	EffectPart.Anchored = true
628
	local BillboardGui = Create("BillboardGui"){
629
		Size = UDim2.new(3, 0, 3, 0),
630
		Adornee = EffectPart,
631
		Parent = EffectPart,
632
	}
633
	local TextLabel = Create("TextLabel"){
634
		BackgroundTransparency = 1,
635
		Size = UDim2.new(1, 0, 1, 0),
636
		Text = Text,
637
		Font = "Bodoni",
638
		TextColor3 = Color,
639
		TextScaled = true,
640
		TextStrokeColor3 = Color3.fromRGB(0,0,0),
641
		Parent = BillboardGui,
642
	}
643
	game.Debris:AddItem(EffectPart, (Time))
644
	EffectPart.Parent = game:GetService("Workspace")
645
	delay(0, function()
646
		local Frames = (Time / Rate)
647
		for Frame = 1, Frames do
648
			wait(Rate)
649
			local Percent = (Frame / Frames)
650
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
651
			TextLabel.TextTransparency = Percent
652
		end
653
		if EffectPart and EffectPart.Parent then
654
			EffectPart:Destroy()
655
		end
656
	end)
657
end
658
-------------------------------------------------------
659
--End Damage Function Customization--
660
-------------------------------------------------------
661
662
function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
663
  for _, c in pairs(workspace:children()) do
664
    local hum = c:findFirstChild("Humanoid")
665
    if hum ~= nil then
666
      local head = c:findFirstChild("Head")
667
      if head ~= nil then
668
        local targ = head.Position - Part.Position
669
        local mag = targ.magnitude
670
        if magni >= mag and c.Name ~= plr.Name then
671
          Damage(head, head, mindam, maxdam, knock, Type, root, 0.1, "http://www.roblox.com/asset/?id=0", 1.2)
672
        end
673
      end
674
    end
675
  end
676
end
677
678
679
CFuncs = {
680
	Part = {
681
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
682
			local Part = Create("Part")({
683
				Parent = Parent,
684
				Reflectance = Reflectance,
685
				Transparency = Transparency,
686
				CanCollide = false,
687
				Locked = true,
688
				BrickColor = BrickColor.new(tostring(BColor)),
689
				Name = Name,
690
				Size = Size,
691
				Material = Material
692
			})
693
			RemoveOutlines(Part)
694
			return Part
695
		end
696
	},
697
	Mesh = {
698
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
699
			local Msh = Create(Mesh)({
700
				Parent = Part,
701
				Offset = OffSet,
702
				Scale = Scale
703
			})
704
			if Mesh == "SpecialMesh" then
705
				Msh.MeshType = MeshType
706
				Msh.MeshId = MeshId
707
			end
708
			return Msh
709
		end
710
	},
711
	Mesh = {
712
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
713
			local Msh = Create(Mesh)({
714
				Parent = Part,
715
				Offset = OffSet,
716
				Scale = Scale
717
			})
718
			if Mesh == "SpecialMesh" then
719
				Msh.MeshType = MeshType
720
				Msh.MeshId = MeshId
721
			end
722
			return Msh
723
		end
724
	},
725
	Weld = {
726
		Create = function(Parent, Part0, Part1, C0, C1)
727
			local Weld = Create("Weld")({
728
				Parent = Parent,
729
				Part0 = Part0,
730
				Part1 = Part1,
731
				C0 = C0,
732
				C1 = C1
733
			})
734
			return Weld
735
		end
736
	},
737
	Sound = {
738
		Create = function(id, par, vol, pit)
739
			coroutine.resume(coroutine.create(function()
740
				local S = Create("Sound")({
741
					Volume = vol,
742
					Pitch = pit or 1,
743
					SoundId = id,
744
					Parent = par or workspace
745
				})
746
				wait()
747
				S:play()
748
				game:GetService("Debris"):AddItem(S, 6)
749
			end))
750
		end
751
	},
752
	ParticleEmitter = {
753
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
754
			local fp = Create("ParticleEmitter")({
755
				Parent = Parent,
756
				Color = ColorSequence.new(Color1, Color2),
757
				LightEmission = LightEmission,
758
				Size = Size,
759
				Texture = Texture,
760
				Transparency = Transparency,
761
				ZOffset = ZOffset,
762
				Acceleration = Accel,
763
				Drag = Drag,
764
				LockedToPart = LockedToPart,
765
				VelocityInheritance = VelocityInheritance,
766
				EmissionDirection = EmissionDirection,
767
				Enabled = Enabled,
768
				Lifetime = LifeTime,
769
				Rate = Rate,
770
				Rotation = Rotation,
771
				RotSpeed = RotSpeed,
772
				Speed = Speed,
773
				VelocitySpread = VelocitySpread
774
			})
775
			return fp
776
		end
777
	}
778
}
779
function RemoveOutlines(part)
780
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
781
end
782
function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
783
	local Part = Create("Part")({
784
		formFactor = FormFactor,
785
		Parent = Parent,
786
		Reflectance = Reflectance,
787
		Transparency = Transparency,
788
		CanCollide = false,
789
		Locked = true,
790
		BrickColor = BrickColor.new(tostring(BColor)),
791
		Name = Name,
792
		Size = Size,
793
		Material = Material
794
	})
795
	RemoveOutlines(Part)
796
	return Part
797
end
798
function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
799
	local Msh = Create(Mesh)({
800
		Parent = Part,
801
		Offset = OffSet,
802
		Scale = Scale
803
	})
804
	if Mesh == "SpecialMesh" then
805
		Msh.MeshType = MeshType
806
		Msh.MeshId = MeshId
807
	end
808
	return Msh
809
end
810
function CreateWeld(Parent, Part0, Part1, C0, C1)
811
	local Weld = Create("Weld")({
812
		Parent = Parent,
813
		Part0 = Part0,
814
		Part1 = Part1,
815
		C0 = C0,
816
		C1 = C1
817
	})
818
	return Weld
819
end
820
821
822
-------------------------------------------------------
823
--Start Effect Function--
824
-------------------------------------------------------
825
EffectModel = Instance.new("Model", char)
826
Effects = {
827
  Block = {
828
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
829
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
830
      prt.Anchored = true
831
      prt.CFrame = cframe
832
      local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
833
      game:GetService("Debris"):AddItem(prt, 10)
834
      if Type == 1 or Type == nil then
835
        table.insert(Effects, {
836
          prt,
837
          "Block1",
838
          delay,
839
          x3,
840
          y3,
841
          z3,
842
          msh
843
        })
844
      elseif Type == 2 then
845
        table.insert(Effects, {
846
          prt,
847
          "Block2",
848
          delay,
849
          x3,
850
          y3,
851
          z3,
852
          msh
853
        })
854
      else
855
        table.insert(Effects, {
856
          prt,
857
          "Block3",
858
          delay,
859
          x3,
860
          y3,
861
          z3,
862
          msh
863
        })
864
      end
865
    end
866
  },
867
  Sphere = {
868
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
869
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
870
      prt.Anchored = true
871
      prt.CFrame = cframe
872
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
873
      game:GetService("Debris"):AddItem(prt, 10)
874
      table.insert(Effects, {
875
        prt,
876
        "Cylinder",
877
        delay,
878
        x3,
879
        y3,
880
        z3,
881
        msh
882
      })
883
    end
884
  },
885
  Cylinder = {
886
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
887
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
888
      prt.Anchored = true
889
      prt.CFrame = cframe
890
      local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
891
      game:GetService("Debris"):AddItem(prt, 10)
892
      table.insert(Effects, {
893
        prt,
894
        "Cylinder",
895
        delay,
896
        x3,
897
        y3,
898
        z3,
899
        msh
900
      })
901
    end
902
  },
903
  Wave = {
904
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
905
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
906
      prt.Anchored = true
907
      prt.CFrame = cframe
908
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
909
      game:GetService("Debris"):AddItem(prt, 10)
910
      table.insert(Effects, {
911
        prt,
912
        "Cylinder",
913
        delay,
914
        x3 / 60,
915
        y3 / 60,
916
        z3 / 60,
917
        msh
918
      })
919
    end
920
  },
921
  Ring = {
922
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
923
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
924
      prt.Anchored = true
925
      prt.CFrame = cframe
926
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
927
      game:GetService("Debris"):AddItem(prt, 10)
928
      table.insert(Effects, {
929
        prt,
930
        "Cylinder",
931
        delay,
932
        x3,
933
        y3,
934
        z3,
935
        msh
936
      })
937
    end
938
  },
939
  Break = {
940
    Create = function(brickcolor, cframe, x1, y1, z1)
941
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
942
      prt.Anchored = true
943
      prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
944
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
945
      local num = math.random(10, 50) / 1000
946
      game:GetService("Debris"):AddItem(prt, 10)
947
      table.insert(Effects, {
948
        prt,
949
        "Shatter",
950
        num,
951
        prt.CFrame,
952
        math.random() - math.random(),
953
        0,
954
        math.random(50, 100) / 100
955
      })
956
    end
957
  },
958
Spiral = {
959
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
960
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
961
      prt.Anchored = true
962
      prt.CFrame = cframe
963
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
964
      game:GetService("Debris"):AddItem(prt, 10)
965
      table.insert(Effects, {
966
        prt,
967
        "Cylinder",
968
        delay,
969
        x3,
970
        y3,
971
        z3,
972
        msh
973
      })
974
    end
975
  },
976
Push = {
977
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
978
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
979
      prt.Anchored = true
980
      prt.CFrame = cframe
981
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
982
      game:GetService("Debris"):AddItem(prt, 10)
983
      table.insert(Effects, {
984
        prt,
985
        "Cylinder",
986
        delay,
987
        x3,
988
        y3,
989
        z3,
990
        msh
991
      })
992
    end
993
  }
994
}
995
function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
996
	local fp = IT("Part")
997
	fp.formFactor = formfactor 
998
	fp.Parent = parent
999
	fp.Reflectance = reflectance
1000
	fp.Transparency = transparency
1001
	fp.CanCollide = false 
1002
	fp.Locked = true
1003
	fp.BrickColor = brickcolor
1004
	fp.Name = name
1005
	fp.Size = size
1006
	fp.Position = tors.Position 
1007
	RemoveOutlines(fp)
1008
	fp.Material = "SmoothPlastic"
1009
	fp:BreakJoints()
1010
	return fp 
1011
end 
1012
 
1013
function mesh(Mesh,part,meshtype,meshid,offset,scale)
1014
	local mesh = IT(Mesh) 
1015
	mesh.Parent = part
1016
	if Mesh == "SpecialMesh" then
1017
		mesh.MeshType = meshtype
1018
	if meshid ~= "nil" then
1019
		mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
1020
		end
1021
	end
1022
	mesh.Offset = offset
1023
	mesh.Scale = scale
1024
	return mesh
1025
end
1026
1027
function Magic(bonuspeed, type, pos, scale, value, color, MType)
1028
	local type = type
1029
	local rng = Instance.new("Part", char)
1030
	rng.Anchored = true
1031
	rng.BrickColor = color
1032
	rng.CanCollide = false
1033
	rng.FormFactor = 3
1034
	rng.Name = "Ring"
1035
	rng.Material = "Neon"
1036
	rng.Size = Vector3.new(1, 1, 1)
1037
	rng.Transparency = 0
1038
	rng.TopSurface = 0
1039
	rng.BottomSurface = 0
1040
	rng.CFrame = pos
1041
	local rngm = Instance.new("SpecialMesh", rng)
1042
	rngm.MeshType = MType
1043
	rngm.Scale = scale
1044
	local scaler2 = 1
1045
	if type == "Add" then
1046
		scaler2 = 1 * value
1047
	elseif type == "Divide" then
1048
		scaler2 = 1 / value
1049
	end
1050
	coroutine.resume(coroutine.create(function()
1051
		for i = 0, 10 / bonuspeed, 0.1 do
1052
			swait()
1053
			if type == "Add" then
1054
				scaler2 = scaler2 - 0.01 * value / bonuspeed
1055
			elseif type == "Divide" then
1056
				scaler2 = scaler2 - 0.01 / value * bonuspeed
1057
			end
1058
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
1059
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
1060
		end
1061
		rng:Destroy()
1062
	end))
1063
end
1064
1065
function Eviscerate(dude)
1066
	if dude.Name ~= char then
1067
		local bgf = IT("BodyGyro", dude.Head)
1068
		bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
1069
		local val = IT("BoolValue", dude)
1070
		val.Name = "IsHit"
1071
		local ds = coroutine.wrap(function()
1072
			dude:WaitForChild("Head"):BreakJoints()
1073
			wait(0.5)
1074
			target = nil
1075
			coroutine.resume(coroutine.create(function()
1076
				for i, v in pairs(dude:GetChildren()) do
1077
					if v:IsA("Accessory") then
1078
						v:Destroy()
1079
					end
1080
					if v:IsA("Humanoid") then
1081
						v:Destroy()
1082
					end
1083
					if v:IsA("CharacterMesh") then
1084
						v:Destroy()
1085
					end
1086
					if v:IsA("Model") then
1087
						v:Destroy()
1088
					end
1089
					if v:IsA("Part") or v:IsA("MeshPart") then
1090
						for x, o in pairs(v:GetChildren()) do
1091
							if o:IsA("Decal") then
1092
								o:Destroy()
1093
							end
1094
						end
1095
						coroutine.resume(coroutine.create(function()
1096
							v.Material = "Neon"
1097
							v.CanCollide = false
1098
							local PartEmmit1 = IT("ParticleEmitter", v)
1099
							PartEmmit1.LightEmission = 1
1100
							PartEmmit1.Texture = "rbxassetid://284205403"
1101
							PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1102
							PartEmmit1.Rate = 150
1103
							PartEmmit1.Lifetime = NumberRange.new(1)
1104
							PartEmmit1.Size = NumberSequence.new({
1105
								NumberSequenceKeypoint.new(0, 0.75, 0),
1106
								NumberSequenceKeypoint.new(1, 0, 0)
1107
							})
1108
							PartEmmit1.Transparency = NumberSequence.new({
1109
								NumberSequenceKeypoint.new(0, 0, 0),
1110
								NumberSequenceKeypoint.new(1, 1, 0)
1111
							})
1112
							PartEmmit1.Speed = NumberRange.new(0, 0)
1113
							PartEmmit1.VelocitySpread = 30000
1114
							PartEmmit1.Rotation = NumberRange.new(-500, 500)
1115
							PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
1116
							local BodPoss = IT("BodyPosition", v)
1117
							BodPoss.P = 3000
1118
							BodPoss.D = 1000
1119
							BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
1120
							BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
1121
							v.Color = maincolor.Color
1122
							coroutine.resume(coroutine.create(function()
1123
								for i = 0, 49 do
1124
									swait(1)
1125
									v.Transparency = v.Transparency + 0.08
1126
								end
1127
								wait(0.5)
1128
								PartEmmit1.Enabled = false
1129
								wait(3)
1130
								v:Destroy()
1131
								dude:Destroy()
1132
							end))
1133
						end))
1134
					end
1135
				end
1136
			end))
1137
		end)
1138
		ds()
1139
	end
1140
end
1141
1142
function FindNearestHead(Position, Distance, SinglePlayer)
1143
	if SinglePlayer then
1144
		return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
1145
	end
1146
	local List = {}
1147
	for i, v in pairs(workspace:GetChildren()) do
1148
		if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
1149
			table.insert(List, v)
1150
		end
1151
	end
1152
	return List
1153
end
1154
1155
function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
1156
	local type = type
1157
	local rng = Instance.new("Part", char)
1158
	rng.Anchored = true
1159
	rng.BrickColor = color
1160
	rng.CanCollide = false
1161
	rng.FormFactor = 3
1162
	rng.Name = "Ring"
1163
	rng.Material = "Neon"
1164
	rng.Size = Vector3.new(1, 1, 1)
1165
	rng.Transparency = 0
1166
	rng.TopSurface = 0
1167
	rng.BottomSurface = 0
1168
	rng.CFrame = pos
1169
	rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
1170
	local rngm = Instance.new("SpecialMesh", rng)
1171
	rngm.MeshType = MType
1172
	rngm.Scale = Vector3.new(x1, y1, z1)
1173
	local scaler2 = 1
1174
	local speeder = FastSpeed
1175
	if type == "Add" then
1176
		scaler2 = 1 * value
1177
	elseif type == "Divide" then
1178
		scaler2 = 1 / value
1179
	end
1180
	coroutine.resume(coroutine.create(function()
1181
		for i = 0, 10 / bonuspeed, 0.1 do
1182
			swait()
1183
			if type == "Add" then
1184
				scaler2 = scaler2 - 0.01 * value / bonuspeed
1185
			elseif type == "Divide" then
1186
				scaler2 = scaler2 - 0.01 / value * bonuspeed
1187
			end
1188
			speeder = speeder - 0.01 * FastSpeed * bonuspeed
1189
			rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
1190
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
1191
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
1192
		end
1193
		rng:Destroy()
1194
	end))
1195
end
1196
1197
function SoulSteal(dude)
1198
if dude.Name ~= char then
1199
local bgf = IT("BodyGyro", dude.Head)
1200
bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
1201
local val = IT("BoolValue", dude)
1202
val.Name = "IsHit"
1203
local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
1204
local soulst = coroutine.wrap(function()
1205
local soul = Instance.new("Part",dude)
1206
soul.Size = Vector3.new(1,1,1)
1207
soul.CanCollide = false
1208
soul.Anchored = false
1209
soul.Position = torso.Position
1210
soul.Transparency = 1
1211
local PartEmmit1 = IT("ParticleEmitter", soul)
1212
PartEmmit1.LightEmission = 1
1213
PartEmmit1.Texture = "rbxassetid://569507414"
1214
PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1215
PartEmmit1.Rate = 250
1216
PartEmmit1.Lifetime = NumberRange.new(1.6)
1217
PartEmmit1.Size = NumberSequence.new({
1218
	NumberSequenceKeypoint.new(0, 1, 0),
1219
	NumberSequenceKeypoint.new(1, 0, 0)
1220
})
1221
PartEmmit1.Transparency = NumberSequence.new({
1222
	NumberSequenceKeypoint.new(0, 0, 0),
1223
	NumberSequenceKeypoint.new(1, 1, 0)
1224
})
1225
PartEmmit1.Speed = NumberRange.new(0, 0)
1226
PartEmmit1.VelocitySpread = 30000
1227
PartEmmit1.Rotation = NumberRange.new(-360, 360)
1228
PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
1229
local BodPoss = IT("BodyPosition", soul)
1230
BodPoss.P = 3000
1231
BodPoss.D = 1000
1232
BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
1233
BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
1234
wait(1.6)
1235
soul.Touched:connect(function(hit)
1236
	if hit.Parent == char then
1237
	soul:Destroy()
1238
	end
1239
end)
1240
wait(1.2)
1241
while soul do
1242
	swait()
1243
	PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1244
	BodPoss.Position = tors.Position
1245
end
1246
end)
1247
	soulst()
1248
	end
1249
end
1250
function FaceMouse()
1251
local	Cam = workspace.CurrentCamera
1252
	return {
1253
		CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
1254
		Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
1255
	}
1256
end
1257
-------------------------------------------------------
1258
--End Effect Function--
1259
-------------------------------------------------------
1260
function Cso(ID, PARENT, VOLUME, PITCH)
1261
	local NSound = nil
1262
	coroutine.resume(coroutine.create(function()
1263
		NSound = IT("Sound", PARENT)
1264
		NSound.Volume = VOLUME
1265
		NSound.Pitch = PITCH
1266
		NSound.SoundId = "http://www.roblox.com/asset/?id="..ID
1267
		swait()
1268
		NSound:play()
1269
		game:GetService("Debris"):AddItem(NSound, 10)
1270
	end))
1271
	return NSound
1272
end
1273
-------------------------------------------------------
1274
--End Important Functions--
1275
-------------------------------------------------------
1276
1277
1278
-------------------------------------------------------
1279
--Start Music Option--
1280
-------------------------------------------------------
1281
local Music = Instance.new("Sound",tors)
1282
Music.Volume = 2.5
1283
Music.SoundId = "rbxassetid://1117396305"
1284
Music.Looped = true
1285
Music.Pitch = 1 --Pitcher
1286
Music:Play()
1287
-------------------------------------------------------
1288
--End Music Option--
1289
-------------------------------------------------------
1290
1291
1292
-------------------------------------------------------
1293
--Start Attacks N Stuff--
1294
-------------------------------------------------------
1295
local sine=0
1296
-------------------------------------------------------
1297
--End Attacks N Stuff--
1298
-------------------------------------------------------
1299
1300
 
1301
1302
1303
1304
1305
1306
1307
-------------------------------------------------------
1308
--Start Animations--
1309
-------------------------------------------------------
1310
local equipped = false
1311
local idle = 0
1312
local change = 1
1313
local val = 0
1314
local toim = 0
1315
local idleanim = 0.4
1316
hum.WalkSpeed = 8
1317
hum.Animator.Parent = nil
1318
while true do
1319
	swait()
1320
	sine = sine + change
1321
	local torvel = (root.Velocity * Vector3.new(1, 0, 1)).magnitude
1322
	local velderp = root.Velocity.y
1323
	hitfloor, posfloor = rayCast(root.Position, CFrame.new(root.Position, root.Position - Vector3.new(0, 1, 0)).lookVector, 4, char)
1324
	if equipped == true or equipped == false then
1325
		if attack == false then
1326
			idle = idle + 1
1327
		else
1328
			idle = 0
1329
		end
1330
    local exactVel = CFrame.new(root.CFrame:vectorToObjectSpace(root.Velocity))-- for footplanting
1331
    --you g00b my leg animations are complicated :joy:
1332
1333
		if 1 < root.Velocity.y and hitfloor == nil then
1334
			Anim = "Jump"
1335
			if attack == false then
1336
				rootj.C0 = clerp(rootj.C0, RootCF * angles(math.min(math.max(root.Velocity.Y/100,-Rad(65)),Rad(65)),0,0),0.3)
1337
				tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(Rad(0), Rad(0), Rad(0)), 0.3)
1338
				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)
1339
				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)
1340
				LH.C0=clerp(LH.C0, CF(-1,-.4-0.1 * Cos(sine / 20), -.6) * LHCF * angles(Rad(-5), Rad(-0), Rad(20)), 0.15)
1341
				RH.C0=clerp(RH.C0, CF(1,-1-0.1 * Cos(sine / 20), -.3) * angles(Rad(0), Rad(90), Rad(0)), .3)
1342
			end
1343
		elseif -1 > root.Velocity.y and hitfloor == nil then
1344
			Anim = "Fall"
1345
			if attack == false then
1346
				rootj.C0 = clerp(rootj.C0, RootCF * angles(math.min(math.max(root.Velocity.Y/100,-Rad(65)),Rad(65)),0,0),0.3)
1347
				tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(Rad(0), Rad(0), Rad(0)), 0.3)
1348
				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)
1349
				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)
1350
				LH.C0 = clerp(LH.C0, CF(-1,-.4-0.1 * Cos(sine / 20), -.6) * LHCF * angles(Rad(-5), Rad(-0), Rad(20)), 0.15)
1351
				RH.C0 = clerp(RH.C0, CF(1,-1-0.1 * Cos(sine / 20), -.3) * angles(Rad(0), Rad(90), Rad(0)), .3)
1352
			end
1353
		elseif torvel < 1 and hitfloor ~= nil then
1354
			Anim = "Idle"
1355
			change = .5
1356
			if attack == false then
1357
				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)
1358
				tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(Rad(-2.8 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
1359
				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)
1360
				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)
1361
				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)
1362
				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)
1363
			end
1364
		elseif tors.Velocity.magnitude < 50 and hitfloor ~= nil then
1365
			Anim = "Walk"
1366
			change = .9
1367
			if attack == false then
1368
				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)
1369
				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)
1370
				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)
1371
       			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)
1372
		
1373
       			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)
1374
				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)
1375
			end
1376
		end
1377
	end
1378
	if 0 < #Effects then
1379
		for e = 1, #Effects do
1380
			if Effects[e] ~= nil then
1381
				local Thing = Effects[e]
1382
				if Thing ~= nil then
1383
					local Part = Thing[1]
1384
					local Mode = Thing[2]
1385
					local Delay = Thing[3]
1386
					local IncX = Thing[4]
1387
					local IncY = Thing[5]
1388
					local IncZ = Thing[6]
1389
					if 1 >= Thing[1].Transparency then
1390
						if Thing[2] == "Block1" then
1391
							Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1392
							local Mesh = Thing[1].Mesh
1393
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1394
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1395
						elseif Thing[2] == "Block2" then
1396
							Thing[1].CFrame = Thing[1].CFrame + Vector3.new(0, 0, 0)
1397
							local Mesh = Thing[7]
1398
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1399
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1400
						elseif Thing[2] == "Block3" then
1401
							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)
1402
							local Mesh = Thing[7]
1403
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1404
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1405
						elseif Thing[2] == "Cylinder" then
1406
							local Mesh = Thing[1].Mesh
1407
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1408
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1409
						elseif Thing[2] == "Blood" then
1410
							local Mesh = Thing[7]
1411
							Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, 0.5, 0)
1412
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1413
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1414
						elseif Thing[2] == "Elec" then
1415
							local Mesh = Thing[1].Mesh
1416
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1417
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1418
						elseif Thing[2] == "Disappear" then
1419
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1420
						elseif Thing[2] == "Shatter" then
1421
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1422
							Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
1423
							Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
1424
							Thing[6] = Thing[6] + Thing[5]
1425
						end
1426
					else
1427
						Part.Parent = nil
1428
						table.remove(Effects, e)
1429
					end
1430
				end
1431
			end
1432
		end
1433
	end
1434
end
1435
-------------------------------------------------------
1436
--End Animations And Script--
1437
-------------------------------------------------------