View difference between Paste ID: WL1C6Ahu and w3xerbpx
SHOW: | | - or go back to the newest paste.
1
---[Sunny bunnies made by filipaogamer345]---
2
print("Controls")
3
print("-------------------------------------")
4-
print("WSAD or L Stick to run")
4+
print("WSAD to run")
5-
print("Space or (A) for jump")
5+
print("Space for jump")
6
print("Press T for Taunt")
7
print("Press Z for Here we Go!")
8
print("-------------------------------------")
9
print("If you give Credits to me, i get you a gift")
10
print("Created by filipaogamer345")
11-
print("--------------v1.1--------------------")
11+
print("-------------v1.1--------------------")
12
13
------------------------
14
game.Players.LocalPlayer.Character.Humanoid.JumpPower = 100
15
16
--Made by goodguyaiden--
17
--Sonic-----------------
18
19
------------------------
20
Sound0 = Instance.new("Sound")
21
Sound0.Volume = 10
22
Sound0.Parent = game.Players.LocalPlayer.Character.Head
23
Sound0.SoundId = "rbxassetid://2024485688"
24
Sound0.Looped = true
25
Sound0:Play()
26
wait(0.8)
27
Player=game:GetService("Players").LocalPlayer
28
Character=Player.Character 
29
PlayerGui=Player.PlayerGui
30
Backpack=Player.Backpack 
31
Torso=Character.Torso 
32
Head=Character.Head 
33
Humanoid=Character.Humanoid
34
m=Instance.new('Model',Character)
35
LeftArm=Character["Left Arm"] 
36
LeftLeg=Character["Left Leg"] 
37
RightArm=Character["Right Arm"] 
38
RightLeg=Character["Right Leg"] 
39
LS=Torso["Left Shoulder"] 
40
LH=Torso["Left Hip"] 
41
RS=Torso["Right Shoulder"] 
42
RH=Torso["Right Hip"] 
43
Face = Head.face
44
Neck=Torso.Neck
45
it=Instance.new
46
attacktype=1
47
vt=Vector3.new
48
cf=CFrame.new
49
cl3=Color3.new
50
rgb=Color3.fromRGB
51
bcn=BrickColor.new
52
euler=CFrame.fromEulerAnglesXYZ
53
angles=CFrame.Angles
54
Humanoid.WalkSpeed = 30
55
Player = game:GetService("Players").LocalPlayer
56
PlayerGui = Player.PlayerGui
57
Cam = workspace.CurrentCamera
58
Backpack = Player.Backpack
59
Character = Player.Character
60
Humanoid = Character.Humanoid
61
Mouse = Player:GetMouse()
62
RootPart = Character["HumanoidRootPart"]
63
Torso = Character["Torso"]
64
Head = Character["Head"]
65
RightArm = Character["Right Arm"]
66
LeftArm = Character["Left Arm"]
67
RightLeg = Character["Right Leg"]
68
LeftLeg = Character["Left Leg"]
69
RootJoint = RootPart["RootJoint"]
70
Neck = Torso["Neck"]
71
RightShoulder = Torso["Right Shoulder"]
72
LeftShoulder = Torso["Left Shoulder"]
73
RightHip = Torso["Right Hip"]
74
LeftHip = Torso["Left Hip"]
75
IT = Instance.new
76
CF = CFrame.new
77
VT = Vector3.new
78
RAD = math.rad
79
C3 = Color3.new
80
UD2 = UDim2.new
81
BRICKC = BrickColor.new
82
ANGLES = CFrame.Angles
83
EULER = CFrame.fromEulerAnglesXYZ
84
COS = math.cos
85
ACOS = math.acos
86
SIN = math.sin
87
ASIN = math.asin
88
ABS = math.abs
89
MRANDOM = math.random
90
FLOOR = math.floor
91
Animation_Speed = 3
92
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
93
local Speed = 12
94
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
95
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
96
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
97
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
98
local DAMAGEMULTIPLIER = 1
99
local ANIM = "Idle"
100
local ATTACK = false
101
local EQUIPPED = false
102
local HOLD = false
103
local COMBO = 1
104
local Rooted = false
105
local SINE = 0
106
local KEYHOLD = false
107
local CHANGE = 2 / Animation_Speed
108
local WALKINGANIM = false
109
local VALUE1 = false
110
local VALUE2 = false
111
local ROBLOXIDLEANIMATION = IT("Animation")
112
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
113
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
114
--ROBLOXIDLEANIMATION.Parent = Humanoid
115
local WEAPONGUI = IT("ScreenGui", PlayerGui)
116
WEAPONGUI.Name = "Weapon GUI"
117
local Weapon = IT("Model")
118
Weapon.Name = "Adds"
119
local Effects = IT("Folder", Weapon)
120
Effects.Name = "Effects"
121
local ANIMATOR = Humanoid.Animator
122
local ANIMATE = Character.Animate
123
local UNANCHOR = true
124
local PLAYANIMS = true
125
ArtificialHB = Instance.new("BindableEvent", script)
126
ArtificialHB.Name = "ArtificialHB"
127
128
script:WaitForChild("ArtificialHB")
129
130
frame = Frame_Speed
131
tf = 0
132
allowframeloss = false
133
tossremainder = false
134
lastframe = tick()
135
script.ArtificialHB:Fire()
136
137
game:GetService("RunService").Heartbeat:connect(function(s, p)
138
	tf = tf + s
139
	if tf >= frame then
140
		if allowframeloss then
141
			script.ArtificialHB:Fire()
142
			lastframe = tick()
143
		else
144
			for i = 1, math.floor(tf / frame) do
145
				script.ArtificialHB:Fire()
146
			end
147
		lastframe = tick()
148
		end
149
		if tossremainder then
150
			tf = 0
151
		else
152
			tf = tf - frame * math.floor(tf / frame)
153
		end
154
	end
155
end)
156
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
157
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
158
end
159
160
function PositiveAngle(NUMBER)
161
	if NUMBER >= 0 then
