View difference between Paste ID: k8k0mN1C and VS3p1J0x
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
3
local RealPlayer = Player
4
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
5
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------==Made by ROBLOX_SCRIPT_BUILD(solidgoldbrandon)==--
6
--==Santoryu==--
7
8
--script:remove()
9
local player=game.Players.LocalPlayer
10
local char=player.Character
11
repeat wait() until player and char
12
local torso=char.Torso
13
local head=char.Head
14
local human=char.Humanoid
15
local hat
16
for i, v in pairs(char:children()) do if v:isA("Hat") then hat=v end end
17
local arm={Left=char["Left Arm"], Right=char["Right Arm"]}
18
local leg={Left=char["Left Leg"], Right=char["Right Leg"]}
19
local c=function(f) coroutine.resume(coroutine.create(f)) end
20
local p=function(f) pcall(f) end
21
local add={
22
	Part=function(par, a, c, col, t, s, cf)
23
		local p=Instance.new("Part", par) p.TopSurface="Smooth" p.BottomSurface="Smooth" p.formFactor="Custom" p.Anchored=a p.CanCollide=c p.BrickColor=BrickColor.new(col) p.Transparency=t p.Size=s p.CFrame=cf or CFrame.new()
24
		return p
25
	end,	
26
	Wedge=function(par, a, c, col, t, s, cf)
27
		local p=Instance.new("WedgePart", par) p.TopSurface="Smooth" p.BottomSurface="Smooth" p.formFactor="Custom" p.Anchored=a p.CanCollide=c p.BrickColor=BrickColor.new(col) p.Transparency=t p.Size=s p.CFrame=cf or CFrame.new()
28
		return p
29
	end,
30
	Weld=function(par, p1, cf)
31
		local w=Instance.new("Weld", par) w.Part0=w.Parent or par w.Part1=p1 w.C1=cf or CFrame.new()
32
		return w
33
	end,
34
	Mesh=function(ins, par, s, of, t)
35
		local m=Instance.new(ins, par) m.Scale=s or Vector3.new() m.Offset=of or Vector3.new() pcall(function() m.MeshType=t end)
36
		return m
37
	end
38
}
39
local scriptname="Santoryu" --Name here
40
pcall(function() player.Backpack[scriptname]:remove() char[scriptname]:remove() char[scriptname.."B"]:remove() player.PlayerGui[scriptname]:remove()  end)
41
local model=Instance.new("Model", char) model.Name=scriptname
42
local modelB=Instance.new("Model", char) modelB.Name=scriptname.."B"
43
local gui=Instance.new("ScreenGui", player.PlayerGui) gui.Name=scriptname
44
local sound=Instance.new("Sound", char)
45
local bin=Instance.new("HopperBin", player.Backpack) bin.Name=model.Name
46
local skincolor="White"
47
local body={}
48
local animate={}
49
local obj={}
50
function createParts()
51
	--==PARTS==--
52
	body.Head=head:clone() body.Head.Parent=model body.Head.BrickColor=BrickColor.new(skincolor) body.Head.Transparency=0
53
	body.Torso=add.Part(model, false, false, skincolor, 0, Vector3.new(2, 2, 1), nil)
54
	body.ArmLeft, body.ArmRight=add.Part(model, false, false, skincolor, 0, Vector3.new(1, 1, 1), nil), add.Part(model, false, false, skincolor, 0, Vector3.new(1, 1, 1), nil)
55
	body.LegLeft, body.LegRight=add.Part(model, false, false, skincolor, 0, Vector3.new(1, 1, 1), nil), add.Part(model, false, false, skincolor, 0, Vector3.new(1, 1, 1), nil)
56
	p(function() for i, v in pairs(char:children()) do v.Transparency=1 end end)
57
	p(function() for i, v in pairs(char:children()) do v["face"]:clone().Parent=body.Head v["face"]:remove() end end)
58
	p(function() for i, v in pairs(char:children()) do if v.ClassName=="Hat" then v:remove() end end end)
59
	--==WELDS==--
60
	body.HeadW=add.Weld(body.Head, body.Torso, CFrame.new(0, 1.5, 0))
61
	body.TorsoW=add.Weld(body.Torso, torso, nil)
62
	body.ArmLeftW, body.ArmRightW=add.Weld(body.ArmLeft, body.Torso, CFrame.new(-1.5, .5, 0)), add.Weld(body.ArmRight, body.Torso, CFrame.new(1.5, .5, 0))
63
	body.LegLeftW, body.LegRightW=add.Weld(body.LegLeft, body.Torso, CFrame.new(-.5, -1.5, 0)), add.Weld(body.LegRight, body.Torso, CFrame.new(.5, -1.5, 0))
64
	--==MESHES==--
65
	add.Mesh("BlockMesh", body.ArmLeft, Vector3.new(1, 2, 1), Vector3.new(0, -.5, 0), nil)
66
	add.Mesh("BlockMesh", body.ArmRight, Vector3.new(1, 2, 1), Vector3.new(0, -.5, 0), nil)
67
	add.Mesh("BlockMesh", body.LegLeft, Vector3.new(1, 2, 1), Vector3.new(0, -.5, 0), nil)
68
	add.Mesh("BlockMesh", body.LegRight, Vector3.new(1, 2, 1), Vector3.new(0, -.5, 0), nil)
69
	---------------------------------------------------------------------------------------
