View difference between Paste ID: RbeQdfiB and 6X1iVmCu
SHOW: | | - or go back to the newest paste.
1
--Knife Module Script
2
--Perhapz
3
wait(.2)
4
5
local toool = Instance.new("Tool",game.Players.LocalPlayer.Backpack)
6
toool.Name = "FreezeKnife"
7
8
local hndle = Instance.new("Part",toool)
9
hndle.Name = "Handle"
10
11
local mesh = Instance.new("SpecialMesh",hndle)
12
mesh.MeshId = "http://www.roblox.com/asset/?id=121944778"
13
mesh.TextureId = "http://www.roblox.com/asset/?id=121944805"
14
15
16
local sund = Instance.new("Sound",hndle)
17
 
18
script.Parent = toool
19
20
21
22
23
local tool=script.Parent
24
local player=game.Players.LocalPlayer
25
local char=player.Character
26
local humanoid=char:FindFirstChild("Humanoid")
27
local camera=workspace.CurrentCamera
28
local rightC1 = CFrame.new(-0.5, 0.7, 0) * CFrame.Angles(0, (math.pi / 2), 0)
29
local leftC1 = CFrame.new(0, 0.7, 0) * CFrame.Angles(0, (math.pi / 2), 0)
30
local mouse=player:GetMouse()
31
local equipping=false
32
local gettingknife=false
33
local playcharge=false
34
local justthrown=false
35
local justattacked=false
36
local thrownkniferotation=0
37
local Damage=110
38
local Attacking=false
39
local handle=nil
40
local WalkSpeeds={16,20}
41
local fasterthrow = 0.2
42
local knifespeed = 225
43
44
if player.Name == "Perhapz" then
45
	fasterthrow = 0.5
46
else
47
	fasterthrow = 0.2
48
end
49
50
	--[[if player.Gamepass4.Value == true then
51
		fasterthrow = 0.5
52
	else
53
		fasterthrow = 0.2
54
	end
55
	if player.Gamepass5.Value == true then
56
		knifespeed = 305 
57
	else
58
		knifespeed = 225
59
	end
60
	--]]
61
62
SOUNDS={
63
	throwing={"153647554","153647549"},
64
	striking={"153647529","153647534","153647539","153647540"},
65
	equip="153647514",
66
	wallhit={"153647563","153647564"},
67
	hitplayer={"153647516","153647519","153647522","153647526"},
68
	deaths={"176399994"},
69
}
70
71
SETTINGS={
72
	
73
	tool={
74
		tool_size=Vector3.new(0.4, 3, 0.7),
75
		tool_transparency=0,
76
		tool_color=BrickColor.Black(),
77
		default_tool_size=0.6,
78
	},
79
	
80
}
81
82
83
--[[function onHumanoidDied(humanoid, player)
84
	local killer = getKillerOfHumanoidIfStillInGame(humanoid)
85
	--if killer.Name == "Perhapz" then 
86
	--script.Parent.Handle.Badge.Disabled = false
87
	
88
	--end
89
	HandleKillCount(humanoid, player)
90
end
91
function HandleKillCount(humanoid, player)
92
 local Killer = getKillerOfHumanoidIfStillInGame(humanoid)
93
 if Killer then
94
  if Killer ~= player then
95
   if player.Name == "Perhapz" then
96
    script.Parent.Handle.Badge1.Disabled = false
97
   end   
98
  end
99
 end
100
end
101
--]]
102
103
--[[function getKillerOfHumanoidIfStillInGame(humanoid)
104
	-- returns the player object that killed this humanoid
105
	-- returns nil if the killer is no longer in the game
106
107
	-- check for kill tag on humanoid - may be more than one - todo: deal with this
108
	local tag = humanoid:findFirstChild("creator")
109
110
	-- find player with name on tag
111
	if tag ~= nil then
112
		
113
		local killer = tag.Value
114
		if killer.Parent ~= nil then -- killer still in game
115
			return killer
116
		end
117
	end
118
119
	return nil
120
end
121
122
--]]
123
124
function DamageObject(hit)
125
 local char=hit.Parent
