View difference between Paste ID: Y2uA6BTm and L4JWMx2N
SHOW: | | - or go back to the newest paste.
1-
Player = game:GetService("Players").LocalPlayer
1+
-- This script has been converted to FE by iPxter
2
3
4
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
5
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
6
do
7
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
8
	script.Parent = Player.Character
9
10
	--RemoteEvent for communicating
11
	local Event = Instance.new("RemoteEvent")
12
	Event.Name = "UserInput_Event"
13
14
	--Fake event to make stuff like Mouse.KeyDown work
15
	local function fakeEvent()
16
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
17
		t.connect = t.Connect
18
		return t
19
	end
20
21
	--Creating fake input objects with fake variables
22
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
23
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
24
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
25
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
26
	end}
27
	--Merged 2 functions into one by checking amount of arguments
28
	CAS.UnbindAction = CAS.BindAction
29
30
	--This function will trigger the events that have been :Connect()'ed
31
	local function te(self,ev,...)
32
		local t = m[ev]
33
		if t and t._fakeEvent and t.Function then
34
			t.Function(...)
35
		end
36
	end
37
	m.TrigEvent = te
38
	UIS.TrigEvent = te
39
40
	Event.OnServerEvent:Connect(function(plr,io)
41
	    if plr~=Player then return end
42
		if io.isMouse then
43
			m.Target = io.Target
44
			m.Hit = io.Hit
45
		else
46
			local b = io.UserInputState == Enum.UserInputState.Begin
47
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
			end
50
			for _,t in pairs(CAS.Actions) do
51
				for _,k in pairs(t.Keys) do
52
					if k==io.KeyCode then
53
						t.Function(t.Name,io.UserInputState,io)
54
					end
55
				end
56
			end
57
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
	    end
60
	end)
61
	Event.Parent = NLS([==[
62
	local Player = game:GetService("Players").LocalPlayer
63
	local Event = script:WaitForChild("UserInput_Event")
64
65
	local UIS = game:GetService("UserInputService")
66
	local input = function(io,a)
67
		if a then return end
68
		--Since InputObject is a client-side instance, we create and pass table instead
69
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
70
	end
71
	UIS.InputBegan:Connect(input)
72
	UIS.InputEnded:Connect(input)
73
74
	local Mouse = Player:GetMouse()
75
	local h,t
76
	--Give the server mouse data 30 times every second, but only if the values changed
77
	--If player is not moving their mouse, client won't fire events
78
	while wait(1/30) do
79
		if h~=Mouse.Hit or t~=Mouse.Target then
80
			h,t=Mouse.Hit,Mouse.Target
81
			Event:FireServer({isMouse=true,Target=t,Hit=h})
82
		end
83
	end]==],Player.Character)