162
		NUMBER = 0
163
	end
164
	return NUMBER
165
end
166
167
function NegativeAngle(NUMBER)
168
	if NUMBER <= 0 then
169
		NUMBER = 0
170
	end
171
	return NUMBER
172
end
173
174
function Swait(NUMBER)
175
	if NUMBER == 0 or NUMBER == nil then
176
		ArtificialHB.Event:wait()
177
	else
178
		for i = 1, NUMBER do
179
			ArtificialHB.Event:wait()
180
		end
181
	end
182
end
183
184
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
185
	local NEWMESH = IT(MESH)
186
	if MESH == "SpecialMesh" then
187
		NEWMESH.MeshType = MESHTYPE
188
		if MESHID ~= "nil" and MESHID ~= "" then
189
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
190
		end
191
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
192
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
193
		end
194
	end
195
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
196
	NEWMESH.Scale = SCALE
197
	NEWMESH.Parent = PARENT
198
	return NEWMESH
199
end
200
201
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
202
	local NEWPART = IT("Part")
203
	NEWPART.formFactor = FORMFACTOR
204
	NEWPART.Reflectance = REFLECTANCE
205
	NEWPART.Transparency = TRANSPARENCY
206
	NEWPART.CanCollide = false
207
	NEWPART.Locked = true
208
	NEWPART.Anchored = true
209
	if ANCHOR == false then
210
		NEWPART.Anchored = false
211
	end
212
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
213
	NEWPART.Name = NAME
214
	NEWPART.Size = SIZE
215
	NEWPART.Position = Torso.Position
216
	NEWPART.Material = MATERIAL
217
	NEWPART:BreakJoints()
218
	NEWPART.Parent = PARENT
219
	return NEWPART
220
end
221
222
	local function weldBetween(a, b)
223
	    local weldd = Instance.new("ManualWeld")
224
	    weldd.Part0 = a
225
	    weldd.Part1 = b
226
	    weldd.C0 = CFrame.new()
227
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
228
	    weldd.Parent = a
229
	    return weldd
230
	end
231
232
233
function QuaternionFromCFrame(cf)
234
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
235
	local trace = m00 + m11 + m22
236
	if trace > 0 then 
237
		local s = math.sqrt(1 + trace)
238
		local recip = 0.5 / s
239
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
240
	else
241
		local i = 0
242
		if m11 > m00 then
243
			i = 1
244
		end
245
		if m22 > (i == 0 and m00 or m11) then
