View difference between Paste ID: LYAFAzxA and Ws3VSh5a
SHOW: | | - or go back to the newest paste.
1
------------------------------------------------------------------------
2
						-- Made by Cronizete --
3
------------------------------------------------------------------------
4
5
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
6
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
7
local RealPlayer = Player
8
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
9
10
------------------------------------------------------------------------
11
							-- Things --
12
------------------------------------------------------------------------
13
14
plr = owner
15
char = plr.Character
16
mouse = plr:GetMouse()
17
lleg,rleg,larm,rarm,hed = char["Left Leg"],char["Right Leg"],char["Left Arm"],char["Right Arm"],char["Head"]
18
rutprt,torso = char.HumanoidRootPart,char.Torso
19
otheranims,swimming,hum,stopanim,cooldown = false,false,char:FindFirstChildOfClass'Humanoid',false,false
20
TweenService = game:GetService("TweenService")
21
stopanim2 = false -- larm
22
stopanim3 = false -- head
23
24
hammer = Instance.new('Part', char)
25
hammer.Name = "Hammer"
26
hammer.CanCollide = true
27
hammer.Position = char.Head.Position
28
hammer.Size = Vector3.new(1.71, 1.31, 3.2)
29
hammer.Locked = true
30
mesh = Instance.new('SpecialMesh', hammer)
31
mesh.MeshId = "rbxassetid://3092672086"
32
mesh.TextureId = "rbxassetid://2988727630"
33
mesh.Scale = Vector3.new(1.05, 1.05, 1.05)
34
35
fx = Instance.new('Part', char)
36
fx.Anchored = false
37
fx.CanCollide = false
38
fx.Transparency = 1
39
fx.Size = Vector3.new(1.77, 0.85, 1.05)
40
weld = Instance.new('Weld', fx)
41
weld.Part0 = fx
42
weld.Part1 = hammer
43
weld.C0 = CFrame.new(0, 0, -1.2)
44
45
func = hammer.Touched:connect(function(hit)
46
	if not hit.Parent:FindFirstChildOfClass'Humanoid' then
47
		wait(1)
48
		hammer.Anchored = true
49
		func:disconnect()
50
	end
51
end)
52
53
function gettorso(a)
54
	return a:FindFirstChild'Torso' or a:FindFirstChild'UpperTorso' or a:FindFirstChild'LowerTorso' or a:FindFirstChild'HumanoidRootPart'
55
end
56
57
------------------------------------------------------------------------
58
						-- Animate Stuff --
59
------------------------------------------------------------------------
60
char.Animate.Disabled=true
61
local fldb={['w']=false,['a']=false,['s']=false,['d']=false}
62
local RunSpeed=30
63
64
local WlkSpeed=16
65
local SwimSpeed=14
66
local SwimDashSpeed=28
67
local anim = "Idling"
68
local lastanim = "Idling"
69
local val = 0
70
local syne = 0
71
local num = 0
72
local runtime = 0
73
local pseudohead=hed:Clone()
74
for i,x in pairs(pseudohead:GetChildren()) do if not x.ClassName:find('Mesh') then x:Destroy() end end
75
pseudohead.Name='PseudoHead'
76
pseudohead.Parent=char.Head
77
local pseudoweld=Instance.new('Weld',torso)
78
pseudoweld.Part0=hed
79
pseudoweld.Name='PseudoHedWld'
80
pseudoweld.Part1=pseudohead
81
hed.Transparency=1
82
83
coroutine.wrap(function() for i,x in pairs(hed:GetChildren()) do if x:IsA('Sound') then x:Destroy() end end end)()
84
85
function Lerp(a, b, i)
86
	local com1 = {a.X, a.Y, a.Z, a:toEulerAnglesXYZ()}
87
	local com2 = {b.X, b.Y, b.Z, b:toEulerAnglesXYZ()}
88
	local calx = com1[1] + (com2[1] - com1[1]) * i
89
	local caly = com1[2] + (com2[2] - com1[2]) * i
90
	local calz = com1[3] + (com2[3] - com1[3]) * i
91
	local cala = com1[4] + (com2[4] - com1[4]) * i
92
	local calb = com1[5] + (com2[5] - com1[5]) * i
93
	local calc = com1[6] + (com2[6] - com1[6]) * i
94
	return CFrame.new(calx, caly, calz) * CFrame.Angles(cala, calb, calc)
95
end
96
97
function TwnSingleNumber(s,f,m)
98
	local wot=s+(f-s)*m
99
	return wot
100
end
101
102
function TwnVector3(q,w,e)
103
	local begin={q.x,q.y,q.z}
104
	local ending={w.x,w.y,w.z}
105
	local bgx=begin[1]+(ending[1]-begin[1])*e
106
	local bgy=begin[2]+(ending[2]-begin[2])*e
107
	local bgz=begin[3]+(ending[3]-begin[3])*e
108
	return Vector3.new(bgx,bgy,bgz)
109
end
110
111
newWeld = function(wld, wp0, wp1, wc0x, wc0y, wc0z)
112
	wld = Instance.new("Weld", wp1)
113
	wld.Part0 = wp0
114
	wld.Part1 = wp1
115
	wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
116
end
117
118
local angles = CFrame.Angles
119
function clerp(a, b, t)
120
    return a:lerp(b, t)
