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 | - | Player = game.Players.LocalPlayer |
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 | --Scyth's Blades Gifted by TheRedAngel, Local Script! | |
153 | ||
154 | Player = owner | |
155 | Character = Player.Character | |
156 | PlayerGui = Player.PlayerGui | |
157 | Backpack = Player.Backpack | |
158 | Torso = Character.Torso | |
159 | Head = Character.Head | |
160 | LeftArm = Character["Left Arm"] | |
161 | LeftLeg = Character["Left Leg"] | |
162 | RightArm = Character["Right Arm"] | |
163 | RightLeg = Character["Right Leg"] | |
164 | LS = Torso["Left Shoulder"] | |
165 | LH = Torso["Left Hip"] | |
166 | RS = Torso["Right Shoulder"] | |
167 | RH = Torso["Right Hip"] | |
168 | attack = false | |
169 | attackdebounce = false | |
170 | combo = 0 | |
171 | mana = 99999999 | |
172 | necko=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
173 | charging=false | |
174 | sheathed=false | |
175 | --player | |
176 | player = nil | |
177 | --save shoulders | |
178 | RSH, LSH = nil, nil | |
179 | --welds | |
180 | RW, LW = Instance.new("Weld"), Instance.new("Weld") | |
181 | --what anim | |
182 | anim = "none" | |
183 | ||
184 | if Character:findFirstChild("Scython's Blades",true) ~= nil then | |
185 | Character:findFirstChild("Scython's Blades",true).Parent = nil | |
186 | end | |
187 | if Player.PlayerGui:findFirstChild("manaGUI",true) ~= nil then | |
188 | Player.PlayerGui:findFirstChild("manaGUI",true).Parent = nil | |
189 | end | |
190 | ||
191 | local gairo = Instance.new("BodyGyro") | |
192 | gairo.Parent = nil | |
193 | ||
194 | local modelzorz = Instance.new("Model") | |
195 | modelzorz.Name = "Scython's Blades" | |
196 | modelzorz.Parent = Character | |
197 | ||
198 | local prt1 = Instance.new("Part") | |
199 | prt1.formFactor = 1 | |
200 | prt1.Parent = modelzorz | |
201 | prt1.CanCollide = false | |
202 | prt1.BrickColor = BrickColor.new("Dark stone grey") | |
203 | prt1.Name = "Handle1" | |
204 | prt1.Size = Vector3.new(1,1,1) | |
205 | prt1.Position = Torso.Position | |
206 | local prt2 = Instance.new("Part") | |
207 | prt2.formFactor = 1 | |
208 | prt2.Parent = modelzorz | |
209 | prt2.CanCollide = false | |
210 | prt2.BrickColor = BrickColor.new("Really black") | |
211 | prt2.Name = "Handle2" | |
212 | prt2.Size = Vector3.new(1,1,1) | |
213 | prt2.Position = Torso.Position | |
214 | local prt3 = Instance.new("Part") | |
215 | prt3.formFactor = 1 | |
216 | prt3.Parent = modelzorz | |
217 | prt3.CanCollide = false | |
218 | prt3.BrickColor = BrickColor.new("Dark grey") | |
219 | prt3.Name = "Handle3" | |
220 | prt3.Size = Vector3.new(1,1,1) | |
221 | prt3.Position = Torso.Position | |
222 | local prt4 = Instance.new("Part") | |
223 | prt4.formFactor = 1 | |
224 | prt4.Parent = modelzorz | |
225 | prt4.CanCollide = false | |
226 | prt4.BrickColor = BrickColor.new("Black") | |
227 | prt4.Name = "Blade1" | |
228 | prt4.Reflectance = 0.3 | |
229 | prt4.Size = Vector3.new(1,2,1) | |
230 | prt4.Position = Torso.Position | |
231 | local prt5 = Instance.new("Part") | |
232 | prt5.formFactor = 1 | |
233 | prt5.Parent = modelzorz | |
234 | prt5.CanCollide = false | |
235 | prt5.BrickColor = BrickColor.new("Black") | |
236 | prt5.Name = "Blade2" | |
237 | prt5.Reflectance = 0.3 | |
238 | prt5.Size = Vector3.new(1,1,1) | |
239 | prt5.Position = Torso.Position | |
240 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
241 | LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
242 | local prt11 = Instance.new("Part") | |
243 | prt11.formFactor = 1 | |
244 | prt11.Parent = modelzorz | |
245 | prt11.CanCollide = false | |
246 | prt11.BrickColor = BrickColor.new("Dark stone grey") | |
247 | prt11.Name = "Handle11" | |
248 | prt11.Size = Vector3.new(1,1,1) | |
249 | prt11.Position = Torso.Position | |
250 | local prt12 = Instance.new("Part") | |
251 | prt12.formFactor = 1 | |
252 | prt12.Parent = modelzorz | |
253 | prt12.CanCollide = false | |
254 | prt12.BrickColor = BrickColor.new("Really black") | |
255 | prt12.Name = "Handle12" | |
256 | prt12.Size = Vector3.new(1,1,1) | |
257 | prt12.Position = Torso.Position | |
258 | local prt13 = Instance.new("Part") | |
259 | prt13.formFactor = 1 | |
260 | prt13.Parent = modelzorz | |
261 | prt13.CanCollide = false | |
262 | prt13.BrickColor = BrickColor.new("Dark grey") | |
263 | prt13.Name = "Handle13" | |
264 | prt13.Size = Vector3.new(1,1,1) | |
265 | prt13.Position = Torso.Position | |
266 | local prt14 = Instance.new("Part") | |
267 | prt14.formFactor = 1 | |
268 | prt14.Parent = modelzorz | |
269 | prt14.CanCollide = false | |
270 | prt14.BrickColor = BrickColor.new("Black") | |
271 | prt14.Name = "Blade11" | |
272 | prt14.Reflectance = 0.3 | |
273 | prt14.Size = Vector3.new(1,2,1) | |
274 | prt14.Position = Torso.Position | |
275 | local prt15 = Instance.new("Part") | |
276 | prt15.formFactor = 1 | |
277 | prt15.Parent = modelzorz | |
278 | prt15.CanCollide = false | |
279 | prt15.BrickColor = BrickColor.new("Black") | |
280 | prt15.Name = "Blade12" | |
281 | prt15.Reflectance = 0.3 | |
282 | prt15.Size = Vector3.new(1,1,1) | |
283 | prt15.Position = Torso.Position | |
284 | modelzorz:BreakJoints() | |
285 | ||
286 | local msh1 = Instance.new("CylinderMesh") | |
287 | msh1.Parent = prt1 | |
288 | msh1.Scale = Vector3.new(0.2,0.4,0.5) | |
289 | local msh2 = Instance.new("CylinderMesh") | |
290 | msh2.Parent = prt2 | |
291 | msh2.Scale = Vector3.new(0.24,0.1,0.5) | |
292 | local msh3 = Instance.new("BlockMesh") | |
293 | msh3.Parent = prt3 | |
294 | msh3.Scale = Vector3.new(0.16,0.2,0.35) | |
295 | local msh4 = Instance.new("BlockMesh") | |
296 | msh4.Parent = prt4 | |
297 | msh4.Scale = Vector3.new(0.1,0.5,0.2) | |
298 | local msh5 = Instance.new("SpecialMesh") | |
299 | msh5.Parent = prt5 | |
300 | msh5.MeshType = "Wedge" | |
301 | msh5.Scale = Vector3.new(0.1,0.5,0.2) | |
302 | local msh11 = Instance.new("CylinderMesh") | |
303 | msh11.Parent = prt11 | |
304 | msh11.Scale = Vector3.new(0.2,0.4,0.5) | |
305 | local msh12 = Instance.new("CylinderMesh") | |
306 | msh12.Parent = prt12 | |
307 | msh12.Scale = Vector3.new(0.24,0.1,0.5) | |
308 | local msh13 = Instance.new("BlockMesh") | |
309 | msh13.Parent = prt13 | |
310 | msh13.Scale = Vector3.new(0.16,0.2,0.35) | |
311 | local msh14 = Instance.new("BlockMesh") | |
312 | msh14.Parent = prt14 | |
313 | msh14.Scale = Vector3.new(0.1,0.5,0.2) | |
314 | local msh15 = Instance.new("SpecialMesh") | |
315 | msh15.Parent = prt15 | |
316 | msh15.MeshType = "Wedge" | |
317 | msh15.Scale = Vector3.new(0.1,0.5,0.2) | |
318 | ||
319 | local wld1 = Instance.new("Weld") | |
320 | wld1.Parent = prt1 | |
321 | wld1.Part0 = prt1 | |
322 | wld1.Part1 = Torso | |
323 | wld1.C0 = CFrame.fromEulerAnglesXYZ(0,1.57,-0.8) * CFrame.new(1.2,-1.3,-0.5) | |
324 | local wld2 = Instance.new("Weld") | |
325 | wld2.Parent = prt2 | |
326 | wld2.Part0 = prt2 | |
327 | wld2.Part1 = prt1 | |
328 | wld2.C0 = CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,-0.3,0) | |
329 | local wld3 = Instance.new("Weld") | |
330 | wld3.Parent = prt3 | |
331 | wld3.Part0 = prt3 | |
332 | wld3.Part1 = prt1 | |
333 | wld3.C0 = CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0.3,0) | |
334 | local wld4 = Instance.new("Weld") | |
335 | wld4.Parent = prt4 | |
336 | wld4.Part0 = prt4 | |
337 | wld4.Part1 = prt3 | |
338 | wld4.C0 = CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0.5,0) | |
339 | local wld5 = Instance.new("Weld") | |
340 | wld5.Parent = prt5 | |
341 | wld5.Part0 = prt5 | |
342 | wld5.Part1 = prt4 | |
343 | wld5.C0 = CFrame.fromEulerAnglesXYZ(3.14,3.14,0) * CFrame.new(0,0.9,0) | |
344 | local wld11 = Instance.new("Weld") | |
345 | wld11.Parent = prt11 | |
346 | wld11.Part0 = prt11 | |
347 | wld11.Part1 = Torso | |
348 | wld11.C0 = CFrame.fromEulerAnglesXYZ(0,1.57,0.8) * CFrame.new(-1.2,-1.3,-0.5) | |
349 | local wld12 = Instance.new("Weld") | |
350 | wld12.Parent = prt12 | |
351 | wld12.Part0 = prt12 | |
352 | wld12.Part1 = prt11 | |
353 | wld12.C0 = CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,-0.3,0) | |
354 | local wld13 = Instance.new("Weld") | |
355 | wld13.Parent = prt13 | |
356 | wld13.Part0 = prt13 | |
357 | wld13.Part1 = prt11 | |
358 | wld13.C0 = CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0.3,0) | |
359 | local wld14 = Instance.new("Weld") | |
360 | wld14.Parent = prt14 | |
361 | wld14.Part0 = prt14 | |
362 | wld14.Part1 = prt13 | |
363 | wld14.C0 = CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0.5,0) | |
364 | local wld15 = Instance.new("Weld") | |
365 | wld15.Parent = prt15 | |
366 | wld15.Part0 = prt15 | |
367 | wld15.Part1 = prt14 | |
368 | wld15.C0 = CFrame.fromEulerAnglesXYZ(3.14,3.14,0) * CFrame.new(0,0.9,0) | |
369 | ||
370 | local SlashSound = Instance.new("Sound") -- PRELOADING SOUNDS TROLOLOL | |
371 | --SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav" | |
372 | SlashSound.SoundId = "http://roblox.com/asset/?id=10209645" | |
373 | SlashSound.Parent = modelzorz | |
374 | SlashSound.Volume = .7 | |
375 | SlashSound.Pitch = 1 | |
376 | local SlashSound = Instance.new("Sound") | |
377 | SlashSound.SoundId = "http://www.roblox.com/asset/?id=2248511" | |
378 | SlashSound.Parent = workspace | |
379 | SlashSound.Volume = .5 | |
380 | SlashSound.Pitch = 1 | |
381 | local SlashSound = Instance.new("Sound") | |
382 | SlashSound.SoundId = "http://www.roblox.com/asset/?id=2801263" | |
383 | SlashSound.Parent = workspace | |
384 | SlashSound.Volume = .7 | |
385 | SlashSound.Pitch = 1 | |
386 | local SlashSound = Instance.new("Sound") | |
387 | SlashSound.SoundId = "http://www.roblox.com/asset/?id=3264793" | |
388 | SlashSound.Parent = workspace | |
389 | SlashSound.Volume = .7 | |
390 | SlashSound.Pitch = 1 | |
391 | ||
392 | local fengui = Instance.new("GuiMain") | |
393 | fengui.Parent = Player.PlayerGui | |
394 | fengui.Name = "manaGUI" | |
395 | local fenframe = Instance.new("Frame") | |
396 | fenframe.Parent = fengui | |
397 | fenframe.BackgroundColor3 = Color3.new(255,255,255) | |
398 | fenframe.BackgroundTransparency = 1 | |
399 | fenframe.BorderColor3 = Color3.new(17,17,17) | |
400 | fenframe.Size = UDim2.new(0.0500000007, 0, 0.100000001, 0) | |
401 | local fentext = Instance.new("TextLabel") | |
402 | fentext.Parent = fenframe | |
403 | fentext.Text = "Mana("..mana..")" | |
404 | fentext.BackgroundTransparency = 1 | |
405 | fentext.SizeConstraint = "RelativeXY" | |
406 | fentext.TextXAlignment = "Center" | |
407 | fentext.TextYAlignment = "Center" | |
408 | fentext.Position = UDim2.new(0,80,1,200) | |
409 | local fentext2 = Instance.new("TextLabel") | |
410 | fentext2.Parent = fenframe | |
411 | fentext2.Text = " " | |
412 | fentext2.BackgroundTransparency = 0 | |
413 | fentext2.BackgroundColor3 = Color3.new(0,0,0) | |
414 | fentext2.SizeConstraint = "RelativeXY" | |
415 | fentext2.TextXAlignment = "Center" | |
416 | fentext2.TextYAlignment = "Center" | |
417 | fentext2.Position = UDim2.new(0,10,1,170) | |
418 | fentext2.Size = UDim2.new(2.79999995,0,0.210000306,0) | |
419 | local fentext3 = Instance.new("TextLabel") | |
420 | fentext3.Parent = fenframe | |
421 | fentext3.Text = " " | |
422 | fentext3.BackgroundTransparency = 0 | |
423 | fentext3.BackgroundColor3 = Color3.new(1,1,0) | |
424 | fentext3.SizeConstraint = "RelativeXY" | |
425 | fentext3.TextXAlignment = "Center" | |
426 | fentext3.TextYAlignment = "Center" | |
427 | fentext3.Position = UDim2.new(0,10,1,170) | |
428 | fentext3.Size = UDim2.new(mana*0.007,0,0.400000006,0) | |
429 | --2.9000001, 0}, {0.450000018, 0} | |
430 | local gairo = Instance.new("BodyGyro") | |
431 | gairo.Parent = nil | |
432 | gairo.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
433 | gairo.P = 20e+003 | |
434 | ||
435 | if (script.Parent.className ~= "HopperBin") then | |
436 | Tool = Instance.new("HopperBin") | |
437 | Tool.Parent = Backpack | |
438 | Tool.Name = "Scython's Blades" | |
439 | script.Parent = Tool | |
440 | end | |
441 | Bin = script.Parent | |
442 | ||
443 | function hideanim() | |
444 | sheathed=false | |
445 | for i = 0,1,0.1 do | |
446 | wait() | |
447 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0.1-0.6*i,0,0) | |
448 | wld1.C0 = CFrame.fromEulerAnglesXYZ(-1.57,1-1+1*i,1.57-1.57*i) * CFrame.new(0,1,0) | |
449 | wld11.C0 = CFrame.fromEulerAnglesXYZ(-1.57,-1+1-1*i,1.57-1.57*i) * CFrame.new(0,1,0) | |
450 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4*i,0,0) | |
451 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
452 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4*i,0,0) | |
453 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
454 | end | |
455 | equipsound(1) | |
456 | wld1.Part1 = Torso | |
457 | wld1.C0 = CFrame.fromEulerAnglesXYZ(0,1.57,-0.8) * CFrame.new(1.2,-1.3,-0.5) | |
458 | wld11.Part1 = Torso | |
459 | wld11.C0 = CFrame.fromEulerAnglesXYZ(0,1.57,0.8) * CFrame.new(-1.2,-1.3,-0.5) | |
460 | for i = 0,1,0.1 do | |
461 | wait() | |
462 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(-0.5+0.5*i,0,0) | |
463 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4-4*i,0,0) | |
464 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
465 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4-4*i,0,0) | |
466 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
467 | end | |
468 | end | |
469 | ||
470 | function equipanim() | |
471 | sheathed=true | |
472 | for i = 0,1,0.1 do | |
473 | wait() | |
474 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4*i,0,0) | |
475 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
476 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4*i,0,0) | |
477 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
478 | end | |
479 | equipsound(1) | |
480 | wld1.Part1 = LeftArm | |
481 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57,1,0) * CFrame.new(0,1,0) | |
482 | wld11.Part1 = RightArm | |
483 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,-1,0) * CFrame.new(0,1,0) | |
484 | for i = 0,1,0.1 do | |
485 | wait() | |
486 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57,1-1*i,0) * CFrame.new(0,1,0) | |
487 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,-1+1*i,0) * CFrame.new(0,1,0) | |
488 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4-4.5*i,0,0) | |
489 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
490 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(4-4.5*i,0,0) | |
491 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
492 | end | |
493 | wait(0.1) | |
494 | for i = 0,1,0.1 do | |
495 | wait() | |
496 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,0.3*i,-0.3*i) | |
497 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
498 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,-0.3*i,0.3*i) | |
499 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
500 | end | |
501 | end | |
502 | ||
503 | function onehit() | |
504 | attack=true | |
505 | ss(1.1) | |
506 | con1=prt4.Touched:connect(function(hit) Damagefunc1(hit,5,10) end) | |
507 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
508 | for i = 0,1,0.2 do | |
509 | wait() | |
510 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
511 | effect("Black",0.5,LastPoint,Point) | |
512 | LastPoint = Point | |
513 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57*i,0,0) * CFrame.new(0,1,0) | |
514 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
515 | LW.C0 = CFrame.new(-1.5+0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(-0.5+2*i,0.3-(0.3+1.57*i),-0.3+0.3*i) | |
516 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(-0.8*i,0,0) | |
517 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,-0.3,0.3) | |
518 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
519 | end | |
520 | con1:disconnect() | |
521 | attack=false | |
522 | end | |
523 | ||
524 | function twohit() | |
525 | attack=true | |
526 | ss(1.2) | |
527 | con1=prt4.Touched:connect(function(hit) Damagefunc1(hit,5,10) end) | |
528 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
529 | for i = 0,1,0.2 do | |
530 | wait() | |
531 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
532 | effect("Black",0.5,LastPoint,Point) | |
533 | LastPoint = Point | |
534 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57+1.7*i,0,0) * CFrame.new(0,1,0) | |
535 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
536 | LW.C0 = CFrame.new(-1.5+0.5-0.5*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(-0.5+2,0.3-(0.3+1.57),-0.3+0.3) | |
537 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(-0.8+2*i,0,0) | |
538 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,-0.3,0.3) | |
539 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
540 | end | |
541 | con1:disconnect() | |
542 | attack=false | |
543 | end | |
544 | ||
545 | function threehit() | |
546 | attack=true | |
547 | ss(1) | |
548 | con1=prt14.Touched:connect(function(hit) Damagefunc1(hit,5,10) end) | |
549 | local LastPoint = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
550 | for i = 0,1,0.2 do | |
551 | wait() | |
552 | local Point = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
553 | effect("Black",0.5,LastPoint,Point) | |
554 | LastPoint = Point | |
555 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57+1.7,0,0) * CFrame.new(0,1,0) | |
556 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57*i,0,0) * CFrame.new(0,1,0) | |
557 | LW.C0 = CFrame.new(-1.5+0.5-0.5,0.5,-0.5+0.5) * CFrame.fromEulerAnglesXYZ(-0.5+2,0.3-(0.3+1.57),-0.3+0.3) | |
558 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(-0.8+2,0,0) | |
559 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+3*i,-0.3+0.3*i,0.3-0.3*i) | |
560 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
561 | end | |
562 | con1:disconnect() | |
563 | attack=false | |
564 | end | |
565 | ||
566 | function fourhit() | |
567 | attack=true | |
568 | ss(1.4) | |
569 | con1=prt14.Touched:connect(function(hit) Damagefunc1(hit,5,10) end) | |
570 | local LastPoint = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
571 | for i = 0,1,0.2 do | |
572 | wait() | |
573 | local Point = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
574 | effect("Black",0.5,LastPoint,Point) | |
575 | LastPoint = Point | |
576 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57+1.7,0,0) * CFrame.new(0,1,0) | |
577 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,1.57*i) * CFrame.new(0,1,0) | |
578 | LW.C0 = CFrame.new(-1.5+0.5-0.5,0.5,-0.5+0.5) * CFrame.fromEulerAnglesXYZ(-0.5+2,0.3-(0.3+1.57),-0.3+0.3) | |
579 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(-0.8+2,0,0) | |
580 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+3,1.57*i,0) | |
581 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.5*i,0,0) | |
582 | end | |
583 | con1:disconnect() | |
584 | attack=false | |
585 | end | |
586 | ||
587 | function fivehit() | |
588 | attack=true | |
589 | ss(1.4) | |
590 | con1=prt4.Touched:connect(function(hit) Damagefunc1(hit,5,10) end) | |
591 | con2=prt14.Touched:connect(function(hit) Damagefunc1(hit,5,10) end) | |
592 | local vel = Instance.new("BodyGyro") | |
593 | vel.Parent = Torso | |
594 | vel.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
595 | vel.P = 20e+003 | |
596 | CF = Torso.CFrame | |
597 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
598 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
599 | for i = 0,1,0.1 do | |
600 | wait() | |
601 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
602 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
603 | effect("Black",0.5,LastPoint,Point) | |
604 | effect("Black",0.5,LastPoint2,Point2) | |
605 | LastPoint = Point | |
606 | LastPoint2 = Point2 | |
607 | vel.cframe = CF * CFrame.fromEulerAnglesXYZ(0,math.rad(360)*i,0) | |
608 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57+1.7,0,0) * CFrame.new(0,1,0) | |
609 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,1.57) * CFrame.new(0,1,0) | |
610 | LW.C0 = CFrame.new(-1.5+0.5-0.5,0.5,-0.5+0.5) * CFrame.fromEulerAnglesXYZ(-0.5+2,0.3-(0.3+1.57),-0.3+0.3) | |
611 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(-0.8+2,0,0) | |
612 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+3,1.57,0) | |
613 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.5,0,0) | |
614 | end | |
615 | ss(1.4) | |
616 | for i = 0,1,0.1 do | |
617 | wait() | |
618 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
619 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
620 | effect("Black",0.5,LastPoint,Point) | |
621 | effect("Black",0.5,LastPoint2,Point2) | |
622 | LastPoint = Point | |
623 | LastPoint2 = Point2 | |
624 | vel.cframe = CF * CFrame.fromEulerAnglesXYZ(0,math.rad(360)*i,0) | |
625 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57+1.7,0,0) * CFrame.new(0,1,0) | |
626 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,1.57) * CFrame.new(0,1,0) | |
627 | LW.C0 = CFrame.new(-1.5+0.5-0.5,0.5,-0.5+0.5) * CFrame.fromEulerAnglesXYZ(-0.5+2,0.3-(0.3+1.57),-0.3+0.3) | |
628 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(-0.8+2,0,0) | |
629 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+3,1.57,0) | |
630 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.5,0,0) | |
631 | end | |
632 | vel.Parent = nil | |
633 | lightning=false | |
634 | con1:disconnect() | |
635 | con2:disconnect() | |
636 | attack=false | |
637 | end | |
638 | ||
639 | function FlyWave() | |
640 | if mana >= 60 then | |
641 | mana=mana-60 | |
642 | attack=true | |
643 | for i = 0,1,0.1 do | |
644 | wait() | |
645 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57*i,0,0) * CFrame.new(0,1,0) | |
646 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57*i,0,0) * CFrame.new(0,1,0) | |
647 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0) | |
648 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07*i,0.3-0.3*i,-0.3-1.27*i) | |
649 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
650 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07*i,-0.3+0.3*i,0.3+1.27*i) | |
651 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
652 | end | |
653 | con1=prt4.Touched:connect(function(hit) Damagefunc1(hit,15,10) end) | |
654 | con2=prt14.Touched:connect(function(hit) Damagefunc1(hit,15,10) end) | |
655 | local vel2 = Instance.new("BodyVelocity") | |
656 | vel2.Parent = Player.Character.Torso | |
657 | vel2.maxForce = Vector3.new(4e+005,4e+005,4e+005)*1 | |
658 | vel2.velocity = Vector3.new(0,1,0)*60 | |
659 | --[[bodypos=Instance.new("BodyPosition") | |
660 | bodypos.P=500 | |
661 | bodypos.D=100 | |
662 | bodypos.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
663 | bodypos.position=Head.Position | |
664 | bodypos.Parent=Head | |
665 | bodypos.position=Head.Position+Vector3.new(0,50,0)]] | |
666 | local vel = Instance.new("BodyGyro") | |
667 | vel.Parent = Torso | |
668 | vel.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
669 | vel.P = 20e+003 | |
670 | CF = Torso.CFrame | |
671 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
672 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
673 | for i=1,2 do | |
674 | ss(1.4) | |
675 | for i = 0,1,0.1 do | |
676 | wait() | |
677 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
678 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
679 | effect("Black",0.5,LastPoint,Point) | |
680 | effect("Black",0.5,LastPoint2,Point2) | |
681 | LastPoint = Point | |
682 | LastPoint2 = Point2 | |
683 | vel.cframe = CF * CFrame.fromEulerAnglesXYZ(0,math.rad(360)*i,0) | |
684 | end | |
685 | end | |
686 | vel2.velocity = Vector3.new(0,0,0) | |
687 | con1:disconnect() | |
688 | con2:disconnect() | |
689 | for i=0,1,0.1 do | |
690 | wait() | |
691 | vel.cframe = CF * CFrame.fromEulerAnglesXYZ(math.rad(180)*i,0,0) | |
692 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(1.57+1.57*i,0,-1.57+1.57*i) | |
693 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
694 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(1.57+1.57*i,0,1.57-1.57*i) | |
695 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
696 | end | |
697 | vel2.Parent=nil | |
698 | local floor = false | |
699 | coroutine.resume(coroutine.create(function() | |
700 | repeat | |
701 | wait(0.05) | |
702 | hit,pos = rayCast(Torso.Position, (CFrame.new(Torso.Position,Torso.Position - Vector3.new(0,6,0))).lookVector, 6, Character) | |
703 | if hit ~= nil then | |
704 | floor = true | |
705 | end | |
706 | until floor | |
707 | end)) | |
708 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
709 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
710 | repeat | |
711 | wait() | |
712 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
713 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
714 | effect("Black",0.5,LastPoint,Point) | |
715 | effect("Black",0.5,LastPoint2,Point2) | |
716 | LastPoint = Point | |
717 | LastPoint2 = Point2 | |
718 | MMMAGIC(prt5,3,3,3,0,0,0,BrickColor.new("Black")) | |
719 | MMMAGIC(prt15,3,3,3,0,0,0,BrickColor.new("Black")) | |
720 | until floor | |
721 | local c = game.Workspace:GetChildren(); | |
722 | for i = 1, #c do | |
723 | local hum = c[i]:findFirstChild("Humanoid") | |
724 | if hum ~= nil and hum.Health ~= 0 then | |
725 | local head = c[i]:findFirstChild("Head"); | |
726 | if head ~= nil then | |
727 | local targ = head.Position - Torso.Position; | |
728 | local mag = targ.magnitude; | |
729 | if mag <= 10 and c[i].Name ~= Player.Name then | |
730 | DBHit(head,40) | |
731 | end | |
732 | end | |
733 | end | |
734 | end | |
735 | spikesound(1) | |
736 | magicsound(0.8) | |
737 | MMMAGIC(prt5,15,15,15,0,0,0,BrickColor.new("Black")) | |
738 | MMMAGIC(prt15,15,15,15,0,0,0,BrickColor.new("Black")) | |
739 | BlastEffect(Head,20,20,20,0,0,0,3.14,0,0,BrickColor.new("Really black")) | |
740 | vel.Parent=nil | |
741 | attack=false | |
742 | end | |
743 | end | |
744 | ||
745 | function DecisiveBlow() | |
746 | if mana>=90 then | |
747 | mana=mana-90 | |
748 | attack=true | |
749 | for i = 0,1,0.1 do | |
750 | wait() | |
751 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14*i,0,0) * CFrame.new(0,1,0) | |
752 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14*i,0,0) * CFrame.new(0,1,0) | |
753 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07*i,0.3-0.3*i,-0.3+0.6*i) | |
754 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0.8*i,0) | |
755 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07*i,-0.3+0.3*i,0.3-0.6*i) | |
756 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,-0.8*i,0) | |
757 | end | |
758 | wait(0.3) | |
759 | con1=prt4.Touched:connect(function(hit) Damagefunc1(hit,50,10) end) | |
760 | con2=prt14.Touched:connect(function(hit) Damagefunc1(hit,50,10) end) | |
761 | clone() | |
762 | local vel2 = Instance.new("BodyVelocity") | |
763 | vel2.Parent = Player.Character.Torso | |
764 | vel2.maxForce = Vector3.new(4e+005,4e+005,4e+005)*1 | |
765 | vel2.velocity = Torso.CFrame.lookVector*200 | |
766 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
767 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
768 | wait(0.1) | |
769 | vel2.Parent=nil | |
770 | ss(2) | |
771 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14,0,0) * CFrame.new(0,1,0) | |
772 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14,0,0) * CFrame.new(0,1,0) | |
773 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(1.57,0,0.3) | |
774 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.5,0.8,0) | |
775 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(1.57,0,-0.3) | |
776 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(2.5,-0.8,0) | |
777 | for i=0,0.5,0.1 do | |
778 | wait() | |
779 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
780 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
781 | effect("Black",0.5,LastPoint,Point) | |
782 | effect("Black",0.5,LastPoint2,Point2) | |
783 | LastPoint = Point | |
784 | LastPoint2 = Point2 | |
785 | end | |
786 | con1:disconnect() | |
787 | con2:disconnect() | |
788 | wait(1) | |
789 | attack=false | |
790 | end | |
791 | end | |
792 | ||
793 | function Charge() | |
794 | attack=true | |
795 | for i = 0,1,0.1 do | |
796 | wait() | |
797 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14*i,0,0) * CFrame.new(0,1,0) | |
798 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14*i,0,0) * CFrame.new(0,1,0) | |
799 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0) | |
800 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+1.5*i,0.3-0.9*i,-0.3+0.6*i) | |
801 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
802 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+1.5*i,-0.3+0.9*i,0.3-0.6*i) | |
803 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
804 | end | |
805 | while charging==true do | |
806 | wait(0.1) | |
807 | mana=mana+1 | |
808 | MMMAGIC(prt5,1,1,1,0,0,0,BrickColor.new("Black")) | |
809 | MMMAGIC(prt15,1,1,1,0,0,0,BrickColor.new("Black")) | |
810 | p=Instance.new("Part") | |
811 | p.Name="FlameEm" | |
812 | p.Shape=0 | |
813 | p.TopSurface=0 | |
814 | p.BottomSurface=0 | |
815 | p.BrickColor=BrickColor.new("Black") | |
816 | p.Anchored=true | |
817 | p.CanCollide=false | |
818 | p.Size=Vector3.new(1,1,1) | |
819 | p.CFrame=CFrame.new(Character["Torso"].CFrame.p+Vector3.new(0,-3,0))+Vector3.new(math.random(-20,20)/5,0,math.random(-20,20)/5) | |
820 | p.Parent=modelzorz | |
821 | m=Instance.new("SpecialMesh") | |
822 | m.MeshType="Sphere" | |
823 | m.Parent=p | |
824 | m.Scale=Vector3.new(1,1,1) | |
825 | coroutine.resume(coroutine.create(function(pa) for i=1, 9 do pa.Mesh.Scale=pa.Mesh.Scale+Vector3.new(0,1.5,0) pa.Transparency=pa.Transparency+1/9 wait(0) end pa.Parent=nil end),p) | |
826 | ||
827 | end | |
828 | MMMAGIC(prt5,3,3,3,0,0,0,BrickColor.new("Black")) | |
829 | MMMAGIC(prt15,3,3,3,0,0,0,BrickColor.new("Black")) | |
830 | for i = 0,1,0.1 do | |
831 | wait() | |
832 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14+3.14*i,0,0) * CFrame.new(0,1,0) | |
833 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14+3.14*i,0,0) * CFrame.new(0,1,0) | |
834 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0) | |
835 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+1.5-1.5*i,0.3-0.9+0.9*i,-0.3+0.6-0.6*i) | |
836 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
837 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+1.5-1.5*i,-0.3+0.9-0.9*i,0.3-0.6+0.6*i) | |
838 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
839 | end | |
840 | attack=false | |
841 | end | |
842 | ||
843 | function CloneSlash() | |
844 | if mana>=30 then | |
845 | attack=true | |
846 | mana=mana-30 | |
847 | for i = 0,1,0.1 do | |
848 | wait() | |
849 | prt4.Reflectance=prt4.Reflectance-0.05 | |
850 | prt5.Reflectance=prt5.Reflectance-0.05 | |
851 | prt14.Reflectance=prt14.Reflectance-0.05 | |
852 | prt15.Reflectance=prt15.Reflectance-0.05 | |
853 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
854 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
855 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0) | |
856 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,0.3,-0.3-0.3*i) | |
857 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
858 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,-0.3,0.3+0.3*i) | |
859 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
860 | end | |
861 | gairo.Parent = Head | |
862 | gairo.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
863 | gairo.P = 20e+003 | |
864 | gairo.cframe = Head.CFrame | |
865 | ss(1) | |
866 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
867 | for i = 0,1,0.2 do | |
868 | wait() | |
869 | shoottrail2(prt5) | |
870 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
871 | effect("Black",0.5,LastPoint,Point) | |
872 | LastPoint = Point | |
873 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14*i,0,0) * CFrame.new(0,1,0) | |
874 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0.5*i) | |
875 | LW.C0 = CFrame.new(-1.5+0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(-0.5+3*i,0.3-0.9*i,-0.6+1.2*i) | |
876 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
877 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,-0.3,0.6) | |
878 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
879 | end | |
880 | --shoottrail2(prt5) | |
881 | ss(1.1) | |
882 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
883 | for i=0,1,0.2 do | |
884 | wait() | |
885 | shoottrail2(prt15) | |
886 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
887 | effect("Black",0.5,LastPoint2,Point2) | |
888 | LastPoint2 = Point2 | |
889 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14*i,0,0) * CFrame.new(0,1,0) | |
890 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0.5-1*i) | |
891 | LW.C0 = CFrame.new(-1.5+0.5-0.5*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(-0.5+3-2.5*i,0.3-0.9*i,-0.6+1.2-2.1*i) | |
892 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
893 | RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(-0.5+3*i,-0.3+0.9*i,0.6-1.2*i) | |
894 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
895 | end | |
896 | local vel = Instance.new("BodyGyro") | |
897 | vel.Parent = Torso | |
898 | vel.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
899 | vel.P = 20e+003 | |
900 | CF = Torso.CFrame | |
901 | gairo.Parent=nil | |
902 | --shoottrail2(prt15) | |
903 | ss(1.3) | |
904 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
905 | for i = 0,1,0.1 do | |
906 | wait() | |
907 | shoottrail2(prt5) | |
908 | vel.cframe = CF * CFrame.fromEulerAnglesXYZ(0,math.rad(450)*i,0) | |
909 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
910 | effect("Black",0.5,LastPoint,Point) | |
911 | LastPoint = Point | |
912 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14,0,0) * CFrame.new(0,1,0) | |
913 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0.5-1) | |
914 | LW.C0 = CFrame.new(-1.5+0.5-0.5,0.5,-0.5+0.5) * CFrame.fromEulerAnglesXYZ(-0.5+3-2.5,0.3-0.9,-0.6+1.2-2.1) | |
915 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
916 | RW.C0 = CFrame.new(1.5-0.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(-0.5+3,-0.3+0.9,0.6-1.2) | |
917 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
918 | end | |
919 | vel.Parent=nil | |
920 | --shoottrail2(prt5) | |
921 | ss(0.9) | |
922 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
923 | for i=0,1,0.2 do | |
924 | wait() | |
925 | shoottrail2(prt15) | |
926 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
927 | effect("Black",0.5,LastPoint2,Point2) | |
928 | LastPoint2 = Point2 | |
929 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-3.14,0,0) * CFrame.new(0,1,0) | |
930 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0.5-1) | |
931 | LW.C0 = CFrame.new(-1.5+0.5-0.5,0.5,-0.5+0.5) * CFrame.fromEulerAnglesXYZ(-0.5+3-2.5,0.3-0.9,-0.6+1.2-2.1) | |
932 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
933 | RW.C0 = CFrame.new(1.5-0.5+0.5*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(-0.5+3-3*i,-0.3+0.9-0.9*i,0.6-1.2+1.2*i) | |
934 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
935 | end | |
936 | --shoottrail2(prt15) | |
937 | wait(1) | |
938 | vel.Parent=nil | |
939 | gairo.Parent=nil | |
940 | prt4.Reflectance=0.3 | |
941 | prt5.Reflectance=0.3 | |
942 | prt14.Reflectance=0.3 | |
943 | prt15.Reflectance=0.3 | |
944 | attack=false | |
945 | end | |
946 | end | |
947 | ||
948 | function Flamera() | |
949 | if mana>=400 then | |
950 | mana=0 | |
951 | attack=true | |
952 | local c = game.Workspace:GetChildren(); | |
953 | for i = 1, #c do | |
954 | local hum = c[i]:findFirstChild("Humanoid") | |
955 | if hum ~= nil and hum.Health ~= 0 then | |
956 | local head = c[i]:findFirstChild("Head"); | |
957 | if head ~= nil then | |
958 | local targ = head.Position - Torso.Position; | |
959 | local mag = targ.magnitude; | |
960 | if mag <= 10 and c[i].Name ~= Player.Name then | |
961 | DBHit(head,1) | |
962 | end | |
963 | end | |
964 | end | |
965 | end | |
966 | magicsound(0.8) | |
967 | MMMAGIC(Head,15,15,15,0,0,0,BrickColor.new("Black")) | |
968 | BlastEffect(Head,20,20,20,0,0,0,0,0,0,BrickColor.new("Really black")) | |
969 | local vel2 = Instance.new("BodyVelocity") | |
970 | vel2.Parent = Player.Character.Torso | |
971 | vel2.maxForce = Vector3.new(4e+005,4e+005,4e+005)*1 | |
972 | vel2.velocity = Vector3.new(0,1,0)*400 | |
973 | for i = 0,1,0.2 do | |
974 | wait() | |
975 | MMMAGIC(LeftLeg,3,3,3,0,1,0,BrickColor.new("Black")) | |
976 | MMMAGIC(RightLeg,3,3,3,0,1,0,BrickColor.new("Black")) | |
977 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0) | |
978 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,0.3,-0.3) | |
979 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
980 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5,-0.3,0.3) | |
981 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
982 | end | |
983 | vel2.Parent=nil | |
984 | bodypos=Instance.new("BodyPosition") | |
985 | bodypos.P=500 | |
986 | bodypos.D=100 | |
987 | bodypos.maxForce=Vector3.new(0,math.huge,0) | |
988 | bodypos.position=Head.Position | |
989 | bodypos.Parent=Head | |
990 | gairo.Parent = Head | |
991 | gairo.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
992 | gairo.P = 20e+003 | |
993 | gairo.cframe = Head.CFrame | |
994 | CF=Head.CFrame | |
995 | for i=0,1,0.1 do | |
996 | wait() | |
997 | MMMAGIC(LeftLeg,1,1,1,0,-1,0,BrickColor.new("Black")) | |
998 | MMMAGIC(RightLeg,1,1,1,0,-1,0,BrickColor.new("Black")) | |
999 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57*i,0,0) * CFrame.new(0,1,0) | |
1000 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57*i,0,0) * CFrame.new(0,1,0) | |
1001 | gairo.cframe=CF*CFrame.fromEulerAnglesXYZ(-1.57,0,0) | |
1002 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07*i,0.3-0.3*i,-0.3-1.27*i) | |
1003 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
1004 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07*i,-0.3+0.3*i,0.3+1.27*i) | |
1005 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
1006 | end | |
1007 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
1008 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
1009 | for i=0,8,0.1 do | |
1010 | wait(0.05) | |
1011 | shoottrail2(prt5) | |
1012 | shoottrail2(prt15) | |
1013 | --ss(1) | |
1014 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
1015 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
1016 | effect("Black",0.5,LastPoint,Point) | |
1017 | effect("Black",0.5,LastPoint2,Point2) | |
1018 | LastPoint = Point | |
1019 | LastPoint2 = Point2 | |
1020 | MMMAGIC(LeftLeg,1,1,1,0,-1,0,BrickColor.new("Black")) | |
1021 | MMMAGIC(RightLeg,1,1,1,0,-1,0,BrickColor.new("Black")) | |
1022 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57,0,0) * CFrame.new(0,1,0) | |
1023 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57,0,0) * CFrame.new(0,1,0) | |
1024 | gairo.cframe=CF*CFrame.fromEulerAnglesXYZ(-1.57,0,0) | |
1025 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07,0.3-0.3,-0.3-1.27+1.57) | |
1026 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.random()+math.random(-1,0),math.random()+math.random(-1,0),math.random()+math.random(-1,0)) | |
1027 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07,-0.3+0.3,0.3+1.27-1.57) | |
1028 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.random()+math.random(-1,0),math.random()+math.random(-1,0),math.random()+math.random(-1,0)) | |
1029 | end | |
1030 | for i=0,1,0.1 do | |
1031 | wait() | |
1032 | gairo.cframe=CF*CFrame.fromEulerAnglesXYZ(-1.57-1.57*i,0,0) | |
1033 | MMMAGIC(LeftLeg,1,1,1,0,-1,0,BrickColor.new("Black")) | |
1034 | MMMAGIC(RightLeg,1,1,1,0,-1,0,BrickColor.new("Black")) | |
1035 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57,0,0) * CFrame.new(0,1,0) | |
1036 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57-1.57,0,0) * CFrame.new(0,1,0) | |
1037 | gairo.cframe=CF*CFrame.fromEulerAnglesXYZ(-1.57-1.57*i,0,0) | |
1038 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07+1.57*i,0.3-0.3,-0.3-1.27+1.57) | |
1039 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
1040 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5+2.07+1.57*i,-0.3+0.3,0.3+1.27-1.57) | |
1041 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
1042 | end | |
1043 | bodypos.Parent=nil | |
1044 | local floor = false | |
1045 | coroutine.resume(coroutine.create(function() | |
1046 | repeat | |
1047 | wait(0.05) | |
1048 | hit,pos = rayCast(Torso.Position, (CFrame.new(Torso.Position,Torso.Position - Vector3.new(0,6,0))).lookVector, 6, Character) | |
1049 | if hit ~= nil then | |
1050 | floor = true | |
1051 | end | |
1052 | until floor | |
1053 | end)) | |
1054 | local LastPoint = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
1055 | local LastPoint2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
1056 | repeat | |
1057 | wait() | |
1058 | local Point = prt5.CFrame * CFrame.new(0,prt5.Size.Y/2,0) | |
1059 | local Point2 = prt15.CFrame * CFrame.new(0,prt15.Size.Y/2,0) | |
1060 | effect("Black",0.5,LastPoint,Point) | |
1061 | effect("Black",0.5,LastPoint2,Point2) | |
1062 | LastPoint = Point | |
1063 | LastPoint2 = Point2 | |
1064 | MMMAGIC(prt5,3,3,3,0,0,0,BrickColor.new("Black")) | |
1065 | MMMAGIC(prt15,3,3,3,0,0,0,BrickColor.new("Black")) | |
1066 | until floor | |
1067 | local c = game.Workspace:GetChildren(); | |
1068 | for i = 1, #c do | |
1069 | local hum = c[i]:findFirstChild("Humanoid") | |
1070 | if hum ~= nil and hum.Health ~= 0 then | |
1071 | local head = c[i]:findFirstChild("Head"); | |
1072 | if head ~= nil then | |
1073 | local targ = head.Position - Torso.Position; | |
1074 | local mag = targ.magnitude; | |
1075 | if mag <= 40 and c[i].Name ~= Player.Name then | |
1076 | DBHit(head,80) | |
1077 | end | |
1078 | end | |
1079 | end | |
1080 | end | |
1081 | Character.Humanoid.Health=10 | |
1082 | spikesound(0.6) | |
1083 | magicsound(0.5) | |
1084 | MMMAGIC2(prt5,40,40,40,0,0,0,BrickColor.new("Black")) | |
1085 | MMMAGIC2(prt15,40,40,40,0,0,0,BrickColor.new("Black")) | |
1086 | WaveEffect2(Head,55,45,55,0,0,0,3.14,0,0,BrickColor.new("Really black")) | |
1087 | BlastEffect2(Head,55,55,55,0,0,0,3.14,0,0,BrickColor.new("Really black")) | |
1088 | EVENMOARMAGIX(prt15,60,60,60,0,0,0,0,0,0,BrickColor.new("Black")) | |
1089 | wait(1) | |
1090 | gairo.Parent=nil | |
1091 | attack=false | |
1092 | end | |
1093 | end | |
1094 | ||
1095 | function shoottrail2(pos1) | |
1096 | coroutine.resume(coroutine.create(function() | |
1097 | spread2 = 0 | |
1098 | range2 = 500 | |
1099 | rangepower = 10 | |
1100 | local spreadvector = (Vector3.new(math.random(-spread2,spread2),math.random(-spread2,spread2),math.random(-spread2,spread2)) / 100) * (pos1.Position).magnitude/100 | |
1101 | local dir = Head.CFrame.lookVector+spreadvector | |
1102 | local hit2,pos = rayCast(pos1.Position,dir,10,Character) | |
1103 | local rangepos = range2 | |
1104 | local function drawtrail(From,To) | |
1105 | local effectsmsh = Instance.new("CylinderMesh") | |
1106 | effectsmsh.Scale = Vector3.new(1,1,1) | |
1107 | effectsmsh.Name = "Mesh" | |
1108 | local effectsg = Instance.new("Part") | |
1109 | effectsg.formFactor = 3 | |
1110 | effectsg.CanCollide = false | |
1111 | effectsg.Name = "Eff" | |
1112 | effectsg.Locked = true | |
1113 | effectsg.Anchored = true | |
1114 | effectsg.Size = Vector3.new(0.2,0.2,0.2) | |
1115 | effectsg.Parent = modelzorz | |
1116 | effectsmsh.Parent = effectsg | |
1117 | effectsg.BrickColor = BrickColor.new("Really black") | |
1118 | effectsg.Reflectance = 0.25 | |
1119 | local LP = From | |
1120 | local point1 = To | |
1121 | local mg = (LP - point1).magnitude | |
1122 | effectsmsh.Scale = Vector3.new(1,mg*5,1) | |
1123 | effectsg.CFrame = CFrame.new((LP+point1)/2,point1) * CFrame.Angles(math.rad(90),0,0) | |
1124 | coroutine.resume(coroutine.create(function() | |
1125 | for i = 0 , 1 , 0.5 do | |
1126 | wait() | |
1127 | effectsg.Transparency = 1*i | |
1128 | effectsmsh.Scale = Vector3.new(1-1*i,mg*5,1-1*i) | |
1129 | end | |
1130 | effectsg.Parent = nil | |
1131 | end)) | |
1132 | end | |
1133 | local newpos = pos1.Position | |
1134 | local inc = rangepower | |
1135 | repeat | |
1136 | wait() | |
1137 | rangepos = rangepos - 10 | |
1138 | dir = dir | |
1139 | hit2,pos = rayCast(newpos,dir,inc,Character) | |
1140 | drawtrail(newpos,pos) | |
1141 | newpos = newpos + (dir * inc) | |
1142 | if alt==1 then | |
1143 | inc = 10 | |
1144 | if inc >= 20 then | |
1145 | inc = inc - 10 | |
1146 | end | |
1147 | end | |
1148 | if hit2 ~= nil then | |
1149 | rangepos = 0 | |
1150 | end | |
1151 | until rangepos <= 0 | |
1152 | if hit2 ~= nil then | |
1153 | local effectsmsh = Instance.new("SpecialMesh") | |
1154 | effectsmsh.MeshId = "http://www.roblox.com/asset/?id=15887356" | |
1155 | --effectsmsh.Scale = Vector3.new(1,1,2.5) | |
1156 | effectsmsh.Scale = Vector3.new(3,3,3) | |
1157 | local effectsg = Instance.new("Part") | |
1158 | effectsg.formFactor = 3 | |
1159 | effectsg.CanCollide = false | |
1160 | effectsg.Name = "Arrow" | |
1161 | effectsg.Locked = true | |
1162 | effectsg.Transparency = 1 | |
1163 | effectsg.Size = Vector3.new(0.2,0.2,0.2) | |
1164 | effectsg.Parent = modelzorz | |
1165 | effectsg.BrickColor = BrickColor.new("Really black") | |
1166 | effectsmsh.Parent = effectsg | |
1167 | effectsg.CFrame = CFrame.new(newpos,pos) + CFrame.new(newpos,pos).lookVector*2.5*2 | |
1168 | local efwel = Instance.new("Weld") | |
1169 | efwel.Parent = effectsg | |
1170 | efwel.Part0 = effectsg | |
1171 | efwel.Part1 = hit2 | |
1172 | efwel.Parent = nil | |
1173 | effectsg.Anchored = true | |
1174 | local HitPos = effectsg.Position + CFrame.new(newpos,pos).lookVector*0.75 | |
1175 | --local HitPos = prt1.Position + CFrame.new(newpos,pos).lookVector*0.75 | |
1176 | --local HitPos = prt1.Position + (prt1.CFrame.lookVector * .5) | |
1177 | local CJ = CFrame.new(HitPos) | |
1178 | local C0 = effectsg.CFrame:inverse() * CJ | |
1179 | local C1 = hit2.CFrame:inverse() * CJ | |
1180 | --efwel.C0 = C0 | |
1181 | --efwel.C1 = C1 | |
1182 | --efwel.Parent = effectsg | |
1183 | Damg = 1 | |
1184 | coroutine.resume(coroutine.create(function() | |
1185 | wait(3) | |
1186 | effectsg.Parent = nil | |
1187 | end)) | |
1188 | if hit2.Parent:FindFirstChild("Humanoid") ~= nil then | |
1189 | hum = hit2.Parent.Humanoid | |
1190 | attackdebounce = false | |
1191 | Damagefunc1(hit2,Damg,5) | |
1192 | elseif hit2.Parent.Parent ~= nil and hit2.Parent.Parent:FindFirstChild("Humanoid") ~= nil then | |
1193 | hum = hit2.Parent.Parent.Humanoid | |
1194 | attackdebounce = false | |
1195 | Damagefunc1(hit2,Damg,5) | |
1196 | end | |
1197 | end | |
1198 | end)) | |
1199 | end | |
1200 | ||
1201 | function clone() | |
1202 | c=Character:children() | |
1203 | for i=1,#c do | |
1204 | if c[i].className=="Part" then | |
1205 | print(c[i]) | |
1206 | d=c[i]:clone() | |
1207 | d.Parent=workspace | |
1208 | d.Transparency=0.4 | |
1209 | d.Anchored=true | |
1210 | d.CanCollide=false | |
1211 | d.BrickColor=BrickColor.new("Black") | |
1212 | if d:findFirstChild("roblox")~=nil then | |
1213 | d:findFirstChild("roblox").Parent=nil | |
1214 | end | |
1215 | coroutine.resume(coroutine.create(function(Part) | |
1216 | for x=0,1,0.1 do | |
1217 | wait() | |
1218 | Part.Transparency=Part.Transparency+0.1 | |
1219 | end | |
1220 | Part.Parent=nil | |
1221 | end),d) | |
1222 | end | |
1223 | end | |
1224 | end | |
1225 | ||
1226 | function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , Ignore Descendants | |
1227 | return game.Workspace:FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) | |
1228 | end | |
1229 | ||
1230 | function effect(Color,Ref,LP,P1,returnn) | |
1231 | local effectsmsh = Instance.new("BlockMesh") | |
1232 | effectsmsh.Scale = Vector3.new(1,1,1) | |
1233 | effectsmsh.Name = "Mesh" | |
1234 | local effectsg = Instance.new("Part") | |
1235 | effectsg.formFactor = 3 | |
1236 | effectsg.CanCollide = false | |
1237 | effectsg.Name = "Eff" | |
1238 | effectsg.Locked = true | |
1239 | effectsg.Anchored = true | |
1240 | effectsg.Size = Vector3.new(0.2,1,0.2) | |
1241 | effectsg.Parent = modelzorz | |
1242 | effectsmsh.Parent = effectsg | |
1243 | effectsg.BrickColor = BrickColor.new(Color) | |
1244 | effectsg.Reflectance = Ref | |
1245 | local point1 = P1 | |
1246 | local mg = (LP.p - point1.p).magnitude | |
1247 | effectsg.Size = Vector3.new(0.2,mg,0.2) | |
1248 | effectsg.CFrame = CFrame.new((LP.p+point1.p)/2,point1.p) * CFrame.Angles(math.rad(90),0,0) | |
1249 | if returnn then return effectsg end | |
1250 | coroutine.resume(coroutine.create(function() | |
1251 | if not returnn then | |
1252 | for i = 0 , 1 , 0.1 do | |
1253 | wait() | |
1254 | effectsg.Transparency = 1*i | |
1255 | effectsmsh.Scale = Vector3.new(1-1*i,1,1-1*i) | |
1256 | end | |
1257 | wait() | |
1258 | effectsg.Parent = nil | |
1259 | end | |
1260 | end)) | |
1261 | end | |
1262 | ||
1263 | Stun2=function(Feh,x,y,z,color) | |
1264 | coroutine.resume(coroutine.create(function(part,X,Y,Z) | |
1265 | --[[ if part.Parent:FindFirstChild("Torso")==nil then | |
1266 | return | |
1267 | end]] | |
1268 | Torsoh2=part | |
1269 | End2=Torsoh2.CFrame+Vector3.new(X/10,Y/10,Z/10) | |
1270 | ST2=Torsoh2.Position | |
1271 | --[[ p=Instance.new("BodyPosition") | |
1272 | p.P=3000 | |
1273 | p.D=100 | |
1274 | p.maxForce=Vector3.new(math.huge,0,math.huge) | |
1275 | p.position=Torsoh2.Position | |
1276 | p.Parent=Torsoh2]] | |
1277 | while part.Parent ~= nil and lightning == true do | |
1278 | -- f1:Play() | |
1279 | -- p.position=ST2+Vector3.new(math.random(-50,50)/50,0,math.random(-50,50)/50) | |
1280 | Start2=End2 | |
1281 | End2=Torsoh2.CFrame*CFrame.new(X/10,Y/10,Z/10) | |
1282 | e=Instance.new("Part") | |
1283 | e.TopSurface=0 | |
1284 | e.BottomSurface=0 | |
1285 | e.CanCollide=false | |
1286 | e.Anchored=true | |
1287 | e.formFactor="Symmetric" | |
1288 | e.Size=Vector3.new(1,1,1) | |
1289 | Look2=(End2.p-Start2.p).unit | |
1290 | m=Instance.new("BlockMesh") | |
1291 | m.Scale=Vector3.new(.2,.2,(Start2.p-End2.p).magnitude) | |
1292 | m.Parent=e | |
1293 | e.CFrame=CFrame.new(Start2.p+Look2*(m.Scale.z/2),Start2.p+Look2*99) | |
1294 | e.Reflectance=.3 | |
1295 | e.Name="Zap" | |
1296 | e.BrickColor=color | |
1297 | e.Parent=part.Parent | |
1298 | coroutine.resume(coroutine.create(function(PAR) for i=1, 25 do PAR.Transparency=i/25 wait() end PAR.Parent=nil end),e) | |
1299 | wait() | |
1300 | end | |
1301 | wait(.45) | |
1302 | -- p.Parent=nil | |
1303 | end),Feh,x,y,z) | |
1304 | end | |
1305 | ||
1306 | function MMMAGIC(part,x1,y1,z1,x2,y2,z2,color) | |
1307 | local msh1 = Instance.new("BlockMesh") | |
1308 | msh1.Scale = Vector3.new(0.5,0.5,0.5) | |
1309 | S=Instance.new("Part") | |
1310 | S.Name="Effect" | |
1311 | S.formFactor=0 | |
1312 | S.Size=Vector3.new(x1,y1,z1) | |
1313 | S.BrickColor=color | |
1314 | S.Reflectance = 0 | |
1315 | S.TopSurface=0 | |
1316 | S.BottomSurface=0 | |
1317 | S.Transparency=0 | |
1318 | S.Anchored=true | |
1319 | S.CanCollide=false | |
1320 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1321 | S.Parent=modelzorz | |
1322 | msh1.Parent = S | |
1323 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.1,0.1,0.1) Part.CFrame=Part.CFrame*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1324 | end | |
1325 | ||
1326 | function MMMAGIC2(part,x1,y1,z1,x2,y2,z2,color) | |
1327 | local msh1 = Instance.new("BlockMesh") | |
1328 | msh1.Scale = Vector3.new(0.5,0.5,0.5) | |
1329 | S=Instance.new("Part") | |
1330 | S.Name="Effect" | |
1331 | S.formFactor=0 | |
1332 | S.Size=Vector3.new(x1,y1,z1) | |
1333 | S.BrickColor=color | |
1334 | S.Reflectance = 0 | |
1335 | S.TopSurface=0 | |
1336 | S.BottomSurface=0 | |
1337 | S.Transparency=0 | |
1338 | S.Anchored=true | |
1339 | S.CanCollide=false | |
1340 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1341 | S.Parent=modelzorz | |
1342 | msh1.Parent = S | |
1343 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9,0.5 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.1,0.1,0.1) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1344 | end | |
1345 | ||
1346 | ||
1347 | function UltimaMMMAGIC(part,x1,y1,z1,x2,y2,z2,color) | |
1348 | local msh1 = Instance.new("BlockMesh") | |
1349 | msh1.Scale = Vector3.new(x1,y1,z1) | |
1350 | S=Instance.new("Part") | |
1351 | S.Name="Effect" | |
1352 | S.formFactor=0 | |
1353 | S.Size=Vector3.new(1,1,1) | |
1354 | S.BrickColor=color | |
1355 | S.Reflectance = 0 | |
1356 | S.TopSurface=0 | |
1357 | S.BottomSurface=0 | |
1358 | S.Transparency=0 | |
1359 | S.Anchored=true | |
1360 | S.CanCollide=false | |
1361 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1362 | S.Parent=modelzorz | |
1363 | msh1.Parent = S | |
1364 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.1,0.1,0.1) Part.CFrame=Part.CFrame*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1365 | end | |
1366 | ||
1367 | function MOREMAGIX(part,cframe,x,y,z,color) | |
1368 | p2=Instance.new("Part") | |
1369 | p2.Name="Blast" | |
1370 | p2.TopSurface=0 | |
1371 | p2.BottomSurface=0 | |
1372 | p2.CanCollide=false | |
1373 | p2.Anchored=true | |
1374 | p2.BrickColor=color | |
1375 | p2.Size=Vector3.new(x,y,z) | |
1376 | p2.formFactor="Symmetric" | |
1377 | p2.CFrame=part.CFrame*CFrame.new(0,cframe,0) | |
1378 | p2.Parent=modelzorz | |
1379 | m=Instance.new("BlockMesh") | |
1380 | m.Parent=p2 | |
1381 | m.Name="BlastMesh" | |
1382 | coroutine.resume(coroutine.create(function(part,dir) for loll=1, 15 do part.BlastMesh.Scale=part.BlastMesh.Scale-Vector3.new(.09,.09,.09) part.Transparency=loll/20 part.CFrame=part.CFrame*CFrame.new(dir)*CFrame.fromEulerAnglesXYZ(math.random(-100,100)/100, math.random(-100,100)/100, math.random(-100,100)/100) wait() end part.Parent=nil end),p2,Vector3.new(math.random(-10,10)/10,math.random(-10,10)/10,math.random(-10,10)/10)) | |
1383 | end | |
1384 | ||
1385 | function EVENMOARMAGIX(part,x1,y1,z1,x2,y2,z2,x3,y3,z3,color) | |
1386 | local msh1 = Instance.new("SpecialMesh") | |
1387 | msh1.Scale = Vector3.new(0.5,0.5,0.5) | |
1388 | msh1.MeshType = "Sphere" | |
1389 | S=Instance.new("Part") | |
1390 | S.Name="Effect" | |
1391 | S.formFactor=0 | |
1392 | S.Size=Vector3.new(x1,y1,z1) | |
1393 | S.BrickColor=color | |
1394 | S.Reflectance = 0 | |
1395 | S.TopSurface=0 | |
1396 | S.BottomSurface=0 | |
1397 | S.Transparency=0 | |
1398 | S.Anchored=true | |
1399 | S.CanCollide=false | |
1400 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(x3,y3,z3) | |
1401 | S.Parent=modelzorz | |
1402 | msh1.Parent = S | |
1403 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9,0.5 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.15,0.3,0.15) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1404 | end | |
1405 | ||
1406 | function WaveEffect(part,x1,y1,z1,x2,y2,z2,x3,y3,z3,color) | |
1407 | local msh1 = Instance.new("SpecialMesh") | |
1408 | msh1.Scale = Vector3.new(x1,y1,z1) | |
1409 | msh1.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
1410 | S=Instance.new("Part") | |
1411 | S.Name="Effect" | |
1412 | S.formFactor=0 | |
1413 | S.Size=Vector3.new(1,1,1) | |
1414 | S.BrickColor=color | |
1415 | S.Reflectance = 0 | |
1416 | S.TopSurface=0 | |
1417 | S.BottomSurface=0 | |
1418 | S.Transparency=0 | |
1419 | S.Anchored=true | |
1420 | S.CanCollide=false | |
1421 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(x3,y3,z3) | |
1422 | S.Parent=modelzorz | |
1423 | msh1.Parent = S | |
1424 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.15,0.3,0.15) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1425 | end | |
1426 | ||
1427 | function WaveEffect2(part,x1,y1,z1,x2,y2,z2,x3,y3,z3,color) | |
1428 | local msh1 = Instance.new("SpecialMesh") | |
1429 | msh1.Scale = Vector3.new(x1,y1,z1) | |
1430 | msh1.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
1431 | S=Instance.new("Part") | |
1432 | S.Name="Effect" | |
1433 | S.formFactor=0 | |
1434 | S.Size=Vector3.new(1,1,1) | |
1435 | S.BrickColor=color | |
1436 | S.Reflectance = 0 | |
1437 | S.TopSurface=0 | |
1438 | S.BottomSurface=0 | |
1439 | S.Transparency=0 | |
1440 | S.Anchored=true | |
1441 | S.CanCollide=false | |
1442 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(x3,y3,z3) | |
1443 | S.Parent=modelzorz | |
1444 | msh1.Parent = S | |
1445 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9,0.5 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.15,0.3,0.15) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1446 | end | |
1447 | ||
1448 | ||
1449 | function BlastEffect(part,x1,y1,z1,x2,y2,z2,x3,y3,z3,color) | |
1450 | local msh1 = Instance.new("SpecialMesh") | |
1451 | msh1.Scale = Vector3.new(x1,y1,z1) | |
1452 | msh1.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
1453 | S=Instance.new("Part") | |
1454 | S.Name="Effect" | |
1455 | S.formFactor=0 | |
1456 | S.Size=Vector3.new(1,1,1) | |
1457 | S.BrickColor=color | |
1458 | S.Reflectance = 0 | |
1459 | S.TopSurface=0 | |
1460 | S.BottomSurface=0 | |
1461 | S.Transparency=0 | |
1462 | S.Anchored=true | |
1463 | S.CanCollide=false | |
1464 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(x3,y3,z3) | |
1465 | S.Parent=modelzorz | |
1466 | msh1.Parent = S | |
1467 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.15,0.3,0.15) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1468 | end | |
1469 | ||
1470 | function BlastEffect2(part,x1,y1,z1,x2,y2,z2,x3,y3,z3,color) | |
1471 | local msh1 = Instance.new("SpecialMesh") | |
1472 | msh1.Scale = Vector3.new(x1,y1,z1) | |
1473 | msh1.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
1474 | S=Instance.new("Part") | |
1475 | S.Name="Effect" | |
1476 | S.formFactor=0 | |
1477 | S.Size=Vector3.new(1,1,1) | |
1478 | S.BrickColor=color | |
1479 | S.Reflectance = 0 | |
1480 | S.TopSurface=0 | |
1481 | S.BottomSurface=0 | |
1482 | S.Transparency=0 | |
1483 | S.Anchored=true | |
1484 | S.CanCollide=false | |
1485 | S.CFrame=part.CFrame*CFrame.new(x2,y2,z2)*CFrame.fromEulerAnglesXYZ(x3,y3,z3) | |
1486 | S.Parent=modelzorz | |
1487 | msh1.Parent = S | |
1488 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9,0.5 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.15,0.3,0.15) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1489 | end | |
1490 | ||
1491 | ||
1492 | function DifferentEffect() | |
1493 | p=Instance.new("Part") | |
1494 | p.Name="FlameEm" | |
1495 | p.Shape=0 | |
1496 | p.TopSurface=0 | |
1497 | p.BottomSurface=0 | |
1498 | derp = math.random(1,2) | |
1499 | if derp == 1 then | |
1500 | p.BrickColor=BrickColor.new("White") | |
1501 | else | |
1502 | p.BrickColor=BrickColor.new("Black") | |
1503 | end | |
1504 | p.Anchored=true | |
1505 | p.CanCollide=false | |
1506 | p.Size=Vector3.new(1,1,1) | |
1507 | p.CFrame=CFrame.new(Character["Torso"].CFrame.p+Vector3.new(0,-3,0))+Vector3.new(math.random(-10,10)/3,0,math.random(-10,10)/3) | |
1508 | p.Parent=workspace | |
1509 | m=Instance.new("SpecialMesh") | |
1510 | m.MeshType="Sphere" | |
1511 | m.Parent=p | |
1512 | m.Scale=Vector3.new(1,1,1) | |
1513 | coroutine.resume(coroutine.create(function(p) for i=1, 9 do p.Mesh.Scale=p.Mesh.Scale+Vector3.new(0,1.5,0) p.Transparency=p.Transparency+1/9 wait(0) end p.Parent=nil end),p) | |
1514 | end | |
1515 | ||
1516 | function ss(pitch) | |
1517 | ||
1518 | local SlashSound = Instance.new("Sound") | |
1519 | --SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav" | |
1520 | SlashSound.SoundId = "http://roblox.com/asset/?id=10209645" | |
1521 | SlashSound.Parent = workspace | |
1522 | SlashSound.Volume = .7 | |
1523 | SlashSound.Pitch = pitch | |
1524 | SlashSound.PlayOnRemove = true | |
1525 | coroutine.resume(coroutine.create(function() | |
1526 | wait(0) | |
1527 | SlashSound.Parent = nil | |
1528 | end)) | |
1529 | end | |
1530 | function equipsound(pitch) | |
1531 | ||
1532 | local SlashSound = Instance.new("Sound") | |
1533 | SlashSound.SoundId = "rbxasset://sounds\\unsheath.wav" | |
1534 | SlashSound.Parent = workspace | |
1535 | SlashSound.Volume = .5 | |
1536 | SlashSound.Pitch = pitch | |
1537 | SlashSound.PlayOnRemove = true | |
1538 | coroutine.resume(coroutine.create(function() | |
1539 | wait(0) | |
1540 | SlashSound.Parent = nil | |
1541 | end)) | |
1542 | end | |
1543 | function magicsound(pitch) | |
1544 | ||
1545 | local SlashSound = Instance.new("Sound") | |
1546 | SlashSound.SoundId = "http://www.roblox.com/asset/?id=2248511" | |
1547 | SlashSound.Parent = workspace | |
1548 | SlashSound.Volume = .5 | |
1549 | SlashSound.Pitch = pitch | |
1550 | SlashSound.PlayOnRemove = true | |
1551 | coroutine.resume(coroutine.create(function() | |
1552 | wait(0) | |
1553 | SlashSound.Parent = nil | |
1554 | end)) | |
1555 | end | |
1556 | function critsound(pitch) | |
1557 | ||
1558 | local SlashSound = Instance.new("Sound") | |
1559 | SlashSound.SoundId = "http://www.roblox.com/asset/?id=2801263" | |
1560 | SlashSound.Parent = workspace | |
1561 | SlashSound.Volume = .7 | |
1562 | SlashSound.Pitch = pitch | |
1563 | SlashSound.PlayOnRemove = true | |
1564 | coroutine.resume(coroutine.create(function() | |
1565 | wait(0) | |
1566 | SlashSound.Parent = nil | |
1567 | end)) | |
1568 | end | |
1569 | function spikesound(pitch) | |
1570 | ||
1571 | local SlashSound = Instance.new("Sound") | |
1572 | SlashSound.SoundId = "http://www.roblox.com/asset/?id=3264793" | |
1573 | SlashSound.Parent = workspace | |
1574 | SlashSound.Volume = .7 | |
1575 | SlashSound.Pitch = pitch | |
1576 | SlashSound.PlayOnRemove = true | |
1577 | coroutine.resume(coroutine.create(function() | |
1578 | wait(0) | |
1579 | SlashSound.Parent = nil | |
1580 | end)) | |
1581 | end | |
1582 | ||
1583 | Damagefunc1=function(hit,Damage,Knockback) | |
1584 | if hit.Parent==nil then | |
1585 | return | |
1586 | end | |
1587 | CPlayer=Bin | |
1588 | h=hit.Parent:FindFirstChild("Humanoid") | |
1589 | if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then | |
1590 | if attackdebounce == false then | |
1591 | attackdebounce = true | |
1592 | coroutine.resume(coroutine.create(function() | |
1593 | wait(0.1) | |
1594 | attackdebounce = false | |
1595 | end)) | |
1596 | if mana < 400 then | |
1597 | mana = mana + math.random(10,20) | |
1598 | end | |
1599 | if mana > 400 then | |
1600 | mana = 400 | |
1601 | end | |
1602 | Damage=Damage | |
1603 | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then | |
1604 | return | |
1605 | end]] | |
1606 | c=Instance.new("ObjectValue") | |
1607 | c.Name="creator" | |
1608 | c.Value=game.Players.LocalPlayer | |
1609 | c.Parent=h | |
1610 | game:GetService("Debris"):AddItem(c,.5) | |
1611 | -- print(c.Value) | |
1612 | if math.random(0,99)+math.random()<=5 then | |
1613 | CRIT=true | |
1614 | Damage=Damage*1.5 | |
1615 | --[[ Knockback=Knockback*2 | |
1616 | r=Instance.new("BodyAngularVelocity") | |
1617 | r.P=3000 | |
1618 | r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000 | |
1619 | r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1620 | r.Parent=hit.Parent.Torso]] | |
1621 | critsound(2) | |
1622 | ||
1623 | end | |
1624 | Damage=Damage+math.random(0,10) | |
1625 | -- Blood(hit.CFrame*CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,0),math.floor(Damage/2)) | |
1626 | h:TakeDamage(Damage) | |
1627 | showDamage(hit.Parent,Damage,.5) | |
1628 | vp=Instance.new("BodyVelocity") | |
1629 | vp.P=500 | |
1630 | vp.maxForce=Vector3.new(math.huge,0,math.huge) | |
1631 | -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback | |
1632 | vp.velocity=Torso.CFrame.lookVector*Knockback+Torso.Velocity/1.05 | |
1633 | if Knockback>0 then | |
1634 | vp.Parent=hit.Parent.Torso | |
1635 | end | |
1636 | game:GetService("Debris"):AddItem(vp,.25) | |
1637 | --[[ r=Instance.new("BodyAngularVelocity") | |
1638 | r.P=3000 | |
1639 | r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000 | |
1640 | r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1641 | r.Parent=hit.Parent.Torso]] | |
1642 | game:GetService("Debris"):AddItem(r,.5) | |
1643 | c=Instance.new("ObjectValue") | |
1644 | c.Name="creator" | |
1645 | c.Value=Player | |
1646 | c.Parent=h | |
1647 | game:GetService("Debris"):AddItem(c,.5) | |
1648 | CRIT=false | |
1649 | hitDeb=true | |
1650 | AttackPos=6 | |
1651 | end | |
1652 | end | |
1653 | end | |
1654 | ||
1655 | FireDamage=function(hit,Damage,Knockback) | |
1656 | if attackdebounce == false then | |
1657 | attackdebounce = true | |
1658 | coroutine.resume(coroutine.create(function() | |
1659 | wait(0.1) | |
1660 | attackdebounce = false | |
1661 | end)) | |
1662 | if hit.Parent==nil then | |
1663 | return | |
1664 | end | |
1665 | CPlayer=Bin | |
1666 | h=hit.Parent:FindFirstChild("Humanoid") | |
1667 | if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then | |
1668 | if mana < 400 then | |
1669 | mana = mana + math.random(10,20) | |
1670 | end | |
1671 | if mana > 400 then | |
1672 | mana = 400 | |
1673 | end | |
1674 | Damage=Damage | |
1675 | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then | |
1676 | return | |
1677 | end]] | |
1678 | c=Instance.new("ObjectValue") | |
1679 | c.Name="creator" | |
1680 | c.Value=game.Players.LocalPlayer | |
1681 | c.Parent=h | |
1682 | game:GetService("Debris"):AddItem(c,.5) | |
1683 | -- print(c.Value) | |
1684 | if 1==1 then | |
1685 | coroutine.resume(coroutine.create(function() | |
1686 | if dur == nil then | |
1687 | temp = 20 | |
1688 | else | |
1689 | temp = dur*2 | |
1690 | end | |
1691 | for i = 0,temp do | |
1692 | wait(0.1) | |
1693 | local msh1 = Instance.new("BlockMesh") | |
1694 | msh1.Scale = Vector3.new(0.5,0.5,0.5) | |
1695 | S=Instance.new("Part") | |
1696 | S.Name="Effect" | |
1697 | S.formFactor=0 | |
1698 | S.Size=Vector3.new(2,2,2) | |
1699 | if math.random(1,2)==1 then | |
1700 | S.BrickColor=BrickColor.new("Bright red") | |
1701 | else | |
1702 | S.BrickColor=BrickColor.new("Bright yellow") | |
1703 | end | |
1704 | S.Reflectance=0 | |
1705 | S.TopSurface=0 | |
1706 | S.BottomSurface=0 | |
1707 | S.Transparency=0 | |
1708 | S.Anchored=true | |
1709 | S.CanCollide=false | |
1710 | S.CFrame=hit.CFrame*CFrame.new(math.random(-1,0)*math.random(),math.random(-1,0)*math.random(),math.random(-1,0)*math.random())*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1711 | S.Parent=Character | |
1712 | msh1.Parent = S | |
1713 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.1,0.1,0.1) Part.CFrame=CFrame.new(Part.Position+Vector3.new(0,0.5,0))*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1714 | hit.Parent.Humanoid:TakeDamage(0.5) | |
1715 | end | |
1716 | end)) | |
1717 | end | |
1718 | if math.random(0,99)+math.random()<=5 then | |
1719 | CRIT=true | |
1720 | Damage=Damage*1.5 | |
1721 | --[[ Knockback=Knockback*2 | |
1722 | r=Instance.new("BodyAngularVelocity") | |
1723 | r.P=3000 | |
1724 | r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000 | |
1725 | r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1726 | r.Parent=hit.Parent.Torso]] | |
1727 | critsound(2) | |
1728 | ||
1729 | end | |
1730 | Damage=Damage+math.random(0,10) | |
1731 | -- Blood(hit.CFrame*CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,0),math.floor(Damage/2)) | |
1732 | h:TakeDamage(Damage) | |
1733 | showDamage(hit.Parent,Damage,.5) | |
1734 | vp=Instance.new("BodyVelocity") | |
1735 | vp.P=500 | |
1736 | vp.maxForce=Vector3.new(math.huge,0,math.huge) | |
1737 | -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback | |
1738 | vp.velocity=Torso.CFrame.lookVector*Knockback+Torso.Velocity/1.05 | |
1739 | if Knockback>0 then | |
1740 | vp.Parent=hit.Parent.Torso | |
1741 | end | |
1742 | game:GetService("Debris"):AddItem(vp,.25) | |
1743 | --[[ r=Instance.new("BodyAngularVelocity") | |
1744 | r.P=3000 | |
1745 | r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000 | |
1746 | r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1747 | r.Parent=hit.Parent.Torso]] | |
1748 | game:GetService("Debris"):AddItem(r,.5) | |
1749 | c=Instance.new("ObjectValue") | |
1750 | c.Name="creator" | |
1751 | c.Value=Player | |
1752 | c.Parent=h | |
1753 | game:GetService("Debris"):AddItem(c,.5) | |
1754 | CRIT=false | |
1755 | hitDeb=true | |
1756 | AttackPos=6 | |
1757 | end | |
1758 | end | |
1759 | end | |
1760 | BurningDamage=function(hit,Damage,Knockback) | |
1761 | if attackdebounce == false then | |
1762 | attackdebounce = true | |
1763 | coroutine.resume(coroutine.create(function() | |
1764 | wait(0.1) | |
1765 | attackdebounce = false | |
1766 | end)) | |
1767 | if hit.Parent==nil then | |
1768 | return | |
1769 | end | |
1770 | CPlayer=Bin | |
1771 | h=hit.Parent:FindFirstChild("Humanoid") | |
1772 | if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then | |
1773 | if mana < 400 then | |
1774 | mana = mana + math.random(10,20) | |
1775 | end | |
1776 | if mana > 400 then | |
1777 | mana = 400 | |
1778 | end | |
1779 | Damage=Damage | |
1780 | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then | |
1781 | return | |
1782 | end]] | |
1783 | c=Instance.new("ObjectValue") | |
1784 | c.Name="creator" | |
1785 | c.Value=game.Players.LocalPlayer | |
1786 | c.Parent=h | |
1787 | game:GetService("Debris"):AddItem(c,.5) | |
1788 | -- print(c.Value) | |
1789 | if 1==1 then | |
1790 | coroutine.resume(coroutine.create(function() | |
1791 | for i = 0,10 do | |
1792 | wait(0.1) | |
1793 | local msh1 = Instance.new("BlockMesh") | |
1794 | msh1.Scale = Vector3.new(0.5,0.5,0.5) | |
1795 | S=Instance.new("Part") | |
1796 | S.Name="Effect" | |
1797 | S.formFactor=0 | |
1798 | S.Size=Vector3.new(2,2,2) | |
1799 | if math.random(1,2)==1 then | |
1800 | S.BrickColor=BrickColor.new("Bright red") | |
1801 | else | |
1802 | S.BrickColor=BrickColor.new("Bright yellow") | |
1803 | end | |
1804 | S.Reflectance=0 | |
1805 | S.TopSurface=0 | |
1806 | S.BottomSurface=0 | |
1807 | S.Transparency=0 | |
1808 | S.Anchored=true | |
1809 | S.CanCollide=false | |
1810 | S.CFrame=hit.CFrame*CFrame.new(math.random(-1,0)*math.random(),math.random(-1,0)*math.random(),math.random(-1,0)*math.random())*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1811 | S.Parent=Character | |
1812 | msh1.Parent = S | |
1813 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.1,0.1,0.1) Part.CFrame=CFrame.new(Part.Position+Vector3.new(0,0.5,0))*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1814 | hit.Parent.Humanoid:TakeDamage(0.5) | |
1815 | end | |
1816 | end)) | |
1817 | end | |
1818 | Damage=Damage | |
1819 | -- Blood(hit.CFrame*CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,0),math.floor(Damage/2)) | |
1820 | h:TakeDamage(Damage) | |
1821 | vp=Instance.new("BodyVelocity") | |
1822 | vp.P=500 | |
1823 | vp.maxForce=Vector3.new(math.huge,0,math.huge) | |
1824 | -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback | |
1825 | vp.velocity=Torso.CFrame.lookVector*Knockback+Torso.Velocity/1.05 | |
1826 | if Knockback>0 then | |
1827 | vp.Parent=hit.Parent.Torso | |
1828 | end | |
1829 | game:GetService("Debris"):AddItem(vp,.25) | |
1830 | --[[ r=Instance.new("BodyAngularVelocity") | |
1831 | r.P=3000 | |
1832 | r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000 | |
1833 | r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1834 | r.Parent=hit.Parent.Torso]] | |
1835 | game:GetService("Debris"):AddItem(r,.5) | |
1836 | c=Instance.new("ObjectValue") | |
1837 | c.Name="creator" | |
1838 | c.Value=Player | |
1839 | c.Parent=h | |
1840 | game:GetService("Debris"):AddItem(c,.5) | |
1841 | CRIT=false | |
1842 | hitDeb=true | |
1843 | AttackPos=6 | |
1844 | end | |
1845 | end | |
1846 | end | |
1847 | ||
1848 | DBHit=function(hit,Damage) --credits to turdulator for making this function :D | |
1849 | if hit.Parent==nil then | |
1850 | return | |
1851 | end | |
1852 | h=hit.Parent:FindFirstChild("Humanoid") | |
1853 | t=hit.Parent:FindFirstChild("Torso") | |
1854 | if h~=nil and t~=nil then | |
1855 | if h.Parent==Character then | |
1856 | return | |
1857 | end | |
1858 | if mana < 400 then | |
1859 | mana = mana + math.random(5,15) | |
1860 | end | |
1861 | if mana > 400 then | |
1862 | mana = 400 | |
1863 | end | |
1864 | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then | |
1865 | return | |
1866 | end]] | |
1867 | c=Instance.new("ObjectValue") | |
1868 | c.Name="creator" | |
1869 | c.Value=game.Players.LocalPlayer | |
1870 | c.Parent=h | |
1871 | game:GetService("Debris"):AddItem(c,.5) | |
1872 | -- print(c.Value) | |
1873 | if 1==1 then | |
1874 | coroutine.resume(coroutine.create(function() | |
1875 | if dur == nil then | |
1876 | temp = 20 | |
1877 | else | |
1878 | temp = dur*2 | |
1879 | end | |
1880 | for i = 0,40 do | |
1881 | wait(0.1) | |
1882 | local msh1 = Instance.new("BlockMesh") | |
1883 | msh1.Scale = Vector3.new(0.5,0.5,0.5) | |
1884 | S=Instance.new("Part") | |
1885 | S.Name="Effect" | |
1886 | S.formFactor=0 | |
1887 | S.Size=Vector3.new(2,2,2) | |
1888 | if math.random(1,2)==1 then | |
1889 | S.BrickColor=BrickColor.new("Black") | |
1890 | else | |
1891 | S.BrickColor=BrickColor.new("Really black") | |
1892 | end | |
1893 | S.Reflectance=0 | |
1894 | S.TopSurface=0 | |
1895 | S.BottomSurface=0 | |
1896 | S.Transparency=0 | |
1897 | S.Anchored=true | |
1898 | S.CanCollide=false | |
1899 | S.CFrame=hit.CFrame*CFrame.new(math.random(-1,0)*math.random(),math.random(-1,0)*math.random(),math.random(-1,0)*math.random())*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1900 | S.Parent=Character | |
1901 | msh1.Parent = S | |
1902 | coroutine.resume(coroutine.create(function(Part,CF) for i=1, 9 do Part.Mesh.Scale = Part.Mesh.Scale + Vector3.new(0.1,0.1,0.1) Part.CFrame=CFrame.new(Part.Position+Vector3.new(0,0.5,0))*CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) Part.Transparency=i*.1 wait() end Part.Parent=nil end),S,S.CFrame) | |
1903 | hit.Parent.Humanoid:TakeDamage(0.5) | |
1904 | end | |
1905 | end)) | |
1906 | end | |
1907 | if math.random(0,99)+math.random()<=7.8 then | |
1908 | CRIT=true | |
1909 | Damage=Damage*1 | |
1910 | --[[ Knockback=Knockback*2 | |
1911 | r=Instance.new("BodyAngularVelocity") | |
1912 | r.P=3000 | |
1913 | r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000 | |
1914 | r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1915 | r.Parent=hit.Parent.Torso]] | |
1916 | s=Instance.new("Sound") | |
1917 | s.SoundId="http://www.roblox.com/asset/?id=2801263" | |
1918 | s.Volume=1 | |
1919 | s.Pitch=2 | |
1920 | s.Parent=hit | |
1921 | s.PlayOnRemove=true | |
1922 | s.Parent=nil | |
1923 | ||
1924 | end | |
1925 | h:TakeDamage(Damage) | |
1926 | showDamage(hit.Parent,Damage,.5) | |
1927 | vl=Instance.new("BodyVelocity") | |
1928 | vl.P=4500 | |
1929 | vl.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
1930 | -- vl.velocity=Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z)*1.05+Vector3.new(0,3,0) | |
1931 | vl.velocity=Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z)*1.05+Vector3.new(0,45,0) | |
1932 | vl.Parent=t | |
1933 | game:GetService("Debris"):AddItem(vl,.2) | |
1934 | rl=Instance.new("BodyAngularVelocity") | |
1935 | rl.P=3000 | |
1936 | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 | |
1937 | -- rl.angularvelocity=Vector3.new(math.random(-40,40),math.random(-40,40),math.random(-40,40)) | |
1938 | local tes = math.random(1,2) | |
1939 | if tes == 1 then | |
1940 | rl.angularvelocity=Vector3.new(0,0,math.random(-40,40)) | |
1941 | elseif tes == 2 then | |
1942 | rl.angularvelocity=Vector3.new(math.random(-40,40),0,0) | |
1943 | end | |
1944 | rl.Parent=t | |
1945 | game:GetService("Debris"):AddItem(rl,.2) | |
1946 | else | |
1947 | if hit.CanCollide==false then | |
1948 | return | |
1949 | end | |
1950 | MagicCom:disconnect() | |
1951 | -- DBExplode(DB) | |
1952 | end | |
1953 | end | |
1954 | ||
1955 | showDamage=function(Char,Dealt,du) | |
1956 | m=Instance.new("Model") | |
1957 | m.Name=tostring(Dealt) | |
1958 | h=Instance.new("Humanoid") | |
1959 | h.Health=0 | |
1960 | h.MaxHealth=0 | |
1961 | h.Parent=m | |
1962 | c=Instance.new("Part") | |
1963 | c.Transparency=0 | |
1964 | c.BrickColor=BrickColor:Red() | |
1965 | if CRIT==true then | |
1966 | c.BrickColor=BrickColor.new("Really red") | |
1967 | end | |
1968 | c.Name="Head" | |
1969 | c.TopSurface=0 | |
1970 | c.BottomSurface=0 | |
1971 | c.formFactor="Plate" | |
1972 | c.Size=Vector3.new(1,.4,1) | |
1973 | ms=Instance.new("CylinderMesh") | |
1974 | ms.Bevel=.1 | |
1975 | ms.Scale=Vector3.new(.8,.8,.8) | |
1976 | if CRIT==true then | |
1977 | ms.Scale=Vector3.new(1.25,1.5,1.25) | |
1978 | ms.Bevel=.2 | |
1979 | end | |
1980 | ms.Parent=c | |
1981 | c.Reflectance=0 | |
1982 | Instance.new("BodyGyro").Parent=c | |
1983 | c.Parent=m | |
1984 | c.CFrame=CFrame.new(Char["Head"].CFrame.p+Vector3.new(0,1.5,0)) | |
1985 | f=Instance.new("BodyPosition") | |
1986 | f.P=2000 | |
1987 | f.D=100 | |
1988 | f.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
1989 | f.position=c.Position+Vector3.new(0,3,0) | |
1990 | f.Parent=c | |
1991 | game:GetService("Debris"):AddItem(m,.5+du) | |
1992 | c.CanCollide=false | |
1993 | m.Parent=workspace | |
1994 | c.CanCollide=false | |
1995 | end | |
1996 | ||
1997 | hold = false | |
1998 | ||
1999 | function ob1d(mouse) | |
2000 | if attack == true then return end | |
2001 | onehit() | |
2002 | twohit() | |
2003 | threehit() | |
2004 | fourhit() | |
2005 | fivehit() | |
2006 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
2007 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
2008 | end | |
2009 | ||
2010 | function ob1u(mouse) | |
2011 | hold = false | |
2012 | end | |
2013 | ||
2014 | buttonhold = false | |
2015 | ||
2016 | function key(key) | |
2017 | if attack == true then return end | |
2018 | if key == "z" then | |
2019 | FlyWave() | |
2020 | end | |
2021 | if key == "x" then | |
2022 | DecisiveBlow() | |
2023 | end | |
2024 | if key == "c" then | |
2025 | CloneSlash() | |
2026 | end | |
2027 | if key == "g" then | |
2028 | charging=true | |
2029 | Charge() | |
2030 | end | |
2031 | if key == "f" then | |
2032 | Flamera() | |
2033 | end | |
2034 | wld1.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
2035 | wld11.C0 = CFrame.fromEulerAnglesXYZ(1.57,0,0) * CFrame.new(0,1,0) | |
2036 | end | |
2037 | ||
2038 | function key2(key) | |
2039 | if key == "g" then | |
2040 | charging=false | |
2041 | end | |
2042 | end | |
2043 | ||
2044 | function s(mouse) | |
2045 | mouse.Button1Down:connect(function() ob1d(mouse) end) | |
2046 | mouse.Button1Up:connect(function() ob1u(mouse) end) | |
2047 | mouse.KeyDown:connect(key) | |
2048 | mouse.KeyUp:connect(key2) | |
2049 | player = Player | |
2050 | ch = Character | |
2051 | RSH = ch.Torso["Right Shoulder"] | |
2052 | LSH = ch.Torso["Left Shoulder"] | |
2053 | -- | |
2054 | RW.Part0 = ch.Torso | |
2055 | RW.C0 = CFrame.new(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5) | |
2056 | RW.C1 = CFrame.new(0, 0.5, 0) | |
2057 | RW.Part1 = ch["Right Arm"] | |
2058 | RW.Parent = ch.Torso | |
2059 | --_G.R = RW | |
2060 | -- | |
2061 | LW.Part0 = ch.Torso | |
2062 | LW.C0 = CFrame.new(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8) | |
2063 | LW.C1 = CFrame.new(0, 0.5, 0) | |
2064 | LW.Part1 = ch["Left Arm"] | |
2065 | LW.Parent = ch.Torso | |
2066 | --_G.L = LW | |
2067 | -- | |
2068 | equipanim() | |
2069 | end | |
2070 | ||
2071 | function ds(mouse) | |
2072 | hideanim() | |
2073 | RW.Parent = nil | |
2074 | LW.Parent = nil | |
2075 | RSH.Parent = player.Character.Torso | |
2076 | LSH.Parent = player.Character.Torso | |
2077 | end | |
2078 | ||
2079 | Bin.Selected:connect(s) | |
2080 | Bin.Deselected:connect(ds) | |
2081 | ||
2082 | function onRunning(speed) | |
2083 | if attack == true then return end | |
2084 | if speed>0 then | |
2085 | walking = true | |
2086 | for i = 0,1,0.1 do | |
2087 | wait() | |
2088 | if attack == false and sheathed==true then | |
2089 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0) | |
2090 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5-0.5*i,0.3-0.3*i,-0.3+0.3*i) | |
2091 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
2092 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5-0.5*i,-0.3+0.3*i,0.3-0.3*i) | |
2093 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
2094 | end | |
2095 | end | |
2096 | else | |
2097 | walking = false | |
2098 | for i = 0,1,0.1 do | |
2099 | wait() | |
2100 | if attack == false and sheathed==true then | |
2101 | Torso.Neck.C0=necko*CFrame.fromEulerAnglesXYZ(0,0,0) | |
2102 | LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5-0.5+0.5*i,0.3-0.3+0.3*i,-0.3+0.3-0.3*i) | |
2103 | LW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
2104 | RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(-0.5-0.5+0.5*i,-0.3+0.3-0.3*i,0.3-0.3+0.3*i) | |
2105 | RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
2106 | end | |
2107 | end | |
2108 | end | |
2109 | end | |
2110 | Character.Humanoid.Running:connect(onRunning) | |
2111 | ||
2112 | while true do | |
2113 | wait(0) | |
2114 | fentext3.Size = UDim2.new(mana*0.007,0,0.200000006,0) | |
2115 | fentext.Text = "Flama("..mana..")" | |
2116 | fentext3.BackgroundColor3 = Color3.new(1,1,1) | |
2117 | end |