246
			i = 2
247
		end
248
		if i == 0 then
249
			local s = math.sqrt(m00 - m11 - m22 + 1)
250
			local recip = 0.5 / s
251
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
252
		elseif i == 1 then
253
			local s = math.sqrt(m11 - m22 - m00 + 1)
254
			local recip = 0.5 / s
255
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
256
		elseif i == 2 then
257
			local s = math.sqrt(m22 - m00 - m11 + 1)
258
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
259
		end
260
	end
261
end
262
 
263
function QuaternionToCFrame(px, py, pz, x, y, z, w)
264
	local xs, ys, zs = x + x, y + y, z + z
265
	local wx, wy, wz = w * xs, w * ys, w * zs
266
	local xx = x * xs
267
	local xy = x * ys
268
	local xz = x * zs
269
	local yy = y * ys
270
	local yz = y * zs
271
	local zz = z * zs
272
	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))
273
end
274
 
275
function QuaternionSlerp(a, b, t)
276
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
277
	local startInterp, finishInterp;
278
	if cosTheta >= 0.0001 then
279
		if (1 - cosTheta) > 0.0001 then
280
			local theta = ACOS(cosTheta)
281
			local invSinTheta = 1 / SIN(theta)
282
			startInterp = SIN((1 - t) * theta) * invSinTheta
283
			finishInterp = SIN(t * theta) * invSinTheta
284
		else
285
			startInterp = 1 - t
286
			finishInterp = t
287
		end
288
	else
289
		if (1 + cosTheta) > 0.0001 then
290
			local theta = ACOS(-cosTheta)
291
			local invSinTheta = 1 / SIN(theta)
292
			startInterp = SIN((t - 1) * theta) * invSinTheta
293
			finishInterp = SIN(t * theta) * invSinTheta
294
		else
295
			startInterp = t - 1
296
			finishInterp = t
297
		end
298
	end
299
	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
300
end
301
302
function Clerp(a, b, t)
303
	local qa = {QuaternionFromCFrame(a)}
304
	local qb = {QuaternionFromCFrame(b)}
305
	local ax, ay, az = a.x, a.y, a.z
306
	local bx, by, bz = b.x, b.y, b.z
307
	local _t = 1 - t
308
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
309
end
310
311
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
312
	local frame = IT("Frame")
313
	frame.BackgroundTransparency = TRANSPARENCY
314
	frame.BorderSizePixel = BORDERSIZEPIXEL
315
	frame.Position = POSITION
316
	frame.Size = SIZE
317
	frame.BackgroundColor3 = COLOR
318
	frame.BorderColor3 = BORDERCOLOR
319
	frame.Name = NAME
320
	frame.Parent = PARENT
321
	return frame
322
end
323
324
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
325
	local label = IT("TextLabel")
326
	label.BackgroundTransparency = 1
327
	label.Size = UD2(1, 0, 1, 0)
328
	label.Position = UD2(0, 0, 0, 0)
329
	label.TextColor3 = TEXTCOLOR
330
	label.TextStrokeTransparency = STROKETRANSPARENCY
331
	label.TextTransparency = TRANSPARENCY
332
	label.FontSize = TEXTFONTSIZE
333
	label.Font = TEXTFONT
334
	label.BorderSizePixel = BORDERSIZEPIXEL
335
	label.TextScaled = false
336
	label.Text = TEXT
337
	label.Name = NAME
338
	label.Parent = PARENT
339
	return label
340
end
341
342
function NoOutlines(PART)
343
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
344
end
345
346
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
347
	local NEWWELD = IT(TYPE)
348
	NEWWELD.Part0 = PART0
349
	NEWWELD.Part1 = PART1
350
	NEWWELD.C0 = C0
351
	NEWWELD.C1 = C1
352
	NEWWELD.Parent = PARENT
353
	return NEWWELD
354
end
355
356
local S = IT("Sound")
357
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
358
	local NEWSOUND = nil
359
	coroutine.resume(coroutine.create(function()
360
		NEWSOUND = S:Clone()
361
		NEWSOUND.Parent = PARENT
362
		NEWSOUND.Volume = VOLUME
363
		NEWSOUND.Pitch = PITCH
364
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
365
		NEWSOUND:play()
366
		if DOESLOOP == true then
367
			NEWSOUND.Looped = true
368
		else
369
			repeat wait(1) until NEWSOUND.Playing == false
370
			NEWSOUND:remove()
371
		end
372
	end))