70
	animate={
71
		["Head"]=function(cf) p(function() for i, v in pairs(model:children()) do v.Transparency=0 end end) leg.Left.Transparency=1 leg.Right.Transparency=1
72
			body.HeadW.C1=CFrame.new(0, 1.5, 0)*cf
73
		end;
74
		["Torso"]=function(cf) p(function() for i, v in pairs(model:children()) do v.Transparency=0 end end) leg.Left.Transparency=1 leg.Right.Transparency=1
75
			body.TorsoW.C1=cf
76
		end;
77
		["ArmLeft"]=function(cf) p(function() for i, v in pairs(model:children()) do v.Transparency=0 end end) leg.Left.Transparency=1 leg.Right.Transparency=1
78
			body.ArmLeftW.C1=CFrame.new(-1.5, .5, 0)*cf
79
		end;
80
		["ArmRight"]=function(cf) p(function() for i, v in pairs(model:children()) do v.Transparency=0 end end) leg.Left.Transparency=1 leg.Right.Transparency=1
81
			body.ArmRightW.C1=CFrame.new(1.5, .5, 0)*cf
82
		end;
83
		["LegLeft"]=function(cf) p(function() for i, v in pairs(model:children()) do v.Transparency=0 end end) leg.Left.Transparency=1 leg.Right.Transparency=1
84
			body.LegLeftW.C1=CFrame.new(-.5, -1.5, 0)*cf
85
		end;
86
		["LegRight"]=function(cf) p(function() for i, v in pairs(model:children()) do v.Transparency=0 end end) leg.Left.Transparency=1 leg.Right.Transparency=1
87
			body.LegRightW.C1=CFrame.new(.5, -1.5, 0)*cf
88
		end;
89
	}
90
	--==Objects==--
91
	obj.LH=add.Part(model, false, false, "Really black", 0, Vector3.new(.5, 1, .2), nil)
92
	obj.LHW=add.Weld(obj.LH, body.ArmLeft, CFrame.new(-.3, -.5, -.2))
93
	obj.LH=add.Part(model, false, false, "Really black", 0, Vector3.new(.5, .2, .5), nil)
94
	obj.LHW=add.Weld(obj.LH, body.ArmLeft, CFrame.new(-.3, -.9, 0))
95
	--Right
96
	obj.HandleRight=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.25, 2, .25), nil)
97
	obj.HandleRightW=add.Weld(obj.HandleRight, body.ArmRight, CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, 0))
98
	for i=1, 5 do
99
		obj.DesignRight=add.Part(modelB, false, false, "White", 0, Vector3.new(.3, .1, .1), nil)
100
		obj.DesignRightW=add.Weld(obj.DesignRight, obj.HandleRight, CFrame.new(0, -1+i/3, 0)*CFrame.Angles(math.rad(45), 0, 0))
101
	end
102
	obj.GuardRight=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.5, .2, .5), nil)
103
	obj.GuardRightW=add.Weld(obj.GuardRight, obj.HandleRight, CFrame.new(0, 1.1, 0))
104
	obj.GuardRightB=add.Part(modelB, false, false, "White", 0, Vector3.new(.25, .2, .3), nil)
105
	obj.GuardRightBM=add.Mesh("BlockMesh", obj.GuardRightB, Vector3.new(.5, 1, 1), nil, nil)
106
	obj.GuardRightBW=add.Weld(obj.GuardRightB, obj.HandleRight, CFrame.new(0, 1.25, 0))
107
	obj.BladeRight=add.Part(modelB, false, false, "Mid gray", 0, Vector3.new(.2, 4, .25), nil) obj.BladeRight.Reflectance=.5
108
	obj.BladeRightM=add.Mesh("BlockMesh", obj.BladeRight, Vector3.new(.5, 1, 1), nil, nil)
109
	obj.BladeRightW=add.Weld(obj.BladeRight, obj.HandleRight, CFrame.new(0, 3, 0))
110
	obj.PointRight=add.Wedge(modelB, false, false, "Mid gray", 0, Vector3.new(.2, 1, .25), nil) obj.PointRight.Reflectance=.5
111
	obj.PointM=add.Mesh("SpecialMesh", obj.PointRight, Vector3.new(.5, 1, 1), nil, "Wedge")
112
	obj.PointW=add.Weld(obj.PointRight, obj.BladeRight, CFrame.new(0, 2.5, 0)*CFrame.Angles(math.rad(0), 0, 0))
113
	--Left
114
	obj.HandleLeft=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.25, 2, .25), nil)
115
	obj.HandleLeftW=add.Weld(obj.HandleLeft, body.ArmLeft, CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, 0))
116
	for i=1, 5 do
117
		obj.DesignLeft=add.Part(modelB, false, false, "White", 0, Vector3.new(.3, .1, .1), nil)
118
		obj.DesignLeftW=add.Weld(obj.DesignLeft, obj.HandleLeft, CFrame.new(0, -1+i/3, 0)*CFrame.Angles(math.rad(45), 0, 0))
119
	end
120
	obj.GuardLeft=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.5, .2, .5), nil)
121
	obj.GuardLeftW=add.Weld(obj.GuardLeft, obj.HandleRight, CFrame.new(0, 1.1, 0))
122
	obj.GuardLeftB=add.Part(modelB, false, false, "White", 0, Vector3.new(.25, .2, .3), nil)
