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