84
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
85
end
86
Player = owner
87
Character = Player.Character 
88
PlayerGui = Player.PlayerGui 
89
Backpack = Player.Backpack 
90
Torso = Character.Torso 
91
Head = Character.Head 
92
Humanoid = Character.Humanoid
93
LeftArm = Character["Left Arm"] 
94
LeftLeg = Character["Left Leg"] 
95
RightArm = Character["Right Arm"] 
96
RightLeg = Character["Right Leg"] 
97
LS = Torso["Left Shoulder"] 
98
LH = Torso["Left Hip"] 
99
RS = Torso["Right Shoulder"] 
100
RH = Torso["Right Hip"] 
101
Neck = Torso.Neck
102
it=Instance.new
103
vt=Vector3.new
104
cf=CFrame.new
105
euler=CFrame.fromEulerAnglesXYZ
106
angles=CFrame.Angles
107
necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
108
necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
109
attack = false 
110
attacktype = 1 
111
damage = 5 
112
oridamage = 50 
113
BladeNumb=0.8
114
GyroNumb=0
115
attackdebounce = false 
116
ssdebounce=false
117
MMouse=nil
118
Mode="Sword"
119
cannonmode=false
120
combo=0
121
spinning=false
122
shootmode=true
123
--player 
124
player = nil 
125
--save shoulders 
126
RSH, LSH = nil, nil 
127
--welds 
128
RW, LW = Instance.new("Weld"), Instance.new("Weld") 
129
RW.Name="Right Shoulder" LW.Name="Left Shoulder"
130
131
132
if Character:findFirstChild("Blast Blade",true) ~= nil then 
133
Character:findFirstChild("Blast Blade",true).Parent = nil 
134
end 
135
if Character:findFirstChild("Block",true) ~= nil then 
136
Character:findFirstChild("Block",true).Parent = nil 
137
end 
138
139
140
function part(formfactor,parent,reflectance,transparency,brickcolor,name,size)
141
local fp = it("Part")
142
fp.formFactor = formfactor 
143
fp.Parent = parent
144
fp.Reflectance = reflectance
145
fp.Transparency = transparency
146
fp.CanCollide = false 
147
fp.Locked=true
148
fp.BrickColor = brickcolor
149
fp.Name = name
150
fp.Size = size
151
fp.Position = Torso.Position 
152
fp.BottomSurface="Smooth"
153
fp.TopSurface="Smooth"
154
fp:BreakJoints()
155
return fp 
156
end 
157
158
function mesh(Mesh,part,meshtype,meshid,offset,scale)
159
local mesh = it(Mesh) 
160
mesh.Parent = part
161
if Mesh=="SpecialMesh" then
162
mesh.MeshType = meshtype
163
mesh.MeshId = meshid
164
end
165
mesh.Offset=offset
166
mesh.Scale=scale
167
return mesh
168
end
169
170
function weld(parent,part0,part1,c0)
171
local weld = it("Weld") 
172
weld.Parent = parent
173
weld.Part0 = part0 
174
weld.Part1 = part1 
175
weld.C0 = c0
176
return weld
177
end
178
179
local modelzorz = Instance.new("Model") 
180
modelzorz.Parent = Character 
181
modelzorz.Name = "Blast Blade" 
182
183
local prt1=part(3,modelzorz,0,0,Torso.BrickColor,"Part1",vt(1,1,1))
184
local prt2=part(3,modelzorz,0,0,BrickColor.new("Gold"),"Part2",vt(1,1,1))
185
local prt3=part(3,modelzorz,0,0,BrickColor.new("Silver"),"Part3",vt(0.8,0.5,0.8))
186
local prt5=part(3,modelzorz,0,0,BrickColor.new("Silver"),"Part5",vt(1,1,1))
187
local prt6=part(3,modelzorz,0,0,BrickColor.new("Silver"),"Part6",vt(1,1,1))
188
local prt7=part(3,modelzorz,0,0,BrickColor.new("Gold"),"Part7",vt(1,1,1))
189
local prt8=part(3,modelzorz,0,0,BrickColor.new("Gold"),"Part8",vt(1,1,1))
190
local hitbox=part(3,modelzorz,0,1,BrickColor.new("Gold"),"Hitbox",vt(1,5,3))
191
192
local msh1=mesh("CylinderMesh",prt1,"","",vt(0,0,0),vt(0.45,1,0.45))
193
local msh2=mesh("CylinderMesh",prt2,"","",vt(0,0,0),vt(0.4,2,0.4))
194
local msh3=mesh("SpecialMesh",prt3,"Head","",vt(0,0,0),vt(1,1,1))
195
local msh5=mesh("SpecialMesh",prt5,"Head","",vt(0,0,0),vt(0.8,0.5,0.8))
196
local msh6=mesh("BlockMesh",prt6,"","",vt(0,0,0),vt(0.5,0.5,1.3))
197
local msh7=mesh("SpecialMesh",prt7,"Sphere","",vt(0,0,0),vt(1.4,1.4,1.4))
198
local msh8=mesh("SpecialMesh",prt8,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(1.5,1.5,1.5))
199
200
local wld1=weld(prt1,prt1,Torso,euler(-2.5,1.57,0)*cf(-2,-3,-0.6))
201
local wld2=weld(prt2,prt2,prt1,euler(0,0,0)*cf(0,0,0))
202
local wld3=weld(prt3,prt3,prt2,euler(0,0,0)*cf(0,1.2,0))
203
local wld5=weld(prt5,prt5,prt2,euler(0,0,0)*cf(0,-1,0))
204
local wld6=weld(prt6,prt6,prt5,euler(0,0,0)*cf(0,-0.2,0))
205
local wld7=weld(prt7,prt7,prt6,euler(0,0,0)*cf(0,-1,0))
206
local wld8=weld(prt8,prt8,prt7,euler(0,1.57,0)*cf(0,0,0))
207
local hitboxwld=weld(hitbox,hitbox,prt7,euler(0,0,0)*cf(0,-1.5,0))
208
209
numb=0
210
for i=1,8 do
211
local prt4=part(3,modelzorz,0.2,0,BrickColor.new("Silver"),"Part4",vt(1,1,1))
212
local msh4=mesh("SpecialMesh",prt4,"FileMesh","http://www.roblox.com/asset/?id=1778999",vt(0,0,0),vt(0.3,0.2,0.3))
213
local wld4=weld(prt4,prt4,prt3,cf(0,-0.4,0)*euler(1.57,numb,0))
214
numb=numb+0.785
215
end
216
numb=0
217
for i=1,4 do
218
local prt9=part(3,modelzorz,0,0,BrickColor.new("Gold"),"Part9",vt(1,1,1))
219
local msh9=mesh("CylinderMesh",prt9,"","",vt(0,0,0),vt(0.2,2,0.2))
220
local wld9=weld(prt9,prt9,prt8,cf(0,0,0)*euler(0,0,numb))
221
numb=numb+0.785
222
end
223
numb=0
224
numb2=0
225
numb3=0
226
for i=1,8 do
227
local prt10=part(3,modelzorz,0.4,0,BrickColor.new("White"),"Part10",vt(1,1,1))
228
local msh10=mesh("SpecialMesh",prt10,"Wedge","",vt(0,0,0),vt(0.3-numb2,1.5+numb3,1.5-numb3))
229
local wld10=weld(prt10,prt10,prt6,euler(0,3.14,0)*cf(0,-0.6-numb,-0.8))
230
coroutine.resume(coroutine.create(function(Weld,Number,Number3)
231
while true do
232
wait(0)
233
wld10.C0=euler(0,3.14,0)*cf(0,-0.6-Number,-BladeNumb+(Number3/2))
234
end
235
end),wld10,numb,numb3)
236
local prt11=part(3,modelzorz,0.4,0,BrickColor.new("White"),"Part11",vt(1,1,1))
237
local msh11=mesh("SpecialMesh",prt11,"Wedge","",vt(0,0,0),vt(0.3-numb2,1.5+numb3,1.5-numb3))
238
local wld11=weld(prt11,prt11,prt6,cf(0,-0.6-numb,0.8))
239
coroutine.resume(coroutine.create(function(Weld,Number,Number3)
240
while true do
241
wait(0)
242
wld11.C0=cf(0,-0.6-Number,BladeNumb-(Number3/2))
243
end
244
end),wld11,numb,numb3)
245
numb=numb+0.6
246
numb2=numb2+0.01
247
numb3=numb3-0.1
248
end
249
if (script.Parent.className ~= "HopperBin") then 
250
Tool = Instance.new("HopperBin") 
251
Tool.Parent = Backpack 
252
Tool.Name = "Blast Blade" 
253
script.Parent = Tool 
254
end 
255
Bin = script.Parent 
256
257
local bg = it("BodyGyro") 
258
bg.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge 
259
bg.P = 20e+003 
260
bg.Parent = nil 
261
262
so = function(id,par,vol,pit) 
263
coroutine.resume(coroutine.create(function()
264
local sou = Instance.new("Sound",par or workspace)
265
sou.Volume=vol
266
sou.Pitch=pit or 1
267
sou.SoundId=id
268
wait() 
269
sou:play() 
270
wait(6) 
271
sou:Remove() 
272
end))
273
end
274
275
function unequipweld() 
276
wld1.Part1=Torso
277
wld1.C0=euler(-2.5,1.57,0)*cf(-2,-3,-0.6)
278
wld1.C1=cf(0,0,0)
279
end 
280
281
function equipweld() 
282
wld1.Part1=RightArm
283
wld1.C0=euler(1.57+0.4,0,0)*cf(0,1,0)
284
end 
285
286
function hideanim() 
287
equipped=false
288
wait(0.1) 
289
bg.Parent=nil
290
Neck.C0=necko
291
unequipweld() 
292
end 
293
294
function equipanim() 
295
equipped=true
296
wait(0.1) 
297
equipweld() 
298
if Mode=="Sword" then
299
Neck.C0=necko
300
RW.C0=cf(0.5, 0.5, -0.5) * euler(1,0,0)
301
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5,0.4)
302
LW.C0=cf(-1, 0.5, -0.5) * euler(1,0,0)
303
LW.C1=cf(0, 0.5, 0) * euler(0,0,0)
304
elseif Mode=="Cannon" then
305
coroutine.resume(coroutine.create(function()
306
bg.maxTorque = vt(math.huge,math.huge,math.huge) 
307
bg.P = 9000
308
bg.Parent = Torso
309
--wld1.C0 = euler(0,0,0) * cf(0,0,0) 
310
while cannonmode==true do
311
wait()
312
local pos4 = vt(workspace.CurrentCamera.CoordinateFrame.X,Head.Position.Y,workspace.CurrentCamera.CoordinateFrame.Z)
313
bg.cframe = cf(Head.Position,pos4) * euler(0,3.14+GyroNumb,0) * cf(0,0,0) --cf(Torso.Position,MMouse.Hit.p) * 
314
bg.Parent = Head
315
local pos5 = Vector3.new(MMouse.Hit.p.x,Head.Position.Y,MMouse.Hit.p.z)
316
offset=(Torso.Position.y-MMouse.Hit.p.y)/60
317
mag=(Torso.Position-MMouse.Hit.p).magnitude/80
318
offset=offset/mag 
319
end
320
for i=0,1,0.1 do
321
wait()
322
bg.Parent=nil
323
end
324
end))
325
Neck.C0=necko*euler(0,0,1)
326
wld1.C0=euler(1.57,0,0)*cf(0,1,0)
327
RW.C0=cf(1.5, 0.5, 0) * euler(0,1,0)
328
RW.C1=cf(0, 0.5, 0) * euler(0,0,0)
329
LW.C0=cf(-1.5, 0.5, -0.5) * euler(1,1,0)
330
LW.C1=cf(0, 0.5, 0) * euler(0,0,0)
331
end
332
end 
333
334
function rayCast(Pos, Dir, Max, Ignore)  -- Origin Position , Direction, MaxDistance , IgnoreDescendants
335
return game.Workspace:FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) 
336
end 
337
338
spread=0
339
range=100
340
rangepower=25
341
function shoottrail(mouse,baseprt)
342
coroutine.resume(coroutine.create(function(v) 
343
local spreadvector = (Vector3.new(math.random(-spread,spread),math.random(-spread,spread),math.random(-spread,spread))) * (baseprt.Position-MMouse.Hit.p).magnitude/100
344
local dir = CFrame.new((baseprt.Position+MMouse.Hit.p)/2,MMouse.Hit.p+spreadvector)
345
local hit,pos = rayCast(baseprt.Position,dir.lookVector,10,Character)
346
local rangepos = range
347
local function drawtrail(From,To)
348
local effectsmsh = Instance.new("CylinderMesh")
349
effectsmsh.Scale = Vector3.new(1,1,1)
350
effectsmsh.Name = "Mesh"
351
local effectsg = Instance.new("Part")
352
effectsg.formFactor = 3
353
effectsg.CanCollide = false
354
effectsg.Name = "Eff"
355
effectsg.Locked = true
356
effectsg.Anchored = true
357
effectsg.Size = Vector3.new(0.2,0.2,0.2)
358
effectsg.Parent = workspace
359
effectsmsh.Parent = effectsg
360
effectsg.BrickColor = BrickColor.new("Gold")
361
effectsg.Reflectance = 0.25
362
local LP = From
363
local point1 = To
364
local mg = (LP - point1).magnitude
365
effectsmsh.Scale = Vector3.new(5,mg*5,5)
366
if shootmode==true then
367
Lightning(LP,point1,5,1,"Gold",0.3,0.1)
368
end
369
effectsg.CFrame = CFrame.new((LP+point1)/2,point1) * CFrame.Angles(math.rad(90),0,0)
370
coroutine.resume(coroutine.create(function()
371
for i = 0 , 1 , 0.2 do
372
wait()
373
effectsg.Transparency = 1*i
374
effectsmsh.Scale = Vector3.new(3-3*i,mg*5,3-3*i)
375
end 
376
effectsg.Parent = nil 
377
end))
378
end
379
local newpos = baseprt.Position
380
local inc = rangepower
381
repeat
382
wait() 
383
rangepos = rangepos - 10
384
--dir = dir * CFrame.Angles(math.rad(-1),0,0)
385
hit,pos = rayCast(newpos,dir.lookVector,inc,Character)
386
drawtrail(newpos,pos)
387
newpos = newpos + (dir.lookVector * inc)
388
if hit ~= nil then
389
if hit.Parent:FindFirstChild("Humanoid") ~= nil then
390
hum = hit.Parent.Humanoid
391
tTorso=hit.Parent.Torso
392
Damagefunc1(hit,10,30)
393
attackdebounce=false
394
--ADmg(hum,hit)
395
elseif hit.Parent.Parent ~= nil and hit.Parent.Parent:FindFirstChild("Humanoid") ~= nil then
396
hum = hit.Parent.Parent.Humanoid
397
tTorso=hit.Parent.Parent.Torso
398
Damagefunc1(hit.Parent.Parent.Torso,10,30)
399
attackdebounce=false
400
--ADmg(hum,hit)
401
end
402
MagicCircle(BrickColor.new("Gold"),CFrame.new(newpos),2,2,2,3,3,3)
403
MagicBlock(BrickColor.new("Gold"),CFrame.new(newpos),2,2,2,2,2,2)
404
end
405
until rangepos <= 0
406
end))
407
end
408
409
function shoottrail2(mouse,baseprt)
410
coroutine.resume(coroutine.create(function(v) 
411
local spreadvector = (Vector3.new(math.random(-spread,spread),math.random(-spread,spread),math.random(-spread,spread))) * (baseprt.Position-MMouse.Hit.p).magnitude/100
412
local dir = CFrame.new((baseprt.Position+MMouse.Hit.p)/2,MMouse.Hit.p+spreadvector)
413
local hit,pos = rayCast(baseprt.Position,dir.lookVector,10,Character)
414
local rangepos = range*5
415
local function drawtrail(From,To)
416
local effectsmsh = Instance.new("SpecialMesh")
417
effectsmsh.Scale = Vector3.new(1,1,1)
418
effectsmsh.Name = "Mesh"
419
effectsmsh.MeshType = "Sphere"
420
local effectsg = Instance.new("Part")
421
effectsg.formFactor = 3
422
effectsg.CanCollide = false
423
effectsg.Name = "Eff"
424
effectsg.Locked = true
425
effectsg.Anchored = true
426
effectsg.Size = Vector3.new(0.2,0.2,0.2)
427
effectsg.Parent = workspace
428
effectsmsh.Parent = effectsg
429
effectsg.BrickColor = BrickColor.new("Gold")
430
effectsg.Reflectance = 0.25
431
local LP = From
432
local point1 = To
433
local mg = (LP - point1).magnitude
434
effectsmsh.Scale = Vector3.new(7,7,7)
435
--for i=1,3 do
436
Lightning(LP,point1,5,1,"Gold",0.3,0.1)
437
--end
438
effectsg.CFrame = CFrame.new((LP+point1)/2,point1) * CFrame.Angles(math.rad(90),0,0)
439
coroutine.resume(coroutine.create(function()
440
for i = 0 , 1 , 0.1 do
441
wait()
442
effectsg.Transparency = 1*i
443
effectsmsh.Scale = Vector3.new(10-10*i,mg*5,10-10*i)
444
end 
445
effectsg.Parent = nil 
446
end))
447
end
448
local newpos = baseprt.Position
449
local inc = rangepower/5
450
repeat
451
--wait() 
452
rangepos = rangepos - 10
453
--dir = dir * CFrame.Angles(math.rad(-1),0,0)
454
hit,pos = rayCast(newpos,dir.lookVector,inc,Character)
455
drawtrail(newpos,pos)
456
newpos = newpos + (dir.lookVector * inc)
457
if hit ~= nil then
458
if hit.Parent:FindFirstChild("Humanoid") ~= nil then
459
hum = hit.Parent.Humanoid
460
tTorso=hit.Parent.Torso
461
Damagefunc1(hit,20,40)
462
attackdebounce=false
463
--ADmg(hum,hit)
464
elseif hit.Parent.Parent ~= nil and hit.Parent.Parent:FindFirstChild("Humanoid") ~= nil then
465
hum = hit.Parent.Parent.Humanoid
466
tTorso=hit.Parent.Parent.Torso
467
Damagefunc1(hit.Parent.Parent.Torso,20,40)
468
attackdebounce=false
469
--ADmg(hum,hit)
470
end
471
MagicCircle(BrickColor.new("Gold"),CFrame.new(newpos),2,2,2,3,3,3)
472
MagicBlock(BrickColor.new("Gold"),CFrame.new(newpos),2,2,2,2,2,2)
473
end
474
until rangepos <= 0
475
end))
476
end
477
478
function shoottrail3(mouse,baseprt)
479
coroutine.resume(coroutine.create(function(v) 
480
local spreadvector = (Vector3.new(math.random(-spread,spread),math.random(-spread,spread),math.random(-spread,spread))) * (baseprt.Position-MMouse.Hit.p).magnitude/100
481
local dir = CFrame.new((baseprt.Position+MMouse.Hit.p)/2,MMouse.Hit.p+spreadvector)
482
local hit,pos = rayCast(baseprt.Position,dir.lookVector,10,Character)
483
local rangepos = range*50
484
local function drawtrail(From,To)
485
local effectsmsh = Instance.new("SpecialMesh")
486
effectsmsh.Scale = Vector3.new(1,1,1)
487
effectsmsh.Name = "Mesh"
488
effectsmsh.MeshType = "FileMesh"
489
effectsmsh.MeshId = "http://www.roblox.com/asset/?id=3270017"
490
local effectsg = Instance.new("Part")
491
effectsg.formFactor = 3
492
effectsg.CanCollide = false
493
effectsg.Name = "Eff"
494
effectsg.Locked = true
495
effectsg.Anchored = true
496
effectsg.Size = Vector3.new(0.2,0.2,0.2)
497
effectsg.Parent = workspace
498
effectsmsh.Parent = effectsg
499
effectsg.BrickColor = BrickColor.new("Gold")
500
effectsg.Reflectance = 0.25
501
local LP = From
502
local point1 = To
503
local mg = (LP - point1).magnitude
504
effectsmsh.Scale = Vector3.new(2,2,4)
505
effectsg.CFrame = CFrame.new((LP+point1)/2,point1) * CFrame.Angles(math.rad(90),0,0)
506
coroutine.resume(coroutine.create(function()
507
wait()
508
effectsg.Parent = nil 
509
end))
510
end
511
local newpos = baseprt.Position
512
local inc = rangepower/10
513
repeat
514
wait() 
515
rangepos = rangepos - 10
516
--dir = dir * CFrame.Angles(math.rad(-1),0,0)
517
hit,pos = rayCast(newpos,dir.lookVector,inc,Character)
518
drawtrail(newpos,pos)
519
        local list = game.Workspace:children()
520
        local torso = nil
521
        local dist = 100
522
        local temp = nil
523
        local human = nil
524
        local temp2 = nil
525
        for x = 1, #list do
526
                temp2 = list[x]
527
                if (temp2.className == "Model") and (temp2.Name~=Character.Name) then
528
                        temp = temp2:findFirstChild("Torso")
529
                        human = temp2:findFirstChild("Humanoid")
530
                        if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
531
                                if (temp.Position - pos).magnitude < dist then
532
                                        torso = temp
533
                                        dist = (temp.Position - pos).magnitude
534
                                end
535
                        end
536
                end
537
        end
538
if torso~=nil then
539
dir=CFrame.new(pos,torso.Position)
540
end
541
newpos = newpos + (dir.lookVector * inc)
542
if hit ~= nil then
543
rangepos = 0
544
if hit.Parent:FindFirstChild("Humanoid") ~= nil then
545
hum = hit.Parent.Humanoid
546
tTorso=hit.Parent.Torso
547
Damagefunc1(hit,20,30)
548
attackdebounce=false
549
--ADmg(hum,hit)
550
elseif hit.Parent.Parent ~= nil and hit.Parent.Parent:FindFirstChild("Humanoid") ~= nil then
551
hum = hit.Parent.Parent.Humanoid
552
tTorso=hit.Parent.Parent.Torso
553
Damagefunc1(hit.Parent.Parent.Torso,20,30)
554
attackdebounce=false
555
--ADmg(hum,hit)
556
end
557
        for i=1,math.random(3,6) do
558
        BreakEffect(BrickColor.new("Gold"),CFrame.new(newpos),0.5,math.random(5,20),0.5)
559
        end
560
        so("http://roblox.com/asset/?id=3264793",hit,1,math.random()+math.random()+1) 
561
MagicCircle(BrickColor.new("Gold"),CFrame.new(newpos),2,2,2,3,3,3)
562
MagicBlock(BrickColor.new("Gold"),CFrame.new(newpos),2,2,2,2,2,2)
563
end
564
until rangepos <= 0
565
end))
566
end
567
568
function MagicBlock(brickcolor,cframe,x1,y1,z1,x3,y3,z3)
569
local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
570
prt.Anchored=true
571
prt.CFrame=cframe
572
local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
573
coroutine.resume(coroutine.create(function() 
574
for i=0,1,0.1 do
575
wait()
576
prt.CFrame=prt.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
577
prt.Transparency=i
578
msh.Scale=msh.Scale+vt(x3,y3,z3)
579
end
580
prt.Parent=nil
581
end))
582
end
583
584
function MagicCircle(brickcolor,cframe,x1,y1,z1,x3,y3,z3)
585
local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
586
prt.Anchored=true
587
prt.CFrame=cframe
588
local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
589
coroutine.resume(coroutine.create(function() 
590
for i=0,1,0.1 do
591
wait()
592
prt.CFrame=prt.CFrame
593
prt.Transparency=i
594
msh.Scale=msh.Scale+vt(x3,y3,z3)
595
end
596
prt.Parent=nil
597
end))
598
end
599
600
function BlastEffect(brickcolor,cframe,x1,y1,z1,x2,y2,z2)
601
local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
602
prt.Anchored=true
603
prt.CFrame=cframe
604
local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=20329976",vt(0,0,0),vt(x1,y1,z1))
605
coroutine.resume(coroutine.create(function() 
606
for i=0,1,0.05 do
607
wait()
608
prt.Transparency=i
609
msh.Scale=msh.Scale+vt(x2,y2,z2)
610
end
611
prt.Parent=nil
612
end))
613
end
614
615
function BreakEffect(brickcolor,cframe,x1,y1,z1)
616
local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
617
prt.Anchored=true
618
prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
619
local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
620
coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) 
621
CF=Part.CFrame
622
Numbb=0
623
randnumb=math.random()-math.random()
624
for i=0,1,0.05 do
625
wait()
626
CF=CF*cf(0,1,0)
627
--Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0)
628
Part.CFrame=CF*euler(Numbb,0,0)
629
Part.Transparency=i
630
Numbb=Numbb+randnumb
631
end
632
Part.Parent=nil
633
end),prt,CF,Numbb,randnumb)
634
end
635-
                        c.Value=game.Players.LocalPlayer