123
	obj.GuardLeftBM=add.Mesh("BlockMesh", obj.GuardLeftB, Vector3.new(.5, 1, 1), nil, nil)
124
	obj.GuardLeftBW=add.Weld(obj.GuardLeftB, obj.HandleLeft, CFrame.new(0, 1.25, 0))
125
	obj.BladeLeft=add.Part(modelB, false, false, "Mid gray", 0, Vector3.new(.2, 4, .25), nil) obj.BladeLeft.Reflectance=.5
126
	obj.BladeLeftM=add.Mesh("BlockMesh", obj.BladeLeft, Vector3.new(.5, 1, 1), nil, nil)
127
	obj.BladeLeftW=add.Weld(obj.BladeLeft, obj.HandleLeft, CFrame.new(0, 3, 0))
128
	obj.PointLeft=add.Wedge(modelB, false, false, "Mid gray", 0, Vector3.new(.2, 1, .25), nil) obj.PointLeft.Reflectance=.5
129
	obj.PointM=add.Mesh("SpecialMesh", obj.PointLeft, Vector3.new(.5, 1, 1), nil, "Wedge")
130
	obj.PointW=add.Weld(obj.PointLeft, obj.BladeLeft, CFrame.new(0, 2.5, 0)*CFrame.Angles(math.rad(0), 0, 0))
131
	--Head
132
	obj.HandleHead=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.25, 2, .25), nil)
133
	obj.HandleHeadW=add.Weld(obj.HandleHead, body.Head, CFrame.new(0, -.25, -.5)*CFrame.Angles(0, 0, math.rad(90)))
134
	for i=1, 5 do
135
		obj.DesignHead=add.Part(modelB, false, false, "White", 0, Vector3.new(.3, .1, .1), nil)
136
		obj.DesignHeadW=add.Weld(obj.DesignHead, obj.HandleHead, CFrame.new(0, -1+i/3, 0)*CFrame.Angles(math.rad(45), 0, 0))
137
	end
138
	obj.GuardHead=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.5, .2, .5), nil)
139
	obj.GuardHeadW=add.Weld(obj.GuardHead, obj.HandleHead, CFrame.new(0, 1.1, 0))
140
	obj.GuardHeadB=add.Part(modelB, false, false, "White", 0, Vector3.new(.25, .2, .3), nil)
141
	obj.GuardHeadBM=add.Mesh("BlockMesh", obj.GuardHeadB, Vector3.new(.5, 1, 1), nil, nil)
142
	obj.GuardHeadBW=add.Weld(obj.GuardHeadB, obj.HandleHead, CFrame.new(0, 1.25, 0))
143
	obj.BladeHead=add.Part(modelB, false, false, "Mid gray", 0, Vector3.new(.2, 4, .25), nil) obj.BladeHead.Reflectance=.5
144
	obj.BladeHeadM=add.Mesh("BlockMesh", obj.BladeHead, Vector3.new(.5, 1, 1), nil, nil)
145
	obj.BladeHeadW=add.Weld(obj.BladeHead, obj.HandleHead, CFrame.new(0, 3, 0))
146
	obj.PointHead=add.Wedge(modelB, false, false, "Mid gray", 0, Vector3.new(.2, 1, .25), nil) obj.PointHead.Reflectance=.5
147
	obj.PointM=add.Mesh("SpecialMesh", obj.PointHead, Vector3.new(.5, 1, 1), nil, "Wedge")
148
	obj.PointW=add.Weld(obj.PointHead, obj.BladeHead, CFrame.new(0, 2.5, 0)*CFrame.Angles(math.rad(0), 0, 0))
149
end
150
function removeParts()
151
	p(function()
152
		for i, v in pairs(model:children()) do v:remove() end	for i, v in pairs(modelB:children()) do v:remove() end	for i, v in pairs(char:children()) do v.Transparency=0 end
153
	end)
154
end
155
function play(id, pitch)
156
	c(function()
157
		local sound=Instance.new("Sound", workspace)
158
		sound.Pitch=pitch
159
		sound.SoundId=id
160
		sound:play()
161
		wait(.5)
162
		sound:remove()
163
	end)