126
 if char and char~=player.Character and char.Name~="Arms_Model" and hit.Name~="Handle" then
127
  local h=char:FindFirstChild("Humanoid")
128
  if h and h.Health > 0 then
129
 local tag = Instance.new("ObjectValue")
130
 tag.Name = "creator"
131
 tag.Value = player
132
 game:GetService("Debris"):AddItem(tag, 3)
133
 tag.Parent = humanoid
134
135
   
136
if hit.Parent:FindFirstChild("QuickScope") then
137
							hit.Parent.QuickScope:remove()
138
						end
139
						if hit.Parent:FindFirstChild("BoomBlade") then
140
							hit.Parent.BoomBlade:remove()
141
						end
142
						if hit.Parent:FindFirstChild("FireKnife") then
143
							hit.Parent.FireKnife:remove()
144
						end
145
						if hit.Parent:FindFirstChild("Knife") then
146
							hit.Parent.Knife:remove()
147
						end
148
						if hit.Parent:FindFirstChild("LaserKnife") then
149
							hit.Parent.LaserKnife:remove()
150
						end
151
						if hit.Parent:FindFirstChild("FreezeKnife") then
152
							hit.Parent.FreezeKnife:remove()
153
						end
154
						
155
hit.Parent.Head.Anchored = true
156
hit.Parent.Torso.Anchored = true
157
hit.Parent:WaitForChild("Left Arm").Anchored = true
158
hit.Parent:WaitForChild("Right Arm").Anchored = true
159
hit.Parent:WaitForChild("Left Leg").Anchored = true
160
hit.Parent:WaitForChild("Right Leg").Anchored = true
161
local freezepart = Instance.new("Part",hit.Parent)
162
	freezepart.Name = "FreezePart"
163
	freezepart.BrickColor = BrickColor.new("Teal")
164
	freezepart.Size = Vector3.new(9,8,6)
165
	freezepart.Transparency = 0.6
166
	freezepart.Anchored = true
167
	freezepart.CanCollide = false
168
	
169
	freezepart.Position = hit.Parent.Torso.Position
170
	freezepart.CanCollide = true
171
	PlaySound("Hit1",char.Torso)
172
   
173
    PlaySound("Hit2",char.Torso)
174
	while true do
175
		hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 3
176
		wait(.1)
177
	end
178
  
179
   
180
  end
181
 end
182
end
183
184
function PlaySound(name,ctorso)
185
	if name=="Throw" then