373
	return NEWSOUND
374
end
375
376
function MakeForm(PART,TYPE)
377
	if TYPE == "Cyl" then
378
		local MSH = IT("CylinderMesh",PART)
379
	elseif TYPE == "Ball" then
380
		local MSH = IT("SpecialMesh",PART)
381
		MSH.MeshType = "Sphere"
382
	elseif TYPE == "Wedge" then
383
		local MSH = IT("SpecialMesh",PART)
384
		MSH.MeshType = "Wedge"
385
	end
386
end
387
388
function CFrameFromTopBack(at, top, back)
389
	local right = top:Cross(back)
390
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
391
end
392
393
function PuddleOfBlood(Position,MaxDrop,Model,MaxSize)
394
	local HITFLOOR, HITPOS, NORMAL = Raycast(Position, (CF(Position, Position + VT(0, -1, 0))).lookVector, MaxDrop, Model)
395
	if HITFLOOR ~= nil then
396
		if HITFLOOR.Parent ~= Weapon and HITFLOOR.Parent ~= Character then
397
			if HITFLOOR.Name == "BloodPuddle" then
398
				local DIST = (Position - HITFLOOR.Position).Magnitude
399
				if (HITFLOOR.Size.Z <= 5 and HITFLOOR.Size.Z < MaxSize) or (HITFLOOR.Size.Z > 5 and HITFLOOR.Size.Z < MaxSize and DIST < HITFLOOR.Size.Z/3) then
400
					HITFLOOR.Size = HITFLOOR.Size + VT(0.1,0,0.1)
401
				end
402
			else
403
				if HITFLOOR.Anchored == true then
404
					local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(2,0,2))
405
					BLOOD.CFrame = CF(HITPOS,HITPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))
406
					MakeForm(BLOOD,"Cyl")
407
					coroutine.resume(coroutine.create(function()
408
						Swait(75)
409
						while true do
410
							Swait()
411
							BLOOD.Size = BLOOD.Size - VT(0.02,0,0.02)
412
							if BLOOD.Size.Z < 0.051 then
413
								BLOOD:remove()
414
								break
415
							end
416
						end
417
					end))
418
				end
419
			end
420
		end
421
	end
422
end
423
424
function SprayBlood(POSITION,DIRECTION,BloodSize)
425
	local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(0.3,0.3,0.3),false)
426
	BLOOD.CFrame = CF(POSITION)
427
	MakeForm(BLOOD,"Ball")
428
	local bv = Instance.new("BodyVelocity",BLOOD) 
429
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
430
	bv.velocity = CF(POSITION,DIRECTION+VT(MRANDOM(-3,3)/30,MRANDOM(-3,3)/30,MRANDOM(-3,3)/30)).lookVector*75
431
	bv.Name = "MOVE"
432
	Debris:AddItem(bv,0.05)
433
	coroutine.resume(coroutine.create(function()
434
		local HASTOUCHEDGROUND = false
435
		local HIT = BLOOD.Touched:Connect(function(hit)
436
			if hit.Anchored == true then
437
				HASTOUCHEDGROUND = true
438
				PuddleOfBlood(BLOOD.Position+VT(0,1,0),2,BLOOD,BloodSize)
439
			end
440
		end)
441
		wait(5)
442
		if HASTOUCHEDGROUND == false then
443
			BLOOD:remove()
444
		end
445
	end))
446
end
447
448
Debris = game:GetService("Debris")
449
450
function CastProperRay(StartPos, EndPos, Distance, Ignore)
451
	local DIRECTION = CF(StartPos,EndPos).lookVector
452
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
453
end
454
455
function turnto(position)
456
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
457
end
458
459
function recurse(root,callback,i)
460
	i= i or 0
461
	for _,v in pairs(root:GetChildren()) do
462
		i = i + 1
463
		callback(i,v)
464
		
465
		if #v:GetChildren() > 0 then
466
			i = recurse(v,callback,i)
467
		end
468
	end
469
	
470
	return i