164
end
165
166
--Variables--
167
local speed=32
168
local mana=100
169
local trailDeb=false
170
local hitDeb=false
171
local keyDeb=false
172
local loopDeb=false
173
174
local label=Instance.new("TextLabel", gui)
175
label.Position=UDim2.new(0, 0, 0, 100)
176
label.Size=UDim2.new(0, 200, 0, 20)
177
label.BorderColor=BrickColor.Black()
178
label.BackgroundColor=BrickColor.White()
179
label.TextColor=BrickColor.Black()
180
label.Font="ArialBold"
181
label.FontSize="Size18"
182
label.Text="100"
183
local charge=Instance.new("TextLabel", label) charge.Transparency=.5
184
charge.Position=UDim2.new(0, 0, 0, 0)
185
charge.Size=UDim2.new(1, 0, 1, 0)
186
charge.BorderColor=BrickColor.Black()
187
charge.BackgroundColor=BrickColor.Blue()
188
charge.TextColor=BrickColor.Black()
189
charge.Font="ArialBold"
190
charge.FontSize="Size18"
191
charge.Text=""
192
193
local attackLabel=Instance.new("TextLabel", gui)
194
attackLabel.Position=UDim2.new(0, 0, 0, 150)
195
attackLabel.Size=UDim2.new(0, 150, 0, 50)
196
attackLabel.BorderColor=BrickColor.Black()
197
attackLabel.BackgroundColor=BrickColor.Black()
198
attackLabel.TextColor=BrickColor.White()
199
attackLabel.Font="ArialBold"
200
attackLabel.FontSize="Size18"
201
attackLabel.Text="DemonSlash(Q)"
202
local attackLabel2=Instance.new("TextLabel", attackLabel)
203
attackLabel2.Position=UDim2.new(0, 0, 1, 0)
204
attackLabel2.Size=UDim2.new(1, 0, 1, 0)
205
attackLabel2.BorderColor=BrickColor.Black()
206
attackLabel2.BackgroundColor=BrickColor.Black()
207
attackLabel2.TextColor=BrickColor.White()
208
attackLabel2.Font="ArialBold"
209
attackLabel2.FontSize="Size18"
210
attackLabel2.Text="PoundHo(E)"
211
local attackLabel3=Instance.new("TextLabel", attackLabel2)
212
attackLabel3.Position=UDim2.new(0, 0, 1, 0)
213
attackLabel3.Size=UDim2.new(1, 0, 1, 0)
214
attackLabel3.BorderColor=BrickColor.Black()
215
attackLabel3.BackgroundColor=BrickColor.Black()
216
attackLabel3.TextColor=BrickColor.White()
217
attackLabel3.Font="ArialBold"
218
attackLabel3.FontSize="Size18"
219
attackLabel3.Text="ThousandWorlds(R)"
220
local attackLabel4=Instance.new("TextLabel", attackLabel3)
221
attackLabel4.Position=UDim2.new(0, 0, 1, 0)
222
attackLabel4.Size=UDim2.new(1, 0, 1, 0)
223
attackLabel4.BorderColor=BrickColor.Black()
224
attackLabel4.BackgroundColor=BrickColor.Black()
225
attackLabel4.TextColor=BrickColor.White()
226
attackLabel4.Font="ArialBold"
227
attackLabel4.FontSize="Size18"
228
attackLabel4.Text="Charge(Z)"
229
local attackLabel5=Instance.new("TextLabel", attackLabel4)
230
attackLabel5.Position=UDim2.new(0, 0, 1, 0)
231
attackLabel5.Size=UDim2.new(1, 0, 1, 0)
232
attackLabel5.BorderColor=BrickColor.Black()
233
attackLabel5.BackgroundColor=BrickColor.Black()
234
attackLabel5.TextColor=BrickColor.White()
235
attackLabel5.Font="ArialBold"
236
attackLabel5.FontSize="Size18"
237
attackLabel5.Text="GreatTwister(F)"
238
local attackLabel6=Instance.new("TextLabel", attackLabel5)
239
attackLabel6.Position=UDim2.new(0, 0, 1, 0)
240
attackLabel6.Size=UDim2.new(1, 0, 1, 0)
241
attackLabel6.BorderColor=BrickColor.Black()
242
attackLabel6.BackgroundColor=BrickColor.Black()
243
attackLabel6.TextColor=BrickColor.White()
244
attackLabel6.Font="ArialBold"
245
attackLabel6.FontSize="Size18"
246
attackLabel6.Text="Block(X)"
247
248
function hit(h)
249
	for i, v in pairs(modelB:children()) do if h==v then return end end
250
	for i, v in pairs(model:children()) do if h==v then return end end
251
	if runDeb==true and h.Parent~=char and h.Name~="Trailz" and h.Name~="Base" and hitDeb==false then hitDeb=true print("GotHit") h:remove()
252
		p(function()
253
		local pYPos=h.Position.y-(h.Size.y/2)
254
		local sYPos=obj.PointHead.Position.y
255
		local p=h:clone() p.Parent=workspace p.Anchored=true p.CanCollide=false p.Name="Trailz"
256
		local p2=h:clone() p2.Parent=workspace p2.Anchored=true p2.CanCollide=false p.Name="Trailz"
257
		p.formFactor="Custom"
258
		p2.formFactor="Custom"
259
		p.Size=Vector3.new(h.Size.x, sYPos-pYPos, h.Size.z)
260
		p2.Size=Vector3.new(h.Size.x, p2.Size.y-(sYPos-pYPos), h.Size.z)
261
		p.CFrame=h.CFrame*CFrame.new(0, -p2.Size.y/2, 0)
262
		p2.CFrame=h.CFrame*CFrame.new(0, p.Size.y/2, 0)
263
		c(function()
264
			for i=0, 1, .05 do
265
				wait()
266
				p.Transparency=i p2.Transparency=i
267
			end
268
			p:remove() p2:remove()
269
		end)
270
		end) wait()
271
		hitDeb=false
272
	end
273
end
274
function computePos(pos, pos2)
275
	local pos3=Vector3.new(pos2.x, pos.y, pos2.z)
276
	torso.CFrame=CFrame.new(pos, pos3)
277
	return pos3
278
end
279
function nearTorso(pos, dis)
280
	local temp
281
	local distance=dis
282
	for i, v in pairs(workspace:children()) do
283
		if v:isA("Model") then
284
			temp=v:findFirstChild("Torso")
285
			local humanoid=v:findFirstChild("Humanoid")
286
			if temp and humanoid and v~=char and (temp.CFrame.p-pos).magnitude<distance then
287
				distance=(temp.CFrame.p-pos).magnitude
288
				return temp