635+
636
function SpecialEffect() 
637
local prt=part(3,workspace,1,0,BrickColor.new("White"),"Part",vt(1,1,1))
638
prt.Anchored=true
639
prt.CFrame=Torso.CFrame
640
local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(0.5,0.5,0.5))
641
coroutine.resume(coroutine.create(function(Part,Mesh) 
642
for i=0,1,0.2 do
643
wait(0)
644
Part.Transparency=i
645
Mesh.Scale=Mesh.Scale+vt(10,10,10)
646
end
647
prt.Parent=nil
648
end),prt,msh)
649
end 
650
651
function Lightning(p0,p1,tym,ofs,col,th,tra)
652
local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs}
653
for i=1,tym do 
654
local li = Instance.new("Part",workspace) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true  li.Transparency = tra or 0.4 li.BrickColor = BrickColor.new(col)
655
li.formFactor = "Custom" li.CanCollide = false li.Size = Vector3.new(th,th,magz/tym) local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)]) 
656
local trolpos = CFrame.new(curpos,p1)*CFrame.new(0,0,magz/tym).p+ofz
657
if tym == i then 
658
local magz2 = (curpos - p1).magnitude li.Size = Vector3.new(th,th,magz2)
659
li.CFrame = CFrame.new(curpos,p1)*CFrame.new(0,0,-magz2/2)
660
else
661
li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/tym/2)
662
end
663
curpos = li.CFrame*CFrame.new(0,0,magz/tym/2).p game.Debris:AddItem(li,.5)
664
end
665
end
666
667
function effect(Color,Ref,LP,P1,returnn)
668
local effectsmsh = Instance.new("BlockMesh")
669
effectsmsh.Scale = Vector3.new(0.4,1,0.4)
670
effectsmsh.Name = "Mesh"
671
local effectsg = Instance.new("Part")
672
effectsg.formFactor = 3
673
effectsg.CanCollide = false
674
effectsg.Name = "Eff"
675
effectsg.Locked = true
676
effectsg.Anchored = true
677
effectsg.Size = Vector3.new(0.2,1,0.2)
678
effectsg.Parent = workspace
679
effectsmsh.Parent = effectsg
680
effectsg.BrickColor = BrickColor.new(Color)
681
effectsg.Reflectance = Ref
682
local point1 = P1
683
local mg = (LP.p - point1.p).magnitude
684
effectsg.Size = Vector3.new(0.4,mg,0.4)
685
effectsg.CFrame = CFrame.new((LP.p+point1.p)/2,point1.p) * CFrame.Angles(math.rad(90),0,0)
686
if returnn then return effectsg end
687
coroutine.resume(coroutine.create(function()
688
if not returnn then
689
for i = 0 , 1 , 0.2 do
690
wait()
691
effectsg.Transparency = 1*i
692
effectsmsh.Scale = Vector3.new(0.4-0.4*i,1,0.4-0.4*i)
693
end
694
wait()
695
effectsg.Parent = nil
696
end
697
end))
698
end
699
700
Damagefunc1=function(hit,Damage,Knockback)
701
        if hit.Parent==nil then