471
end
472
473
function ragdollJoint(character, part0, part1, attachmentName, className, properties)
474
	attachmentName = attachmentName.."RigAttachment"
475
	local constraint = Instance.new(className.."Constraint")
476
	constraint.Attachment0 = part0:FindFirstChild(attachmentName)
477
	constraint.Attachment1 = part1:FindFirstChild(attachmentName)
478
	constraint.Name = "RagdollConstraint"..part1.Name
479
	
480
	for _,propertyData in next,properties or {} do
481
		constraint[propertyData[1]] = propertyData[2]
482
	end
483
	
484
	constraint.Parent = character
485
end
486
487
function getAttachment0(character, attachmentName)
488
	for _,child in next,character:GetChildren() do
489
		local attachment = child:FindFirstChild(attachmentName)
490
		if attachment then
491
			return attachment
492
		end
493
	end
494
end
495
496
function R15Ragdoll(character)
497
	recurse(character, function(_,v)
498
		if v:IsA("Attachment") then
499
			v.Axis = Vector3.new(0, 1, 0)
500
			v.SecondaryAxis = Vector3.new(0, 0, 1)
501
			v.Rotation = Vector3.new(0, 0, 0)
502
		end
503
	end)
504
	for _,child in next,character:GetChildren() do
505
		if child:IsA("Accoutrement") then
506
			for _,part in next,child:GetChildren() do
507
				if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
508
					local attachment1 = part:FindFirstChildOfClass("Attachment")
509
					local attachment0 = getAttachment0(character,attachment1.Name)
510
					if attachment0 and attachment1 then
511
						local constraint = Instance.new("HingeConstraint")
512
						constraint.Attachment0 = attachment0
513
						constraint.Attachment1 = attachment1
514
						constraint.LimitsEnabled = true
515
						constraint.UpperAngle = 0
516
						constraint.LowerAngle = 0
517
						constraint.Parent = character
518
					end
519
				elseif part.Name == "HumanoidRootPart" then
520
					part:remove()
521
				end
522
			end
523
		end
524
	end
525
	
526
	ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
527
		{"LimitsEnabled",true};
528
		{"UpperAngle",5};
529
	})
530
	ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
531
		{"LimitsEnabled",true};
532
		{"UpperAngle",15};
533
	})
534
	
535
	local handProperties = {
536
		{"LimitsEnabled", true};
537
		{"UpperAngle",0};
538
		{"LowerAngle",0};
539
	}
540
	ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
541
	ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
542
	
543
	local shinProperties = {
544
		{"LimitsEnabled", true};
545
		{"UpperAngle", 0};
546
		{"LowerAngle", -75};
547
	}
548
	ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
549
	ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
550
	
551
	local footProperties = {
552
		{"LimitsEnabled", true};
553
		{"UpperAngle", 15};
554
		{"LowerAngle", -45};
555
	}
556
	ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
557
	ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
558
	
559
	ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
560
	ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
561
	ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
562
	ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
563
	ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
564
	ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
565
end
566
567
function Ragdoll(Character2,CharTorso)
568
	Character2:BreakJoints()
569
	local hum = Character2:findFirstChild("Humanoid")
570
	hum:remove()
571
	local function Scan(ch)
572
		local e
573
		for e = 1,#ch do
574
			Scan(ch[e]:GetChildren())
575
			if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
576
				ch[e]:remove()
577
			end
578
		end
579
	end
580
	local NEWHUM = IT("Humanoid")
581
	NEWHUM.Name = "Corpse"
582
	NEWHUM.Health = 0
583
	NEWHUM.MaxHealth = 0
584
	NEWHUM.PlatformStand = true
585
	NEWHUM.Parent = Character2
586
	NEWHUM.DisplayDistanceType = "None"
587
588
	local ch = Character2:GetChildren()
589
	local i
590
	for i = 1,#ch do
591
		if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
592
			ch[i]:remove()
593
		end
594
	end
595
596
	local Torso2 = Character2.Torso
597
	local movevector = Vector3.new()
598
599
	if Torso2 then
600
		movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
601
		local Head = Character2:FindFirstChild("Head")
602
		if Head then
603
			local Neck = Instance.new("Weld")
604
			Neck.Name = "Neck"
605
			Neck.Part0 = Torso2
606
			Neck.Part1 = Head