289
			end
290
		end
291
	end
292
end
293
function trail(pos, cf)
294
	c(function()
295
		local old=(pos.CFrame*cf).p
296
		while trailDeb==true do
297
			wait()
298
			local new=(pos.CFrame*cf).p
299
			local mag=(old-new).magnitude
300
			local dis=(old+new)/2
301
			local trail=add.Part(model, true, false, "Pastel blue-green", 0, Vector3.new(.2, mag, .2), CFrame.new(dis, new)*CFrame.Angles(math.pi/2, 0, 0)) trail.Name="Trailz"
302
			local tMesh=add.Mesh("CylinderMesh", trail, Vector3.new(1, 1, 1), nil, nil)
303
			old=new
304
			c(function()
305
				for i=1, 0, -.2 do
306
					wait()
307
					trail.Mesh.Scale=trail.Mesh.Scale*Vector3.new(i, 1, i)
308
				end
309
				trail:remove()
310
			end)
311
			c(function()
312
				for i=0, 1, .2 do
313
					wait()
314
					trail.Transparency=i
315
				end
316
			end)
317
		end
318
	end)
319
end
320
321
local Attacks={
322
	["DemonSlash"]=function(mouse) human.WalkSpeed=0 computePos(torso.CFrame.p, mouse.Hit.p) mana=mana-5
323
		for i=0, 1, .1 do wait()
324
			animate.ArmLeft(CFrame.Angles(math.rad(90)*i, -math.rad(45)*i, math.rad(15)*i))
325
			animate.ArmRight(CFrame.Angles(math.rad(90)*i, math.rad(45)*i, -math.rad(15)*i))
326
		end
327
		trailDeb=true trail(obj.PointLeft, CFrame.new()) trail(obj.PointRight, CFrame.new())
328
		for i, v in pairs(modelB:children()) do
329
			connection=v.Touched:connect(hit)
330
		end
331
		play("rbxasset://sounds//swordslash.wav", 1)
332
		for i=0, 1, .2 do wait()
333
			torso.CFrame=torso.CFrame+torso.CFrame.lookVector*(10*i)
334
			animate.Torso(CFrame.new(0, -1.5*i, 0)*CFrame.Angles(-math.rad(45)*i, 0, 0))
335
			animate.ArmLeft(CFrame.Angles(math.rad(90), -math.rad(45)+(math.rad(45)*i), math.rad(15)-(math.rad(150)*i)))
336
			animate.ArmRight(CFrame.Angles(math.rad(90), math.rad(45)+(-math.rad(45)*i), -math.rad(15)-(-math.rad(150)*i)))
337
			animate.LegLeft(CFrame.new(0, 1.5*i, -.5*i)*CFrame.Angles(math.rad(45)*i, 0, 0))
338
			animate.LegRight(CFrame.Angles(-math.rad(45)*i, 0, 0))
339
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(90)*i)
340
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, -math.rad(90)*i)
341
		end
342
		wait(1)
343
		for i=1, 0, -.1 do wait()
344
			animate.Torso(CFrame.new(0, -1.5*i, 0)*CFrame.Angles(-math.rad(45)*i, 0, 0))
345
			animate.ArmLeft(CFrame.Angles(math.rad(90)*i, 0, -math.rad(90)*i))
346
			animate.ArmRight(CFrame.Angles(math.rad(90)*i, 0, math.rad(90)*i))
347
			animate.LegLeft(CFrame.new(0, 1.5*i, -.5*i)*CFrame.Angles(math.rad(45)*i, 0, 0))
348
			animate.LegRight(CFrame.Angles(-math.rad(45)*i, 0, 0))
349
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(135)*i)
350
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, -math.rad(135)*i)
351
		end
352
		trailDeb=false
353
		human.WalkSpeed=speed
354
	end;
355
	["PoundHo"]=function(mouse) human.WalkSpeed=0
356
		for i=0, 1, .1 do wait()
357
			animate.Torso(CFrame.new(0, 2.5*i, -5*i)*CFrame.Angles(-math.rad(90)*i, 0, 0))
358
			animate.ArmLeft(CFrame.Angles(0, 0, -math.rad(90)*i))
359
			animate.ArmRight(CFrame.Angles(0, 0, math.rad(90)*i))
360
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(180)*i)
361
		end
362
		local spin=45
363
		local rotate=45
364
		trailDeb=true trail(obj.PointLeft, CFrame.new()) trail(obj.PointRight, CFrame.new()) trail(obj.PointHead, CFrame.new())
365
		for i, v in pairs(modelB:children()) do
366
			connection=v.Touched:connect(hit)
367
		end
368
		while loopDeb==true and mana>0 do wait() spin=spin+rotate mana=mana-1
369
			--[[local wind=add.Part(model, true, false, "Cyan", .5, Vector3.new(1, 1, 1), body.Torso.CFrame*CFrame.new(0, 1.5, 0)*CFrame.Angles(math.rad(90), 0, 0)) wind.Name="Trailz"
370
			local windM=add.Mesh("SpecialMesh", wind, Vector3.new(1, 1, 1), nil, "File") windM.MeshId="http://www.roblox.com/asset/?id=3270017"
371
			c(function()
372
				for i=0, 3, .2 do wait()
373
					wind.CFrame=body.Torso.CFrame*CFrame.new(0, 1.5, 0)*CFrame.Angles(math.rad(90), 0, 0)
374
					wind.Mesh.Scale=wind.Mesh.Scale+Vector3.new(i, i, i)
375
				end
376
				wind:remove()
377
			end)]]