186
		tool.Handle.Sound.SoundId = "rbxassetid://" .. SOUNDS.throwing[math.random(1,#SOUNDS.throwing)]
187
		tool.Handle.Sound:Play()
188
	elseif name=="Equip" then
189
		tool.Handle.Sound.SoundId = "rbxassetid://" .. SOUNDS.equip
190
		tool.Handle.Sound:Play()
191
	elseif name=="Swing" then
192
		tool.Handle.Sound.SoundId = "rbxassetid://" .. SOUNDS.striking[math.random(1,#SOUNDS.striking)]
193
		tool.Handle.Sound:Play()
194
	elseif name=="Hit1" then
195
		local NewSound=tool.Handle.Sound:clone()
196
		NewSound.Parent=ctorso
197
		NewSound.SoundId = "rbxassetid://" .. SOUNDS.hitplayer[math.random(1,#SOUNDS.hitplayer)]
198
		NewSound:Play()
199
		NewSound:Destroy()
200
	elseif name=="Hit2" then
201
		local NewSound=tool.Handle.Sound:clone()
202
		NewSound.Parent=ctorso
203
		NewSound.SoundId = "rbxassetid://" .. SOUNDS.deaths[math.random(1,#SOUNDS.deaths)]
204
		NewSound:Play()
205
		NewSound:Destroy()
206
	end
207
end
208
209
function ThrowTool(dPos)
210
		if not tool.Handle then return end
211
		local throwingHandle = tool.Handle:Clone()
212
		game:GetService("Debris"):AddItem(throwingHandle, 5)
213
		throwingHandle.Transparency=0
214
		throwingHandle.Parent = workspace
215
		if player.Character and player.Character.Humanoid then
216
			throwingHandle.Velocity = (player.Character.Humanoid.TargetPoint - throwingHandle.CFrame.p).unit * knifespeed
217
			if mouse.Target ~= nil then
218
			if mouse.Target.Parent.Name~="Arms_Model" and mouse.Target.Name~="ThrownKnife" and mouse.Target.Name~="Handle" then
219
			targetpos=player.Character.Humanoid.TargetPoint
220
			else
221
			targetpos=Vector3.new(0,-10,0)
222
			end
223
			end
224
			-- set the orientation to the direction it is being thrown in
225
			throwingHandle.CFrame = CFrame.new(throwingHandle.CFrame.p, throwingHandle.CFrame.p + throwingHandle.Velocity) * CFrame.Angles(0, 0, math.rad(-90))
226
			local floatingForce = Instance.new('BodyForce', throwingHandle)
227
			floatingForce.force = Vector3.new(0, 196.2 * throwingHandle:GetMass() * 0.98, 0)
228
			local spin = Instance.new('BodyAngularVelocity', throwingHandle)
229
			spin.angularvelocity = throwingHandle.CFrame:vectorToWorldSpace(Vector3.new(0, -500, 0))
230
			spawnPos=player.Character.PrimaryPart.Position
231
			spawnPos = spawnPos + dPos*5
232
		end
233
		if throwingHandle then
234
				--throwingHandle.Badge.Disabled = false
235
				--throwingHandle.Badge1.Disabled = false
236
237
			local touchedConn = throwingHandle.Touched:connect(function(hit)
238
				local char=hit.Parent
239
				camera.CameraSubject=humanoid
240
				camera.CameraType=Enum.CameraType.Custom
241
				if char and char~=player.Character and char.Name~="Arms_Model" and hit.Name~="Handle" then
242
					local h=char:FindFirstChild("Humanoid")
243
					if h and h.Health > 0 then
244
						throwingHandle:Destroy()
245
						if hit.Name~="Head" or hit.className=="Hat" then
246
						
247
					--	player.Credits.Value = player.Credits.Value + 15
248
						--player.PlayerGui.NormalKillGui.Script.Disabled = false
249
						
250
						if hit.Parent:FindFirstChild("QuickScope") then
251
							hit.Parent.QuickScope:remove()
252
						end
253
						if hit.Parent:FindFirstChild("BoomBlade") then
254
							hit.Parent.BoomBlade:remove()
255
						end
256
						if hit.Parent:FindFirstChild("FireKnife") then
257
							hit.Parent.FireKnife:remove()
258
						end
259
						if hit.Parent:FindFirstChild("Knife") then
260
							hit.Parent.Knife:remove()
261
						end
262
						if hit.Parent:FindFirstChild("LaserKnife") then
263
							hit.Parent.LaserKnife:remove()
264
						end
265
						if hit.Parent:FindFirstChild("FreezeKnife") then
266
							hit.Parent.FreezeKnife:remove()
267
						end
268
						
269
						
270
						hit.Parent.Head.Anchored = true
271
						hit.Parent.Torso.Anchored = true
272
						hit.Parent:WaitForChild("Left Arm").Anchored = true
273
						hit.Parent:WaitForChild("Right Arm").Anchored = true
274
						hit.Parent:WaitForChild("Left Leg").Anchored = true
275
						hit.Parent:WaitForChild("Right Leg").Anchored = true
276
						local freezepart = Instance.new("Part",hit.Parent)
277
						freezepart.Name = "FreezePart"
278
						freezepart.BrickColor = BrickColor.new("Teal")
279
						freezepart.Size = Vector3.new(9,8,6)
280
						freezepart.Transparency = 0.6
281
						freezepart.Anchored = true
282
						freezepart.CanCollide = false
283
284
						freezepart.Position = hit.Parent.Torso.Position
285
						freezepart.CanCollide = true
286
					
287
						PlaySound("Hit1",char.Torso)
288
						
289
							PlaySound("Hit2",char.Torso)
290
							while true do
291
								hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 3
292
									
293
									wait(.1)
294
								end
295
						
296
						else
297
						
298
						print("Headshot!")
299
						--player.Credits.Value = player.Credits.Value + 50
300
						--player.PlayerGui.HeadShotGui.Script.Disabled = false
301
						
302
						if hit.Parent:FindFirstChild("QuickScope") then
303
							hit.Parent.QuickScope:remove()
304
						end
305
						if hit.Parent:FindFirstChild("BoomBlade") then
306
							hit.Parent.BoomBlade:remove()
307
						end
308
						if hit.Parent:FindFirstChild("FireKnife") then
309
							hit.Parent.FireKnife:remove()
310
						end
311
						if hit.Parent:FindFirstChild("Knife") then
312
							hit.Parent.Knife:remove()
313
						end
314
						if hit.Parent:FindFirstChild("LaserKnife") then
315
							hit.Parent.LaserKnife:remove()
316
						end
317
						if hit.Parent:FindFirstChild("FreezeKnife") then
318
							hit.Parent.FreezeKnife:remove()
319
						end
320
						
321
						
322
						hit.Parent.Head.Anchored = true
323
						hit.Parent.Torso.Anchored = true
324
						hit.Parent:WaitForChild("Left Arm").Anchored = true
325
						hit.Parent:WaitForChild("Right Arm").Anchored = true
326
						hit.Parent:WaitForChild("Left Leg").Anchored = true
327
						hit.Parent:WaitForChild("Right Leg").Anchored = true
328
						local freezepart = Instance.new("Part",hit.Parent)
329
						freezepart.Name = "FreezePart"
330
						freezepart.BrickColor = BrickColor.new("Teal")
331
						freezepart.Size = Vector3.new(9,8,6)
332
						freezepart.Transparency = 0.6
333
						freezepart.Anchored = true
334
						freezepart.CanCollide = false
335
					
336
						freezepart.Position = hit.Parent.Torso.Position
337
						freezepart.CanCollide = true
338
					
339
						char.Head.Transparency=1
340
						char.Head.CanCollide=false
341
						if char.Head:FindFirstChild("face") then char.Head:FindFirstChild("face").Transparency=1 end
342
						for _,v in pairs(char:GetChildren()) do
343
							if v.className=="Hat" then
344
								v:Destroy()
345
							end
346
						end
347
						for i = 1, 7 do
348
							local blood=Instance.new("Part")
349
							blood.FormFactor="Custom"
350
							blood.Size=Vector3.new(1,.2,1)
351
							blood.BrickColor=BrickColor.Red()
352
							blood.TopSurface=0
353
							blood.BottomSurface=0
354
							game:GetService("Debris"):AddItem(blood,5)
355
							blood.Parent=workspace
356
							blood.Position=char.Head.Position + Vector3.new(math.random(0.2,0.8),0,math.random(0.2,0.8))
357
						end
358
					end
359
						PlaySound("Hit1")
360
				
361
							PlaySound("Hit2")
362
								while true do
363
								hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 3
364
							wait(.1)
365
						end
366
						
367
					elseif hit.Name~="Handle" or hit.Name~="IgnoreThrowingKnives" and hit.Parent.Name~="Arms_Model" and hit.CanCollide==false then
368
						local sound=Instance.new("Sound")
369
						sound.Parent=hit
370
						sound.SoundId = "rbxassetid://" .. SOUNDS.wallhit[math.random(1,#SOUNDS.wallhit)]
371
						sound:Play()
372
						sound:Destroy()
373
						if hit.Name == "Radio" then
374
						else
375
						print("Hit Object: " .. hit.Name)
376
						local newknife=tool.Handle:clone()
377
						newknife.Name="ThrownKnife"
378
						newknife.CFrame = CFrame.new(spawnPos, spawnPos + dPos) * CFrame.Angles(math.pi/-2, 0, 0)
379
						newknife.Position = targetpos
380
						throwingHandle:Destroy()
381
						newknife.Anchored=true
382
						newknife.CanCollide=true
383
						newknife.Transparency=0
384
						newknife.Parent=workspace
385
						newknife.Script.Disabled = false
386
						wait(7)
387
						for i=1,10 do
388
							newknife.Transparency=i*.1
389
							wait()
390
						end
391
						newknife:Destroy()
392
					end
393
						end
394
			
395
				end
396
		    end)
397
		end
398
		end
399
		-- must check if it still exists since we waited
400
		if throwingHandle then
401
			throwingHandle.CanCollide = true
402
		end
403
404
FUNCTIONS={
405
	
406
	CHECKFORFIRSTPERSON=function()
407
		if (camera.focus.p - camera.CoordinateFrame.p).magnitude > 1 then
408
			return false
409
		else
410
			return true
411
		end
412
	end,
413
	
414
	ANIMS=function(state)
415
		if state then
416
			mouse.Icon="http://www.roblox.com/asset/?id=139669907"
417
			--Start Animation
418
			
419
420
421
			if SETTINGS.tool then
422
				tool.GripPos = Vector3.new(0, -0.55, 0)
423
			elseif SETTINGS.tool then
424
				tool.GripPos = Vector3.new(0, -0.6, 0)
425
			elseif SETTINGS.tool then
426
				tool.GripPos = Vector3.new(0, -0.65, 0)
427
			elseif SETTINGS.tool then
428
				tool.GripPos = Vector3.new(0, -0.7, 0)
429
			elseif SETTINGS.tool then
430
				tool.GripPos = Vector3.new(0, -0.75, 0)
431
			elseif SETTINGS.tool then
432
				tool.GripPos = Vector3.new(0, -0.8, 0)
433
			elseif SETTINGS.tool then
434
				tool.GripPos = Vector3.new(0, -0.85, 0)
435
			elseif SETTINGS.tool then
436
				tool.GripPos = Vector3.new(0, -0.9, 0)
437
			elseif SETTINGS.tool then
438
				tool.GripPos = Vector3.new(0, -0.95, 0)
439
			elseif SETTINGS.tool then
440
				tool.GripPos = Vector3.new(0, -1, 0)
441
			else
442
				print("Invalid tool size! Set to default: " .. SETTINGS.tool.default_tool_size )
443
				
444
				if SETTINGS.tool.default_tool_size==.1 then
445
				tool.GripPos = Vector3.new(0, -0.55, 0)
446
			elseif SETTINGS.tool.default_tool_size==.2 then
447
				tool.GripPos = Vector3.new(0, -0.6, 0)
448
			elseif SETTINGS.tool.default_tool_size==.3 then
449
				tool.GripPos = Vector3.new(0, -0.65, 0)
450
			elseif SETTINGS.tool.default_tool_size==.4 then
451
				tool.GripPos = Vector3.new(0, -0.7, 0)
452
			elseif SETTINGS.tool.default_tool_size==.5 then
453
				tool.GripPos = Vector3.new(0, -0.75, 0)
454
			elseif SETTINGS.tool.default_tool_size==.6 then
455
				tool.GripPos = Vector3.new(0, -0.8, 0)
456
			elseif SETTINGS.tool.default_tool_size==.7 then
457
				tool.GripPos = Vector3.new(0, -0.85, 0)
458
			elseif SETTINGS.tool.default_tool_size==.8 then
459
				tool.GripPos = Vector3.new(0, -0.9, 0)
460
			elseif SETTINGS.tool.default_tool_size==.9 then
461
				tool.GripPos = Vector3.new(0, -0.95, 0)
462
			elseif SETTINGS.tool.default_tool_size==1 then
463
				tool.GripPos = Vector3.new(0, -1, 0)
464
			else
465
				print("Invalid default size! Un-equipping and removing Knife...")
466
			
467
			end
468
			end
469
			torso=char:FindFirstChild("Torso")
470
			leftarm=torso:FindFirstChild("Left Shoulder")
471
			if leftarm then
472
				leftarm.Parent=nil
473
				newarmweld=Instance.new("Weld")
474
				newarmweld.Name="LeftWeld"
475
				newarmweld.Part0=torso
476
				newarmweld.C0 = CFrame.new(-1.5, 0.7, 0)
477
				newarmweld.C1 = CFrame.new(0, 0.7, 0)
478
				newarmweld.Part1=char:FindFirstChild("Left Arm")
479
				newarmweld.Parent=torso
480
			end
481
			humanoid.WalkSpeed=WalkSpeeds[2]
482
			for i = 1, 15, 3 do
483
				if equipped then
484
					torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
485
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
486
				end
487
				wait()
488
			end
489
		else
490
			humanoid.WalkSpeed=WalkSpeeds[1]
491
			torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.new(0,-0.2,0)
492
			tool.GripForward = Vector3.new(0,0,-1)
493
			newarmweld:Destroy()
494
			leftarm.Parent=torso
495
			mouse.Icon=""
496
			torso:FindFirstChild("Neck").C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
497
			torso:FindFirstChild("Right Shoulder").C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
498
		end
499
		end
500
}
501
502
tool.Equipped:connect(function ()
503
	equipped=true
504
	PlaySound("Equip")
505
	FUNCTIONS.ANIMS(true)
506
end)
507
tool.Unequipped:connect(function ()
508
	equipped=false
509
	FUNCTIONS.ANIMS(false)
510
end)
511
tool.Handle.Touched:connect(function (hit)
512
	if Attacking then
513
		DamageObject(hit)
514
	end
515
end)
516
tool.Activated:connect(function ()
517
	if Attacking then return end
518
	if not tool.Enabled then return end
519
	justthrown=false
520
	justattacked=false
521
	if not gettingknife and not justthrown and not Attacking then
522
	HeldTime=time()
523
	end
524
	playcharge=true
525
	wait(.15)
526
	while gettingknife do
527
		wait()
528
	end
529
		
530
		for i = 1, 15, fasterthrow do
531
		if playcharge and equipped and not gettingknife and not justthrown and not Attacking then
532
		torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.195277825, -0.747909963, 0.634426773, 0.482016951, 0.636551082, 0.602048457, -0.854123056, 0.188237742, 0.484809577) * CFrame.Angles((i * (math.pi / 50)), 0, (-i * (math.pi / 25)))
533
		torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0, 0.858912528, 0.165011853, 0.484809607, -0.464581847, 0.649385393, 0.602048457, -0.215483144, -0.742340684, 0.634426773) * CFrame.Angles((-i * (math.pi / 75)),(i * (math.pi / 180)),0)
534
		player.Character["Right Arm"].RightGrip.C1 = CFrame.new(0, -0.800000012, 0.05, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.Angles((-i * (math.pi / 150)),0,0)
535
		wait()
536
		end
537
	end
538
539
end)
540
tool.Deactivated:connect(function ()
541
	if not tool.Enabled then return end
542
	currTime=time()
543
	playcharge=false
544
	if HeldTime and currTime - HeldTime > 0.2 and
545
			currTime - HeldTime > 0.01 and not justthrown and not gettingknife then
546
			if not Attacking and not justattacked then
547
			print("Throw")
548
			PlaySound("Throw")
549
			tool.Handle.Transparency=1
550
			local targetPos = player.Character.Humanoid.TargetPoint
551
			local lookAt = (targetPos - player.Character.PrimaryPart.Position).unit
552
			local switchEvenOddParity = 1
553
			local angle = math.ceil((1-1)/2)*math.pi/12*switchEvenOddParity
554
			ThrowTool(CFrame.Angles(0, angle, 0) * lookAt)
555
			HeldTime=0
556
			gettingknife=true
557
			mouse.Icon="http://www.roblox.com/asset/?id=139669907"
558
			player.Character["Right Arm"].RightGrip.C1 = CFrame.new(0, -0.800000012, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
559
			for i = 1, 15, .8 do
560
				if equipped then
561
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.0719629526, 0.22870943, 0.970831275, -0.981789052, 0.187819958, 0.0285283029, -0.175816804, -0.955204487, 0.238060504) * CFrame.Angles(0, 0, (i * (math.pi / 15)))
562
				torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, 0.7, 0, 0.703028679, -0.151466534, 0.694844246, -0.673604906, 0.171488613, 0.718921423, -0.228050426, -0.973472893, 0.0185328126) * CFrame.Angles((i * (math.pi / 60)),(-i * (math.pi / 180)),(i * (math.pi / 60)))
563
				wait()
564
				end
565
			end
566
			justthrown=true
567
			tool.Handle.Transparency=0
568
			PlaySound("Equip")
569
			mouse.Icon="http://www.roblox.com/asset/?id=139669907"
570
			tool.GripForward = Vector3.new(0,0,-1)
571
			for i = 1, 15, 1 do
572
				if equipped then
573
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, -0.071962975, -0.22870943, 0.970831275, 0.981789052, -0.187820047, 0.0285283029, 0.175816894, 0.955204487, 0.238060504) * CFrame.Angles(0, 0, (-i * (math.pi / 30)))
574
				wait()
575
				end
576
			end
577
			gettingknife=false
578
			for i = 1, 15, 3 do
579
				if equipped then
580
					torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
581
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
582
				end
583
				wait()
584
			end
585
			end
586
	else
587
		if not justthrown and not gettingknife then
588
		if Attacking then return end
589
		print("Attack")
590
		HeldTime=0
591
		Attacking=true
592
		justattacked=true
593
		if math.random(1,2)==1 then
594
			for i = 1, 15, 3 do
595
		if equipped and not gettingknife and not justthrown then
596
		torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.195277825, -0.747909963, 0.634426773, 0.482016951, 0.636551082, 0.602048457, -0.854123056, 0.188237742, 0.484809577) * CFrame.Angles((i * (math.pi / 65)), 0, (-i * (math.pi / 30)))
597
		torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0, 0.858912528, 0.165011853, 0.484809607, -0.464581847, 0.649385393, 0.602048457, -0.215483144, -0.742340684, 0.634426773) * CFrame.Angles((-i * (math.pi / 75)),(i * (math.pi / 180)),0)
598
		wait()
599
		end
600
			end
601
			PlaySound("Swing")
602
	for i = 1, 15, 3 do
603
				if equipped and not gettingknife and not justthrown then
604
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, 0.0719629526, 0.22870943, 0.970831275, -0.981789052, 0.187819958, 0.0285283029, -0.175816804, -0.955204487, 0.238060504) * CFrame.Angles(0, 0, (i * (math.pi / 15)))
605
				torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, 0.7, 0, 0.703028679, -0.151466534, 0.694844246, -0.673604906, 0.171488613, 0.718921423, -0.228050426, -0.973472893, 0.0185328126) * CFrame.Angles((i * (math.pi / 60)),(-i * (math.pi / 180)),(i * (math.pi / 60)))
606
				wait()
607
				end
608
	end
609
				for i = 1, 15, 3 do
610
				if equipped and not justthrown and not gettingknife then
611
				torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.5, 0.5, 0, -0.071962975, -0.22870943, 0.970831275, 0.981789052, -0.187820047, 0.0285283029, 0.175816894, 0.955204487, 0.238060504) * CFrame.Angles(0, 0, (-i * (math.pi / 30)))
612
				wait()
613
				end
614
			end
615
			for i = 1, 15, 3 do
616
				equipping=true
617
		if equipped and not gettingknife and not justthrown then
618
			torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
619
			torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
620
		end
621
		wait()
622
			end
623
			Attacking=false
624
		else
625
			for i = 1, 15, 3 do
626
				if equipped and not gettingknife and not justthrown then
627
					torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.3, 0.5, 0, 0.195277825, -0.747909963, 0.634426773, 0.482016951, 0.636551082, 0.602048457, -0.854123056, 0.188237742, 0.484809577) * CFrame.Angles((i * (math.pi / 40)),(-i * (math.pi / 45)),(i * (math.pi / 60)))
628
				end
629
				wait()
630
			end
631
			PlaySound("Swing")
632
			for i = 1, 15, 3 do
633
				if equipped and not gettingknife and not justthrown then
634
					torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.2, 0.5, -.3, 0.852928281, -0.428775758, 0.29776603, 0.516928136, 0.614185035, -0.596290231, 0.0727913082, 0.662516415, 0.745502114) * CFrame.Angles((-i * (math.pi / 45)),0,0)
635
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.200000003, 0.7, 0, 0.849384904, 0.16895318, 0.5, -0.48470962, 0.624545038, 0.612372398, -0.208810255, -0.762494743, 0.612372398) * CFrame.Angles((i * (math.pi / 60)),(-i * (math.pi / 180)),(i * (math.pi / 60)))
636
				end