607
			Neck.C0 = CFrame.new(0, 1.5, 0)
608
			Neck.C1 = CFrame.new()
609
			Neck.Parent = Torso2
610
611
		end
612
		local Limb = Character2:FindFirstChild("Right Arm")
613
		if Limb then
614
615
			Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
616
			local Joint = Instance.new("Glue")
617
			Joint.Name = "RightShoulder"
618
			Joint.Part0 = Torso2
619
			Joint.Part1 = Limb
620
			Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
621
			Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
622
			Joint.Parent = Torso2
623
624
			local B = Instance.new("Part")
625
			B.TopSurface = 0
626
			B.BottomSurface = 0
627
			B.formFactor = "Symmetric"
628
			B.Size = Vector3.new(1, 1, 1)
629
			B.Transparency = 1
630
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
631
			B.Parent = Character2
632
			local W = Instance.new("Weld")
633
			W.Part0 = Limb
634
			W.Part1 = B
635
			W.C0 = CFrame.new(0, -0.5, 0)
636
			W.Parent = Limb
637
638
		end
639
		local Limb = Character2:FindFirstChild("Left Arm")
640
		if Limb then
641
642
			Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
643
			local Joint = Instance.new("Glue")
644
			Joint.Name = "LeftShoulder"
645
			Joint.Part0 = Torso2
646
			Joint.Part1 = Limb
647
			Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
648
			Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
649
			Joint.Parent = Torso2
650
651
			local B = Instance.new("Part")
652
			B.TopSurface = 0
653
			B.BottomSurface = 0
654
			B.formFactor = "Symmetric"
655
			B.Size = Vector3.new(1, 1, 1)
656
			B.Transparency = 1
657
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
658
			B.Parent = Character2
659
			local W = Instance.new("Weld")
660
			W.Part0 = Limb
661
			W.Part1 = B
662
			W.C0 = CFrame.new(0, -0.5, 0)
663
			W.Parent = Limb
664
665
		end
666
		local Limb = Character2:FindFirstChild("Right Leg")
667
		if Limb then
668
669
			Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
670
			local Joint = Instance.new("Glue")
671
			Joint.Name = "RightHip"
672
			Joint.Part0 = Torso2
673
			Joint.Part1 = Limb
674
			Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
675
			Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
676
			Joint.Parent = Torso2
677
678
			local B = Instance.new("Part")
679
			B.TopSurface = 0
680
			B.BottomSurface = 0
681
			B.formFactor = "Symmetric"
682
			B.Size = Vector3.new(1, 1, 1)
683
			B.Transparency = 1
684
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
685
			B.Parent = Character2
686
			local W = Instance.new("Weld")
687
			W.Part0 = Limb
688
			W.Part1 = B
689
			W.C0 = CFrame.new(0, -0.5, 0)
690
			W.Parent = Limb
691
692
		end
693
		local Limb = Character2:FindFirstChild("Left Leg")
694
		if Limb then
695
696
			Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
697
			local Joint = Instance.new("Glue")
698
			Joint.Name = "LeftHip"
699
			Joint.Part0 = Torso2
700
			Joint.Part1 = Limb
701
			Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
702
			Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
703
			Joint.Parent = Torso2
704
705
			local B = Instance.new("Part")
706
			B.TopSurface = 0
707
			B.BottomSurface = 0
708
			B.formFactor = "Symmetric"
709
			B.Size = Vector3.new(1, 1, 1)
710
			B.Transparency = 1
711
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
712
			B.Parent = Character2
713
			local W = Instance.new("Weld")
714
			W.Part0 = Limb
715
			W.Part1 = B
716
			W.C0 = CFrame.new(0, -0.5, 0)
717
			W.Parent = Limb
718
719
		end
720
		--[
721
		local Bar = Instance.new("Part")
722
		Bar.TopSurface = 0
723
		Bar.BottomSurface = 0
724
		Bar.formFactor = "Symmetric"
725
		Bar.Size = Vector3.new(1, 1, 1)
726
		Bar.Transparency = 1
727
		Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
728
		Bar.Parent = Character2
729
		local Weld = Instance.new("Weld")
730
		Weld.Part0 = Torso2
731
		Weld.Part1 = Bar
732
		Weld.C0 = CFrame.new(0, 0.5, 0)
733
		Weld.Parent = Torso2
734
		--]]