378
			computePos((torso.CFrame*CFrame.new(0, 0, -1)*CFrame.Angles(-math.rad(90), 0, 0)).p, mouse.Hit.p)
379
			animate.Torso(CFrame.new(0, 2.5, -5)*CFrame.Angles(-math.rad(90), -math.rad(spin), 0))
380
		end
381
		trailDeb=false
382
		for i=1, 0, -.1 do wait() play("rbxasset://sounds//swordslash.wav", 1)
383
			animate.Torso(CFrame.new(0, 2.5*i, -5*i)*CFrame.Angles(-math.rad(90)*i, 0, 0))
384
			animate.ArmLeft(CFrame.Angles(0, 0, -math.rad(90)*i))
385
			animate.ArmRight(CFrame.Angles(0, 0, math.rad(90)*i))
386
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(180)*i)
387
		end
388
		human.WalkSpeed=speed
389
	end;
390
	["ThousandWorlds"]=function(mouse) human.WalkSpeed=0 computePos(torso.CFrame.p, mouse.Hit.p) mana=mana-20
391
		for i=0, 1, .1 do wait()
392
			animate.ArmLeft(CFrame.new(.5*i, 0, -.5*i)*CFrame.Angles(math.rad(90)*i, 0, math.rad(45)*i))
393
			animate.ArmRight(CFrame.new(-.5*i, 0, -.5*i)*CFrame.Angles(math.rad(90)*i, 0, -math.rad(45)*i))
394
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), math.rad(45)*i, math.rad(180)*i)
395
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), -math.rad(45)*i, 0)
396
		end
397
		trailDeb=true trail(obj.PointLeft, CFrame.new()) trail(obj.PointRight, CFrame.new())
398
		for i, v in pairs(modelB:children()) do
399
			connection=v.Touched:connect(hit)
400
		end
401
		for i=0, 50, 1 do wait() play("http://www.roblox.com/asset/?id=3931318", 1)
402
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), math.rad(45), math.rad(180)+i)
403
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), -math.rad(45), i)
404
		end
405
		play("rbxasset://sounds//swordslash.wav", 1)
406
		for i=0, 1, .2 do wait()
407
			local fakeP=add.Part(workspace, true, false, "White", 0, Vector3.new(5, 5, 5), CFrame.new((torso.CFrame*CFrame.new(0, 0, 1.5)).p, torso.CFrame.p)*CFrame.Angles(math.rad(90), 0, 0)) fakeP.Name="Trailz"
408
			local mesh=add.Mesh("SpecialMesh", fakeP, Vector3.new(1, 1, 1), nil, "File") mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
409
			c(function()
410
				for i=0, 1, .05 do
411
					wait()
412
					fakeP.Transparency=i
413
				end
414
				fakeP:remove()
415
			end)
416
			c(function()
417
				for i=1, 20, 1 do
418
					wait()
419
					mesh.Scale=Vector3.new(i, i/2, i)
420
				end
421
			end)
422
			torso.CFrame=torso.CFrame+torso.CFrame.lookVector*(20*i)
423
			animate.Torso(CFrame.new(0, -1.5*i, 0)*CFrame.Angles(-math.rad(45)*i, 0, 0))
424
			animate.ArmLeft(CFrame.new(.5*i, 0, -.5*i)*CFrame.Angles(math.rad(90)*i, 0, 0))
425
			animate.ArmRight(CFrame.new(-.5*i, 0, -.5*i)*CFrame.Angles(-math.rad(90)*i, 0, 0))
426
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, -math.rad(90)*i)
427
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(90)*i)
428
			animate.LegLeft(CFrame.new(0, 1.5*i, -.5*i)*CFrame.Angles(math.rad(45)*i, 0, 0))
429
			animate.LegRight(CFrame.Angles(-math.rad(45)*i, 0, 0))
430
		end
431
		trailDeb=false
432
		wait(3)
433
		for i=1, 0, -.1 do wait()
434
			animate.Torso(CFrame.new(0, -1.5*i, 0)*CFrame.Angles(-math.rad(45)*i, 0, 0))
435
			animate.ArmLeft(CFrame.new(.5*i, 0, -.5*i)*CFrame.Angles(math.rad(90)*i, 0, 0))
436
			animate.ArmRight(CFrame.new(-.5*i, 0, -.5*i)*CFrame.Angles(-math.rad(90)*i, 0, 0))
437
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, -math.rad(90)*i)
438
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(90)*i)
439
			animate.LegLeft(CFrame.new(0, 1.5*i, -.5*i)*CFrame.Angles(math.rad(45)*i, 0, 0))
440
			animate.LegRight(CFrame.Angles(-math.rad(45)*i, 0, 0))
441
		end
442
		human.WalkSpeed=speed
443
	end;
444
	["Charge"]=function(mouse) human.WalkSpeed=0 computePos(torso.CFrame.p, mouse.Hit.p)
445
		for i=0, 1, .1 do wait()
446
			animate.Torso(CFrame.new(0, -1.5*i, 0)*CFrame.Angles(-math.rad(45)*i, 0, 0))
447
			animate.ArmLeft(CFrame.Angles(0, 0, -math.rad(180)-(-math.rad(90)*i)))