121
end
122
123
newWeld(law, torso, larm, -1.5, 0.5, 0)
124
newWeld(raw, torso, rarm, 1.5, 0.5, 0)
125
newWeld(llw, torso, lleg, -.5, -2, 0)
126
newWeld(rlw, torso, rleg, .5, -2, 0)
127
newWeld(hw, torso, hed, 0, 1.5, 0)
128
local rutwald=Instance.new('Weld',rutprt)
129
rutwald.Part0=rutprt
130
rutwald.Part1=torso
131
rutprt.Weld.C1=CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),0)
132
larm.Weld.C1 = CFrame.new(0, 0.5, 0)*CFrame.Angles(math.rad(0),0,0)
133
rarm.Weld.C1 = CFrame.new(0, 0.5, 0)*CFrame.Angles(math.rad(0),0,0)
134
rleg.Weld.C1=CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),0,0)
135
lleg.Weld.C1=CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),0,0)
136
137
------------------------------------------------------------------------
138
							 -- idk --
139
------------------------------------------------------------------------
140
141
wind = Instance.new('Sound', hammer)
142
wind.SoundId = "rbxassetid://866649671"
143
wind.PlaybackSpeed = 1.5
144
wind.Volume = 1
145
wind.Looped = true
146
147
grab = Instance.new('Sound', rarm)
148
grab.SoundId = "rbxassetid://1296135936"
149
grab.Volume = 1
150
grab.Looped = false
151
152
drop = Instance.new('Sound', hammer)
153
drop.SoundId = "rbxassetid://873196972"
154
drop.Volume = 1
155
drop.Looped = false
156
157
ghit = Instance.new('Sound', hammer)
158
ghit.SoundId = "rbxassetid://873196789"
159
ghit.Volume = 5
160
ghit.Looped = false
161
162
gyro = Instance.new('BodyGyro', hammer)
163
gyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
164
gyro.CFrame = CFrame.Angles(math.rad(90), 0, 0)
165
166
holding = false
167
168
fakearm = rarm:Clone()
169
fakearm.Name = "fakearm"
170
fakearm:ClearAllChildren''
171
fakearm.Parent = char
172
fakearm.Transparency = 1
173
fakearm.CanCollide = false
174
weld = Instance.new('Weld', fakearm)
175
weld.Part0 = fakearm
176
weld.Part1 = rarm
177
weld.C0 = CFrame.new(0, 0, 1)
178
179
------------------------------------------------------------------------
180
							-- Lightning --
181
------------------------------------------------------------------------
182
183
Part0 = Instance.new("Part")
184
ParticleEmitter1 = Instance.new("ParticleEmitter")
185
Part0.Name = "lightning"
186
Part0.Parent = nil
187
Part0.Transparency = 1
188
Part0.FormFactor = Enum.FormFactor.Symmetric
189
Part0.Size = Vector3.new(0.820000052, 1.76999962, 2)
190
Part0.CFrame = CFrame.new(26.3400002, 0.884999812, 44.9500122, 1, 0, 0, 0, 1, 0, 0, 0, 1)
191
Part0.Position = Vector3.new(26.3400002, 0.884999812, 44.9500122)
192
ParticleEmitter1.Name = "Lightning"
193
ParticleEmitter1.Parent = Part0
194
ParticleEmitter1.Rotation = NumberRange.new(0, 360)
195
ParticleEmitter1.Size = NumberSequence.new(1.0429447889328,3.3742332458496,0,3.3435583114624,0,3.3742332458496,0,3.6503071784973,0.030674934387207,3.7730062007904,0,3.8036811351776,0,3.8343560695648,0,3)
196
ParticleEmitter1.Color = ColorSequence.new(Color3.new(0.27451, 0.607843, 1),Color3.new(1, 1, 1))
197
ParticleEmitter1.LightEmission = 1
198
ParticleEmitter1.Texture = "http://www.roblox.com/asset/?id=243098098"
199
ParticleEmitter1.Lifetime = NumberRange.new(1, 1)
200
ParticleEmitter1.Rate = 12312311808
201
ParticleEmitter1.Speed = NumberRange.new(0, 0)
202
ParticleEmitter1.Enabled = true
203
ParticleEmitter1.Color = ColorSequence.new(Color3.new(0.27451, 0.607843, 1),Color3.new(1, 1, 1))
204
205
function Lightning(Part0,Part1,Times,Offset,Color,Thickness,Trans)
206
    local magz = (Part0 - Part1).magnitude
207
    local curpos = Part0
208
    local trz = {-Offset,Offset}
209
    for i=1,Times do
210
        local li = Instance.new("Part", torso)
211
		li.Name = "Lightning"
212
		li.TopSurface =0
213
		li.Material = "Neon"
214
		li.BottomSurface = 0
215
		li.Anchored = true
216
		li.Locked = true
217
		li.Transparency = Trans or 0.4
218
		li.BrickColor = BrickColor.new(Color)
219
		li.formFactor = "Custom"
220
		li.CanCollide = false
221
		li.Size = Vector3.new(Thickness,Thickness,magz/Times)
222
        local Offzet = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
223
        local trolpos = CFrame.new(curpos,Part1)*CFrame.new(0,0,magz/Times).p+Offzet