702
                return
703
        end
704
        CPlayer=Bin 
705
        h=hit.Parent:FindFirstChild("Humanoid")
706
        if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then
707
        if attackdebounce == false then 
708
        attackdebounce = true 
709
        coroutine.resume(coroutine.create(function() 
710-
                        c.Value=game.Players.LocalPlayer
710+
711
        attackdebounce = false 
712
        end)) 
713
        Damage=Damage
714
--[[                if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then
715
                        return
716
                end]]
717
--                        hs(hit,1.2) 
718
                        c=Instance.new("ObjectValue")
719
                        c.Name="creator"
720
                        c.Value=owner
721
                        c.Parent=h
722
                        game:GetService("Debris"):AddItem(c,.5)
723
                Damage=Damage+math.random(0,10)
724
--                h:TakeDamage(Damage)
725
                blocked=false
726
                block=hit.Parent:findFirstChild("Block")
727
                if block~=nil then
728
                print("herp")
729
                if block.Value>0 then
730
                blocked=true
731
                block.Value=block.Value-1
732
                print(block.Value)
733
                end
734
                end
735
                if blocked==false then
736
--                h:TakeDamage(Damage)
737
                h.Health=h.Health-Damage
738
                showDamage(hit.Parent,Damage,.5)
739
                else
740
                h:TakeDamage(1)
741
                showDamage(hit.Parent,1,.5)
742
                end
743
                vp=Instance.new("BodyVelocity")
744
                vp.P=500
745
                vp.maxForce=Vector3.new(math.huge,0,math.huge)
746
--                vp.velocity=Character.Torso.CFrame.lookVector*Knockback
747
                vp.velocity=Head.CFrame.lookVector*Knockback+Head.Velocity/1.05
748
                if Knockback>0 then
749
                        vp.Parent=hit.Parent.Torso
750
                end
751
                game:GetService("Debris"):AddItem(vp,.25)
752
                game:GetService("Debris"):AddItem(r,.5)
753
                                c=Instance.new("ObjectValue")
754
                        c.Name="creator"
755
                        c.Value=Player
756
                        c.Parent=h
757
                        game:GetService("Debris"):AddItem(c,.5)
758
                CRIT=false
759
                hitDeb=true
760
                AttackPos=6
761
        end
762
        end 
763
end
764
Damagefuncbr=function(hit,Damage,Knockback)
765
        if hit.Parent==nil then
766
                return
767
        end
768-
                        c.Value=game.Players.LocalPlayer
768+
769
        h=hit.Parent:FindFirstChild("Humanoid")
770
        if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then
771
        if attackdebounce == false then 
772
        attackdebounce = true 
773
        coroutine.resume(coroutine.create(function() 
774
        wait(0.2) 
775
        attackdebounce = false 
776
        end)) 
777
        Damage=Damage
778
        for i=1,math.random(3,6) do
779
        BreakEffect(BrickColor.new("Gold"),hit.Parent.Torso.CFrame,0.5,math.random(5,20),0.5)
780
        end
781
        coroutine.resume(coroutine.create(function(Part) 
782
        for i=1,5 do
783
        wait()
784
        Part.CFrame=Head.CFrame*cf(0,0,-3)
785
        MagicBlock(BrickColor.new("Gold"),Part.CFrame*cf(0,0,0),1,1,1,1,1,1)
786
        end
787
        end),hit.Parent.Torso)
788
        so("http://roblox.com/asset/?id=3264793",hit.Parent.Torso,1,math.random()+math.random()+1) 
789
--[[                if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then
790
                        return
791
                end]]
792
--                        hs(hit,1.2) 
793
                        c=Instance.new("ObjectValue")
794
                        c.Name="creator"
795
                        c.Value=owner
796
                        c.Parent=h
797
                        game:GetService("Debris"):AddItem(c,.5)
798
                Damage=Damage+math.random(0,10)
799
--                h:TakeDamage(Damage)
800
                blocked=false
801
                block=hit.Parent:findFirstChild("Block")
802
                if block~=nil then
803
                print("herp")
804
                if block.Value>0 then
805
                blocked=true
806
                block.Value=block.Value-1
807
                print(block.Value)
808
                end
809
                end
810
                if blocked==false then
811
--                h:TakeDamage(Damage)
812
                h.Health=h.Health-Damage
813
                showDamage(hit.Parent,Damage,.5)
814
                else
815
                h:TakeDamage(1)