448
			animate.ArmRight(CFrame.Angles(0, 0, -math.rad(180)-(math.rad(90)*i)))
449
			animate.LegLeft(CFrame.new(0, 1.5*i, -.5*i)*CFrame.Angles(math.rad(45)*i, 0, 0))
450
			animate.LegRight(CFrame.Angles(-math.rad(45)*i, 0, 0))
451
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, -math.rad(45)*i)
452
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(45)*i)
453
		end
454
		while loopDeb==true do wait() if mana>=0 and mana<100 then mana=mana+1 end play("http://www.roblox.com/asset/?id=2101137", 1)
455
			local aura=add.Part(model, true, false, "Really black", .5, Vector3.new(1, 1, 1), torso.CFrame*CFrame.new(0, -4, 0)*CFrame.Angles(0, math.rad(math.random(-45, 45)), 0)) aura.Name="Trailz"
456
			local auraM=add.Mesh("SpecialMesh", aura, Vector3.new(1, 1, 1), nil, "File") auraM.MeshId="http://www.roblox.com/asset/?id=20329976"
457
			local aura2=add.Part(model, true, false, "Really black", .5, Vector3.new(5, 5, 5), torso.CFrame*CFrame.new(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15))*CFrame.Angles(math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45))))
458
			aura2.Name="Trailz"
459
			c(function()
460
				for i=0, 3, .2 do wait()
461
					auraM.Scale=auraM.Scale+Vector3.new(i, i/2, i)
462
				end
463
				c(function()
464
					for i=.5, 1, .1 do
465
						wait()
466
						aura.Transparency=i	aura2.Transparency=i
467
					end
468
				end)
469
				aura:remove() aura2:remove()
470
			end)
471
		end
472
		for i=1, 0, -.1 do wait()
473
			animate.Torso(CFrame.new(0, -1.5*i, 0)*CFrame.Angles(-math.rad(45)*i, 0, 0))
474
			animate.ArmLeft(CFrame.Angles(0, 0, (-math.rad(90)*i)))
475
			animate.ArmRight(CFrame.Angles(0, 0, (math.rad(90)*i)))
476
			animate.LegLeft(CFrame.new(0, 1.5*i, -.5*i)*CFrame.Angles(math.rad(45)*i, 0, 0))
477
			animate.LegRight(CFrame.Angles(-math.rad(45)*i, 0, 0))
478
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, -math.rad(45)*i)
479
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(45)*i)
480
		end
481
		human.WalkSpeed=speed
482
	end;
483
	["GreatTwister"]=function(mouse) human.WalkSpeed=0 computePos(torso.CFrame.p, mouse.Hit.p) mana=mana-40
484
		for i=0, 1, .1 do wait()
485
			animate.Torso(CFrame.new(0, 0, -50*i))
486
			animate.ArmLeft(CFrame.Angles(0, 0, -math.rad(90)*i))
487
			animate.ArmRight(CFrame.Angles(0, 0, math.rad(90)*i))
488
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90)+(-math.rad(90)*i), math.rad(180)*i, 0)
489
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90)+(-math.rad(90)*i), 0, 0)
490
		end
491
		trailDeb=true trail(obj.PointLeft, CFrame.new()) trail(obj.PointRight, CFrame.new())
492
		local tornado=add.Part(workspace, true, false, "Cyan", .5, Vector3.new(1, 1, 1), body.Torso.CFrame*CFrame.Angles(math.rad(180), 0, 0)) tornado.Name="Trailz"
493
		local tornadoM=add.Mesh("SpecialMesh", tornado, Vector3.new(1, 1, 1), nil, "File") tornadoM.MeshId="http://www.roblox.com/asset/?id=36755354"
494
		local spin=35
495
		for i=0, 50, 1 do wait() play("rbxasset://sounds//swordslash.wav", 1)
496
			animate.Torso(CFrame.new(0, 0, -50)*CFrame.Angles(0, -math.rad(i*45), 0))
497
			tornado.CFrame=body.Torso.CFrame*CFrame.new(0, 0, 0)*CFrame.Angles(math.rad(180), 0, 0)
498
			tornado.Size=Vector3.new(i, i, i)
499
			tornadoM.Scale=Vector3.new(i, i, i)
500
		end
501
		c(function() c(function()wait(10) tornado:remove() end) while true do wait() spin=spin+35 tornado.Touched:connect(hit) tornado.CFrame=tornado.CFrame*CFrame.new(0, 0, 0)*CFrame.Angles(0, math.rad(spin), 0) end end)
502
		for i=1, 0, -.1 do wait()
503
			animate.Torso(CFrame.new(0, 0, -50*i)*CFrame.Angles(0, -math.rad(i*45), 0))
504
			animate.Torso(CFrame.Angles(0, 0, 0))
505
			animate.ArmLeft(CFrame.Angles(0, 0, -math.rad(90)*i))
506
			animate.ArmRight(CFrame.Angles(0, 0, math.rad(90)*i))
507
			obj.HandleLeftW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90)+(-math.rad(90)*i), math.rad(180)*i, 0)
508
			obj.HandleRightW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90)+(-math.rad(90)*i), 0, 0)
509
		end
510
		trailDeb=false
511
		human.WalkSpeed=speed
512
	end;
513
	["Block"]=function(mouse) human.WalkSpeed=0 computePos(torso.CFrame.p, mouse.Hit.p)
514
		for i=0, 1, .1 do	wait()
