View difference between Paste ID: dKfrjeVT and KeM79cXG
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("FE Compatibility code V2 by Mokiros")
7
	local RealPlayer = RealPlayer
8
	script.Parent = RealPlayer.Character
9
10
	--Fake event to make stuff like Mouse.KeyDown work
11
	local Disconnect_Function = function(this)
12
		this[1].Functions[this[2]] = nil
13
	end
14
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
	local FakeEvent_Metatable = {__index={
16
		Connect = function(this,f)
17
			local i = tostring(math.random(0,10000))
18
			while this.Functions[i] do
19
				i = tostring(math.random(0,10000))
20
			end
21
			this.Functions[i] = f
22
			return setmetatable({this,i},Disconnect_Metatable)
23
		end
24
	}}
25
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
	local function fakeEvent()
27
		return setmetatable({Functions={}},FakeEvent_Metatable)
28
	end
29
30
	--Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
	end}
38
	--Merged 2 functions into one by checking amount of arguments
39
	CAS.UnbindAction = CAS.BindAction
40
41
	--This function will trigger the events that have been :Connect()'ed
42
	local function TriggerEvent(self,ev,...)
43
		for _,f in pairs(self[ev].Functions) do
44
			f(...)
45
		end
46
	end
47
	FakeMouse.TriggerEvent = TriggerEvent
48
	UIS.TriggerEvent = TriggerEvent
49
50
	--Client communication
51
	local Event = Instance.new("RemoteEvent")
52
	Event.Name = "UserInput_Event"
53
	Event.OnServerEvent:Connect(function(plr,io)
54
	    if plr~=RealPlayer then return end
55
		FakeMouse.Target = io.Target
56
		FakeMouse.Hit = io.Hit
57
		if not io.isMouse then
58
			local b = io.UserInputState == Enum.UserInputState.Begin
59
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
			end
62
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
			end
65
			for _,t in pairs(CAS.Actions) do
66
				for _,k in pairs(t.Keys) do
67
					if k==io.KeyCode then
68
						t.Function(t.Name,io.UserInputState,io)
69
					end
70
				end
71
			end
72
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
	    end
75
	end)
76
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
	local Mouse = owner:GetMouse()
78
	local UIS = game:GetService("UserInputService")
79
	local input = function(io,RobloxHandled)
80
		if RobloxHandled then return end
81
		--Since InputObject is a client-side instance, we create and pass table instead
82
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
	end
84
	UIS.InputBegan:Connect(input)
85
	UIS.InputEnded:Connect(input)
86
87
	local h,t
88
	--Give the server mouse data every second frame, but only if the values changed
89
	--If player is not moving their mouse, client won't fire events
90
	local HB = game:GetService("RunService").Heartbeat
91
	while true do
92
		if h~=Mouse.Hit or t~=Mouse.Target then
93
			h,t=Mouse.Hit,Mouse.Target
94
			Event:FireServer({isMouse=true,Target=t,Hit=h})
95
		end
96
		--Wait 2 frames
97
		for i=1,2 do
98
			HB:Wait()
99
		end
100
	end]==],script)
101
102
	----Sandboxed game object that allows the usage of client-side methods and services
103
	--Real game object
104
	local RealGame = game
105
106
	--Metatable for fake service
107
	local FakeService_Metatable = {
108
		__index = function(self,k)
109
			local s = rawget(self,"_RealService")
110
			if s then
111
				return typeof(s[k])=="function"
112
				and function(_,...)return s[k](s,...)end or s[k]
113
			end
114
		end,
115
		__newindex = function(self,k,v)
116
			local s = rawget(self,"_RealService")
117
			if s then s[k]=v end
118
		end
119
	}
120
	local function FakeService(t,RealService)
121
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
		return setmetatable(t,FakeService_Metatable)
123
	end
124
125
	--Fake game object
126
	local FakeGame = {
127
		GetService = function(self,s)
128
			return rawget(self,s) or RealGame:GetService(s)
129
		end,
130
		Players = FakeService({
131
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
		},"Players"),
133
		UserInputService = FakeService(UIS,"UserInputService"),
134
		ContextActionService = FakeService(CAS,"ContextActionService"),
135
		RunService = FakeService({
136
			_btrs = {},
137
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
			BindToRenderStep = function(self,name,_,fun)
139
				self._btrs[name] = self.Heartbeat:Connect(fun)
140
			end,
141
			UnbindFromRenderStep = function(self,name)
142
				self._btrs[name]:Disconnect()
143
			end,
144
		},"RunService")
145
	}
146
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
	FakeGame.service = FakeGame.GetService
148
	FakeService(FakeGame,game)
149
	--Changing owner to fake player object to support owner:GetMouse()