224
        
225
		if Times == i then
226
        	local magz2 = (curpos - Part1).magnitude
227
       	 	li.Size = Vector3.new(Thickness,Thickness,magz2)
228
        	li.CFrame = CFrame.new(curpos,Part1)*CFrame.new(0,0,-magz2/2)
229
        else
230
        	li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
231
        end
232
233
        curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p
234
        game.Debris:AddItem(li,.1)
235
    end
236
end
237
238
BodyParts = {} 
239
Bounding = {}
240
--table.insert(BodyParts, fx)
241
242
for _, v in pairs(BodyParts) do
243
	local temp = {X=nil, Y=nil, Z=nil}
244
	temp.X = v.Size.X/2 * 10
245
	temp.Y = v.Size.Y/2 * 10
246
	temp.Z = v.Size.Z/2 * 10
247
	Bounding[v.Name] = temp
248
end
249
250
spawn(function()
251
	while wait(math.random(1,7)/10) do
252
		if #BodyParts ~= 0 and #Bounding ~= 0 then
253
			local Body1 = BodyParts[math.random(#BodyParts)]
254
			local Body2 = BodyParts[math.random(#BodyParts)]
255
			local Pos1 = Vector3.new(
256
				math.random(-Bounding[Body1.Name].X, Bounding[Body1.Name].X)/10,
257
				math.random(-Bounding[Body1.Name].Y, Bounding[Body1.Name].Y)/10,
258
				math.random(-Bounding[Body1.Name].Z, Bounding[Body1.Name].Z)/10
259
		)
260
			local Pos2 = Vector3.new(
261
				math.random(-Bounding[Body2.Name].X, Bounding[Body2.Name].X)/10,
262
				math.random(-Bounding[Body2.Name].Y, Bounding[Body2.Name].Y)/10,
263
				math.random(-Bounding[Body2.Name].Z, Bounding[Body2.Name].Z)/10
264
		)
265
			local SPos1 = Body1.Position + Pos1
266
			local SPos2 = Body2.Position + Pos2
267
			Lightning(SPos1, SPos2, 4, 3, "Cyan", .3, .56)
268
		end
269
	end
270
end)
271
272
------------------------------------------------------------------------
273
							-- Keys --
274
------------------------------------------------------------------------
275
276
using = false
277
278
function weldhammer()
279
	hammer.Anchored = false
280
	hammer.CanCollide = false
281
	grab:Play()
282
	weld = Instance.new('Weld', hammer)
283
	weld.Part0 = rarm
284
	weld.Part1 = hammer
285
	weld.C0 = CFrame.new(0, -0.6, -0.7) * CFrame.Angles(math.rad(0), math.rad(180), math.rad(90))
286
end
287
288
function gethammer()
289
	if (fakearm.Position - hammer.Position).magnitude >= 15 then
290
		stopanim = true
291
		using = true
292
		hammer.CanCollide = false
293
		hammer.Anchored = true
294
		wind:Play()
295
		
296
--		a = hammer.Touched:connect(function(hit)
297
--			if hit.Parent:FindFirstChildOfClass'Humanoid' and hit.Parent.Name ~= plr.Name then
298
--				ghit:Play()
299
--				if hit.Parent:FindFirstChildOfClass'Humanoid'.MaxHealth <= 100 and hit.Parent:FindFirstChild'HumanoidRootPart' then
300
--					hit.Parent:FindFirstChildOfClass'Humanoid':TakeDamage(hit.Parent:FindFirstChildOfClass'Humanoid'.MaxHealth/2/2/2)
301
--				elseif not hit.Parent:FindFirstChildOfClass'Humanoid'.MaxHealth <= 100 then
302
--					hit.Parent:BreakJoints''
303
--				elseif hit:IsA'Part' or hit:IsA'MeshPart' or hit:IsA'BasePart' or hit:IsA'UnionOperation' then
304
--					hit.Anchored = false
305
--					bv = Instance.new('BodyVelocity', hit)
306
--					bv.MaxForce = Vector3.new(2e9, 2e9, 2e9)
307
--					bv.Velocity = -hit.CFrame.lookVector * 50
308
--					game:service'Debris':AddItem(bv, 0.2)
309
--				end
310
--			end
311
--		end)
312
		
313
		for i = 0,4 do
314
			wait()
315
			rarm.Weld.C0 = clerp(rarm.Weld.C0, rarm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(140)), .1)
316
		end
317
		repeat wait()
318
		hammer.CFrame = clerp(hammer.CFrame, fakearm.CFrame * CFrame.new(0, -0.6, 0) * CFrame.Angles(0, math.rad(180), math.rad(90)), .1) 
319
		if (fakearm.Position - hammer.Position).magnitude >= 3 then
320
			wind.Volume = 3
321
		else
322
			wind.Volume = (fakearm.Position - hammer.Position).magnitude
323
		end
324
		until (fakearm.Position - hammer.Position).magnitude <= .7
325
		
326
		a:disconnect()
327
		hammer.Anchored = false
328
		hammer.CanCollide = false
329
		weldhammer()
330
		wind:Stop()
331
		wait(.3)
332
		stopanim = false
333
		using = false
334
	end
335
end
336
337
function drophammer()
338
	a = hammer.Touched:connect(function(hit)
339
		if not hit.Parent:FindFirstChildOfClass'Humanoid' then
340
			drop:Play()
341
			wait(1)
342
			hammer.Anchored = true
343
			a:disconnect()
344
		end
345
	end)
346
	
347
	hammer.Anchored = false
348
	for _, a in pairs(hammer:children'') do
349
		if a:IsA'Weld' then
350
			a:Destroy''
351
		end
352
	end
353
	hammer.CanCollide = true
354
end
355
356
function attacktargets()
357
	if #targets >= 1 and holding then
358
		using = true
359
		hum.WalkSpeed = 0
360
		hum.JumpPower = 0
361
		
362
		for i = 1,75 do
363
			swait()
364
			larm.Weld.C0 = clerp(larm.Weld.C0, larm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(math.rad(91), math.rad(-6), math.rad(-19)), 0.1)
365
			rarm.Weld.C0 = clerp(rarm.Weld.C0, rarm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(-math.rad(-165), math.rad(0), math.rad(0)), 0.1)
366
		end
367
		hum.WalkSpeed = 16
368
		hum.JumpPower = 50
369
		hammer.Anchored = true
370
		for _, a in pairs(hammer:children'') do
371
			if a:IsA'Weld' then
372
				a:Destroy''
373
			end
374
		end
375
		hammer.CanCollide = false
376
		holding = false
377
		for _, a in pairs(targets) do
378
			ttorso = gettorso(a)
379
			if a ~= nil and gettorso(a) and a:FindFirstChildOfClass'Humanoid' then
380
				repeat wait() a:FindFirstChildOfClass'Humanoid'.WalkSpeed = 5 hammer.CFrame = clerp(hammer.CFrame, ttorso.CFrame * CFrame.Angles(0, math.rad(ttorso.CFrame.lookVector.Y), 0), 0.1) until (hammer.Position - ttorso.Position).magnitude <= 6 
381
				a:BreakJoints''
382
				ghit:Play()
383
			end
384
		end
385
		for _, a in pairs(rotate) do
386
			if a ~= nil then
387
				a:Destroy''
388
			end
389
		end
390
		targets = {}
391
		rotate = {}
392
		hammer.CanCollide = false
393
		
394
		
395
		
396
		stopanim = true
397
		hammer.CanCollide = false
398
		hammer.Anchored = true
399
		wind:Play()
400
		
401
		for i = 0,4 do
402
			wait()
403
			rarm.Weld.C0 = clerp(rarm.Weld.C0, rarm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(140)), .1)
404
		end
405
		repeat wait()
406
		hammer.CFrame = clerp(hammer.CFrame, fakearm.CFrame * CFrame.new(0, -0.6, 0) * CFrame.Angles(0, math.rad(180), math.rad(90)), .13) 
407
		if (fakearm.Position - hammer.Position).magnitude >= 3 then
408
			wind.Volume = 3
409
		else
410
			wind.Volume = (fakearm.Position - hammer.Position).magnitude
411
		end
412
		until (fakearm.Position - hammer.Position).magnitude <= .7
413
		
414
		hammer.Anchored = false
415
		hammer.CanCollide = false
416
		weldhammer()
417
		wind:Stop()
418
		holding = true
419
		wait(.3)
420
		stopanim = false
421
		using = false
422
	end
423
end
424
425
function bgrab()
426
	for _, a in pairs(workspace:children'') do
427
		if a:FindFirstChildOfClass'Humanoid' and gettorso(a) and a.Name ~= plr.Name then
428
			ttorso = gettorso(a)
429
			if (ttorso.Position - rutprt.Position).magnitude <= 3 then
430
				using = true
431
				target2 = a
432
				stopanim2 = true
433
				target:FindFirstChildOfClass'Humanoid'.WalkSpeed = 0
434
				target:FindFirstChildOfClass'Humanoid'.JumpPower = 0
435
				hum.WalkSpeed = 0
436
				hum.JumpPower = 0
437
				for i = 0,25 do
438
					swait()
439
					larm.Weld.C0 = clerp(larm.Weld.C0, CFrame.new(-1.5,.525,0) * CFrame.Angles(math.rad(100), math.rad(20), math.rad(20)), 0.1)
440
				end
441
				weld = Instance.new('Weld', rutprt)
442
				weld.Part0 = rutprt
443
				weld.Part1 = ttorso
444
				weld.C0 = CFrame.new(-0.5, 0, -1.2)
445
				
446
				wait(.1)
447
				
448
				
449
				ttorso.Anchored = true
450
				b = Instance.new('Part', char)
451
				b.Anchored = true
452
				b.CanCollide = false
453
				b.Transparency = 1
454
				b.CFrame = hed.CFrame
455
				b.Position = hed.Position + Vector3.new(0, 50, 0) + hed.CFrame.lookVector * 500
456
				
457
				d = Instance.new('Part', char)
458
				d.Anchored = true
459
				d.CanCollide = false
460
				d.Transparency = 1
461
				d.CFrame = hed.CFrame
462
				d.Position = hed.Position - Vector3.new(0, 5.6, 0) + hed.CFrame.lookVector * -45
463
				
464
				wait(.5)
465
				for i = 1,75 do
466
					swait()
467
					rarm.Weld.C0 = clerp(rarm.Weld.C0, rarm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(-math.rad(-165), math.rad(0), math.rad(0)), 0.1)
468
				end
469
				drophammer()
470
				wind:Play()
471
				
472
				repeat wait() 
473
					hammer.Anchored = true
474
					hammer.CFrame = clerp(hammer.CFrame, b.CFrame, 0.1) 
475
					wind.Volume = (hammer.Position - d.Position).magnitude
476
				until (hammer.Position - b.Position).magnitude <= 5
477
				
478
				repeat wait()
479
					hammer.Anchored = true 
480
					hammer.CFrame = clerp(hammer.CFrame, d.CFrame, 0.1) 
481
					wind.Volume = (hammer.Position - d.Position).magnitude
482
				until (hammer.Position - d.Position).magnitude <= 45
483
				
484
				target2:BreakJoints''
485
				ghit:Play()
486
				wind:Stop()
487
				wait(.1)
488
				stopanim2 = false
489
				hum.WalkSpeed = 16
490
				hum.JumpPower = 50
491
				b:Destroy''
492
				d:Destroy''
493
				hammer.Anchored = false
494
				weldhammer()
495
				grab:Play()
496
				using = false
497
			end
498
		end
499
	end
500
end
501
502
function shield()
503
	using = true
504
	hum.WalkSpeed = 0
505
	hum.JumpPower = 0
506
	for i = 1,75 do
507
		swait()
508
		larm.Weld.C0 = clerp(larm.Weld.C0, larm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(math.rad(91), math.rad(-6), math.rad(-19)), 0.1)
509
		rarm.Weld.C0 = clerp(rarm.Weld.C0, rarm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(-math.rad(-165), math.rad(0), math.rad(0)), 0.1)
510
	end
511
	hum.WalkSpeed = 16
512
	hum.JumpPower = 50
513
	drophammer()
514
	hammer.Anchored = true
515
	hammer.CanCollide = true
516
	using = false
517
end
518
519
function stopshield()
520
	gethammer()
521
end
522
523
--function transform()
524
--	stopanim = true
525
--	stopanim3 = true
526
--	hum.WalkSpeed = 0
527
--	hum.JumpPower = 0
528
--	for i = 0,7 do
529
--		wait()
530
--		hammer.Weld.C0 = clerp(hammer.Weld.C0, CFrame.new(0, -2.5, -0.7) * CFrame.Angles(math.rad(-85), math.rad(180), math.rad(90)), 0.1)
531
--		rarm.Weld.C0 = clerp(rarm.Weld.C0, rarm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(-math.rad(-179), math.rad(0), math.rad(15)), 0.1)
532
--		hed.Weld.C0 = clerp(hed.Weld.C0, hed.Weld.C0 * CFrame.new(0,0,0.2)*CFrame.Angles(math.rad(40), math.rad(0), math.rad(0)), 0.1)
533
--	end	
534
--	a = Instance.new('Part', char)
535
--	a.Name = "hello"
536
--	a.Size = Vector3.new(0.2, 0.2, 0.2)
537
--	a.Anchored = true
538
--	a.CanCollide = false
539
--	a.Position = hammer.Position + Vector3.new(0, 75, 0)	
540
--	
541
--	wait(3)
542
--	table.insert(BodyParts, fx)
543
--	wait(4)
544
--	
545
--	spawn(function()
546
--		for i = 0,45 do
547
--			swait()
548
--			hammer.Weld.C0 = clerp(hammer.Weld.C0, CFrame.new(0, -0.6, -0.7) * CFrame.Angles(math.rad(0), math.rad(180), math.rad(90)), 0.07)
549
--		end
550
--	end)
551
--	
552
--	hum.WalkSpeed = 16
553
--	hum.JumpPower = 50
554
--	stopanim = false
555
--	stopanim3 = false
556
--end
557
558
------------------------------------------------------------------------
559
						   	-- Target --
560
------------------------------------------------------------------------	
561
562
bg = Instance.new('BillboardGui', plr.PlayerGui)
563
bg.Size = UDim2.new(15, 0, 15, 0)
564
bg.AlwaysOnTop = true
565
il = Instance.new('ImageLabel', bg)
566
il.Image = "rbxassetid://142406345"
567
il.BackgroundTransparency = 1
568
il.Size = UDim2.new(1, 0, 1, 0)
569
il.ImageColor3 = Color3.new(0,0,0)
570
571
home = false
572
down = false
573
barrier = false
574
targets = {}
575
rotate = {}
576
577
mouse.KeyDown:connect(function(k)
578
	key = k:lower()
579
	if key == "g" and not barrier and not using then
580
		attacktargets()
581
	end
582
	
583
	if key == "e" and not cooldown and not barrier and not using then
584
		cooldown = true
585
		if not holding and (fakearm.Position - hammer.Position).magnitude >= 15 then
586
			holding = true
587
			gethammer()
588
		elseif holding then
589
			holding = false
590
			drophammer()
591
		end
592
		wait(.3)
593
		cooldown = false
594
	end
595
		
596
	if key == "q" and not cooldown and holding and not barrier and not using then
597
		cooldown = true
598
		using = true
599
		hum.WalkSpeed = 0
600
		hum.JumpPower = 0
601
		for i = 1,75 do
602
			swait()
603
			larm.Weld.C0 = clerp(larm.Weld.C0, larm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(math.rad(91), math.rad(-6), math.rad(-19)), 0.1)
604
			rarm.Weld.C0 = clerp(rarm.Weld.C0, rarm.Weld.C0 * CFrame.new(0,0,0)*CFrame.Angles(-math.rad(-165), math.rad(0), math.rad(0)), 0.1)
605
		end
606
		hum.WalkSpeed = 16
607
		hum.JumpPower = 50
608
		holding = false
609
		drophammer()
610
		for i = 1,25 do
611
			wait()
612
			hammer.CFrame = clerp(hammer.CFrame, CFrame.new(9999,0,9999), 0.1)
613
		end
614
		wait(.5)
615
		cooldown = false
616
		using = false
617
	end
618
	
619
	if key == "f" and holding and not cooldown and not barrier and not using then
620
		cooldown = true
621
		bgrab()
622
		wait(.2)
623
		cooldown = false
624
	end
625
	
626
	if key == "v" and holding and not using then
627
		if not barrier then
628
			shield()
629
			barrier = true
630
		else
631
			barrier = false
632
			stopshield()
633
		end
634
	end
635
end)
636
637
mouse.Button1Down:connect(function()
638
	if home and holding then
639
		clone = bg:clone()
640
		clone.Parent = plr.PlayerGui
641
		clone.ImageLabel.ImageColor3 = Color3.new(255,255,255)
642
		clone.Name = "hi"
643
		if gettorso(mouse.Target.Parent) then
644
			clone.Adornee = gettorso(mouse.Target.Parent)
645
			table.insert(targets, mouse.Target.Parent)
646
			table.insert(rotate, clone)
647
		elseif not gettorso(mouse.Target.Parent) then
648
			clone:Destroy''
649
		end
650
	end
651
end)
652
653
spawn(function()
654
	while wait() do
655
		
656
		il.Rotation = il.Rotation + 5
657
		if holding and mouse.Target and mouse.Target.Parent and gettorso(mouse.Target.Parent) and mouse.Target.Parent:FindFirstChildOfClass'Humanoid' and mouse.Target.Parent:FindFirstChildOfClass'Humanoid'.Health ~= 0 then
658
			target = mouse.Target.Parent
659
			
660
			home = true
661
			il.ImageTransparency = 0
662
			bg.Adornee = gettorso(target)
663
		elseif not mouse.Target then
664
			il.ImageTransparency = 1
665
			home = false
666
		elseif not mouse.Target.Parent then
667
			il.ImageTransparency = 1
668
			home = false
669
		elseif not mouse.Target.Parent:FindFirstChildOfClass'Humanoid' then
670
			il.ImageTransparency = 1
671
			home = false
672
		end
673
		
674
	end
675
end)
676
677
spawn(function()
678
	while wait() do
679
		for _, a in pairs(rotate) do
680
			if a ~= nil then
681
				a.ImageLabel.Rotation = a.ImageLabel.Rotation + 5
682
			elseif targets <= 0 then
683
				a:Destroy''
684
			end
685
		end
686
	end
687
end)
688
689
------------------------------------------------------------------------
690
						  -- Manual Pickup --
691
------------------------------------------------------------------------	
692
693
hammer.Touched:connect(function(hit)
694
	if not holding and not using and hammer.Anchored and hit.Parent.Name == plr.Name then
695
		holding = true
696
		hammer.Anchored = false
697
		hammer.CanCollide = false
698
		weldhammer()
699
	end
700
end)
701
702
------------------------------------------------------------------------
703
				     -- Important functions --
704
------------------------------------------------------------------------
705
706
died = false
707
708
function swait(num)
709
	if num == 0 or num == nil then
710
		game:service("RunService").Stepped:wait(0)
711
	else
712
		for i = 0, num do
713
			game:service("RunService").Stepped:wait(0)
714
		end
715
	end
716
end
717
718
spawn(function()
719
	while wait() do
720
		if holding and hammer:FindFirstChildOfClass'Weld' then
721
			hammer.Anchored = false
722
		end
723
	end
724
end)
725
726
x = 0
727
spawn(function()
728
	while wait() do
729
		if barrier then
730
			x = x + 0.6
731
			hammer.CFrame = rutprt.CFrame * CFrame.Angles(0,0.1-x,0) * CFrame.new(25,0,0)
732
			
733
			for _, a in pairs(workspace:children'') do
734
				ttorso = gettorso(a)
735
				if a:FindFirstChildOfClass'Humanoid' and a:FindFirstChildOfClass'Humanoid'.Health ~= 0 and a.Name ~= plr.Name and gettorso(a) and (ttorso.Position - hammer.Position).magnitude <= 15 then
736
					a:BreakJoints''
737
					ghit:Play()
738
				elseif a:FindFirstChildOfClass'Humanoid' and not gettorso(a) then
739
					a:BreakJoints''
740
				end
741
			end
742
			
743
			for _, a in pairs(workspace:children'') do
744
				ttorso = gettorso(a)
745
				if a:FindFirstChildOfClass'Humanoid' and a:FindFirstChildOfClass'Humanoid'.Health ~= 0 and a.Name ~= plr.Name and gettorso(a) and (ttorso.Position - rutprt.Position).magnitude <= 10 then
746
					a:BreakJoints''
747
					ghit:Play()
748
				elseif a:FindFirstChildOfClass'Humanoid' and not a:FindFirstChild'HumanoidRootPart' then
749
					a:BreakJoints''
750
				end
751
			end
752
			
753
			if x == 1 then
754
				x = 0.1
755
			end
756
		end
757
	end
758
end)
759
760
------------------------------------------------------------------------
761
						   -- Animations --
762
------------------------------------------------------------------------
763
764
while true do
765
	swait()
766
	
767
	if holding then
768
		gyro.Parent = nil
769
	elseif not holding then
770
		gyro.Parent = hammer
771
		gyro.Name = "hamma"
772
	end
773
	
774
	ypcall(function()
775
		if anim~=lastanim then
776
			runtime=0
777
		end
778
		lastanim=anim
779
		hum.CameraOffset=(rutprt.CFrame:toObjectSpace(hed.CFrame)).p+Vector3.new(0,-1.25,0)
780
		syne=syne+.95
781
		if not otheranims and not swimming then
782
			if (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 1 and not hum.Jump then-- and torso.Velocity.y<5 and torso.Velocity.y>-5
783
				anim="Idling"
784
			elseif hum.FloorMaterial ~= Enum.Material.Air and (rutprt.Velocity*Vector3.new(1, 0, 1)).magnitude > 1 and (rutprt.Velocity*Vector3.new(1, 0, 1)).magnitude < RunSpeed-10 and not hum.Jump then-- and torso.Velocity.y<5 and torso.Velocity.y>-5
785
				anim="Walking"
786
			elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude > RunSpeed-10 and not hum.Jump then-- and torso.Velocity.y<5 and torso.Velocity.y>-5
787
				anim="Sprinting"
788
			elseif torso.Velocity.y < -1 then
789
				anim='Falling'
790
			end
791
		end
792
	
793
		if anim=="Idling" and hum.WalkSpeed ~= 0 then
794
			idlesineinc=35
795
			
796
			if not stopanim then
797
				rarm.Weld.C0=clerp(rarm.Weld.C0,CFrame.new(1.5,.55+math.cos(syne/idlesineinc)/25,0)*CFrame.Angles(math.rad(1),math.rad(0),math.rad(6)),.1)
798
			end
799
			
800
			if not stopanim2 then
801
				larm.Weld.C0=clerp(larm.Weld.C0,CFrame.new(-1.5,.55+math.cos(syne/idlesineinc)/25,0)*CFrame.Angles(math.rad(0),0,math.rad(-6)),.1)
802
			end
803
			
804
			if not stopanim3 then
805
				hed.Weld.C0=clerp(hed.Weld.C0,CFrame.new(0,1.5+math.cos(syne/idlesineinc)/50,0)*CFrame.Angles(math.cos(syne/idlesineinc)/40,0,0),.1)
806
			end
807
			
808
			lleg.Weld.C0=clerp(lleg.Weld.C0,CFrame.new(-.55,-1.9-math.cos(syne/idlesineinc)/20,(math.cos(syne/idlesineinc)/35))*CFrame.Angles(-(math.cos(syne/idlesineinc)/35),0,math.rad(-2.5)),.1)
809
			rleg.Weld.C0=clerp(rleg.Weld.C0,CFrame.new(.55,-1.9-math.cos(syne/idlesineinc)/20,(math.cos(syne/idlesineinc)/35))*CFrame.Angles(-(math.cos(syne/idlesineinc)/35),0,math.rad(2.5)),.1)
810
			rutprt.Weld.C0=clerp(rutprt.Weld.C0,CFrame.new(0,-.1+math.cos(syne/idlesineinc)/20,0)*CFrame.Angles(math.cos(syne/idlesineinc)/35+math.rad(0),math.rad(0),math.rad(0)),.1)
811
		end
812
		
813
		if anim=="Walking" and hum.WalkSpeed ~= 0 then
814
			if not stopanim then
815
				rarm.Weld.C0=clerp(rarm.Weld.C0,CFrame.new(1.5,.525+math.cos(syne/15)/25,0)*CFrame.Angles(math.cos(syne/6)/1.25,math.rad(5),-(math.cos(syne/6.75)/15)+math.rad(3)),.1)
816
			end
817
			
818
			if not stopanim2 then
819
				larm.Weld.C0=clerp(larm.Weld.C0,CFrame.new(-1.5,.525+math.cos(syne/15)/25,0)*CFrame.Angles(-(math.cos(syne/6)/1.25),0,-(math.cos(syne/6.75)/15)-math.rad(3)),.1)
820
			end
821
			
822
			if not stopanim3 then
823
				hed.Weld.C0=clerp(hed.Weld.C0,CFrame.new(0,1.5+math.cos(syne/20)/50,0)*CFrame.Angles(-math.cos(syne/3)/20,0,0),.1)
824
			end
825
			
826
			lleg.Weld.C0=clerp(lleg.Weld.C0,CFrame.new(-.55,-1.9-math.cos(syne/6)/10,-(math.cos(syne/6)/1.125))*CFrame.Angles(math.cos(syne/6)/1.125,0,math.rad(-2.5)),.1)
827
			rleg.Weld.C0=clerp(rleg.Weld.C0,CFrame.new(.55,-1.9-math.cos(syne/6)/10,math.cos(syne/6)/1.125)*CFrame.Angles(-(math.cos(syne/6)/1.125),0,math.rad(2.5)),.1)
828
			rutprt.Weld.C0=clerp(rutprt.Weld.C0,CFrame.new(0,-.1+math.cos(syne/3.375)/20,math.cos(syne/3)/5)*CFrame.Angles(math.cos(syne/3)/20+math.rad(-3.5),math.cos(syne/6)/10,-math.cos(syne/6)/30+math.sin(rutprt.RotVelocity.y/2)/7.5),.1)
829
		end
830
		
831
		if hum.WalkSpeed == 0 then
832
			if not stopanim then
833
				rarm.Weld.C0=clerp(rarm.Weld.C0,CFrame.new(1.5,.55+math.cos(syne/idlesineinc)/25,0)*CFrame.Angles(math.rad(1),math.rad(0),math.rad(6)),.1)
834
			end
835
			
836
			if not stopanim2 then
837
				larm.Weld.C0=clerp(larm.Weld.C0,CFrame.new(-1.5,.55+math.cos(syne/idlesineinc)/25,0)*CFrame.Angles(math.rad(0),0,math.rad(-6)),.1)
838
			end
839
			
840
			if not stopanim3 then
841
				hed.Weld.C0=clerp(hed.Weld.C0,CFrame.new(0,1.5+math.cos(syne/idlesineinc)/50,0)*CFrame.Angles(math.cos(syne/idlesineinc)/40,0,0),.1)
842
			end
843
			
844
			lleg.Weld.C0=clerp(lleg.Weld.C0,CFrame.new(-.55,-1.9-math.cos(syne/idlesineinc)/20,(math.cos(syne/idlesineinc)/35))*CFrame.Angles(-(math.cos(syne/idlesineinc)/35),0,math.rad(-2.5)),.1)
845
			rleg.Weld.C0=clerp(rleg.Weld.C0,CFrame.new(.55,-1.9-math.cos(syne/idlesineinc)/20,(math.cos(syne/idlesineinc)/35))*CFrame.Angles(-(math.cos(syne/idlesineinc)/35),0,math.rad(2.5)),.1)
846
			rutprt.Weld.C0=clerp(rutprt.Weld.C0,CFrame.new(0,-.1+math.cos(syne/idlesineinc)/20,0)*CFrame.Angles(math.cos(syne/idlesineinc)/35+math.rad(0),math.rad(0),math.rad(0)),.1)
847
		end
848
		
849
		if 1 < rutprt.Velocity.y and hum.FloorMaterial == Enum.Material.Air and hum.JumpPower ~= 0 then
850
			hed.Weld.C0=clerp(hed.Weld.C0,CFrame.new(0,1.5,-.3)*CFrame.Angles(math.rad(-40),0,0),.065)
851
			rarm.Weld.C0=clerp(rarm.Weld.C0,CFrame.new(1.5,.525,0)*CFrame.Angles(math.rad(10),0,math.rad(70)),.1)
852
			larm.Weld.C0=clerp(larm.Weld.C0,CFrame.new(-1.5,.525,0)*CFrame.Angles(math.rad(10),0,math.rad(-70)),.1)
853
			lleg.Weld.C0=clerp(lleg.Weld.C0,CFrame.new(-.55,-1.2,0)*CFrame.Angles(math.rad(-14),0,math.rad(-2.5)),.1)
854
			rleg.Weld.C0=clerp(rleg.Weld.C0,CFrame.new(.55,-1.9,0)*CFrame.Angles(math.rad(0),0,math.rad(2.5)),.1)
855
			rutprt.Weld.C0=clerp(rutprt.Weld.C0,CFrame.new(0,-.1+math.cos(syne/20)/20,0)*CFrame.Angles(math.rad(10),math.rad(0),math.rad(0)),.1)
856
		elseif -1 > rutprt.Velocity.y and hum.FloorMaterial == Enum.Material.Air then
857
			hed.Weld.C0=clerp(hed.Weld.C0,CFrame.new(0,1.5,-.3)*CFrame.Angles(math.rad(-40),0,0),.065)	
858
			rarm.Weld.C0=clerp(rarm.Weld.C0,CFrame.new(1.5,.525,0)*CFrame.Angles(math.rad(10),0,math.rad(70)),.06)
859
			larm.Weld.C0=clerp(larm.Weld.C0,CFrame.new(-1.5,.525,0)*CFrame.Angles(math.rad(10),0,math.rad(-70)),.06)
860
			lleg.Weld.C0=clerp(lleg.Weld.C0,CFrame.new(-.55,-1.2,0)*CFrame.Angles(math.rad(-14),0,math.rad(-2.5)),.06)
861
			rleg.Weld.C0=clerp(rleg.Weld.C0,CFrame.new(.55,-1.9,0)*CFrame.Angles(math.rad(0),0,math.rad(2.5)),.06)
862
			rutprt.Weld.C0=clerp(rutprt.Weld.C0,CFrame.new(0,-.1+math.cos(syne/20)/20,0)*CFrame.Angles(math.rad(10),math.rad(0),math.rad(0)),.06)
863
		end
864
	end)
865
end