515
			animate.ArmLeft(CFrame.Angles(math.rad(90)*i, -math.rad(45)*i, math.rad(15)*i))
516
			animate.ArmRight(CFrame.Angles(math.rad(90)*i, math.rad(45)*i, -math.rad(15)*i))
517
		end
518
		local shieldPart=add.Part(model, true, false, "White", 1, Vector3.new(10, 10, 1), torso.CFrame+torso.CFrame.lookVector*1.5)
519
		while loopDeb==true do wait() computePos(torso.CFrame.p, mouse.Hit.p) shieldPart.CFrame=torso.CFrame+torso.CFrame.lookVector*1.5
520
			shieldPart.Touched:connect(function(h) while runDeb==false do wait() end
521
			if h.Parent~=char and h.Parent~=modelB and h.Parent~=model and h.Name~="Trailz" and h.Name~="Base" and hitDeb==false then hitDeb=true print(h.Name)
522
					local fakeP=add.Part(workspace, true, false, "Bright yellow", 0, Vector3.new(1, 1, 1), CFrame.new(h.CFrame.p, torso.CFrame.p))
523
					local mesh=add.Mesh("SpecialMesh", fakeP, Vector3.new(1, 1, 1), nil, "File") mesh.MeshId="http://www.roblox.com/asset/?id=3270017"
524
					c(function()
525
						for i=0, 1, .05 do
526
							wait()
527
							fakeP.Mesh.Scale=fakeP.Mesh.Scale+Vector3.new(i, i, 0)
528
						end
529
						fakeP:remove()
530
					end)
531
					c(function()
532
						for i=0, 1, .05 do
533
							wait()
534
							fakeP.Transparency=i
535
						end
536
					end)
537
					h.Anchored=false
538
					local bp=Instance.new("BodyPosition", h) bp.maxForce=Vector3.new(math.huge, math.huge, math.huge) bp.position=(CFrame.new(torso.CFrame.p, h.CFrame.p)*CFrame.new(0, 0, -50)).p
539
					h.Velocity=Vector3.new(0, 0, 0) h.RotVelocity=Vector3.new(0, 0, 0)
540
					game.Debris:addItem(bp, .2)
541
					wait()
542
					hitDeb=false
543
				end
544
			end)
545
		end
546
		shieldPart:remove()
547
		for i=1, 0, -.1 do wait()
548
			animate.ArmLeft(CFrame.Angles(math.rad(90)*i, -math.rad(45)*i, math.rad(15)*i))
549
			animate.ArmRight(CFrame.Angles(math.rad(90)*i, math.rad(45)*i, -math.rad(15)*i))
550
		end
551
		human.WalkSpeed=speed
552
	end
553
}
554
555
bin.Selected:connect(function(mouse) createParts() human.WalkSpeed=speed
556
	for i=0, 1, .1 do wait()
557
		animate.ArmLeft(CFrame.Angles(0, math.rad(45)*i, -math.rad(45)*i))
558
		animate.ArmRight(CFrame.Angles(0, -math.rad(45)*i, math.rad(45)*i))
559
	end
560
	human.Running:connect(function(speed)
561
		if speed>0 then while keyDeb==true do wait() end
562
			animate.ArmLeft(CFrame.Angles(0, math.rad(45), -math.rad(45)))
563
			animate.ArmRight(CFrame.Angles(0, -math.rad(45), math.rad(45)))
564
			body.LegLeft.Transparency=1 body.LegRight.Transparency=1
565
			leg.Left.Transparency=0 leg.Right.Transparency=0
566
		end
567
	end)
568
	mouse.KeyDown:connect(function(key)
569
		if key=="q" and keyDeb==false and mana>=5 then keyDeb=true runDeb=true
570
			Attacks.DemonSlash(mouse)
571
			keyDeb=false runDeb=false
572
		end
573
		if key=="e" and keyDeb==false and mana>=0 then keyDeb=true runDeb=true loopDeb=true
574
			Attacks.PoundHo(mouse)
575
			keyDeb=false runDeb=false
576
		end
577
		if key=="r" and keyDeb==false and mana>=20 then keyDeb=true runDeb=true loopDeb=true
578
			Attacks.ThousandWorlds(mouse)
579
			keyDeb=false runDeb=false
580
		end
581
		if key=="z" and keyDeb==false then keyDeb=true runDeb=true loopDeb=true
582
			Attacks.Charge(mouse)
583
			keyDeb=false runDeb=false
584
		end
585
		if key=="f" and keyDeb==false and mana>=40 then keyDeb=true runDeb=true loopDeb=true
586
			Attacks.GreatTwister(mouse)
587
			keyDeb=false runDeb=false
588
		end
589
		if key=="x" and keyDeb==false and mana>=0 then keyDeb=true runDeb=true loopDeb=true
590
			Attacks.Block(mouse)
591
			keyDeb=false runDeb=false
592
		end
593
	end)
594
	mouse.KeyUp:connect(function(key)
595
		if key=="e" and keyDeb==true then loopDeb=false end
596
		if key=="x" and keyDeb==true then loopDeb=false end
597
		if key=="z" and keyDeb==true then loopDeb=false end
598
	end)
599
	c(function() while true do wait() label.Text=mana charge.Size=UDim2.new(mana/100, 0, 1, 0) end end)
600
end)
601
bin.Deselected:connect(function() removeParts() end)--mediafire