150
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
151
end
152
153
wait(0.2)
154
155
wait(0.6)
156
--[[
157
by Yourfirstnightmare-Dre#2941
158
Created with my animation rig,
159
Abanonded project got bored not much to do
160
]]--
161
script.Parent=nil
162
local p = game.Players.LocalPlayer
163
local char = p.Character
164
local mouse = p:GetMouse()
165
local larm = char["Left Arm"]
166
local rarm = char["Right Arm"]
167
local lleg = char["Left Leg"]
168
local rleg = char["Right Leg"]
169
local euler=CFrame.fromEulerAnglesXYZ
170
local hed = char.Head
171
local torso = char.Torso
172
local hum = char.Humanoid
173
local root = char.HumanoidRootPart
174
local walking = true
175
local idle = true
176
local rs = game:GetService("RunService").RenderStepped
177
local new = Instance.new
178
local v3 = Vector3.new
179
local ns = NumberSequence.new
180
local taunting = false
181
local nr = NumberRange.new
182
local bc = BrickColor.new
183
local cf = CFrame.new
184
local cfa = CFrame.Angles
185
local rad = math.rad
186
hum.Name = "1314____"
187
hum.MaxHealth = math.huge
188
hum.Health=math.huge
189
local touchdb=false
190
sine = 0
191
for i,v in pairs(char:GetChildren()) do
192
	if v:IsA("BodyColors") then
193
		v.HeadColor = bc("Really black")
194
		v.RightArmColor = bc("Really black")
195
		v.LeftArmColor=bc("Really black")
196
		v.TorsoColor=bc("Really black")
197
		v.RightLegColor = bc("Really black")
198
		v.LeftLegColor=bc("Really black")
199
	end
200
end
201
function NoOutline(Part)
202
	Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
203
end
204
db=game:GetService('Debris')
205
function Debris(item,timer)
206
	db:AddItem(item,timer)
207
end
208
for i,v in pairs(char:GetChildren()) do
209
	if v.ClassName == "Accessory" or v:IsA("ShirtGraphic") then
210
		v:Destroy()
211
	end
212
end
213
hed.Transparency = 1
214
function Lerp(a,b,c)
215
	return a:lerp(b,c)
216
end
217
if char:findFirstChild("Shirt") and char:findFirstChild("Pants") then
218
	char.Shirt.ShirtTemplate = "rbxassetid://135561529"
219
	char.Pants.PantsTemplate = "rbxassetid://135562232"
220
end
221
----------------------------------------------------Sounds?
222
local swosh = Instance.new("Sound",torso)
223
swosh.SoundId= "rbxassetid://877471479"
224
local slash=Instance.new("Sound",torso)
225
slash.SoundId= "rbxassetid://153092274"
226
local exp=Instance.new("Sound",torso)
227
exp.SoundId= "rbxassetid://142070127"
228
local squish=Instance.new("Sound",torso)
229
squish.SoundId= "rbxassetid://935843979"
230
local summon=Instance.new("Sound",torso)
231
summon.SoundId= "rbxassetid://429459101"
232
local theworld=Instance.new("Sound",torso)
233
theworld.SoundId= "rbxassetid://616576400"
234
----------------------------------------------------
235
New = function(Object, Parent, Name, Data)
236
	local Object = Instance.new(Object)
237
	for Index, Value in pairs(Data or {}) do
238
		Object[Index] = Value
239
	end
240
	Object.Parent = Parent
241
	Object.Name = Name
242
	return Object