816
                showDamage(hit.Parent,1,.5)
817
                end
818
                vp=Instance.new("BodyVelocity")
819
                vp.P=500
820
                vp.maxForce=Vector3.new(math.huge,0,math.huge)
821
--                vp.velocity=Character.Torso.CFrame.lookVector*Knockback
822
                vp.velocity=Head.CFrame.lookVector*Knockback
823
                        vp.Parent=hit.Parent.Torso
824
                game:GetService("Debris"):AddItem(vp,1)
825
                                c=Instance.new("ObjectValue")
826
                        c.Name="creator"
827
                        c.Value=Player
828
                        c.Parent=h
829
                        game:GetService("Debris"):AddItem(c,.5)
830
                CRIT=false
831
                hitDeb=true
832
                AttackPos=6
833
        end
834
        end 
835
end
836
Damagefunc2=function(hit,Damage,Knockback)
837
        if attackdebounce == false then 
838
--        attackdebounce = true 
839
        coroutine.resume(coroutine.create(function() 
840
        wait(0.1) 
841
        attackdebounce = false 
842
        end)) 
843
        if hit.Parent==nil then
844
                return
845
        end
846
        CPlayer=Bin 
847
        blocked=false
848
        h=hit.Parent:FindFirstChild("Humanoid")
849
        if h~=nil and hit.Parent:FindFirstChild("Torso")~=nil then
850
                Damage=Damage
851
                        c=it("ObjectValue")
852
                        c.Name="creator"
853
                        c.Value=owner
854
                        c.Parent=h
855
                        game:GetService("Debris"):AddItem(c,.5)
856
--                        print(c.Value)
857
--[[                if math.random(0,99)+math.random()<=7.8 then
858
                        CRIT=true
859
                        Damage=Damage*2
860
                        s=it("Sound")
861
                        s.SoundId="http://www.roblox.com/asset/?id=2801263"
862
                        s.Volume=1
863
                        s.Pitch=2
864
                        s.Parent=hit
865
                        s.PlayOnRemove=true
866
                        s.Parent=nil
867
        
868
                end]]
869
                Damage=Damage+math.random(0,10)
870
--                Blood(hit.CFrame*cf(math.random(-10,10)/10,math.random(-10,10)/10,0),math.floor(Damage/2))
871
                blocked=false
872
                block=hit.Parent:findFirstChild("Block")
873
                if block~=nil then
874
                print("herp")
875
                if block.Value>0 then
876
                blocked=true
877
                block.Value=block.Value-3
878
                print(block.Value)
879
                end
880
                end
881
                if blocked==false then
882
--                h:TakeDamage(Damage)
883
                h.Health=h.Health-Damage
884
                showDamage(hit.Parent,Damage,.5)
885
                else
886
                h:TakeDamage(1)
887
                showDamage(hit.Parent,1,.5)
888
                end
889
--if blocked==false then
890
local angle = (hit.Position-(Torso.Position+Vector3.new(0,0,0))).unit
891
print(angle)
892
--hit.CFrame=CFrame.new(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0)
893
                rl=Instance.new("BodyAngularVelocity")
894
                rl.P=3000
895
                rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000
896
                rl.angularvelocity=Vector3.new(math.random(-50,50),math.random(-50,50),math.random(-50,50))
897
                rl.Parent=hit
898
coroutine.resume(coroutine.create(function(vel) 
899
wait(0.5) 
900
vel:Remove() 
901
end),rl) 
902
--end
903
local bodyVelocity=Instance.new("BodyVelocity")
904
bodyVelocity.velocity=angle*40+Vector3.new(0,0,0)
905
bodyVelocity.P=5000
906
bodyVelocity.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
907
bodyVelocity.Parent=hit
908
coroutine.resume(coroutine.create(function(Vel) 
909
wait(0.2) 
910
Vel:Remove() 
911
end),bodyVelocity) 
912
                                c=it("ObjectValue")
913
                        c.Name="creator"
914
                        c.Value=Player
915
                        c.Parent=h
916
                        game:GetService("Debris"):AddItem(c,.5)
917
                CRIT=false
918
                hitDeb=true
919
                AttackPos=6
920
        end
921
        end 
922
end
923
924
showDamage=function(Char,Dealt,du)
925
        m=Instance.new("Model")
926
        m.Name=tostring(Dealt)
927
        h=Instance.new("Humanoid")
928
        h.Health=0
929
        h.MaxHealth=0
930
        h.Parent=m
931
        c=Instance.new("Part")
932
        c.Transparency=0
933
        c.BrickColor=BrickColor:Red()
934
        if CRIT==true then
935
                c.BrickColor=BrickColor.new("Silver")
936
        end
937
        c.Name="Head"
938
        c.TopSurface=0
939
        c.BottomSurface=0
940
        c.formFactor="Plate"
941
        c.Size=Vector3.new(1,.4,1)
942
        ms=Instance.new("CylinderMesh")
943
        ms.Scale=Vector3.new(.8,.8,.8)
944
        if CRIT==true then
945
                ms.Scale=Vector3.new(1,1.25,1)
946
        end
947
        ms.Parent=c
948
        c.Reflectance=0
949
        Instance.new("BodyGyro").Parent=c
950
        c.Parent=m
951
        c.CFrame=CFrame.new(Char["Head"].CFrame.p+Vector3.new(0,1.5,0))
952
        f=Instance.new("BodyPosition")
953
        f.P=2000
954
        f.D=100
955
        f.maxForce=Vector3.new(math.huge,math.huge,math.huge)
956
        f.position=c.Position+Vector3.new(0,3,0)
957
        f.Parent=c
958
        game:GetService("Debris"):AddItem(m,.5+du)
959
        c.CanCollide=false
960
        m.Parent=workspace
961
        c.CanCollide=false