637
				wait()
638
			end
639
			for i = 1, 15, 3 do
640
				if equipped and not gettingknife and not justthrown then
641
					torso:FindFirstChild("Right Shoulder").C1 = CFrame.new(-0.3, 0.5, -0.300000012, 0.852928281, -0.472260833, -0.222447708, 0.516928136, 0.82349503, 0.233754784, 0.0727913082, -0.314365625, 0.946507096) * CFrame.Angles((i * (math.pi / 45)),0,0)
642
				end
643
				wait()
644
			end
645
			for i = 1, 15, 3 do
646
				if equipped and not gettingknife and not justthrown then
647
					torso:FindFirstChild("Right Shoulder").C1 = rightC1 * CFrame.Angles((-i * (math.pi / 90)),(-i * (math.pi / 90)),(i * (math.pi / 210)))
648
					torso:FindFirstChild("LeftWeld").C1 = CFrame.new(-0.2, .7, 0) * CFrame.Angles((-i * (math.pi / 60)),(i * (math.pi / 90)),(-i * (math.pi / 240)))
649
				end
650
				wait()
651
			end
652
			Attacking=false
653
		end
654
		end
655
	end
656
end)
657
mouse.Move:connect(function ()
658
	if equipped and mouse then
659
		if (mouse.Hit.p - mouse.Origin.p).unit.y < 0.25 and (mouse.Hit.p - mouse.Origin.p).unit.y > -0.25 then
660
		torso:FindFirstChild("Right Shoulder").C0 = CFrame.new(.9,.5,0) * CFrame.Angles(0,math.rad(90),0) * CFrame.Angles(0, 0, math.asin((mouse.Hit.p - mouse.Origin.p).unit.y))
661
		torso:FindFirstChild("LeftWeld").C0 = CFrame.new(-1.5,0.5,0) * CFrame.Angles(0, 0, math.asin((mouse.Hit.p - mouse.Origin.p).unit.y))
662
		torso:FindFirstChild("Neck").C0 = CFrame.new(0,1,0) * CFrame.Angles(math.rad(-90),0,math.rad(180)) * CFrame.Angles(math.asin(-(mouse.Hit.p - mouse.Origin.p).unit.y), 0, 0)
663
		end
664
	end
665
end)