243
end
244
local Skull = New("Part",hed,"Skull",{BrickColor = BrickColor.new("Brick yellow"),Size = Vector3.new(2, 1.20000005, 2),CFrame = CFrame.new(19.0000038, 4.29999971, -15.0499935, -0.087155804, 0, -0.99619472, 0, 1, 0, 0.99619472, 0, -0.087155804),Color = Color3.new(0.843137, 0.772549, 0.603922),})
245
local Mesh = New("SpecialMesh",Skull,"Mesh",{Scale = Vector3.new(3.20000005, 3.20000005, 3.20000005),MeshId = "http://www.roblox.com/asset/?id=6552202",TextureId = "http://www.roblox.com/asset/?id=6477494",MeshType = Enum.MeshType.FileMesh,})
246
local Part = New("Part",Skull,"Part",{Transparency = 1,Transparency = 1,Size = Vector3.new(0.299999565, 0.299999923, 0.0999998972),CFrame = CFrame.new(19.7027473, 4.34184599, -15.2829018, 0.0871568993, 0, -0.996194661, 0, 1, 0, 0.996194661, 0, 0.0871568993),})
247
local Decal = New("Decal",Part,"Decal",{Texture = "http://www.roblox.com/asset/?id=1007442229",})
248
local Joint = New("Weld",Part,"Joint",{Part0 = Part,Part1 = Skull,C0 = CFrame.new(0.170772552, -0.0418462753, 0.720369339, 0.984807551, 0, -0.173649371, 0, 1, 0, 0.173649371, 0, 0.984807551),})
249
local Part = New("Part",Skull,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.Neon,Size = Vector3.new(1, 1.19999981, 1),CFrame = CFrame.new(19.0784626, 4.20953131, -15.0668001, 0.0565838143, 0.0801356286, 0.995176673, -0.0452655554, 0.995954573, -0.0776245594, -0.997371256, -0.0406549312, 0.0599822886),Anchored = true,Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
250
local Mesh = New("SpecialMesh",Part,"Mesh",{Scale = Vector3.new(2, 2, 2),MeshId = "http://www.roblox.com/asset/?id=1185246",MeshType = Enum.MeshType.FileMesh,})
251
local Joint = New("Weld",Part,"Joint",{Part0 = Part,Part1 = Skull,C0 = CFrame.new(-0.0252962112, 0.0831313133, -0.0840930939, -0.998507619, -0.0452655554, 0.030558195, -0.0474845134, 0.995954573, -0.0762873814, -0.0269813798, -0.0776245594, -0.996617556),})
252
local Part = New("Part",Skull,"Part",{Transparency = 1,Transparency = 1,Size = Vector3.new(0.299999565, 0.299999923, 0.0999998972),CFrame = CFrame.new(19.6312962, 4.3499999, -14.7103682, -0.342020988, 0, -0.939692318, 0, 1, 0, 0.939692318, 0, -0.342020988),})
253
local Decal = New("Decal",Part,"Decal",{Texture = "http://www.roblox.com/asset/?id=1007442229",})
254
local Joint = New("Weld",Part,"Joint",{Part0 = Part,Part1 = Skull,C0 = CFrame.new(-0.103227615, -0.0500001907, 0.70938015, 0.965925634, 0, 0.258819848, 0, 1, 0, -0.258819848, 0, 0.965925634),})
255
local particleemitter = Instance.new("ParticleEmitter",torso)
256
particleemitter.Texture = "rbxassetid://930754411"
257
particleemitter.Rate = 1
258
particleemitter.VelocitySpread = 35
259
particleemitter.Enabled=false
260
local headw=Instance.new("Weld",Skull)
261
local grabpart=Instance.new("Part",char)
262
grabpart.Size = Vector3.new(1,1,4)
263
grabpart.Transparency=1
264
grabpart.CanCollide=false
265
local wel=Instance.new("Weld",grabpart)
266
wel.Part0=grabpart
267
wel.Part1=rarm
268
local dh=Instance.new("SpecialMesh",grabpart)
269
dh.MeshId="http://www.roblox.com/asset/?id=12221720"
270
dh.TextureId="http://www.roblox.com/asset/?id=12224218"
271
dh.VertexColor=Vector3.new(0,0,0)
272
wel.C0=CFrame.new(1,0,-1.5)*CFrame.Angles(rad(90),rad(180),rad(90))
273
for i,v in pairs(Skull:GetChildren()) do
274
	if v:IsA("BasePart") then v.Anchored = false	
275
	end
276
end
277
headw.Part0=Skull
278
headw.Part1=hed
279
local fxFolder={}
280
local fxtab={
281
	blockeffect={
282
		blockfx = function(cf,tim,s1,s2,s3)
283
			local block=Instance.new("Part",char)
284
			table.insert(fxFolder,block)
285
			NoOutline(block)
286
			block.BrickColor = BrickColor.new("Really black")
287
			block.Transparency = .6
288
			block.Size = Vector3.new(s1,s2,s3)
289
			block.Anchored = true
290
			block.CanCollide = false
291
			block.CFrame = cf
292
			Debris(block,tim)		
293
		end}	
294
	}
295
newWeld = function(wp0, wp1, wc0x, wc0y, wc0z)
296
	local wld = Instance.new("Weld", wp1)
297
	wld.Part0 = wp0
298
	wld.Part1 = wp1
299
	wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
300
	return wld
301
end
302
local larmweld=newWeld(torso,larm, -1.5, 0.5, 0)
303
larmweld.C1 = CFrame.new(0, 0.5, 0)
304
local rarmweld=newWeld(torso, rarm, 1.5, 0.5, 0)
305
rarmweld.C1 = CFrame.new(0, 0.5, 0)
306
local hedweld=newWeld(torso, hed, 0, 1.5, 0)
307
local llegweld=newWeld(root, lleg, -0.5, -1, 0)
308
llegweld.C1 = CFrame.new(0, 1, 0)
309
local rlegweld=newWeld(root, rleg, 0.5, -1, 0)
310
rlegweld.C1 = CFrame.new(0, 1 ,0)
311
local torweld=newWeld(root, torso, 0, -1, 0)
312
torweld.C1 = CFrame.new(0, -1, 0)
313
function _IterateLerp(matrices,LerpIncrement)
314
	hedweld.C0 = Lerp(hedweld.C0,matrices[1],LerpIncrement);
315
	torweld.C0 = Lerp(torweld.C0,matrices[2],LerpIncrement);
316
	rarmweld.C0 = Lerp(rarmweld.C0,matrices[3],LerpIncrement);
317
	larmweld.C0 = Lerp(larmweld.C0,matrices[4],LerpIncrement);
318
	rlegweld.C0 = Lerp(rlegweld.C0,matrices[5],LerpIncrement);
319
	llegweld.C0 = Lerp(llegweld.C0,matrices[6],LerpIncrement);
320
end;
321
local function root0switch()
322
	rlegweld.Part0 = root
323
	llegweld.Part0 = root
324
end
325
local function torso0switch()
326
	rlegweld.Part0 = torso
327
	llegweld.Part0 = torso
328
end
329
local falling = false
330
local jmp = false
331
hum.StateChanged:connect(function(z,state)
332
	if state == Enum.HumanoidStateType.Freefall then
333
		falling = true
334
		taunting=false
335
	else
336
		falling = false
337
	end
338
end)
339
function spikefx(pos)
340
	local fxtab={}
341
	local wrap=coroutine.wrap(function()
342
		for i=1,10 do
343
			wait()
344
			local p=Instance.new("Part",workspace)
345
			local m=Instance.new("SpecialMesh",p)
346
			m.MeshType="Sphere"
347
			p.CFrame=pos
348
			m.Scale=v3(1.7,0.3,0.2)
349
			p.Material="Neon"
350
			Debris(p,.5)
351
			table.insert(fxtab,m)
352
			table.insert(fxtab,p)
353
			p.BrickColor=BrickColor.new("Black")
354
			p.CanCollide=false
355
			p.Anchored=true
356
			p.CFrame=p.CFrame*CFrame.new(math.random(-5,5),0,math.random(-5,5))*CFrame.Angles(rad(math.random(-180,180)),rad(math.random(-180,180)),rad(math.random(-180,180)))
357
			for _,v in pairs(fxtab) do
358
				if v:IsA("SpecialMesh") then
359
					v.Scale = v.Scale+Vector3.new(.4,0,0)
360
					else
361
					v.Transparency = v.Transparency+.1
362
				end
363
			end
364
		end
365
	end);wrap()
366
end
367
rs:connect(function()
368
	sine=sine+1
369
	local movevelocity=(root.Velocity*v3(1,0,1)).Magnitude
370
	if movevelocity <1 and idle and not taunting then
371
		if idle then
372
			_IterateLerp({
373
				CFrame.new( 0.0816268921, 1.59128666, -0.102115631, 0.990605652, 0.133867279, 0.0279282276, -0.136749536, 0.969726801, 0.202310443, 0, -0.204229042, 0.978923142 ),
374
				CFrame.new( 0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 )*CFrame.new(0,.05*math.sin(sine/12),0)*CFrame.Angles(.03*math.sin(sine/12),0,0),
375
				CFrame.new( 1.48942029, 0.564742684+.1*math.sin(sine/12), 0.0792327747, 0.978836656, -0.135966524, -0.152944341, 0.12948513, 0.990236998, -0.0516153388, 0.158469126, 0.0307189636, 0.986885965 ),
376
				CFrame.new( -1.50521326, 0.566599131+.1*math.sin(sine/12), 0.0541087911, 0.99075222, 0.132517859, 0.0291410107, -0.123971015, 0.971393645, -0.202547595, -0.0551485643, 0.197061881, 0.978838801),
377
				CFrame.new( 0.502287865, -1.00783682, -0.047161147, 0.995418072, -0.0143518364, -0.0945355073, 0.0156736188, 0.999789238, 0.0132541945, 0.0943253636, -0.0146751851, 0.995433271 ),
378
				CFrame.new( -0.50474906, -1.02262139, -0.0649240464, 0.990501583, 0.0527384132, 0.126985222, -0.0452422909, 0.997098863, -0.0612106584, -0.129844978, 0.0548841506, 0.990014195 ),
379
			},.1)
380
		end
381
	end
382
	if falling and idle then
383
		_IterateLerp({
384
			 CFrame.new( 0, 1.46811366, 0.175658226, 1, 0, 0, 0, 0.936247647, -0.351312846, 0, 0.351316303, 0.936256826 ),
385
			 CFrame.new( 0, -0.999990225, 0, 1, 0, 0, 0, 0.999990225, 0, 0, 0, 1 ),
386
			 CFrame.new( 1.43505383, 0.746422827, 0, 0.870108187, -0.492860764, 0, 0.492855906, 0.870099664, 0, 0, 0, 1 ),
387
			 CFrame.new( -1.46059692, 0.69454664, 0, 0.921192586, 0.389106899, 0, -0.389103055, 0.921183467, 0, 0, 0, 1 ),
388
			 CFrame.new( 0.506626964, -1.08112538, 0, 0.986746132, -0.162271619, 0, 0.162270024, 0.986736417, 0, 0, 0, 1 ),
389
			 CFrame.new( -0.504866421, -1.06957817, 0, 0.990267456, 0.139177516, 0, -0.13917613, 0.99025774, 0, 0, 0, 1 ),
390
		},.2)
391
	end
392
	if movevelocity >1 and walking and not jmp and not falling then
393
		taunting=false
394
		if walking then
395
			_IterateLerp({
396
				CFrame.new( 0.0209884644, 1.4973774, 0.168071747, 0.999927104, 0.0119819818, -0.00150420656, -0.0120720444, 0.988607109, -0.150034994, -0.000310648698, 0.150042206, 0.988679588 ),
397
				CFrame.new( 0, -1+.1*math.sin(sine/8), 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 )*CFrame.Angles(6,rad(12*math.sin(sine/8)),0),
398
				CFrame.new( 1.48941588, 0.564742506, 0.07923612, 0.978836656, -0.160068884, -0.127502233, 0.12948513, 0.966909289, -0.219817966, 0.158469126, 0.198656261, 0.967172801 )*CFrame.Angles(rad(-45*math.sin(sine/8)),0,0),
399
				CFrame.new( -1.50521326, 0.566599131, 0.0541087911, 0.99075222, 0.132517859, 0.0291410107, -0.123971015, 0.971393645, -0.202547595, -0.0551485643, 0.197061881, 0.978838801)*CFrame.Angles(rad(45*math.sin(sine/8)),0,0),
400
				CFrame.new( 0.499892235, -1.00746632, -0.0195503682, 0.999869168, -0.0143518364, 0.00746365637, 0.0142403366, 0.999789238, 0.0147833973, -0.00767425448, -0.0146751851, 0.99986285 )*CFrame.Angles(rad(45*math.sin(sine/8)),0,0),
401
				CFrame.new( -0.500758886, -1.02675653, 0.00636120141, 0.998486161, 0.0527384132, -0.0156217664, -0.0535120256, 0.997098863, -0.0541301444, 0.0127217174, 0.0548841506, 0.998411775 )*CFrame.Angles(rad(-45*math.sin(sine/8)),0,0)
402
			},.1)
403
		end
404
	end
405
	for _,fx in pairs(fxFolder) do
406
		fx.CFrame = fx.CFrame*CFrame.Angles(math.random(-180,180),math.random(-180,180),math.random(-180,180)) 
407
	end	
408
end)
409
function deathtouch()
410
	torso0switch()
411
	local deathdb=false
412
	local hb=rarm.Touched:connect(function(hit)
413
		if not hit:IsDescendantOf(char) then
414
			if deathdb then return end
415
			deathdb=true
416
			if hit.Parent then
417
				for i,v in pairs(hit.Parent:GetChildren()) do
418
					if v:IsA("BasePart") and v.Name ~= "Handle" and v.Size.x<200 then
419
						v:BreakJoints()
420
						exp:Play()
421
						local bv=Instance.new("BodyVelocity",v)
422
						bv.Velocity = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
423
						bv.MaxForce = Vector3.new(100000,100000,100000)
424
						v.BrickColor = BrickColor.new("Really black")
425
						v.Anchored = false
426
						Debris(v,10)
427
					end
428
				end
429
			end
430
		end
431
	end)
432
	for i=1, 10  do
433
		rs:wait(1)
434
		fxtab.blockeffect.blockfx(rarm.CFrame*CFrame.new(0,-2,0),1,1.5,1.5,1.5)
435
		_IterateLerp({
436
			CFrame.new( -0.009729385738, 1.50443935, -0.0961799622, 0.258767962, 0.0345346108, -0.965322137, -0.0124208545, 0.999397218, 0.0324239396, 0.965859592, 0.00360014848, 0.259040236 ),
437
			CFrame.new( 0.320317775, -1.01938915, 0.0870335773, 0.17364949, -0.00954774767, 0.984761178, 3.65421684e-08, 0.999953091, 0.00969513413, -0.984807611, -0.00168353785, 0.173641086 ),
438
			CFrame.new( 1.3838644, 0.571409225, -0.176830292, -0.0357611366, -0.936706185, 0.348289967, 0.983349204, 0.0291584283, 0.17938672, -0.178188115, 0.348904669, 0.920063972 ),
439
			CFrame.new( -1.50522053, 0.56659919, 0.0541077442, 0.99075222, 0.121532187, 0.0603333004, -0.123971015, 0.991540074, 0.038461592, -0.0551485643, -0.0455854759, 0.99743706 ),
440
			CFrame.new( 0.600003242, -0.984540462, 0.0129966736, 0.984808087, 1.15483999e-07, -0.173646927, 0.013456177, 0.996993124, 0.076315023, 0.173124731, -0.0774922594, 0.98184669 ),
441
			CFrame.new( -0.600003242, -0.984540701, 0.0129947662, 0.98480773, -5.15952706e-07, 0.173649341, -0.0134561537, 0.996993005, 0.076316081, -0.173127204, -0.0774933025, 0.981846154 )
442
		},0.25 )
443
	end
444
	wait(.2)
445
	for i=1,7 do
446
		rs:wait(1)
447
		_IterateLerp({
448
			CFrame.new( 0.0816268921, 1.59128666, -0.102115631, 0.990605652, 0.133867279, 0.0279282276, -0.136749536, 0.969726801, 0.202310443, 0, -0.204229042, 0.978923142 ),
449
			CFrame.new( 0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 )*CFrame.Angles(rad(0),0,0),
450
			CFrame.new( 1.48942029, 0.564742684, 0.0792327747, 0.978836656, -0.135966524, -0.152944341, 0.12948513, 0.990236998, -0.0516153388, 0.158469126, 0.0307189636, 0.986885965 ),
451
			CFrame.new( -1.50522053, 0.56659919, 0.0541077442, 0.99075222, 0.121532187, 0.0603333004, -0.123971015, 0.991540074, 0.038461592, -0.0551485643, -0.0455854759, 0.99743706 ),
452
			CFrame.new( 0.502287865, -1.00783682, -0.047161147, 0.995418072, -0.0143518364, -0.0945355073, 0.0156736188, 0.999789238, 0.0132541945, 0.0943253636, -0.0146751851, 0.995433271 ),
453
			CFrame.new( -0.50474906, -1.02262139, -0.0649240464, 0.990501583, 0.0527384132, 0.126985222, -0.0452422909, 0.997098863, -0.0612106584, -0.129844978, 0.0548841506, 0.990014195 ),
454
		},.25)
455
	end
456
	hb:Disconnect()
457
	root0switch()
458
end
459
function chargeslash()
460
	torso0switch()
461
	for i=1,7 do
462
		wait()
463
		_IterateLerp({
464
			 CFrame.new( -0.0545110703, 1.56173253, 0, 0.995324731, -0.0965852737, 0, 0.096584335, 0.995314956, 0, 0, 0, 1 ),
465
			 CFrame.new( 0, -0.999990225, 0, 1, 0, 0, 0, 0.999990225, 0, 0, 0, 1 ),
466
			 CFrame.new( 1.50836289, 0.612062991, 0.137458801, 0.845401824, -0.503801167, 0.177426338, -0.027605487, -0.372942358, -0.927433074, 0.533416927, 0.779163361, -0.329197079 ),
467
			 CFrame.new( -1.49072063, 0.595651746, -0.00649094954, 0.98144269, 0.191755578, 0, -0.191313684, 0.979181051, 0.0677044615, 0.0129828351, -0.066448696, 0.9977054 ),
468
			 CFrame.new( 0.501660109, -1.04070473, 0, 0.996679068, -0.0814296976, 0, 0.0814289004, 0.996669233, 0, 0, 0, 1 ),
469
			 CFrame.new( -0.500845671, -1.0290556, 0, 0.998308957, 0.0581314489, 0, -0.058130879, 0.998299122, 0, 0, 0, 1 ),
470
		},.4)
471
	end
472
	for i=1,10 do
473
		wait()
474
		grabpart.Transparency=grabpart.Transparency-0.1
475
	end
476
	for i=1,7 do
477
		wait()
478
		_IterateLerp({
479
			 CFrame.new( -0.0545101166, 1.56173253, 4.76837158e-07, 0.995324731, -0.0965852737, 0, 0.096584335, 0.995314956, 0, 2.98023224e-08, 3.7252903e-09, 1 ),
480
			 CFrame.new( 0, -0.999990225, 0, 0.613908231, 0, -0.789377391, 0, 0.999990225, 0, 0.789377391, 0, 0.613908231 ),
481
			 CFrame.new( 1.16525662, 0.474341065, 0.340542078, 0.159188718, -0.971173942, 0.177426353, -0.303049803, -0.219109237, -0.927433074, 0.939583898, 0.0938687325, -0.329197049 ),
482
			 CFrame.new( -1.49072158, 0.595651746, -0.00649142265, 0.98144269, 0.191755563, 0, -0.191313684, 0.979181051, 0.0677044615, 0.0129828155, -0.0664486885, 0.99770534 ),
483
			 CFrame.new( 0.501660109, -1.04070473, 9.57399607e-07, 0.996679008, -0.0814296901, 0, 0.0814289004, 0.996669233, 0, 0, 3.7252903e-09, 1 ),
484
			 CFrame.new( -0.500845671, -1.0290556, 4.76837158e-07, 0.998309016, 0.0581314489, 0, -0.058130879, 0.998299122, 0, 0, 0, 1 ),
485
		},.4)
486
	end
487
	swosh:Play()
488
	local bvol=Instance.new("BodyVelocity",torso)
489
	bvol.P = 100000
490
	bvol.MaxForce=Vector3.new(bvol.P,0,bvol.P)
491
	bvol.Velocity = root.CFrame.lookVector*100
492
	Debris(bvol,.2)
493
	local chopdb=false
494
	local hb=grabpart.Touched:connect(function(hit)
495
		if chopdb==true then return end
496
		if hit.Parent:findFirstChild("Head") and hit.Parent:FindFirstChildOfClass("Humanoid") and not hit:IsDescendantOf(char) then
497
			local tors = hit.Parent:findFirstChild("Torso") or hit.Parent:findFirstChild("UpperTorso") if tors then	
498
				chopdb=true
499
				local hmu=hit.Parent:FindFirstChildOfClass("Humanoid")
500
				spikefx(tors.CFrame)
501
				slash:Play()
502
				for i,v in pairs(hit.Parent:GetChildren()) do
503
					if v:IsA("BasePart") and v.Name ~= "Handle" and v.Size.x<200 then
504
						v:BreakJoints()
505
						local bv=Instance.new("BodyVelocity",v)
506
						bv.Velocity = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
507
						bv.MaxForce = Vector3.new(100000,100000,100000)
508
						v.BrickColor = BrickColor.new("Really black")
509
						v.Anchored = false
510
						Debris(v,10)
511
					end
512
				end
513
			end
514
		end
515
	end)
516
	for i=1,7 do
517
		wait()
518
		_IterateLerp({
519
			 CFrame.new( -0.0102410316, 1.56405377, 0, 0.999967575, -0.00804331806, 0, 0.00804324076, 0.99995786, 0, 0, 0, 0.99999994 ),
520
			 CFrame.new( 0, -0.999990225, 0, 0.309218496, 0, 0.950990975, 0, 0.999990225, 0, -0.950990975, 0, 0.309218496 ),
521
			 CFrame.new( 1.52410364, 0.600606143, 0.127127171, 0.843653738, -0.536326528, -0.0245404467, -0.0442715883, -0.0239421558, -0.998722672, 0.535059035, 0.843670845, -0.0439433567 ),
522
			 CFrame.new( -1.48721159, 0.590926051, -0.0660021305, 0.974422932, 0.191755563, -0.117173016, -0.18186219, 0.979181051, 0.0900608823, 0.132004589, -0.0664486811, 0.989019334 ),
523
			 CFrame.new( 0.501660109, -1.04070473, 0, 0.996679008, -0.0814296901, 0, 0.0814289004, 0.996669233, 0, -2.98023224e-08, 0, 0.99999994 ),
524
			 CFrame.new( -0.500846148, -1.0290556, 0, 0.998308837, 0.0581314452, 0, -0.058130879, 0.998299122, 0, 0, 0, 0.99999994 ),
525
		},.4)
526
	end
527
	hb:Disconnect()
528
	for i=1,10 do
529
		wait()
530
		grabpart.Transparency=grabpart.Transparency+0.1
531
	end
532
end
533
function darkheart()
534
	torso0switch()
535
	summon:Play()
536
	for i=1,25 do
537
		wait()
538
		_IterateLerp({
539
			 CFrame.new( 0, 1.48561454, 0.119072914, 1, 0, 0, 0, 0.971229255, -0.238146394, 0, 0.238146394, 0.971229255 ),
540
			 CFrame.new( 0, -2.62504315, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 ),
541
			 CFrame.new( 1.48118687, 0.432643533, 0.117988974, 0.962375402, -0.270894974, -0.0212016907, -0.134712949, -0.407902002, -0.903032839, 0.235978872, 0.871912777, -0.429047942 ),
542
			 CFrame.new( -1.48679996, 0.458605587, 0.106357396, 0.973600924, 0.227957353, 0.0116878562, 0.082788907, -0.304944426, -0.948764861, -0.212713808, 0.924686074, -0.315766543 ),
543
			 CFrame.new( 0.5, -0.950745523, -0.529396296, 1, 0, 8.8817842e-16, 0, 0.204137847, 0.978942096, 0, -0.978942156, 0.204137862 ),
544
			 CFrame.new( -0.5, -0.341685951, -0.633748055, 1, 0, 0, 0, 0.99999994, 0, 0, 0, 1 ),
545
		},.1)
546
	end
547
	wait(.2)
548
	local inc=-3
549
	local swordtab={}
550
	for i=1,45 do
551
		wait()
552
		local dark=Instance.new("Part",char)
553
		dark.Size = Vector3.new(2,2,9)
554
		dark.Transparency=1
555
		dark.CanCollide=false
556
		dark.Anchored = true
557
		table.insert(swordtab,dark)
558
		local dh=Instance.new("SpecialMesh",dark)
559
		dh.MeshId="http://www.roblox.com/asset/?id=12221720"
560
		dh.TextureId="http://www.roblox.com/asset/?id=12224218"
561
		dh.VertexColor=Vector3.new(0,0,0)
562
		dh.Scale=v3(2,2,2)
563
		dark.CFrame=root.CFrame*CFrame.new(0,-4,inc)*CFrame.Angles(rad(-90),rad(math.random(-45,45)),0)
564
		local wrap=coroutine.wrap(function()
565
			for i=1,10 do
566
				wait()
567
				dark.Transparency=dark.Transparency-.1
568
				dark.CFrame=dark.CFrame*CFrame.new(0,0,.45)
569
			end
570
		end);wrap()
571
		local sq=false
572
		dark.Touched:connect(function(hit)
573
			if hit and hit.Parent and hit.Parent:findFirstChildOfClass("Humanoid") and not hit:isDescendantOf(char) then
574
				if sq then return end
575
				local tors = hit.Parent:findFirstChild("Torso") or hit.Parent:findFirstChild("UpperTorso")
576
				if tors then
577
					sq=true
578
					squish:Play()
579
					spikefx(tors.CFrame)
580
					for i,v in pairs(hit.Parent:GetChildren()) do
581
						if v:IsA("BasePart") and v.Name ~= "Handle" and v.Size.x<100 then
582
							v:BreakJoints()
583
							local bv=Instance.new("BodyVelocity",v)
584
							bv.Velocity = Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
585
							bv.MaxForce = Vector3.new(100000,100000,100000)
586
							v.BrickColor = BrickColor.new("Really black")
587
							v.Anchored = false
588
							Debris(v,10)
589
						end
590
					end
591
				end
592
			end
593
		end)
594
		inc=inc-1
595
	end
596
	for _,v in pairs(swordtab) do
597
		Debris(v,.4)
598
		local wrap=coroutine.wrap(function()
599
			for i=1,10 do
600
				wait()
601
				v.Transparency = v.Transparency+.1
602
				v.CFrame = v.CFrame*CFrame.new(0,0,-.45)
603
			end
604
		end);wrap()
605
	end
606
end
607
function zaworld()
608
	torso0switch()
609
	particleemitter.Enabled=true
610
	taunting = true
611
	theworld:Play()
612
	for i=1,7 do
613
		wait()
614
		_IterateLerp({
615
			 CFrame.new( 0, 1.50000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 ),
616
			 CFrame.new( 0, -0.948942542, -0.315449059, 1, 0, 0, 0, 0.948942542, -0.315449059, 0, 0.315449059, 0.948942542 ),
617
			 CFrame.new( 1.03333831, 0.803000212, 0.328895986, 0.666042447, 0.745147169, 0.0338109061, 0.505401671, -0.484157503, 0.714255333, 0.54859519, -0.458636403, -0.699068129 ),
618
			 CFrame.new( -1.0756973, 0.83096379, 0.25872466, 0.65691328, -0.751839459, 0.0565877482, -0.589003384, -0.464883924, 0.661027908, -0.470680177, -0.467568457, -0.748224497 ),
619
			 CFrame.new( 0.504901886, -1.06555462, 0.02408427, 0.990197122, -0.139677078, 0, 0.131108776, 0.929454803, 0.344853967, -0.0481681935, -0.341473401, 0.93865639 ),
620
			 CFrame.new( -0.513496816, -1.10789347, 0.0409053266, 0.973007023, 0.230775401, 0, -0.215787053, 0.909812391, 0.354510069, 0.0818122104, -0.344940811, 0.935052276 ),
621
		},.35)
622
	end
623
end
624
mouse.KeyDown:connect(function(k)
625
	if k=="z" then
626
		if touchdb then return end
627
		touchdb=true
628
		zaworld()
629
		repeat wait(.7)	
630
		until not taunting
631
		root0switch()
632
		particleemitter.Enabled=false
633
		touchdb=false
634
	elseif k=="e" then
635
		if touchdb then return end
636
		touchdb=true
637
		walking=false
638
		idle = false
639
		deathtouch()
640
		walking=true
641
		idle=true
642
		touchdb=false
643
	elseif k=="f" then
644
		if touchdb then return end
645
		touchdb=true
646
		walking=false
647
		idle = false
648
		chargeslash()
649
		walking=true
650
		idle=true
651
		wait(.4)
652
		root0switch()
653
		touchdb=false
654
	elseif k=="r" then
655
		if touchdb then return end
656
		touchdb=true
657
		walking=false
658
		idle = false
659
		darkheart()
660
		walking=true
661
		idle=true
662
		wait(.4)
663
		root0switch()
664
		touchdb=false
665
	end
666
end)