962
end
963
964
function oneslash()
965
attack=true
966
combo=1
967
for i=0,1,0.1 do
968
wait()
969
Neck.C0=necko*euler(0,0,1*i)
970
RW.C0=cf(0.5+1*i, 0.5, -0.5+0.5*i) * euler(1+2*i,0,0)
971
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5+1.5*i,0.4-0.4*i)
972
LW.C0=cf(-1+1*i, 0.5+0.6*i, -0.5) * euler(1+2*i,0,0)
973
LW.C1=cf(0, 0.5, 0) * euler(0,0,-1*i)
974
end
975
so("http://roblox.com/asset/?id=10209640",prt7,1,0.6) 
976
con1=hitbox.Touched:connect(function(hit) Damagefunc1(hit,25,20) end) 
977
for i=0,1,0.1 do
978
wait()
979
Neck.C0=necko*euler(0,0,1-2*i)
980
RW.C0=cf(1.5, 0.5, 0) * euler(3-3*i,-0.2*i,0)
981
RW.C1=cf(0, 0.5, 0) * euler(0,0,0)
982
LW.C0=cf(0.5*i, 1.1-1*i, -0.5) * euler(3-3.5*i,0.5*i,0)
983
LW.C1=cf(0, 0.5, 0) * euler(0,0,-1)
984
end
985
con1:disconnect()
986
wait(0.2)
987
--Neck.C0=necko
988
attack=false
989
end
990
991
function twoslash()
992
attack=true
993
combo=2
994
for i=0,1,0.1 do
995
wait()
996
Neck.C0=necko*euler(0,0,-1)
997
RW.C0=cf(1.5-0.5*i, 0.5, -0.5*i) * euler(1.5*i,-0.2+1.77*i,0)
998
RW.C1=cf(0, 0.5, 0) * euler(-0.5*i,0,0)
999
LW.C0=cf(0.5-1*i, 0.1+0.4*i, -0.5+0.5*i) * euler(-0.5+2.07*i,0.5+1.07*i,0)
1000
LW.C1=cf(0, 0.5, 0) * euler(0,0,-1+1*i)
1001
end
1002
so("http://roblox.com/asset/?id=10209640",prt7,1,0.7) 
1003
con1=hitbox.Touched:connect(function(hit) Damagefunc1(hit,25,30) end) 
1004
for i=0,1,0.1 do
1005
wait()
1006
Neck.C0=necko*euler(0,0,-1+2*i)
1007
RW.C0=cf(1.5-0.5, 0.5, -0.5) * euler(1.5,1.57,0)
1008
RW.C1=cf(0, 0.5, 0) * euler(-0.5+2*i,0,0)
1009
LW.C0=cf(-0.5+1*i, 0.5, -1*i) * euler(1.57,1.57,0)
1010
LW.C1=cf(0, 0.5, 0) * euler(1*i,0,0)
1011
end
1012
con1:disconnect()
1013
attack=false
1014
end
1015
1016
function Shoot()
1017
attack=true
1018
shoottrail(mouse,prt7)
1019
so("rbxasset://sounds/Launching rocket.wav",prt7,1,3) 
1020
for i=0,1,0.2 do
1021
wait()
1022
wld1.C0=euler(1.57,0,0)*cf(0,1,0)
1023
RW.C0=cf(1.5, 0.5, 0) * euler(0,1,0)
1024
RW.C1=cf(0, 0.5, 0) * euler(0.3*i,0,0)
1025
LW.C0=cf(-1.5, 0.5, -0.5) * euler(1-0.3*i,1,0)
1026
end
1027
for i=0,1,0.2 do
1028
wait()
1029
wld1.C0=euler(1.57,0,0)*cf(0,1,0)
1030
RW.C0=cf(1.5, 0.5, 0) * euler(0,1,0)
1031
RW.C1=cf(0, 0.5, 0) * euler(0.3-0.3*i,0,0)
1032
LW.C0=cf(-1.5, 0.5, -0.5) * euler(1-0.3+0.3*i,1,0)
1033
end
1034
attack=false
1035
end
1036
1037
function GroundBlast()
1038
attack=true
1039
Humanoid.WalkSpeed=0
1040
for i=0,1,0.1 do
1041
wait()
1042
Neck.C0=necko
1043
wld1.C0=euler(1.57+0.4+2.64*i,0,0)*cf(0,1,0)
1044
RW.C0=cf(0.5+1*i, 0.5, -0.5+0.5*i) * euler(1+2.5*i,0,0)
1045
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5+1.5*i,0.4-0.4*i)
1046
LW.C0=cf(-1+1*i, 0.5+0.5*i, -0.5) * euler(1+2.5*i,0,1*i)
1047
end
1048
so("http://www.roblox.com/asset/?id=2101137",prt7,1,0.75) 
1049
for i=1,25 do
1050
wait()
1051
MagicCircle(BrickColor.new("Gold"),prt7.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)),0.1,2,0.1,0.5,5,0.5)
1052
end
1053
for i=0,1,0.2 do
1054
wait()
1055
RW.C0=cf(1.5, 0.5, 0) * euler(3.5-2*i,0,0)
1056
LW.C0=cf(0.3*i, 1-0.5*i, -0.5) * euler(3.5-2.3*i,0,1)
1057
end
1058
so("http://www.roblox.com/asset/?id=2697431",prt7,1,0.2) 
1059
BlastPos=prt7.Position+vt(0,-1,0)
1060
MagicCircle(BrickColor.new("Gold"),prt7.CFrame*cf(0,1,0),1,1,1,10,10,10)
1061
MagicBlock(BrickColor.new("Silver"),prt7.CFrame*cf(0,1,0),1,1,1,5,5,5)
1062
MagicBlock(BrickColor.new("Gold"),prt7.CFrame*cf(0,1,0),1,1,1,7,7,7)
1063
local c = game.Workspace:GetChildren()
1064
for i = 1, #c do
1065
local hum = c[i]:findFirstChild("Humanoid")
1066
if hum ~= nil and hum.Health ~= 0 then
1067
local head = c[i]:findFirstChild("Head")
1068
if head ~= nil then
1069
local targ = head.Position - BlastPos
1070
local mag = targ.magnitude
1071
if mag <= 20 and c[i].Name ~= Player.Name then 
1072
attackdebounce=false
1073
Damagefunc2(head,25,30)
1074
end
1075
end
1076
end
1077
end
1078
wait(0.5)
1079
for i=0,1,0.1 do
1080
wait()
1081
wld1.C0=euler(4.61-2.64*i,0,0)*cf(0,1,0)
1082
RW.C0=cf(1.5-1*i, 0.5, -0.5*i) * euler(1.5-0.5*i,0,0)
1083
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5*i,0.4*i)
1084
LW.C0=cf(0.3-1.3*i, 0.5, -0.5) * euler(1.2-0.2*i,0,1-1*i)
1085
end
1086
Humanoid.WalkSpeed=16
1087
attack=false
1088
end
1089
1090
function BreakSlash()
1091
attack=true
1092
coroutine.resume(coroutine.create(function()
1093
bg.maxTorque = vt(math.huge,math.huge,math.huge) 
1094
bg.P = 20000
1095
bg.Parent = Torso
1096
--wld1.C0 = euler(0,0,0) * cf(0,0,0) 
1097
while attack==true and spinning==false do
1098
wait()
1099
local pos4 = vt(workspace.CurrentCamera.CoordinateFrame.X,Head.Position.Y,workspace.CurrentCamera.CoordinateFrame.Z)
1100
bg.cframe = cf(Head.Position,pos4) * euler(0,3.14+GyroNumb,0) * cf(0,0,0) --cf(Torso.Position,MMouse.Hit.p) * 
1101
bg.Parent = Head
1102
local pos5 = Vector3.new(MMouse.Hit.p.x,Head.Position.Y,MMouse.Hit.p.z)
1103
offset=(Torso.Position.y-MMouse.Hit.p.y)/60
1104
mag=(Torso.Position-MMouse.Hit.p).magnitude/80
1105
offset=offset/mag 
1106
end
1107
for i=0,1,0.1 do
1108
wait()
1109
bg.Parent=nil
1110
end
1111
end))
1112
for i=0,1,0.1 do
1113
wait()
1114
Neck.C0=necko*euler(0,0,-1*i)
1115
RW.C0=cf(0.5, 0.5, -0.5) * euler(1+0.57*i,0,0)
1116
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5,0.4+0.4*i)
1117
LW.C0=cf(-1, 0.5, -0.5+0.5*i) * euler(1+0.57*i,0,0)
1118
LW.C1=cf(0, 0.5, 0) * euler(0,0,0)
1119
end
1120
wait(0.3)
1121
so("http://roblox.com/asset/?id=10209640",prt7,1,0.7) 
1122
con1=hitbox.Touched:connect(function(hit) Damagefuncbr(hit,25,1) end) 
1123
for i=0,1,0.1 do
1124
wait()
1125
MagicBlock(BrickColor.new("Silver"),hitbox.CFrame*cf(math.random()+math.random(-1,0),math.random()+math.random(-2,1),math.random()+math.random(-1,0)),1,1,1,0.5,0.5,0.5)
1126
wld1.C0=euler(1.57+0.4+0.4*i,0,0)*cf(0,1,0)
1127
Neck.C0=necko*euler(0,0,-1+2.57*i)
1128
RW.C0=cf(0.5+1*i, 0.5, -0.5+0.5*i) * euler(1.57,0,0)
1129
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5,0.8-1.6*i)
1130
LW.C0=cf(-1+1.5*i, 0.5, -0.5*i) * euler(1.57,0,0)
1131
LW.C1=cf(0, 0.5, 0) * euler(0,0,-1*i)
1132
end
1133
con1:disconnect()
1134
DoBreak=false
1135
for i=1,10 do
1136
wait()
1137
if BreakNumb==1 then
1138
DoBreak=true
1139
end
1140
end
1141
if DoBreak==true then
1142
for i=0,1,0.2 do
1143
wait()
1144
wld1.C0=euler(1.57+0.4+0.4-0.4*i,0,0)*cf(0,1,0)
1145
Neck.C0=necko*euler(0,0,-1+2.57-2.57*i)
1146
RW.C0=cf(1.5-1*i, 0.5, -0.5*i) * euler(1.57,0,0)
1147
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5,0.8-1.6+1.6*i)
1148
LW.C0=cf(-1+1.5-1.5*i, 0.5, -0.5+0.5*i) * euler(1.57,0,0)
1149
LW.C1=cf(0, 0.5, 0) * euler(0,0,-1+1*i)
1150
end
1151
so("http://www.roblox.com/asset/?id=2101137",prt7,1,0.8) 
1152
for i=0,10 do
1153
wait()
1154
MagicBlock(BrickColor.new("Silver"),hitbox.CFrame,1,1,1,2,2,2)
1155
end
1156
local vel2 = Instance.new("BodyVelocity")
1157
vel2.Parent = Torso
1158
vel2.maxForce = vt(4e+005,4e+005,4e+005)*1
1159
vel2.velocity = Head.CFrame.lookVector*20
1160
bg.Parent=Torso 
1161
CF = Torso.CFrame 
1162
con1=hitbox.Touched:connect(function(hit) Damagefuncbr(hit,10,10) end) 
1163
spinning=true
1164
durnumb=0
1165
for i=1,5 do
1166
for i=0,1,0.1 do
1167
if durnumb==7 then
1168
so("rbxasset://sounds\\swordlunge.wav",prt7,0.5,0.7) 
1169
durnumb=0
1170
end
1171
bg.Parent=Torso 
1172
bg.cframe=CF*euler(0,-6.283*i,0) 
1173
MagicBlock(BrickColor.new("Silver"),hitbox.CFrame*cf(math.random()+math.random(-1,0),math.random()+math.random(-2,1),math.random()+math.random(-1,0)),1,1,1,0.5,0.5,0.5)
1174
durnumb=durnumb+1
1175
wait()
1176
end
1177
end
1178
spinning=false
1179
con1:disconnect()
1180
vel2.Parent=nil
1181
bg.Parent=nil
1182
end
1183
wait(1)
1184
bg.P = 9000
1185
wld1.C0=euler(1.57+0.4,0,0)*cf(0,1,0)
1186
Neck.C0=necko
1187
RW.C0=cf(0.5, 0.5, -0.5) * euler(1,0,0)
1188
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5,0.4)
1189
LW.C0=cf(-1, 0.5, -0.5) * euler(1,0,0)
1190
LW.C1=cf(0, 0.5, 0) * euler(0,0,0)
1191
attack=false
1192
end
1193
1194
function GroundWave()
1195
attack=true
1196
for i=0,1,0.1 do
1197
wait()
1198
wld1.C0=euler(1.57+0.4+2.64*i,0,-0.4*i)*cf(0,1,0)
1199
RW.C0=cf(0.5, 0.5+1*i, -0.5) * euler(1+2.5*i,0,0)
1200
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5+1.5*i,0.4)
1201
LW.C0=cf(-1+0.5*i, 0.5+1*i, -0.5) * euler(1+2.5*i,0,0)
1202
LW.C1=cf(0, 0.5, 0) * euler(0,0,-0.4*i)
1203
end
1204
so("http://roblox.com/asset/?id=10209640",prt7,1,0.6) 
1205
for i=0,1,0.1 do
1206
wait()
1207
RW.C0=cf(0.5, 1.5-1*i, -0.5) * euler(3.5-2*i,0,0)
1208
LW.C0=cf(-0.5, 1.5-1*i, -0.5) * euler(3.5-2*i,0,0)
1209
end
1210
coroutine.resume(coroutine.create(function()
1211
CF=Torso.CFrame
1212
numb=-5
1213
BaseCF=CF
1214
for i=1,8 do
1215
BaseCF=CF*cf(0,-2,numb)
1216
local baseprt=part(3,workspace,0,1,BrickColor.new("Gold"),"Part1",vt(1,1,1))
1217
baseprt.Anchored=true
1218
baseprt.CFrame=BaseCF
1219
game:GetService("Debris"):AddItem(baseprt,.5)
1220
local c = game.Workspace:GetChildren()
1221
for i = 1, #c do
1222
local hum = c[i]:findFirstChild("Humanoid")
1223
if hum ~= nil and hum.Health ~= 0 then
1224
local head = c[i]:findFirstChild("Head")
1225
if head ~= nil then
1226
local targ = head.Position - baseprt.Position
1227
local mag = targ.magnitude
1228
if mag <= 7 and c[i].Name ~= Player.Name then 
1229
attackdebounce=false
1230
Damagefunc1(head,10,30)
1231
end
1232
end
1233
end
1234
end
1235
so("http://www.roblox.com/asset/?id=2697431",baseprt,5,0.4) 
1236
MagicBlock(BrickColor.new("Gold"),BaseCF,0.5,0.5,0.5,2,2,2)
1237
BlastEffect(BrickColor.new("Gold"),BaseCF,0.5,0.5,0.5,0.5,0.5,0.5)
1238
numb=numb-3
1239
wait(0.2)
1240
end
1241
end))
1242
wait(1)
1243
for i=0,1,0.1 do
1244
wait()
1245
wld1.C0=euler(1.57+0.4+2.64-2.64*i,0,-0.4+0.4*i)*cf(0,1,0)
1246
RW.C0=cf(0.5, 0.5, -0.5) * euler(1.5-0.5*i,0,0)
1247
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5*i,0.4)
1248
LW.C0=cf(-0.5-0.5*i, 0.5, -0.5) * euler(1.5-0.5*i,0,0)
1249
LW.C1=cf(0, 0.5, 0) * euler(0,0,-0.4+0.4*i)
1250
end
1251
attack=false
1252
end
1253
1254
function MegaBlast()
1255
attack=true
1256
so("http://www.roblox.com/asset/?id=2974000",prt7,1,0.6) 
1257
MagicCircle(BrickColor.new("Gold"),prt7.CFrame,1,1,1,2,2,2)
1258
for i=1,10 do
1259
wait(0.1)
1260
MagicBlock(BrickColor.new("Gold"),prt7.CFrame*cf(math.random(-1,1),math.random(-1,1),math.random(-1,1)),0,0,0,0.5,0.5,0.5)
1261
end
1262
wait(0.5)
1263
so("http://www.roblox.com/asset/?id=2974249",prt7,1,0.6) 
1264
so("http://www.roblox.com/asset?id=1369158",prt7,1,2) 
1265
shoottrail2(mouse,prt7)
1266
MagicCircle(BrickColor.new("Gold"),prt7.CFrame,1,1,1,3,3,3)
1267
attack=false
1268
end
1269
1270
function BreakStab()
1271
attack=true
1272
doringeffect=true
1273
for i=0,1,0.1 do
1274
wait()
1275
Neck.C0=necko*euler(0,0,1+1*i)
1276
RW.C0=cf(1.5, 0.5, 0) * euler(0,1,0.5*i)
1277
LW.C0=cf(-1.5, 0.5, -0.5) * euler(1,1,0.5*i)
1278
end
1279
so("http://www.roblox.com/asset/?id=2101137",prt7,1,0.75) 
1280
MagicCircle(BrickColor.new("Gold"),prt7.CFrame,1,1,1,2,2,2)
1281
local ring=part(3,modelzorz,0,1,BrickColor.new("Gold"),"Ring",vt(1,1,1))
1282
local ringmsh=mesh("SpecialMesh",ring,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(2,2,4))
1283
local ringwld=weld(ring,ring,prt7,euler(0,1.57,0))
1284
coroutine.resume(coroutine.create(function(Part,Weld)
1285
for i=1,0,-0.02 do
1286
wait()
1287
Part.Transparency=i
1288
Weld.C0=Weld.C0*euler(1,0,0)
1289
MagicBlock(BrickColor.new("Gold"),Part.CFrame*cf(0,1,0),0,0,0,0.5,0.5,0.5)
1290
end
1291
while doringeffect==true do
1292
wait()
1293
Weld.C0=Weld.C0*euler(1,0,0)
1294
MagicBlock(BrickColor.new("Gold"),Part.CFrame*cf(0,1,0),0,0,0,0.5,0.5,0.5)
1295
end
1296
end),ring,ringwld)
1297
wait(2)
1298
doringeffect=false
1299
for i=0,1,0.1 do
1300
wait()
1301
Neck.C0=necko*euler(0,0,2)
1302
RW.C0=cf(1.5, 0.5, 0) * euler(1.57*i,1+0.57*i,0.5-0.5*i)
1303
RW.C1=cf(0, 0.5, 0) * euler(0.5*i,0,0)
1304
LW.C0=cf(-1.5, 0.5, -0.5) * euler(1+0.57*i,1+0.57*i,0.5-0.5*i)
1305
end
1306
so("http://roblox.com/asset/?id=10209640",prt7,1,0.7) 
1307
for i=0,1,0.1 do
1308
wait()
1309
Neck.C0=necko*euler(0,0,2-2*i)
1310
end
1311
ring.Parent=nil
1312
shoottrail3(mouse,prt7)
1313
for i=0,1,0.1 do
1314
wait()
1315
Neck.C0=necko*euler(0,0,-2*i)
1316
end
1317
wait(1)
1318
for i=0,1,0.1 do
1319
wait()
1320
Neck.C0=necko*euler(0,0,-2+3*i)
1321
RW.C0=cf(1.5, 0.5, 0) * euler(1.57-1.57*i,1.57-0.57*i,0)
1322
RW.C1=cf(0, 0.5, 0) * euler(0.5-0.5*i,0,0)
1323
LW.C0=cf(-1.5, 0.5, -0.5) * euler(1.57-0.57*i,1.57-0.57*i,0)
1324
end
1325
attack=false
1326
end
1327
1328
function ob1d(mouse) 
1329
if attack == true then return end 
1330
hold=true
1331
if Mode=="Sword" then
1332
attack=true
1333
coroutine.resume(coroutine.create(function()
1334
bg.maxTorque = vt(math.huge,math.huge,math.huge) 
1335
bg.P = 9000
1336
bg.Parent = Torso
1337
--wld1.C0 = euler(0,0,0) * cf(0,0,0) 
1338
while attack==true do
1339
wait()
1340
local pos4 = vt(workspace.CurrentCamera.CoordinateFrame.X,Head.Position.Y,workspace.CurrentCamera.CoordinateFrame.Z)
1341
bg.cframe = cf(Head.Position,pos4) * euler(0,3.14+GyroNumb,0) * cf(0,0,0) --cf(Torso.Position,MMouse.Hit.p) * 
1342
bg.Parent = Head
1343
local pos5 = Vector3.new(MMouse.Hit.p.x,Head.Position.Y,MMouse.Hit.p.z)
1344
offset=(Torso.Position.y-MMouse.Hit.p.y)/60
1345
mag=(Torso.Position-MMouse.Hit.p).magnitude/80
1346
offset=offset/mag 
1347
end
1348
for i=0,1,0.1 do
1349
wait()
1350
bg.Parent=nil
1351
end
1352
end))
1353
if combo==0 then
1354
oneslash()
1355
elseif combo==1 then
1356
twoslash()
1357
else
1358
wait(0.3)
1359
Neck.C0=necko
1360
RW.C0=cf(0.5, 0.5, -0.5) * euler(1,0,0)
1361
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5,0.4)
1362
LW.C0=cf(-1, 0.5, -0.5) * euler(1,0,0)
1363
LW.C1=cf(0, 0.5, 0) * euler(0,0,0)
1364
attack=false
1365
end
1366
coroutine.resume(coroutine.create(function() 
1367
wait(0.5)
1368
if attack==false then
1369
combo=0
1370
Neck.C0=necko
1371
RW.C0=cf(0.5, 0.5, -0.5) * euler(1,0,0)
1372
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5,0.4)
1373
LW.C0=cf(-1, 0.5, -0.5) * euler(1,0,0)
1374
LW.C1=cf(0, 0.5, 0) * euler(0,0,0)
1375
end
1376
end))
1377
elseif Mode=="Cannon" then
1378
Shoot()
1379
end
1380
end 
1381
1382
function ob1u(mouse) 
1383
hold = false 
1384
end 
1385
1386
buttonhold = false 
1387
1388
eul=0
1389
BreakNumb=0
1390
function key(key) 
1391
if key=="x" then
1392
BreakNumb=BreakNumb+1
1393
coroutine.resume(coroutine.create(function()
1394
wait()
1395
BreakNumb=0
1396
end))
1397
end
1398
if attack == true then return end 
1399
if key=="f" then
1400
BreakEffect(BrickColor.new("Gold"),Torso.CFrame,0.5,math.random(5,20),0.5)
1401
end
1402
if Mode=="Sword" then
1403
if key=="z" then
1404
GroundBlast()
1405
end
1406
if key=="x" then
1407
BreakSlash()
1408
end
1409
if key=="c" then
1410
GroundWave()
1411
end
1412
elseif Mode=="Cannon" then
1413
if key=="z" then
1414
MegaBlast()
1415
end
1416
if key=="x" then
1417
BreakStab()
1418
end
1419
end
1420
if key=="v" then
1421
if Mode=="Sword" then
1422
Mode="Cannon"
1423
for i=0,1,0.1 do
1424
wait()
1425
wld1.C0=euler(1.57+0.4-0.4*i,0,0)*cf(0,1,0)
1426
RW.C0=cf(0.5+1*i, 0.5, -0.5+0.5*i) * euler(1+1.5*i,0,0)
1427
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5+1.5*i,0.4-0.4*i)
1428
LW.C0=cf(-1+1.3*i, 0.5, -0.5-0.3*i) * euler(1+1.7*i,0,1*i)
1429
end
1430
so("rbxasset://sounds\\unsheath.wav",prt7,1,0.5) 
1431
for i=0,1,0.2 do
1432
wait()
1433
BladeNumb=0.8+0.7*i
1434
msh6.Scale=vt(0.5,0.5,1.3+1.4*i)
1435
RW.C0=cf(1.5, 0.5, 0) * euler(2.5-1*i,0,0)
1436
LW.C0=cf(0.3, 0.5, -0.8) * euler(2.7-1.2*i,0,1)
1437
end
1438
for i=0,1,0.1 do
1439
wait()
1440
RW.C0=cf(1.5, 0.5, 0) * euler(2.5-1+0.3*i,0,0)
1441
LW.C0=cf(0.3, 0.5, -0.8) * euler(2.7-1.2+0.4*i,0,1)
1442
end
1443
cannonmode=true
1444
coroutine.resume(coroutine.create(function()
1445
bg.maxTorque = vt(math.huge,math.huge,math.huge) 
1446
bg.P = 9000
1447
bg.Parent = Torso
1448
--wld1.C0 = euler(0,0,0) * cf(0,0,0) 
1449
while cannonmode==true do
1450
wait()
1451
local pos4 = vt(workspace.CurrentCamera.CoordinateFrame.X,Head.Position.Y,workspace.CurrentCamera.CoordinateFrame.Z)
1452
bg.cframe = cf(Head.Position,pos4) * euler(0,3.14+GyroNumb,0) * cf(0,0,0) --cf(Torso.Position,MMouse.Hit.p) * 
1453
bg.Parent = Head
1454
local pos5 = Vector3.new(MMouse.Hit.p.x,Head.Position.Y,MMouse.Hit.p.z)
1455
offset=(Torso.Position.y-MMouse.Hit.p.y)/60
1456
mag=(Torso.Position-MMouse.Hit.p).magnitude/80
1457
offset=offset/mag 
1458
end
1459
for i=0,1,0.1 do
1460
wait()
1461
bg.Parent=nil
1462
end
1463
end))
1464
for i=0,1,0.1 do
1465
wait()
1466
Neck.C0=necko*euler(0,0,1*i)
1467
RW.C0=cf(1.5, 0.5, 0) * euler(1.8-1.8*i,1*i,0)
1468
LW.C0=cf(0.3-1.8*i, 0.5, -0.8+0.3*i) * euler(1.9-0.9*i,1*i,1-1*i)
1469
end
1470
elseif Mode=="Cannon" then
1471
Mode="Sword"
1472
for i=0,1,0.1 do
1473
wait()
1474
Neck.C0=necko*euler(0,0,1-1*i)
1475
RW.C0=cf(1.5, 0.5, 0) * euler(1.5*i,1-1*i,0)
1476
LW.C0=cf(-1.5+1.7*i, 0.5, -0.5-0.1*i) * euler(1+0.2*i,1-1*i,1*i)
1477
end
1478
cannonmode=false
1479
so("rbxasset://sounds\\unsheath.wav",prt7,1,0.7) 
1480
for i=0,1,0.1 do
1481
wait()
1482
BladeNumb=1.5-0.7*i
1483
msh6.Scale=vt(0.5,0.5,2.7-1.4*i)
1484
RW.C0=cf(1.5, 0.5, 0) * euler(1.5+0.5*i,0,0)
1485
LW.C0=cf(0.2, 0.5+0.2*i, -0.6) * euler(1.2+0.6*i,0,1)
1486
end
1487
for i=0,1,0.1 do
1488
wait()
1489
wld1.C0=euler(1.57+0.4*i,0,0)*cf(0,1,0)
1490
RW.C0=cf(1.5-1*i, 0.5, -0.5*i) * euler(2-1*i,0,0)
1491
RW.C1=cf(0, 0.5, 0) * euler(0,-1.5*i,0.4*i)
1492
LW.C0=cf(0.2-1.2*i, 0.7-0.2*i, -0.6+0.1*i) * euler(1.8-0.8*i,0,1-1*i)
1493
end
1494
end
1495
end
1496
wait(5)
1497
combo=0
1498
end 
1499
1500
function key2(key) 
1501
end 
1502
1503
function s(mouse) 
1504
mouse.Button1Down:connect(function() ob1d(mouse) end) 
1505
mouse.Button1Up:connect(function() ob1u(mouse) end) 
1506
mouse.KeyDown:connect(key) 
1507
mouse.KeyUp:connect(key2) 
1508
unsheathed = true 
1509
player = Player 
1510
ch = Character 
1511
MMouse = mouse 
1512
RSH = ch.Torso["Right Shoulder"] 
1513
LSH = ch.Torso["Left Shoulder"] 
1514
-- 
1515
RSH.Parent = nil 
1516
LSH.Parent = nil 
1517
-- 
1518
RW.Part0 = ch.Torso 
1519
RW.C0 = CFrame.new(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5) 
1520
RW.C1 = CFrame.new(0, 0.5, 0) 
1521
RW.Part1 = ch["Right Arm"] 
1522
RW.Parent = ch.Torso 
1523
--_G.R = RW 
1524
-- 
1525
LW.Part0 = ch.Torso 
1526
LW.C0 = CFrame.new(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8) 
1527
LW.C1 = CFrame.new(0, 0.5, 0) 
1528
LW.Part1 = ch["Left Arm"] 
1529
LW.Parent = ch.Torso 
1530
--_G.L = LW 
1531
--
1532
equipanim() 
1533
end 
1534
1535
function ds(mouse) 
1536
hideanim() 
1537
wait(0) 
1538
RW.Parent = nil 
1539
LW.Parent = nil 
1540
RSH.Parent = player.Character.Torso 
1541
LSH.Parent = player.Character.Torso 
1542
end 
1543
1544
Bin.Selected:connect(s) 
1545
Bin.Deselected:connect(ds) 
1546
print("Blast Blade loaded.")