735
	end
736
	Character2.Parent = workspace
737
	Debris:AddItem(Character2,5)
738
739
	return Character2,Torso2
740
end
741
742
function Taunt()
743
	ATTACK = true
744
	Rooted = true
745
	CreateSound("135557803", Head, 10, 1)
746
	for i=0, 1, 0.1 / Animation_Speed do
747
		Swait()
748
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
749
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
750
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.55, 0) * ANGLES(RAD(170), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
751
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.55, 0) * ANGLES(RAD(170), RAD(0), RAD(-30)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
752
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
753
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
754
	end
755
	wait(1)
756
	ATTACK = false
757
	Rooted = false
758
end
759
760
761
function Gottagofaster()
762
CreateSound("537371462", Head, 10, 1)
763
Humanoid.WalkSpeed = 46
764
wait(8)
765
Humanoid.WalkSpeed = 30
766
end
767
768
function MouseDown(Mouse)
769
	HOLD = true
770
	if ATTACK == false then
771
	end
772
end
773
774
function MouseUp(Mouse)
775
HOLD = false
776
end
777
778
function KeyDown(Key)
779
	KEYHOLD = true
780
	if Key == "t" and ATTACK == false then
781
		Taunt()
782
	end
783
784
	if Key == "z" and ATTACK == false then
785
		Gottagofaster()
786
	end
787
end
788
789
function KeyUp(Key)
790
	KEYHOLD = false
791
end
792
793
	Mouse.Button1Down:connect(function(NEWKEY)
794
		MouseDown(NEWKEY)
795
	end)
796
	Mouse.Button1Up:connect(function(NEWKEY)
797
		MouseUp(NEWKEY)
798
	end)
799
	Mouse.KeyDown:connect(function(NEWKEY)
800
		KeyDown(NEWKEY)
801
	end)
802
	Mouse.KeyUp:connect(function(NEWKEY)
803
		KeyUp(NEWKEY)
804
	end)
805
806
807
Humanoid.Changed:connect(function(Jump)
808
	if Jump == "Jump" and (Disable_Jump == true) then
809
		Humanoid.Jump = false
810
	end
811
end)
812
813
while true do
814
	Swait()
815
	script.Parent = WEAPONGUI
816
	ANIMATE.Parent = nil
817
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
818
	    v:Stop();
819
	end
820
	SINE = SINE + CHANGE
821
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
822
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
823
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
824
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
825
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
826
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
827
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
828
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.3 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
829
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.3 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
830
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
831
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
832
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
833
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
834
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
835
	end
836
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
837
		ANIM = "Jump"
838
		if PLAYANIMS == true then
839
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
840
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
841
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
842
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
843
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
844
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
845
	    end
846
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
847
		ANIM = "Fall"
848
		if PLAYANIMS == true then
849
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
850
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
851
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
852
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
853
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
854
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
855
		end
856
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
857
		ANIM = "Idle"
858
		if PLAYANIMS == true then
859
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
860
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
861
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
862
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
863
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
864
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
865
		end
866
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
867
		ANIM = "Walk"
868
		if PLAYANIMS == true then
869
	RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(35), RAD(0), RAD(5 * SIN(SINE / (WALKSPEEDVALUE / 2)))), 0.15 / Animation_Speed)
870
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(-5 * SIN(SINE / (WALKSPEEDVALUE / 2)))), 0.15 / Animation_Speed)
871
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.2) * ANGLES(RAD(0), RAD(0), RAD(0)) * ANGLES(RAD(35+60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0,1/Animation_Speed)
872
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.2) * ANGLES(RAD(0), RAD(0), RAD(0)) * ANGLES(RAD(35-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
873
				RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 2 / Animation_Speed)
874
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-5)), 2 / Animation_Speed)
875
			end
876
		end
877
	end
878
	unanchor()
879
	if Rooted == false then
880
		Disable_Jump = false
881
		Humanoid.WalkSpeed = Speed
882
	elseif Rooted == true then
883
		Disable_Jump = true
884
		Humanoid.WalkSpeed = 0
885
	end
886
	Character.Head.face.Texture = "rbxassetid://104824599"
887
	Humanoid.Health = Humanoid.Health + 1