SHOW:
|
|
- or go back to the newest paste.
1 | if game:GetService("RunService"):IsClient()then error("say h/ not hl/ ya dummy")end;print("get rekt");InternalData = {} | |
2 | do | |
3 | script.Parent = owner.Character | |
4 | local Event = Instance.new("RemoteEvent");Event.Name = "UserInput" | |
5 | local function NewFakeEvent() | |
6 | local Bind = Instance.new("BindableEvent") | |
7 | local Fake;Fake = {Connections = {}, | |
8 | fakeEvent=true; | |
9 | Connect=function(self,Func) | |
10 | Bind.Event:connect(Func) | |
11 | self.Connections[Bind] = true | |
12 | return setmetatable({Connected = true},{ | |
13 | __index = function (self,Index) | |
14 | if Index:lower() == "disconnect" then | |
15 | return function() Fake.Connections[Bind] = false;self.Connected = false end | |
16 | end | |
17 | return Fake[Index] | |
18 | end; | |
19 | __tostring = function() return "Connection" end; | |
20 | }) | |
21 | end} | |
22 | Fake.connect = Fake.Connect;return Fake; | |
23 | end | |
24 | local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()} | |
25 | local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()} | |
26 | local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...) | |
27 | self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil | |
28 | end};ContextActionService.UnBindAction = ContextActionService.BindAction | |
29 | local function TriggerEvent(self,Event,...) | |
30 | local Trigger = Mouse[Event] | |
31 | if Trigger and Trigger.fakeEvent and Trigger.Connections then | |
32 | for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end | |
33 | end | |
34 | end | |
35 | Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent | |
36 | Event.OnServerEvent:Connect(function(FiredBy,Input) | |
37 | if FiredBy.Name ~= owner.Name then return end | |
38 | if Input.MouseEvent then | |
39 | Mouse.Target = Input.Target;Mouse.Hit = Input.Hit | |
40 | else | |
41 | local Begin = Input.UserInputState == Enum.UserInputState.Begin | |
42 | if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end | |
43 | for _,Action in pairs(ContextActionService.Actions) do | |
44 | for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end | |
45 | end | |
46 | Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower()) | |
47 | UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false) | |
48 | end | |
49 | end) | |
50 | InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService | |
51 | Event.Parent = NLS([[ | |
52 | local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse() | |
53 | local Input = function(Input,gameProcessedEvent) | |
54 | if gameProcessedEvent then return end | |
55 | Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState}) | |
56 | end | |
57 | UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input) | |
58 | local Hit,Target | |
59 | while wait(1/30) do | |
60 | if Hit ~= Mouse.Hit or Target ~= Mouse.Target then | |
61 | Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit}) | |
62 | end | |
63 | end | |
64 | ]],owner.Character) | |
65 | end | |
66 | RealGame = game;game = setmetatable({},{ | |
67 | __index = function (self,Index) | |
68 | local Sandbox = function (Thing) | |
69 | if Thing:IsA("Player") then | |
70 | local RealPlayer = Thing | |
71 | return setmetatable({},{ | |
72 | __index = function (self,Index) | |
73 | local Type = type(RealPlayer[Index]) | |
74 | if Type == "function" then | |
75 | if Index:lower() == "getmouse" or Index:lower() == "mouse" then | |
76 | return function (self)return InternalData["Mouse"] end | |
77 | end | |
78 | return function (self,...)return RealPlayer[Index](RealPlayer,...) end | |
79 | end | |
80 | return RealPlayer[Index] | |
81 | end; | |
82 | __tostring = function(self) return RealPlayer.Name end | |
83 | }) | |
84 | end | |
85 | end | |
86 | if RealGame[Index] then | |
87 | local Type = type(RealGame[Index]) | |
88 | if Type == "function" then | |
89 | if Index:lower() == "getservice" or Index:lower() == "service" then | |
90 | return function (self,Service) | |
91 | local FakeServices = { | |
92 | ["players"] = function() | |
93 | return setmetatable({},{ | |
94 | __index = function (self2,Index2) | |
95 | local RealService = RealGame:GetService(Service) | |
96 | local Type2 = type(Index2) | |
97 | if Type2 == "function" then | |
98 | return function (self,...) return RealService[Index2](RealService,...)end | |
99 | else | |
100 | if Index2:lower() == "localplayer" then return Sandbox(owner) end | |
101 | return RealService[Index2] | |
102 | end | |
103 | end; | |
104 | __tostring = function(self) return RealGame:GetService(Service).Name end | |
105 | }) | |
106 | end; | |
107 | ["contextactionservice"] = function() return InternalData["ContextActionService"] end; | |
108 | ["userinputservice"] = function() return InternalData["UserInputService"] end; | |
109 | ["runservice"] = function() | |
110 | return setmetatable({},{ | |
111 | __index = function(self2,Index2) | |
112 | local RealService = RealGame:GetService(Service) | |
113 | local Type2 = type(Index2) | |
114 | if Type2 == "function" then | |
115 | return function (self,...) return RealService[Index2](RealService,...) end | |
116 | else | |
117 | local RunServices = { | |
118 | ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end; | |
119 | ["renderstepped"] = function() return RealService["Stepped"] end | |
120 | } | |
121 | if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end | |
122 | return RealService[Index2] | |
123 | end | |
124 | end | |
125 | }) | |
126 | end | |
127 | } | |
128 | if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end | |
129 | return RealGame:GetService(Service) | |
130 | end | |
131 | end | |
132 | return function (self,...) return RealGame[Index](RealGame,...) end | |
133 | else | |
134 | if game:GetService(Index) then return game:GetService(Index) end | |
135 | return RealGame[Index] | |
136 | end | |
137 | end | |
138 | return nil | |
139 | end | |
140 | });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("running the script noob") | |
141 | ||
142 | Player = game:GetService("Players").LocalPlayer | |
143 | Character = Player.Character | |
144 | PlayerGui = Player.PlayerGui | |
145 | Backpack = Player.Backpack | |
146 | Torso = Character.Torso | |
147 | Head = Character.Head | |
148 | Humanoid = Character.Humanoid | |
149 | LeftArm = Character["Left Arm"] | |
150 | LeftLeg = Character["Left Leg"] | |
151 | RightArm = Character["Right Arm"] | |
152 | RightLeg = Character["Right Leg"] | |
153 | LS = Torso["Left Shoulder"] | |
154 | LH = Torso["Left Hip"] | |
155 | RS = Torso["Right Shoulder"] | |
156 | RH = Torso["Right Hip"] | |
157 | Neck = Torso.Neck | |
158 | it=Instance.new | |
159 | vt=Vector3.new | |
160 | cf=CFrame.new | |
161 | euler=CFrame.fromEulerAnglesXYZ | |
162 | angles=CFrame.Angles | |
163 | necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
164 | necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
165 | neckoav=cf(0, -2.25, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
166 | neckoav2=cf(0, 1.125, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
167 | LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0) | |
168 | RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0) | |
169 | RootPart=Character.HumanoidRootPart | |
170 | RootJoint=RootPart.RootJoint | |
171 | RootCF=euler(-1.57,0,3.14) | |
172 | attack = false | |
173 | shadowattack=false | |
174 | attackdebounce = false | |
175 | MMouse=nil | |
176 | combo=0 | |
177 | cancombo=false | |
178 | combomove=false | |
179 | combotype="None" | |
180 | AvatarMode="Follow" | |
181 | lifestolen=false | |
182 | LifeStolenTorso=nil | |
183 | local LastPoint=nil | |
184 | local LastPoint2=nil | |
185 | local LastPoint3=nil | |
186 | local Point=LastPoint | |
187 | local Point2=LastPoint2 | |
188 | local Point3=LastPoint3 | |
189 | local rLastPoint=nil | |
190 | local rLastPoint2=nil | |
191 | local rLastPoint3=nil | |
192 | local rPoint=rLastPoint | |
193 | local rPoint2=rLastPoint2 | |
194 | local rPoint3=rLastPoint3 | |
195 | local avLastPoint=nil | |
196 | local avLastPoint2=nil | |
197 | local avLastPoint3=nil | |
198 | local avPoint=avLastPoint | |
199 | local avPoint2=avLastPoint2 | |
200 | local avPoint3=avLastPoint3 | |
201 | local TargetTorso=nil | |
202 | local con1=nil | |
203 | local con2=nil | |
204 | local shadowcon=nil | |
205 | --player | |
206 | player = nil | |
207 | --save shoulders | |
208 | RSH, LSH = nil, nil | |
209 | --welds | |
210 | RW, LW = Instance.new("Weld"), Instance.new("Weld") | |
211 | RW.Name="Right Shoulder" LW.Name="Left Shoulder" | |
212 | LH=Torso["Left Hip"] | |
213 | RH=Torso["Right Hip"] | |
214 | ||
215 | if Character:findFirstChild("Warden Claws",true) ~= nil then | |
216 | Character:findFirstChild("Warden Claws",true).Parent = nil | |
217 | end | |
218 | if Character:findFirstChild("Avatar",true) ~= nil then | |
219 | Character:findFirstChild("Avatar",true).Parent = nil | |
220 | end | |
221 | ||
222 | ||
223 | function NoOutline(Part) | |
224 | Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10 | |
225 | end | |
226 | ||
227 | function part(formfactor,parent,reflectance,transparency,brickcolor,name,size) | |
228 | local fp = it("Part") | |
229 | fp.formFactor = formfactor | |
230 | fp.Parent = parent | |
231 | fp.Reflectance = reflectance | |
232 | fp.Transparency = transparency | |
233 | fp.CanCollide = false | |
234 | fp.Locked=true | |
235 | fp.BrickColor = brickcolor | |
236 | fp.Name = name | |
237 | fp.Size = size | |
238 | fp.Position = Torso.Position+vt(0,50,0) | |
239 | NoOutline(fp) | |
240 | fp.Material="Neon" | |
241 | fp:BreakJoints() | |
242 | return fp | |
243 | end | |
244 | ||
245 | function mesh(Mesh,part,meshtype,meshid,offset,scale) | |
246 | local mesh = it(Mesh) | |
247 | mesh.Parent = part | |
248 | if Mesh=="SpecialMesh" then | |
249 | mesh.MeshType = meshtype | |
250 | mesh.MeshId = meshid | |
251 | end | |
252 | mesh.Offset=offset | |
253 | mesh.Scale=scale | |
254 | return mesh | |
255 | end | |
256 | ||
257 | function weld(parent,part0,part1,c0) | |
258 | local weld = it("Weld") | |
259 | weld.Parent = parent | |
260 | weld.Part0 = part0 | |
261 | weld.Part1 = part1 | |
262 | weld.C0 = c0 | |
263 | return weld | |
264 | end | |
265 | ||
266 | local modelzorz = Instance.new("Model") | |
267 | modelzorz.Parent = Character | |
268 | modelzorz.Name = "Warden Claws" | |
269 | ||
270 | local prt1=part(1,modelzorz,0,0,BrickColor.new("Black"),"Part1",vt(1,1,1)) | |
271 | local prt2=part(1,modelzorz,0,0,BrickColor.new("Really black"),"Part2",vt(1,1,1)) | |
272 | local prt3=part(1,modelzorz,0,0,BrickColor.new("Black"),"Part3",vt(1,1,1)) | |
273 | local prt4=part(1,modelzorz,0,0,BrickColor.new("Really black"),"Part4",vt(1,1,1)) | |
274 | local prt5=part(1,modelzorz,0,0,BrickColor.new("Black"),"Part5",vt(1,1,1)) | |
275 | local prt6=part(1,modelzorz,0,0,BrickColor.new("Really black"),"Part6",vt(1,1,1)) | |
276 | local prt7=part(1,modelzorz,0,0,BrickColor.new("Black"),"Part7",vt(1,1,1)) | |
277 | local prt8=part(1,modelzorz,0,0,BrickColor.new("Really black"),"Part8",vt(1,1,1)) | |
278 | local prt9=part(1,modelzorz,0,0,BrickColor.new("Black"),"Part9",vt(1,1,1)) | |
279 | local prt10=part(1,modelzorz,0,0,BrickColor.new("Really black"),"Part10",vt(1,1,1)) | |
280 | local prt11=part(1,modelzorz,0,0,BrickColor.new("Black"),"Part11",vt(1,1,1)) | |
281 | local prt12=part(1,modelzorz,0,0,BrickColor.new("Really black"),"Part12",vt(1,1,1)) | |
282 | ||
283 | local msh1=mesh("BlockMesh",prt1,"","",vt(0,0,0),vt(0.2,1,0.1)) | |
284 | local msh2=mesh("SpecialMesh",prt2,"Wedge","",vt(0,0,0),vt(0.1,0.2,0.2)) | |
285 | local msh3=mesh("BlockMesh",prt3,"","",vt(0,0,0),vt(0.2,1,0.1)) | |
286 | local msh4=mesh("SpecialMesh",prt4,"Wedge","",vt(0,0,0),vt(0.1,0.2,0.2)) | |
287 | local msh5=mesh("BlockMesh",prt5,"","",vt(0,0,0),vt(0.2,1,0.1)) | |
288 | local msh6=mesh("SpecialMesh",prt6,"Wedge","",vt(0,0,0),vt(0.1,0.2,0.2)) | |
289 | local msh7=mesh("BlockMesh",prt7,"","",vt(0,0,0),vt(0.2,1,0.1)) | |
290 | local msh8=mesh("SpecialMesh",prt8,"Wedge","",vt(0,0,0),vt(0.1,0.2,0.2)) | |
291 | local msh9=mesh("BlockMesh",prt9,"","",vt(0,0,0),vt(0.2,1,0.1)) | |
292 | local msh10=mesh("SpecialMesh",prt10,"Wedge","",vt(0,0,0),vt(0.1,0.2,0.2)) | |
293 | local msh11=mesh("BlockMesh",prt11,"","",vt(0,0,0),vt(0.2,1,0.1)) | |
294 | local msh12=mesh("SpecialMesh",prt12,"Wedge","",vt(0,0,0),vt(0.1,0.2,0.2)) | |
295 | ||
296 | local wld1=weld(prt1,prt1,LeftArm,euler(0,0,0)*cf(0.41,1,0.4)) | |
297 | local wld2=weld(prt2,prt2,prt1,euler(0,1.57,3.14)*cf(0,0.715,0)) | |
298 | local wld3=weld(prt3,prt3,LeftArm,euler(0,0,0)*cf(0.41,1,0)) | |
299 | local wld4=weld(prt4,prt4,prt3,euler(0,1.57,3.14)*cf(0,0.715,0)) | |
300 | local wld5=weld(prt5,prt5,LeftArm,euler(0,0,0)*cf(0.41,1,-0.4)) | |
301 | local wld6=weld(prt6,prt6,prt5,euler(0,1.57,3.14)*cf(0,0.715,0)) | |
302 | local wld7=weld(prt7,prt7,RightArm,euler(0,0,0)*cf(-0.41,1,0.4)) | |
303 | local wld8=weld(prt8,prt8,prt7,euler(0,-1.57,3.14)*cf(0,0.715,0)) | |
304 | local wld9=weld(prt9,prt9,RightArm,euler(0,0,0)*cf(-0.41,1,0)) | |
305 | local wld10=weld(prt10,prt10,prt9,euler(0,-1.57,3.14)*cf(0,0.715,0)) | |
306 | local wld11=weld(prt11,prt11,RightArm,euler(0,0,0)*cf(-0.41,1,-0.4)) | |
307 | local wld12=weld(prt12,prt12,prt11,euler(0,-1.57,3.14)*cf(0,0.715,0)) | |
308 | ||
309 | local Avatar=Instance.new("Model") | |
310 | Avatar.Parent=modelzorz | |
311 | Avatar.Name="Shadow" | |
312 | ||
313 | local aroot=part(1,Avatar,0,1,BrickColor.new("Black"),"RootPart2",vt(1,1,1)) | |
314 | local aprt1=part(1,Avatar,0,1,BrickColor.new("Black"),"Torso",vt(1,1,1)) | |
315 | local aprt2=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Head",vt(1,1,1)) | |
316 | local aprt3=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Left Arm",vt(1,1,1)) | |
317 | local aprt4=part(1,Avatar,0,1,BrickColor.new("Black"),"Right Arm",vt(1,1,1)) | |
318 | local aprt5=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Claw1",vt(1,1,1)) | |
319 | local aprt6=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Claw1.1",vt(1,1,1)) | |
320 | local aprt7=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Claw2",vt(1,1,1)) | |
321 | local aprt8=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Claw2.1",vt(1,1,1)) | |
322 | local aprt9=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Claw3",vt(1,1,1)) | |
323 | local aprt10=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Claw3.1",vt(1,1,1)) | |
324 | local aprt11=part(1,Avatar,0,1,BrickColor.new("Black"),"Left Arm Hit",vt(1,1,1)) | |
325 | ||
326 | local arootmsh=mesh("BlockMesh",aroot,"","",vt(0,0,0),vt(2,2,1)) | |
327 | local amsh1=mesh("BlockMesh",aprt1,"","",vt(0,0,0),vt(4,4,2)) | |
328 | local amsh2=mesh("SpecialMesh",aprt2,"Head","",vt(0,0,0),vt(2.5,2,2.5)) | |
329 | local amsh3=mesh("BlockMesh",aprt3,"","",vt(0,0,0),vt(2,4,2)) | |
330 | local amsh4=mesh("BlockMesh",aprt4,"","",vt(0,0,0),vt(2,4,2)) | |
331 | local amsh5=mesh("BlockMesh",aprt5,"","",vt(0,0,0),vt(0.3,1.5,0.1)) | |
332 | local amsh6=mesh("SpecialMesh",aprt6,"Wedge","",vt(0,0,0),vt(0.1,0.3,0.3)) | |
333 | local amsh7=mesh("BlockMesh",aprt7,"","",vt(0,0,0),vt(0.3,1.5,0.1)) | |
334 | local amsh8=mesh("SpecialMesh",aprt8,"Wedge","",vt(0,0,0),vt(0.1,0.3,0.3)) | |
335 | local amsh9=mesh("BlockMesh",aprt9,"","",vt(0,0,0),vt(0.3,1.5,0.1)) | |
336 | local amsh10=mesh("SpecialMesh",aprt10,"Wedge","",vt(0,0,0),vt(0.1,0.3,0.3)) | |
337 | local amsh11=mesh("BlockMesh",aprt11,"","",vt(0,0,0),vt(1,1,1)) | |
338 | Avatar:BreakJoints() | |
339 | ||
340 | local arwld=weld(aroot,aroot,RootPart,euler(0,0,0)*cf(0,0,0)) | |
341 | local awld1=weld(aprt1,aprt1,aroot,euler(0,0,0)*cf(0,-3,-2)) | |
342 | local awld2=weld(aprt2,aprt2,aprt1,neckoav) | |
343 | awld2.C1=neckoav2 | |
344 | local awld3=weld(aprt3,aprt1,aprt3,cf(3,1,0)*euler(0,0,0)) | |
345 | awld3.C1=cf(0,1,0) | |
346 | local awld4=weld(aprt4,aprt1,aprt4,cf(-3,1,0)*euler(0,0,0)) | |
347 | awld4.C1=cf(0,1,0) | |
348 | local awld5=weld(aprt5,aprt5,aprt3,euler(0,0,0)*cf(-0.8,2.5,-0.6)) | |
349 | local awld6=weld(aprt6,aprt6,aprt5,euler(0,-1.57,3.14)*cf(0,1.05,0)) | |
350 | local awld7=weld(aprt7,aprt7,aprt3,euler(0,0,0)*cf(-0.8,2.5,0)) | |
351 | local awld8=weld(aprt8,aprt8,aprt7,euler(0,-1.57,3.14)*cf(0,1.05,0)) | |
352 | local awld9=weld(aprt9,aprt9,aprt3,euler(0,0,0)*cf(-0.8,2.5,0.6)) | |
353 | local awld10=weld(aprt10,aprt10,aprt9,euler(0,-1.57,3.14)*cf(0,1.05,0)) | |
354 | local awld11=weld(aprt11,aprt11,aprt4,euler(1.57,0,0)*cf(0,2,0)) | |
355 | ||
356 | numb=-1.8 | |
357 | numb2=0.8 | |
358 | for i=1,5 do | |
359 | local aprt12=part(1,Avatar,0,numb2,BrickColor.new("Black"),"Left Arm Fade",vt(1,1,1)) | |
360 | local amsh12=mesh("BlockMesh",aprt12,"","",vt(0,0,0),vt(2,1,2)) | |
361 | local awld12=weld(aprt12,aprt12,aprt4,cf(0,numb,0)) | |
362 | numb=numb+1.2 | |
363 | numb2=numb2+0.05 | |
364 | end | |
365 | ||
366 | local aprt14=part(1,Avatar,0,0.5,BrickColor.new("Black"),"Torso Fade1",vt(1,1,1)) | |
367 | local amsh14=mesh("BlockMesh",aprt14,"","",vt(0,0,0),vt(4,2,2)) | |
368 | local awld14=weld(aprt14,aprt14,aprt1,cf(0,-1.2,0)) | |
369 | numb=0.2 | |
370 | numb2=0.8 | |
371 | for i=1,5 do | |
372 | local aprt13=part(1,Avatar,0,numb2,BrickColor.new("Black"),"Torso Fade2",vt(1,1,1)) | |
373 | local amsh13=mesh("BlockMesh",aprt13,"","",vt(0,0,0),vt(4,0.5,2)) | |
374 | local awld13=weld(aprt13,aprt13,aprt1,cf(0,numb,0)) | |
375 | numb=numb+0.5 | |
376 | numb2=numb2+0.05 | |
377 | end | |
378 | ||
379 | coroutine.resume(coroutine.create(function() | |
380 | wait(1) | |
381 | for i=0,1,0.1 do | |
382 | wait() | |
383 | awld2.C0=neckoav*euler(-0.5*i,0,0) | |
384 | awld3.C0=cf(3,1,0)*euler(-0.5*i,0,0) | |
385 | awld3.C1=cf(0,1,0)*euler(0,0,-0.7*i) | |
386 | awld4.C0=cf(-3,1,0)*euler(-0.5*i,0,0) | |
387 | awld4.C1=cf(0,1,0)*euler(0,0,0.7*i) | |
388 | end | |
389 | end)) | |
390 | ||
391 | shadowfollowing=false | |
392 | shadowgyro="TrueAim" | |
393 | aroot.CFrame=Torso.CFrame | |
394 | BodPos=Instance.new("BodyPosition") | |
395 | BodPos.P=50000 | |
396 | BodPos.D=1000 | |
397 | BodPos.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
398 | BodPos.position=Torso.Position | |
399 | BodPos.Parent=aroot | |
400 | BodPos.Parent=nil | |
401 | BodGy = it("BodyGyro") | |
402 | BodGy.maxTorque = vt(math.huge,math.huge,math.huge) | |
403 | BodGy.P = 20e+003 | |
404 | BodGy.Parent=aroot | |
405 | BodGy.cframe=Torso.CFrame | |
406 | BodGy.Parent=nil | |
407 | coroutine.resume(coroutine.create(function(BodyyPosition,BodyGyro) | |
408 | while true do | |
409 | wait() | |
410 | Avatar.Parent=modelzorz | |
411 | --awld1.C0=euler(0,0,0)*cf(0,-3,-2) | |
412 | if AvatarMode=="Follow" then | |
413 | BodyyPosition.P=50000 | |
414 | BodyyPosition.D=1000 | |
415 | BodyyPosition.position=RootPart.Position | |
416 | BodyGyro.cframe=Torso.CFrame | |
417 | --[[elseif AvatarMode=="Aim" then | |
418 | BodPos.P=1000 | |
419 | BodPos.D=100 | |
420 | coroutine.resume(coroutine.create(function(Gairo) | |
421 | while AvatarMode=="Aim" do | |
422 | wait() | |
423 | if TargetTorso.Parent==nil then | |
424 | AvatarMode="Follow" | |
425 | end | |
426 | if shadowgyro=="TrueAim" then | |
427 | Gairo.cframe=cf(aroot.Position,TargetTorso.Position) | |
428 | elseif shadowgyro=="YAim" then | |
429 | Gairo.cframe=cf(aroot.Position,TargetTorso.Position) | |
430 | end | |
431 | end | |
432 | end),BodyGyro) | |
433 | shadowdebounce=false | |
434 | if math.random(1,2)==1 then | |
435 | shadowfollowing=true | |
436 | BodyPosition.position=TargetTorso.Position | |
437 | shadowgyro="TrueAim" | |
438 | shadowcon=aroot.Touched:connect(function(hit) | |
439 | shadowattack=true | |
440 | if hit==TargetTorso then | |
441 | if shadowdebounce==false then | |
442 | shadowdebounce=true | |
443 | shadowgyro="YAim" | |
444 | shadowfollowing=false | |
445 | so("http://www.roblox.com/asset/?id=28144425",aprt3,1,1) | |
446 | avLastPoint=aprt6.CFrame*CFrame.new(0,aprt6.Size.Y/7,0) | |
447 | avLastPoint2=aprt8.CFrame*CFrame.new(0,aprt8.Size.Y/7,0) | |
448 | avLastPoint3=aprt10.CFrame*CFrame.new(0,aprt10.Size.Y/7,0) | |
449 | avcon1=aprt6.Touched:connect(function(hit) Damagefunc(hit,20,40,math.random(50,80),"Knockdown",aprt1) end) | |
450 | avcon2=aprt8.Touched:connect(function(hit) Damagefunc(hit,20,40,math.random(50,80),"Knockdown",aprt1) end) | |
451 | avcon3=aprt10.Touched:connect(function(hit) Damagefunc(hit,20,40,math.random(50,80),"Knockdown",aprt1) end) | |
452 | for i=0,1,0.1 do | |
453 | wait() | |
454 | awld1.C0=euler(0,-1*i,0)*cf(0,-3,-2) | |
455 | awld3.C0=cf(3-2*i,1,-0.5*i)*euler(-0.5+2.5*i,0,0) | |
456 | awld3.C1=cf(0,1,0)*euler(0,1*i,-0.7+1.4*i) | |
457 | AvatarClawEffect() | |
458 | end | |
459 | avcon1:disconnect() | |
460 | avcon2:disconnect() | |
461 | avcon3:disconnect() | |
462 | wait(0.5) | |
463 | for i=0,1,0.1 do | |
464 | wait() | |
465 | awld1.C0=euler(0,-1+1*i,0)*cf(0,-3,-2) | |
466 | awld3.C0=cf(1+2*i,1,-0.5+0.5*i)*euler(2-2.5*i,0,0) | |
467 | awld3.C1=cf(0,1,0)*euler(0,1-1*i,0.7-1.4*i) | |
468 | end | |
469 | end | |
470 | end | |
471 | shadowattack=false | |
472 | end) | |
473 | coroutine.resume(coroutine.create(function(Connect) | |
474 | while shadowgyro=="TrueAim" do | |
475 | wait() | |
476 | end | |
477 | print("DISCONNECT") | |
478 | Connect:disconnect() | |
479 | end),shadowcon) | |
480 | coroutine.resume(coroutine.create(function() | |
481 | wait(5) | |
482 | aroot.CFrame=TargetTorso.CFrame | |
483 | end)) | |
484 | while shadowfollowing==true do | |
485 | wait() | |
486 | BodyPosition.position=TargetTorso.Position | |
487 | end | |
488 | else | |
489 | shadowgyro="TrueAim" | |
490 | shadowattack=true | |
491 | for i=0,1,0.1 do | |
492 | wait() | |
493 | local pos5 = Vector3.new(TargetTorso.Position.X,aprt11.Position.Y,TargetTorso.Position.Z) | |
494 | offset=(aprt11.Position.y-TargetTorso.Position.Y)/60 | |
495 | mag=(aprt11.Position-TargetTorso.Position).magnitude/80 | |
496 | offset=offset/mag | |
497 | print(offset) | |
498 | awld1.C0=euler(0,1.57*i,0)*cf(0,-3,-2) | |
499 | awld4.C0=cf(-3,1,0)*euler(-0.5+0.5*i,0,(-1.57+offset)*i) | |
500 | awld4.C1=cf(0,1,0)*euler(0,0,0.7-0.7*i) | |
501 | end | |
502 | wait(0.3) | |
503 | shoottrail(aprt11,0) | |
504 | for i=1,6 do | |
505 | wait(0.1) | |
506 | shoottrail(aprt11,10) | |
507 | end | |
508 | for i=0,1,0.1 do | |
509 | wait() | |
510 | awld1.C0=euler(0,1.57-1.57*i,0)*cf(0,-3,-2) | |
511 | awld4.C0=cf(-3,1,0)*euler(-0.5*i,0,(-1.57+offset)+(1.57-offset)*i) | |
512 | awld4.C1=cf(0,1,0)*euler(0,0,0.7*i) | |
513 | end | |
514 | shadowattack=false | |
515 | end | |
516 | wait(2)]] | |
517 | else | |
518 | BodyyPosition.P=50000 | |
519 | BodyyPosition.D=1000 | |
520 | end | |
521 | end | |
522 | end),BodPos,BodGy) | |
523 | ||
524 | if (script.Parent.className ~= "HopperBin") then | |
525 | Tool = Instance.new("HopperBin") | |
526 | Tool.Parent = Backpack | |
527 | Tool.Name = "Warden Claws" | |
528 | script.Parent = Tool | |
529 | end | |
530 | Bin = script.Parent | |
531 | ||
532 | local Bg = it("BodyGyro") | |
533 | Bg.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
534 | Bg.P = 20e+003 | |
535 | Bg.Parent = nil | |
536 | ||
537 | so = function(id,par,vol,pit) | |
538 | coroutine.resume(coroutine.create(function() | |
539 | local sou = Instance.new("Sound",par or workspace) | |
540 | sou.Volume=vol | |
541 | sou.Pitch=pit or 1 | |
542 | sou.SoundId=id | |
543 | wait() | |
544 | sou:play() | |
545 | wait(6) | |
546 | sou:Remove() | |
547 | end)) | |
548 | end | |
549 | ||
550 | function hideanim() | |
551 | equipped=false | |
552 | Torso.Neck.C0=necko | |
553 | RootJoint.C0=RootCF | |
554 | end | |
555 | ||
556 | function equipanim() | |
557 | equipped=true | |
558 | Torso.Neck.C0=necko*euler(0.2,0,0) | |
559 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57,-0.2) | |
560 | LW.C1=cf(0,0.5,0)*euler(-0.2,0,0) | |
561 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2) | |
562 | RW.C1=cf(0,0.5,0)*euler(-0.2,0,0) | |
563 | end | |
564 | ||
565 | function attackone() | |
566 | attack=true | |
567 | for i=0,1,0.1 do | |
568 | wait() | |
569 | RootJoint.C0=RootCF*euler(0,0,0.8*i) | |
570 | Torso.Neck.C0=necko*euler(0.2,0,-0.8*i) | |
571 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57,-0.2+0.2*i) | |
572 | LW.C1=cf(0,0.5,0)*euler(-0.2-1.37*i,0,0) | |
573 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2-0.2*i) | |
574 | RW.C1=cf(0,0.5,0)*euler(-0.2-0.2*i,0,0) | |
575 | end | |
576 | LastPoint=prt2.CFrame*CFrame.new(0,prt2.Size.Y/7,0) | |
577 | LastPoint2=prt4.CFrame*CFrame.new(0,prt4.Size.Y/7,0) | |
578 | LastPoint3=prt6.CFrame*CFrame.new(0,prt6.Size.Y/7,0) | |
579 | --so("http://www.roblox.com/asset/?id=28144425",prt4,1,1.5) | |
580 | con1=prt4.Touched:connect(function(hit) Damagefunc(hit,10,20,nil,"Snare") end) | |
581 | so("http://www.roblox.com/Asset?ID=92597369",prt4,1,1) | |
582 | for i=0,1,0.2 do | |
583 | wait() | |
584 | RootJoint.C0=RootCF*euler(0,0,0.8-2*i) | |
585 | Torso.Neck.C0=necko*euler(0.2,0,-0.8+2*i) | |
586 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57-0.2*i,0) | |
587 | LW.C1=cf(0,0.5,0)*euler(-1.57,0,0) | |
588 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0) | |
589 | RW.C1=cf(0,0.5,0)*euler(-0.4,0,0) | |
590 | LeftClawEffect() | |
591 | end | |
592 | for i=0,1,0.2 do | |
593 | wait() | |
594 | RootJoint.C0=RootCF*euler(0,0,-1.2-0.3*i) | |
595 | Torso.Neck.C0=necko*euler(0.2,0,1.2+0.3*i) | |
596 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.37-0.17*i,0) | |
597 | LW.C1=cf(0,0.5,0)*euler(-1.57,0,0) | |
598 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0) | |
599 | RW.C1=cf(0,0.5,0)*euler(-0.4,0,0) | |
600 | LeftClawEffect() | |
601 | end | |
602 | con1:disconnect() | |
603 | attack=false | |
604 | end | |
605 | ||
606 | function attacktwo() | |
607 | attack=true | |
608 | rLastPoint=prt8.CFrame*CFrame.new(0,prt8.Size.Y/7,0) | |
609 | rLastPoint2=prt10.CFrame*CFrame.new(0,prt10.Size.Y/7,0) | |
610 | rLastPoint3=prt12.CFrame*CFrame.new(0,prt12.Size.Y/7,0) | |
611 | con1=prt10.Touched:connect(function(hit) Damagefunc(hit,5,30,nil,"Snare") end) | |
612 | so("http://www.roblox.com/Asset?ID=92597369",prt10,1,0.8) | |
613 | for i=0,1,0.2 do | |
614 | wait() | |
615 | RootJoint.C0=RootCF*euler(0,0,-1.5+2*i) | |
616 | Torso.Neck.C0=necko*euler(0.2,0,1.5-2*i) | |
617 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.2,0) | |
618 | LW.C1=cf(0,0.5,0)*euler(-1.57,0,0) | |
619 | RW.C0=cf(1.5-0.5*i,0.5,-0.5*i)*euler(0,-1.57-1*i,-2*i) | |
620 | RW.C1=cf(0,0.5,0)*euler(-0.4+1*i,0,0) | |
621 | RightClawEffect() | |
622 | end | |
623 | con1:disconnect() | |
624 | attack=false | |
625 | end | |
626 | ||
627 | function attackthree() | |
628 | attack=true | |
629 | for i=0,1,0.2 do | |
630 | wait() | |
631 | RootJoint.C0=RootCF*euler(0,0,0.5-0.5*i) | |
632 | Torso.Neck.C0=necko*euler(0.2,0,-0.5+0.5*i) | |
633 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.2+0.37*i,0) | |
634 | LW.C1=cf(0,0.5,0)*euler(-1.57,0,0) | |
635 | RW.C0=cf(1+0.5*i,0.5,-0.5+0.5*i)*euler(0,-2.57+1*i,-2+2*i) | |
636 | RW.C1=cf(0,0.5,0)*euler(0.6-2.17*i,0,3.14*i) | |
637 | end | |
638 | LastPoint=prt2.CFrame*CFrame.new(0,prt2.Size.Y/7,0) | |
639 | LastPoint2=prt4.CFrame*CFrame.new(0,prt4.Size.Y/7,0) | |
640 | LastPoint3=prt6.CFrame*CFrame.new(0,prt6.Size.Y/7,0) | |
641 | rLastPoint=prt8.CFrame*CFrame.new(0,prt8.Size.Y/7,0) | |
642 | rLastPoint2=prt10.CFrame*CFrame.new(0,prt10.Size.Y/7,0) | |
643 | rLastPoint3=prt12.CFrame*CFrame.new(0,prt12.Size.Y/7,0) | |
644 | con1=prt4.Touched:connect(function(hit) Damagefunc(hit,5,10,nil,"Snare") end) | |
645 | con2=prt10.Touched:connect(function(hit) Damagefunc(hit,5,10,nil,"Snare") end) | |
646 | for i=1,2 do | |
647 | so("http://www.roblox.com/Asset?ID=92597369",Torso,1,1.1) | |
648 | for i=0,1,0.3 do | |
649 | wait() | |
650 | RootJoint.C0=RootCF*euler(0,0,-3.14*i) | |
651 | LeftClawEffect() | |
652 | RightClawEffect() | |
653 | end | |
654 | so("http://www.roblox.com/Asset?ID=92597369",Torso,1,1.2) | |
655 | for i=0,1,0.3 do | |
656 | wait() | |
657 | RootJoint.C0=RootCF*euler(0,0,-3.14-3.14*i) | |
658 | LeftClawEffect() | |
659 | RightClawEffect() | |
660 | end | |
661 | end | |
662 | con1:disconnect() | |
663 | con2:disconnect() | |
664 | RootJoint.C0=RootCF*euler(0,0,0) | |
665 | attack=false | |
666 | end | |
667 | ||
668 | function LifeSteal() | |
669 | attack=true | |
670 | lifestolen=false | |
671 | for i=0,1,0.1 do | |
672 | wait() | |
673 | RootJoint.C0=RootCF*euler(0,0,1*i) | |
674 | Torso.Neck.C0=necko*euler(0.2,0,-1*i) | |
675 | LW.C0=cf(-1.5+0.5*i,0.5,-0.5*i)*euler(0,1.57-3.14*i,-0.2+0.2*i) | |
676 | LW.C1=cf(0,0.5,0)*euler(-0.2-1*i,0,0.2*i) | |
677 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2) | |
678 | RW.C1=cf(0,0.5,0)*euler(-0.2-1*i,0,0) | |
679 | end | |
680 | wait(0.1) | |
681 | con1=prt4.Touched:connect(function(hit) Damagefunc(hit,20,30,0,"LifeSteal",nil) end) | |
682 | LastPoint=prt2.CFrame*CFrame.new(0,prt2.Size.Y/7,0) | |
683 | LastPoint2=prt4.CFrame*CFrame.new(0,prt4.Size.Y/7,0) | |
684 | LastPoint3=prt6.CFrame*CFrame.new(0,prt6.Size.Y/7,0) | |
685 | so("http://www.roblox.com/Asset?ID=92597369",prt4,1,1.2) | |
686 | for i=0,1,0.2 do | |
687 | wait() | |
688 | RootJoint.C0=RootCF*cf(0,-5*i,0)*euler(0,0,1-2.57*i) | |
689 | Torso.Neck.C0=necko*euler(0.2,0,-1+2.57*i) | |
690 | LW.C0=cf(-1-0.5*i,0.5,-0.5+0.5*i)*euler(0,-1.57,0) | |
691 | LW.C1=cf(0,0.5,0)*euler(-1.2-0.37*i,-3.14*i,0.2-0.2*i) | |
692 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2) | |
693 | RW.C1=cf(0,0.5,0)*euler(-1.2,0,0) | |
694 | LeftClawEffect() | |
695 | end | |
696 | con1:disconnect() | |
697 | for i=1,5 do | |
698 | if combomove==false then | |
699 | wait(0.1) | |
700 | end | |
701 | end | |
702 | if lifestolen==false then | |
703 | cancombo=false | |
704 | for i=0,1,0.1 do | |
705 | wait() | |
706 | RootJoint.C0=RootCF*cf(0,-5+5*i,0)*euler(0,0,-1.57+1.57*i) | |
707 | Torso.Neck.C0=necko*euler(0.2,0,1.57-1.57*i) | |
708 | LW.C0=cf(-1.5,0.5,0)*euler(0,-1.57+3.14*i,-0.2*i) | |
709 | LW.C1=cf(0,0.5,0)*euler(-1.57+1.37*i,-3.14+3.14*i,0) | |
710 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2) | |
711 | RW.C1=cf(0,0.5,0)*euler(-1.2+1*i,0,0) | |
712 | end | |
713 | attack=false | |
714 | else | |
715 | cancombo=false | |
716 | if combomove==false then | |
717 | for i=0,1,0.2 do | |
718 | wait() | |
719 | RootJoint.C0=RootCF*cf(0,-5+5*i,0)*euler(0,0,-1.57+2.57*i) | |
720 | Torso.Neck.C0=necko*euler(0.2,0,1.57-2.57*i) | |
721 | LW.C0=cf(-1.5+0.5*i,0.5,-0.5*i)*euler(0,-1.57,0) | |
722 | LW.C1=cf(0,0.5,0)*euler(-1.57,-3.14+2.57*i,0) | |
723 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2) | |
724 | RW.C1=cf(0,0.5,0)*euler(-1.2,0,0) | |
725 | LeftClawEffectRed() | |
726 | end | |
727 | wait(0.5) | |
728 | for i=0,1,0.1 do | |
729 | wait() | |
730 | RootJoint.C0=RootCF*euler(0,0,1-1*i) | |
731 | Torso.Neck.C0=necko*euler(0.2,0,-1+1*i) | |
732 | LW.C0=cf(-1-0.5*i,0.5,-0.5+0.5*i)*euler(0,-1.57+3.14*i,-0.2*i) | |
733 | LW.C1=cf(0,0.5,0)*euler(-1.2+1*i,-0.57+0.57*i,0.2-0.2*i) | |
734 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2) | |
735 | RW.C1=cf(0,0.5,0)*euler(-1.2+1*i,0,0) | |
736 | end | |
737 | end | |
738 | attack=false | |
739 | end | |
740 | end | |
741 | ||
742 | function LifeStealCombo() | |
743 | attack=true | |
744 | con2=prt10.Touched:connect(function(hit) Damagefunc(hit,10,20,60,"Knockdown",Torso) end) | |
745 | rLastPoint=prt8.CFrame*CFrame.new(0,prt8.Size.Y/7,0) | |
746 | rLastPoint2=prt10.CFrame*CFrame.new(0,prt10.Size.Y/7,0) | |
747 | rLastPoint3=prt12.CFrame*CFrame.new(0,prt12.Size.Y/7,0) | |
748 | so("http://www.roblox.com/Asset?ID=92597369",prt10,1,1.4) | |
749 | for i=0,1,0.2 do | |
750 | wait() | |
751 | attack=true | |
752 | RootJoint.C0=RootCF*cf(0,-5,0)*euler(0,0,-1.57+3.14*i) | |
753 | Torso.Neck.C0=necko*euler(0.2,0,1.57) | |
754 | LW.C0=cf(-1.5,0.5,0)*euler(0,-1.57,0) | |
755 | LW.C1=cf(0,0.5,0)*euler(-1.57+1.37*i,-3.14,0) | |
756 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2-0.2*i) | |
757 | RW.C1=cf(0,0.5,0)*euler(-1.2-0.37*i,0,0) | |
758 | RightClawEffect() | |
759 | end | |
760 | for i=0,1,0.2 do | |
761 | wait() | |
762 | attack=true | |
763 | RootJoint.C0=RootCF*cf(0,-5+2*i,0)*euler(0,0,1.57+1.57*i) | |
764 | Torso.Neck.C0=necko*euler(0.2,0,1.57-1.57*i) | |
765 | LW.C0=cf(-1.5,0.5,0)*euler(0,-1.57,0) | |
766 | LW.C1=cf(0,0.5,0)*euler(-0.2,-3.14,0) | |
767 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0) | |
768 | RW.C1=cf(0,0.5,0)*euler(-1.57,0,0) | |
769 | RightClawEffect() | |
770 | end | |
771 | con2:disconnect() | |
772 | for i=0,1,0.1 do | |
773 | wait() | |
774 | RootJoint.C0=RootCF*cf(0,-3+3*i,0)*euler(0,0,3.14+3.14*i) | |
775 | Torso.Neck.C0=necko*euler(0.2,0,0) | |
776 | LW.C0=cf(-1.5,0.5,0)*euler(0,-1.57,0) | |
777 | LW.C1=cf(0,0.5,0)*euler(-0.2,-3.14,0) | |
778 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0) | |
779 | RW.C1=cf(0,0.5,0)*euler(-1.57+1.37*i,0,0) | |
780 | end | |
781 | wait(0.5) | |
782 | combomove=false | |
783 | attack=false | |
784 | end | |
785 | ||
786 | function Raise() | |
787 | attack=true | |
788 | for i=0,1,0.1 do | |
789 | wait() | |
790 | RootJoint.C0=RootCF | |
791 | Torso.Neck.C0=necko*euler(0.2+0.1*i,0,0) | |
792 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57,-0.2-0.1*i) | |
793 | LW.C1=cf(0,0.5,0)*euler(-0.2+0.1*i,0,0) | |
794 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2+0.1*i) | |
795 | RW.C1=cf(0,0.5,0)*euler(-0.2+0.1*i,0,0) | |
796 | end | |
797 | LastPoint=prt2.CFrame*CFrame.new(0,prt2.Size.Y/7,0) | |
798 | LastPoint2=prt4.CFrame*CFrame.new(0,prt4.Size.Y/7,0) | |
799 | LastPoint3=prt6.CFrame*CFrame.new(0,prt6.Size.Y/7,0) | |
800 | rLastPoint=prt8.CFrame*CFrame.new(0,prt8.Size.Y/7,0) | |
801 | rLastPoint2=prt10.CFrame*CFrame.new(0,prt10.Size.Y/7,0) | |
802 | rLastPoint3=prt12.CFrame*CFrame.new(0,prt12.Size.Y/7,0) | |
803 | con1=prt4.Touched:connect(function(hit) Damagefunc(hit,5,10,0,"Up",Torso) end) | |
804 | con2=prt10.Touched:connect(function(hit) Damagefunc(hit,5,10,0,"Up",Torso) end) | |
805 | so("http://www.roblox.com/Asset?ID=92597369",Torso,1,0.9) | |
806 | for i=0,1,0.2 do | |
807 | wait() | |
808 | RootJoint.C0=RootCF | |
809 | Torso.Neck.C0=necko*euler(0.3-0.6*i,0,0) | |
810 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57,-0.3+2.8*i) | |
811 | LW.C1=cf(0,0.5,0)*euler(-0.1+0.1*i,0,0) | |
812 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.3-2.8*i) | |
813 | RW.C1=cf(0,0.5,0)*euler(-0.1+0.1*i,0,0) | |
814 | LeftClawEffect() | |
815 | RightClawEffect() | |
816 | end | |
817 | con1:disconnect() | |
818 | con2:disconnect() | |
819 | for i=0,1,0.2 do | |
820 | wait() | |
821 | Torso.Neck.C0=necko*euler(-0.3-0.1*i,0,0) | |
822 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57,2.5+0.1*i) | |
823 | LW.C1=cf(0,0.5,0)*euler(0,0,0) | |
824 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,-2.5-0.1*i) | |
825 | RW.C1=cf(0,0.5,0)*euler(0,0,0) | |
826 | LeftClawEffect() | |
827 | RightClawEffect() | |
828 | end | |
829 | cancombo=true | |
830 | for i=1,2 do | |
831 | if combomove==false then | |
832 | wait(0.1) | |
833 | end | |
834 | end | |
835 | if combomove==false then | |
836 | for i=0,1,0.1 do | |
837 | wait() | |
838 | Torso.Neck.C0=necko*euler(-0.4+0.6*i,0,0) | |
839 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57,2.6-2.8*i) | |
840 | LW.C1=cf(0,0.5,0)*euler(-0.2*i,0,0) | |
841 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,-2.6+2.8*i) | |
842 | RW.C1=cf(0,0.5,0)*euler(-0.2*i,0,0) | |
843 | end | |
844 | attack=false | |
845 | cancombo=false | |
846 | end | |
847 | end | |
848 | ||
849 | function RaiseCombo() | |
850 | attack=true | |
851 | bp2=Instance.new("BodyPosition") | |
852 | bp2.P=2000 | |
853 | bp2.D=100 | |
854 | bp2.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
855 | bp2.position=Torso.Position+vt(0,20,0) | |
856 | bp2.Parent=Torso | |
857 | for i=0,1,0.2 do | |
858 | wait() | |
859 | attack=true | |
860 | Torso.Neck.C0=necko*euler(-0.4,0,0) | |
861 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57-3.14*i,2.6) | |
862 | LW.C1=cf(0,0.5,0)*euler(0,0,0) | |
863 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57+3.14*i,-2.6) | |
864 | RW.C1=cf(0,0.5,0)*euler(0,0,0) | |
865 | end | |
866 | bp2.Parent=nil | |
867 | LastPoint=prt2.CFrame*CFrame.new(0,prt2.Size.Y/7,0) | |
868 | LastPoint2=prt4.CFrame*CFrame.new(0,prt4.Size.Y/7,0) | |
869 | LastPoint3=prt6.CFrame*CFrame.new(0,prt6.Size.Y/7,0) | |
870 | rLastPoint=prt8.CFrame*CFrame.new(0,prt8.Size.Y/7,0) | |
871 | rLastPoint2=prt10.CFrame*CFrame.new(0,prt10.Size.Y/7,0) | |
872 | rLastPoint3=prt12.CFrame*CFrame.new(0,prt12.Size.Y/7,0) | |
873 | con1=prt4.Touched:connect(function(hit) Damagefunc(hit,10,15,50,"Knockdown",Torso) end) | |
874 | con2=prt10.Touched:connect(function(hit) Damagefunc(hit,10,15,50,"Knockdown",Torso) end) | |
875 | so("http://www.roblox.com/Asset?ID=92597369",Torso,1,0.7) | |
876 | for i=0,1,0.1 do | |
877 | wait() | |
878 | attack=true | |
879 | Torso.Neck.C0=necko*euler(-0.4+0.6*i,0,0) | |
880 | LW.C0=cf(-1.5,0.5,0)*euler(0,-1.57,2.6+4*i) | |
881 | LW.C1=cf(0,0.5,0)*euler(0,0,0) | |
882 | RW.C0=cf(1.5,0.5,0)*euler(0,1.57,-2.6-4*i) | |
883 | RW.C1=cf(0,0.5,0)*euler(0,0,0) | |
884 | LeftClawEffect() | |
885 | RightClawEffect() | |
886 | end | |
887 | con1:disconnect() | |
888 | con2:disconnect() | |
889 | for i=0,1,0.1 do | |
890 | wait() | |
891 | attack=true | |
892 | Torso.Neck.C0=necko*euler(0.2,0,0) | |
893 | LW.C0=cf(-1.5,0.5,0)*euler(0,-1.57+3.14*i,0.1-0.3*i) | |
894 | LW.C1=cf(0,0.5,0)*euler(-0.2*i,0,0) | |
895 | RW.C0=cf(1.5,0.5,0)*euler(0,1.57-3.14*i,-0.1+0.3*i) | |
896 | RW.C1=cf(0,0.5,0)*euler(-0.2*i,0,0) | |
897 | end | |
898 | wait(0.5) | |
899 | combomove=false | |
900 | attack=false | |
901 | end | |
902 | ||
903 | function ChangeAvatarMode(Mode) | |
904 | attack=true | |
905 | for i=0,1,0.1 do | |
906 | wait() | |
907 | Torso.Neck.C0=necko*euler(0.2-0.8*i,0,0) | |
908 | LW.C0=cf(-1.5+0.5*i,0.5,-0.5*i)*euler(3*i,1.57-1.57*i,-0.2+0.8*i) | |
909 | LW.C1=cf(0,0.5,0)*euler(-0.2+0.2*i,0,0) | |
910 | RW.C0=cf(1.5-0.5*i,0.5,-0.5*i)*euler(3*i,-1.57+1.57*i,0.2-0.8*i) | |
911 | RW.C1=cf(0,0.5,0)*euler(-0.2+0.2*i,0,0) | |
912 | end | |
913 | MagicCircle(BrickColor.new("Black"),prt4.CFrame,1,1,1,0.5,0.5,0.5,0.05) | |
914 | MagicCircle(BrickColor.new("Black"),prt10.CFrame,1,1,1,0.5,0.5,0.5,0.05) | |
915 | AvatarMode=Mode | |
916 | wait(0.5) | |
917 | for i=0,1,0.1 do | |
918 | wait() | |
919 | Torso.Neck.C0=necko*euler(-0.6+0.8*i,0,0) | |
920 | LW.C0=cf(-1-0.5*i,0.5,-0.5+0.5*i)*euler(3-3*i,1.57*i,0.6-0.8*i) | |
921 | LW.C1=cf(0,0.5,0)*euler(-0.2*i,0,0) | |
922 | RW.C0=cf(1+0.5*i,0.5,-0.5+0.5*i)*euler(3-3*i,-1.57*i,-0.6+0.8*i) | |
923 | RW.C1=cf(0,0.5,0)*euler(-0.2*i,0,0) | |
924 | end | |
925 | attack=false | |
926 | end | |
927 | ||
928 | function ShadowSlash() | |
929 | shadowattack=true | |
930 | so("http://www.roblox.com/asset/?id=28144425",aprt3,1,1) | |
931 | avLastPoint=aprt6.CFrame*CFrame.new(0,aprt6.Size.Y/7,0) | |
932 | avLastPoint2=aprt8.CFrame*CFrame.new(0,aprt8.Size.Y/7,0) | |
933 | avLastPoint3=aprt10.CFrame*CFrame.new(0,aprt10.Size.Y/7,0) | |
934 | avcon1=aprt6.Touched:connect(function(hit) Damagefunc(hit,20,40,math.random(50,80),"Knockdown",aprt1) end) | |
935 | avcon2=aprt8.Touched:connect(function(hit) Damagefunc(hit,20,40,math.random(50,80),"Knockdown",aprt1) end) | |
936 | avcon3=aprt10.Touched:connect(function(hit) Damagefunc(hit,20,40,math.random(50,80),"Knockdown",aprt1) end) | |
937 | for i=0,1,0.1 do | |
938 | wait() | |
939 | awld1.C0=euler(0,-1*i,0)*cf(0,-3,-2) | |
940 | awld3.C0=cf(3-2*i,1,-0.5*i)*euler(-0.5+2.5*i,0,0) | |
941 | awld3.C1=cf(0,1,0)*euler(0,1*i,-0.7+1.4*i) | |
942 | AvatarClawEffect() | |
943 | end | |
944 | avcon1:disconnect() | |
945 | avcon2:disconnect() | |
946 | avcon3:disconnect() | |
947 | wait(0.5) | |
948 | for i=0,1,0.1 do | |
949 | wait() | |
950 | awld1.C0=euler(0,-1+1*i,0)*cf(0,-3,-2) | |
951 | awld3.C0=cf(1+2*i,1,-0.5+0.5*i)*euler(2-2.5*i,0,0) | |
952 | awld3.C1=cf(0,1,0)*euler(0,1-1*i,0.7-1.4*i) | |
953 | end | |
954 | shadowattack=false | |
955 | end | |
956 | ||
957 | function ShadowDash() | |
958 | shadowattack=true | |
959 | for i=0,1,0.1 do | |
960 | wait() | |
961 | awld1.C0=euler(0,-1*i,0)*cf(0,-3,-2) | |
962 | awld3.C0=cf(3,1,0)*euler(-0.5+0.5*i,0,0) | |
963 | awld3.C1=cf(0,1,0)*euler(0,2.5*i,-0.7+0.5*i) | |
964 | end | |
965 | so("http://www.roblox.com/asset/?id=28144425",aprt3,1,0.9) | |
966 | avLastPoint=aprt6.CFrame*CFrame.new(0,aprt6.Size.Y/7,0) | |
967 | avLastPoint2=aprt8.CFrame*CFrame.new(0,aprt8.Size.Y/7,0) | |
968 | avLastPoint3=aprt10.CFrame*CFrame.new(0,aprt10.Size.Y/7,0) | |
969 | avcon1=aprt6.Touched:connect(function(hit) Damagefunc(hit,20,30,math.random(50,80),"Snare",aprt1) end) | |
970 | avcon2=aprt8.Touched:connect(function(hit) Damagefunc(hit,20,30,math.random(50,80),"Snare",aprt1) end) | |
971 | avcon3=aprt10.Touched:connect(function(hit) Damagefunc(hit,20,30,math.random(50,80),"Snare",aprt1) end) | |
972 | for i=0,1,0.1 do | |
973 | wait() | |
974 | awld1.C0=euler(0,-1-0.6*i,0)*cf(0,-3+1*i,-2+6*i) | |
975 | awld3.C0=cf(3,1,0)*euler(0,0,0) | |
976 | awld3.C1=cf(0,1,0)*euler(0.5*i,2.5+0.5*i,-0.2-1.5*i) | |
977 | AvatarClawEffect() | |
978 | end | |
979 | avcon1:disconnect() | |
980 | avcon2:disconnect() | |
981 | avcon3:disconnect() | |
982 | wait(0.2) | |
983 | for i=0,1,0.1 do | |
984 | wait() | |
985 | awld1.C0=euler(0,-1.6+1.6*i,0)*cf(0,-2-1*i,-2+6-6*i) | |
986 | awld3.C0=cf(3,1,0)*euler(-0.5*i,0,0) | |
987 | awld3.C1=cf(0,1,0)*euler(0.5-0.5*i,3-3*i,-1.7+1*i) | |
988 | end | |
989 | shadowattack=false | |
990 | end | |
991 | ||
992 | function ShadowExplode() | |
993 | shadowattack=true | |
994 | for i=0,1,0.1 do | |
995 | wait() | |
996 | awld3.C0=cf(3,1,-0.5*i)*euler(-0.5+1.7*i,0,0) | |
997 | awld3.C1=cf(0,1,0)*euler(0,0,-0.7+1.4*i) | |
998 | awld4.C0=cf(-3,1,-0.5*i)*euler(-0.5+1.7*i,0,0) | |
999 | awld4.C1=cf(0,1,0)*euler(0,0,0.7-1.4*i) | |
1000 | end | |
1001 | local boom=part(3,workspace,0,0,BrickColor.new("Black"),"Effect",vt(0.5,0.5,0.5)) | |
1002 | boom.Anchored=true | |
1003 | boom.CFrame=aprt1.CFrame*cf(0,0,-4) | |
1004 | so("http://roblox.com/asset/?id=10209624",boom,0.1,.75) | |
1005 | so("http://www.roblox.com/asset/?id=2101137",boom,1,0.3) | |
1006 | --s.SoundId="http://www.roblox.com/asset/?id=3264793" | |
1007 | game:GetService("Debris"):AddItem(boom,10) | |
1008 | coroutine.resume(coroutine.create(function() | |
1009 | for i=0,1,0.01 do | |
1010 | wait() | |
1011 | awld3.C0=cf(3,1+0.5*i,-0.5+0.5*i)*euler(1.5,0,0) | |
1012 | awld3.C1=cf(0,1,0)*euler(0,0,0.7-2.27*i) | |
1013 | awld4.C0=cf(-3,1+0.5*i,-0.5+0.5*i)*euler(1.5,0,0) | |
1014 | awld4.C1=cf(0,1,0)*euler(0,0,-0.7+2.27*i) | |
1015 | end | |
1016 | end)) | |
1017 | numb=0.01 | |
1018 | for i=1,100 do | |
1019 | wait() | |
1020 | MagicCircle(BrickColor.new("Black"),boom.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))*cf(0,5,0),1,1,1,0.02,0.5,0.02,0.05) | |
1021 | MagicBlock(BrickColor.new("Black"),boom.CFrame,1,1,1,numb,numb,numb) | |
1022 | numb=numb+0.01 | |
1023 | end | |
1024 | so("http://www.roblox.com/asset/?id=3264793",boom,0.5,0.5) | |
1025 | so("http://roblox.com/asset/?id=144844438",boom,1,1) | |
1026 | so("http://www.roblox.com/asset/?id=2974249",boom,1,0.7) | |
1027 | shadowattack=false | |
1028 | end | |
1029 | ||
1030 | function ShadowShoot() | |
1031 | shadowattack=true | |
1032 | for i=0,1,0.1 do | |
1033 | wait() | |
1034 | local pos5 = Vector3.new(MMouse.Hit.p.x,aroot.Position.Y,MMouse.Hit.p.z) | |
1035 | offset=(aroot.Position.y-MMouse.Hit.p.y)/60 | |
1036 | mag=(aroot.Position-MMouse.Hit.p).magnitude/80 | |
1037 | offset=offset/mag | |
1038 | awld1.C0=euler(0,1.57*i,0)*cf(0,-3,-2) | |
1039 | awld4.C0=cf(-3,1,0)*euler(-0.5+0.5*i,0,(-1.57+offset)*i) | |
1040 | awld4.C1=cf(0,1,0)*euler(0,0,0.7-0.7*i) | |
1041 | end | |
1042 | wait(0.1) | |
1043 | shoottrail(aprt11,0) | |
1044 | for i=0,1,0.1 do | |
1045 | wait() | |
1046 | awld1.C0=euler(0,1.57-1.57*i,0)*cf(0,-3,-2) | |
1047 | awld4.C0=cf(-3,1,0)*euler(-0.5*i,0,(-1.57+offset)+(1.57-offset)*i) | |
1048 | awld4.C1=cf(0,1,0)*euler(0,0,0.7*i) | |
1049 | end | |
1050 | shadowattack=false | |
1051 | end | |
1052 | ||
1053 | function ShadowWave() | |
1054 | shadowattack=true | |
1055 | for i=0,1,0.1 do | |
1056 | wait() | |
1057 | awld1.C0=euler(0,1.57*i,0)*cf(0,-3,-2) | |
1058 | awld4.C0=cf(-3,1,0)*euler(-0.5+0.5*i,0,-1*i) | |
1059 | awld4.C1=cf(0,1,0)*euler(0,0,0.7-0.7*i) | |
1060 | end | |
1061 | local bprt=part(3,workspace,0,1,BrickColor.new("Black"),"Effect",vt(0.5,0.5,0.5)) | |
1062 | bprt.Anchored=true | |
1063 | bprt.CFrame=Torso.CFrame*cf(0,-2.7,-5) | |
1064 | local bmsh=mesh("CylinderMesh",bprt,"","",vt(0,0,0),vt(5,1,5)) | |
1065 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1066 | for i=1,0.5,-0.1 do | |
1067 | wait() | |
1068 | Part.Transparency=i | |
1069 | end | |
1070 | end),bprt) | |
1071 | game:GetService("Debris"):AddItem(bprt,5) | |
1072 | for i=0,1,0.05 do | |
1073 | wait() | |
1074 | awld1.C0=euler(0,1.57,0)*cf(0,-3,-2) | |
1075 | awld4.C0=cf(-3,1+1*i,0)*euler(0,0,-1-1*i) | |
1076 | awld4.C1=cf(0,1,0)*euler(0,0,0) | |
1077 | end | |
1078 | shadowattack=false | |
1079 | end | |
1080 | ||
1081 | function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants | |
1082 | return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) | |
1083 | end | |
1084 | ||
1085 | function effect(Color,Ref,LP,P1,returnn) | |
1086 | local effectsmsh = Instance.new("BlockMesh") | |
1087 | effectsmsh.Scale = Vector3.new(0.2,1,0.2) | |
1088 | effectsmsh.Name = "Mesh" | |
1089 | local effectsg = Instance.new("Part") | |
1090 | effectsg.formFactor = 3 | |
1091 | effectsg.CanCollide = false | |
1092 | effectsg.Name = "Eff" | |
1093 | effectsg.Locked = true | |
1094 | effectsg.Anchored = true | |
1095 | effectsg.Size = Vector3.new(0.5,1,0.5) | |
1096 | effectsg.Parent = workspace | |
1097 | effectsmsh.Parent = effectsg | |
1098 | effectsg.BrickColor = BrickColor.new(Color) | |
1099 | effectsg.Reflectance = Ref | |
1100 | local point1 = P1 | |
1101 | local mg = (LP.p - point1.p).magnitude | |
1102 | effectsg.Size = Vector3.new(0.5,mg,0.5) | |
1103 | effectsg.CFrame = CFrame.new((LP.p+point1.p)/2,point1.p) * CFrame.Angles(math.rad(90),0,0) | |
1104 | effectsmsh.Scale = Vector3.new(0.2,1,0.2) | |
1105 | game:GetService("Debris"):AddItem(effectsg,2) | |
1106 | if returnn then return effectsg end | |
1107 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1108 | if not returnn then | |
1109 | for i = 0 , 1 , 0.1 do | |
1110 | wait() | |
1111 | Part.Transparency = 1*i | |
1112 | Mesh.Scale = Vector3.new(0.2-0.2*i,1,0.2-0.2*i) | |
1113 | end | |
1114 | wait() | |
1115 | Part.Parent = nil | |
1116 | end | |
1117 | end),effectsg,effectsmsh) | |
1118 | end | |
1119 | ||
1120 | function LeftClawEffect() | |
1121 | local Point=prt2.CFrame*CFrame.new(0,prt2.Size.Y/7,0) | |
1122 | effect("Black",0.5,LastPoint,Point) | |
1123 | LastPoint=Point | |
1124 | local Point2=prt4.CFrame*CFrame.new(0,prt4.Size.Y/7,0) | |
1125 | effect("Black",0.5,LastPoint2,Point2) | |
1126 | LastPoint2=Point2 | |
1127 | local Point3=prt6.CFrame*CFrame.new(0,prt6.Size.Y/7,0) | |
1128 | effect("Black",0.5,LastPoint3,Point3) | |
1129 | LastPoint3=Point3 | |
1130 | end | |
1131 | ||
1132 | function LeftClawEffectRed() | |
1133 | local Point=prt2.CFrame*CFrame.new(0,prt2.Size.Y/7,0) | |
1134 | effect("Bright red",0.5,LastPoint,Point) | |
1135 | LastPoint=Point | |
1136 | local Point2=prt4.CFrame*CFrame.new(0,prt4.Size.Y/7,0) | |
1137 | effect("Bright red",0.5,LastPoint2,Point2) | |
1138 | LastPoint2=Point2 | |
1139 | local Point3=prt6.CFrame*CFrame.new(0,prt6.Size.Y/7,0) | |
1140 | effect("Bright red",0.5,LastPoint3,Point3) | |
1141 | LastPoint3=Point3 | |
1142 | end | |
1143 | ||
1144 | function RightClawEffect() | |
1145 | local rPoint=prt8.CFrame*CFrame.new(0,prt8.Size.Y/7,0) | |
1146 | effect("Black",0.5,rLastPoint,rPoint) | |
1147 | rLastPoint=rPoint | |
1148 | local rPoint2=prt10.CFrame*CFrame.new(0,prt10.Size.Y/7,0) | |
1149 | effect("Black",0.5,rLastPoint2,rPoint2) | |
1150 | rLastPoint2=rPoint2 | |
1151 | local rPoint3=prt12.CFrame*CFrame.new(0,prt12.Size.Y/7,0) | |
1152 | effect("Black",0.5,rLastPoint3,rPoint3) | |
1153 | rLastPoint3=rPoint3 | |
1154 | end | |
1155 | ||
1156 | function AvatarClawEffect() | |
1157 | local avPoint=aprt6.CFrame*CFrame.new(0,aprt6.Size.Y/7,0) | |
1158 | effect("Black",0.5,avLastPoint,avPoint) | |
1159 | avLastPoint=avPoint | |
1160 | local avPoint2=aprt8.CFrame*CFrame.new(0,aprt8.Size.Y/7,0) | |
1161 | effect("Black",0.5,avLastPoint2,avPoint2) | |
1162 | avLastPoint2=avPoint2 | |
1163 | local avPoint3=aprt10.CFrame*CFrame.new(0,aprt10.Size.Y/7,0) | |
1164 | effect("Black",0.5,avLastPoint3,avPoint3) | |
1165 | avLastPoint3=avPoint3 | |
1166 | MagicBlock(BrickColor.new("Black"),aprt6.CFrame,3,3,3,-0.5,-0.5,-0.5) | |
1167 | MagicBlock(BrickColor.new("Black"),aprt8.CFrame,3,3,3,-0.5,-0.5,-0.5) | |
1168 | MagicBlock(BrickColor.new("Black"),aprt10.CFrame,3,3,3,-0.5,-0.5,-0.5) | |
1169 | end | |
1170 | ||
1171 | function ElecEffect(cff,x,y,z) | |
1172 | local prt=part(3,workspace,0,0,BrickColor.new("White"),"Part",vt(1,1,1)) | |
1173 | prt.Anchored=true | |
1174 | xval=math.random() | |
1175 | yval=math.random() | |
1176 | zval=math.random() | |
1177 | msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(xval,yval,zval)) | |
1178 | coroutine.resume(coroutine.create(function(Part,Mesh,Frame,xvaal,yvaal,zvaal) | |
1179 | Part.CFrame=Frame*cf(math.random(-x,x),math.random(-y,y),math.random(-z,z)) | |
1180 | for i=1,8 do | |
1181 | wait() | |
1182 | xvaal=xvaal-0.1 | |
1183 | yvaal=yvaal-0.1 | |
1184 | zvaal=zvaal-0.1 | |
1185 | Mesh.Scale=vt(xvaal,yvaal,zvaal) | |
1186 | Part.Transparency=Part.Transparency+0.09 | |
1187 | end | |
1188 | Part.Parent=nil | |
1189 | end),prt,msh,cff,xval,yval,zval) | |
1190 | end | |
1191 | ||
1192 | function MagicBlock(brickcolor,cframe,x1,y1,z1,x3,y3,z3) | |
1193 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1194 | prt.Anchored=true | |
1195 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1196 | local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1)) | |
1197 | game:GetService("Debris"):AddItem(prt,2) | |
1198 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1199 | for i=0,1,0.1 do | |
1200 | wait() | |
1201 | Part.CFrame=Part.CFrame | |
1202 | Part.Transparency=i | |
1203 | Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) | |
1204 | end | |
1205 | Part.Parent=nil | |
1206 | end),prt,msh) | |
1207 | end | |
1208 | ||
1209 | function MagicBlock2(brickcolor,cframe,x1,y1,z1,x3,y3,z3) | |
1210 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1211 | prt.Anchored=true | |
1212 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1213 | local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1)) | |
1214 | game:GetService("Debris"):AddItem(prt,2) | |
1215 | CF=prt.CFrame | |
1216 | num=math.random(5,20) | |
1217 | coroutine.resume(coroutine.create(function(Part,Mesh,CF2,Num) | |
1218 | for i=0,1.05,0.05 do | |
1219 | wait() | |
1220 | Part.CFrame=CF2*cf(0,i*Num,0)*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1221 | Part.Transparency=i | |
1222 | Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) | |
1223 | end | |
1224 | Part.Parent=nil | |
1225 | end),prt,msh,CF,num) | |
1226 | end | |
1227 | ||
1228 | function MagicCircle(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
1229 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1230 | prt.Anchored=true | |
1231 | prt.CFrame=cframe | |
1232 | local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1)) | |
1233 | game:GetService("Debris"):AddItem(prt,2) | |
1234 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1235 | for i=0,1,delay do | |
1236 | wait() | |
1237 | Part.CFrame=Part.CFrame | |
1238 | Part.Transparency=i | |
1239 | Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) | |
1240 | end | |
1241 | Part.Parent=nil | |
1242 | end),prt,msh) | |
1243 | end | |
1244 | ||
1245 | function MagicRing(brickcolor,cframe,x1,y1,z1,x2,y2,z2,x3,y3,z3) | |
1246 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1247 | prt.Anchored=true | |
1248 | prt.CFrame=cframe*euler(x2,y2,z2) | |
1249 | local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(x1,y1,z1)) | |
1250 | game:GetService("Debris"):AddItem(prt,2) | |
1251 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1252 | for i=0,1,0.03 do | |
1253 | wait() | |
1254 | Part.CFrame=Part.CFrame | |
1255 | Part.Transparency=i | |
1256 | Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) | |
1257 | end | |
1258 | Part.Parent=nil | |
1259 | end),prt,msh) | |
1260 | end | |
1261 | ||
1262 | function BreakEffect(brickcolor,cframe,x1,y1,z1) | |
1263 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1264 | prt.Anchored=true | |
1265 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1266 | local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1)) | |
1267 | game:GetService("Debris"):AddItem(prt,2) | |
1268 | coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) | |
1269 | CF=Part.CFrame | |
1270 | Numbb=0 | |
1271 | randnumb=math.random()-math.random() | |
1272 | rand1=math.random()/5 | |
1273 | for i=0,1,rand1 do | |
1274 | wait() | |
1275 | CF=CF*cf(0,1,0) | |
1276 | --Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0) | |
1277 | Part.CFrame=CF*euler(Numbb,0,0) | |
1278 | Part.Transparency=i | |
1279 | Numbb=Numbb+randnumb | |
1280 | end | |
1281 | Part.Parent=nil | |
1282 | end),prt,CF,Numbb,randnumb) | |
1283 | end | |
1284 | ||
1285 | function MagicFreeze(brickcolor,cframe,x1,y1,z1,x3,y3,z3) | |
1286 | local prt=part(3,workspace,0.4,0.3,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1287 | prt.Anchored=true | |
1288 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1289 | local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=1778999",vt(0,0,0),vt(x1,y1,z1)) | |
1290 | game:GetService("Debris"):AddItem(prt,2) | |
1291 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1292 | for i=0,1,0.1 do | |
1293 | Part.CFrame=Part.CFrame*cf(0,0.3,0) | |
1294 | Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) | |
1295 | end | |
1296 | wait(5) | |
1297 | Part.Parent=nil | |
1298 | end),prt,msh) | |
1299 | end | |
1300 | ||
1301 | function MagicFire(brickcolor,cframe,x1,y1,z1) | |
1302 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1303 | prt.Anchored=true | |
1304 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1305 | local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1)) | |
1306 | game:GetService("Debris"):AddItem(prt,2) | |
1307 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1308 | for i=0,1,0.1 do | |
1309 | wait() | |
1310 | Part.CFrame=cf(Part.Position+vt(0,0.5,0))*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1311 | Part.Transparency=i | |
1312 | Mesh.Scale=Mesh.Scale+vt(0.1,0.1,0.1) | |
1313 | end | |
1314 | Part.Parent=nil | |
1315 | end),prt,msh) | |
1316 | end | |
1317 | ||
1318 | function LifeStealEffect(brickcolor,cframe,x1,y1,z1) | |
1319 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1320 | prt.Anchored=false | |
1321 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1322 | game:GetService("Debris"):AddItem(prt,4) | |
1323 | local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1)) | |
1324 | bp=Instance.new("BodyPosition") | |
1325 | bp.P=2000 | |
1326 | bp.D=100 | |
1327 | bp.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
1328 | bp.position=prt.Position+vt(math.random(-5,5),math.random(0,5),math.random(-5,5)) | |
1329 | bp.Parent=prt | |
1330 | coroutine.resume(coroutine.create(function(Part) | |
1331 | wait(1.5) | |
1332 | MagicCircle(BrickColor.new("Bright red"),Part.CFrame,2,2,2,0.2,0.2,0.2,0.05) | |
1333 | Part.Transparency=1 | |
1334 | local pprt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
1335 | local mmsh=mesh("SpecialMesh",pprt,"Sphere","",vt(0,0,0),vt(1,1,1)) | |
1336 | pprt.Anchored=true | |
1337 | cnM = ((Torso.Position + Part.Position) / 2).Magnitude | |
1338 | pprt.Size=Vector3.new(1,1,cnM) | |
1339 | pprt.CFrame=cf(Torso.Position,Part.Position)*cf(0,0,-cnM/2) | |
1340 | game:GetService("Debris"):AddItem(pprt,2) | |
1341 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1342 | for i=0,1,0.05 do | |
1343 | wait() | |
1344 | Part.Transparency=1*i | |
1345 | Mesh.Scale=vt(0.5-0.5*i,0.5-0.5*i,1) | |
1346 | end | |
1347 | Part.Parent=nil | |
1348 | end),pprt,mmsh) | |
1349 | end),prt) | |
1350 | --[[coroutine.resume(coroutine.create(function(Part,Mesh) | |
1351 | for i=0,1,0.1 do | |
1352 | wait() | |
1353 | Part.CFrame=Part.CFrame | |
1354 | Part.Transparency=i | |
1355 | Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) | |
1356 | end | |
1357 | Part.Parent=nil | |
1358 | end),prt,msh)]] | |
1359 | end | |
1360 | ||
1361 | range=300 | |
1362 | rangepower=5 | |
1363 | function shoottrail(baseprt,spread) | |
1364 | so("http://www.roblox.com/asset/?id=2767090",baseprt,2,1) | |
1365 | coroutine.resume(coroutine.create(function(v) | |
1366 | local spreadvector = (vt(math.random(-spread,spread),math.random(-spread,spread),math.random(-spread,spread)) / 100) * (baseprt.Position).magnitude/100 | |
1367 | local dir = aprt11.CFrame.lookVector+spreadvector | |
1368 | local hit,pos = rayCast(baseprt.Position,dir,10,workspace) | |
1369 | local rangepos = range | |
1370 | local function drawtrail(From,To) | |
1371 | local effectsmsh = Instance.new("CylinderMesh") | |
1372 | effectsmsh.Scale = Vector3.new(1,1,1) | |
1373 | effectsmsh.Name = "Mesh" | |
1374 | local effectsg = Instance.new("Part") | |
1375 | effectsg.Transparency = 1 | |
1376 | effectsg.formFactor = 3 | |
1377 | effectsg.CanCollide = false | |
1378 | effectsg.Name = "Eff" | |
1379 | effectsg.Locked = true | |
1380 | effectsg.Anchored = true | |
1381 | effectsg.Size = Vector3.new(0.2,0.2,0.2) | |
1382 | effectsg.Parent = Avatar | |
1383 | effectsmsh.Parent = effectsg | |
1384 | game:GetService("Debris"):AddItem(effectsg,0.2) | |
1385 | local LP = From | |
1386 | local point1 = To | |
1387 | local mg = (LP - point1).magnitude | |
1388 | effectsg.CFrame = CFrame.new((LP+point1)/2,point1) * CFrame.Angles(math.rad(90),0,0) | |
1389 | local prt=part(3,Avatar,0,0,BrickColor.new("Black"),"Effect",vt(0.5,0.5,0.5)) | |
1390 | prt.Anchored=true | |
1391 | prt.CFrame=effectsg.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1392 | local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(2,2,2)) | |
1393 | game:GetService("Debris"):AddItem(prt,2) | |
1394 | coroutine.resume(coroutine.create(function(Part,Mesh) | |
1395 | for i=0,1,0.1 do | |
1396 | wait() | |
1397 | Part.CFrame=Part.CFrame | |
1398 | Part.Transparency=i | |
1399 | Mesh.Scale=Mesh.Scale+vt(-0.5,-0.5,-0.5) | |
1400 | end | |
1401 | Part.Parent=nil | |
1402 | end),prt,msh) | |
1403 | end | |
1404 | local newpos = baseprt.Position | |
1405 | local inc = rangepower | |
1406 | repeat | |
1407 | wait() wait() | |
1408 | rangepos = rangepos - 10 | |
1409 | dir = dir | |
1410 | hit,pos = rayCast(newpos,dir,inc,Avatar) | |
1411 | drawtrail(newpos,pos) | |
1412 | newpos = newpos + (dir * inc) | |
1413 | if inc >= 20 then | |
1414 | inc = inc - 10 | |
1415 | end | |
1416 | if hit ~= nil then | |
1417 | rangepos = 0 | |
1418 | end | |
1419 | until rangepos <= 0 | |
1420 | if hit ~= nil then | |
1421 | MagicCircle(BrickColor.new("Black"),CFrame.new(pos),1,1,1,0.5,0.5,0.5,0.05) | |
1422 | if hit.Parent:FindFirstChild("Humanoid") ~= nil then | |
1423 | hum = hit.Parent.Humanoid | |
1424 | tTorso=hit.Parent.Torso | |
1425 | Damagefunc(hit,10,20,math.random(50,80),"Snare",aprt1) | |
1426 | so("http://www.roblox.com/asset/?id=4678959",hit.Parent.Torso,2,1) | |
1427 | --ADmg(hum,hit) | |
1428 | elseif hit.Parent.Parent ~= nil and hit.Parent.Parent:FindFirstChild("Humanoid") ~= nil then | |
1429 | hum = hit.Parent.Parent.Humanoid | |
1430 | tTorso=hit.Parent.Parent.Torso | |
1431 | Damagefunc(hit.Parent,10,20,math.random(50,80),"Snare",aprt1) | |
1432 | so("http://www.roblox.com/asset/?id=4678959",hit.Parent.Parent.Torso,2,1) | |
1433 | --ADmg(hum,hit) | |
1434 | end | |
1435 | end | |
1436 | end)) | |
1437 | end | |
1438 | ||
1439 | so = function(id,par,vol,pit) | |
1440 | coroutine.resume(coroutine.create(function() | |
1441 | local sou = Instance.new("Sound",par or workspace) | |
1442 | sou.Volume=vol | |
1443 | sou.Pitch=pit or 1 | |
1444 | sou.SoundId=id | |
1445 | wait() | |
1446 | sou:play() | |
1447 | game:GetService("Debris"):AddItem(sou,6) | |
1448 | end)) | |
1449 | end | |
1450 | ||
1451 | function findNearestTorso(pos) | |
1452 | local list = game:service("Workspace"):children() | |
1453 | local torso = nil | |
1454 | local dist = 50 | |
1455 | local temp = nil | |
1456 | local human = nil | |
1457 | local temp2 = nil | |
1458 | for x = 1, #list do | |
1459 | temp2 = list[x] | |
1460 | if (temp2.className == "Model") and (temp2 ~= Character) and (temp2.Name ~= "Fenrier") then | |
1461 | temp = temp2:findFirstChild("Torso") | |
1462 | human = temp2:findFirstChild("Humanoid") | |
1463 | if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then | |
1464 | if (temp.Position - pos).magnitude < dist then | |
1465 | torso = temp | |
1466 | dist = (temp.Position - pos).magnitude | |
1467 | end | |
1468 | end | |
1469 | end | |
1470 | end | |
1471 | return torso | |
1472 | end | |
1473 | ||
1474 | Damagefunc=function(hit,minim,maxim,knockback,Type,Property) | |
1475 | if hit.Parent==nil then | |
1476 | return | |
1477 | end | |
1478 | CPlayer=Bin | |
1479 | h=hit.Parent:FindFirstChild("Humanoid") | |
1480 | for _,v in pairs(hit.Parent:children()) do | |
1481 | if v:IsA("Humanoid") then | |
1482 | h=v | |
1483 | end | |
1484 | end | |
1485 | if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then | |
1486 | if attackdebounce == false then | |
1487 | attackdebounce = true | |
1488 | coroutine.resume(coroutine.create(function() | |
1489 | wait(0.2) | |
1490 | attackdebounce = false | |
1491 | end)) | |
1492 | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then | |
1493 | return | |
1494 | end]] | |
1495 | -- hs(hit,1.2) | |
1496 | c=Instance.new("ObjectValue") | |
1497 | c.Name="creator" | |
1498 | c.Value=game:service("Players").LocalPlayer | |
1499 | c.Parent=h | |
1500 | game:GetService("Debris"):AddItem(c,.5) | |
1501 | Damage=math.random(minim,maxim) | |
1502 | -- h:TakeDamage(Damage) | |
1503 | blocked=false | |
1504 | block=hit.Parent:findFirstChild("Block") | |
1505 | if block~=nil then | |
1506 | print("herp") | |
1507 | if block.Value>0 then | |
1508 | blocked=true | |
1509 | block.Value=block.Value-1 | |
1510 | print(block.Value) | |
1511 | end | |
1512 | end | |
1513 | if blocked==false then | |
1514 | -- h:TakeDamage(Damage) | |
1515 | h.Health=h.Health-Damage | |
1516 | showDamage(hit.Parent,Damage,.5,BrickColor:Red()) | |
1517 | else | |
1518 | h.Health=h.Health-(Damage/2) | |
1519 | showDamage(hit.Parent,Damage/2,.5,BrickColor.new("Bright blue")) | |
1520 | end | |
1521 | if Type=="Knockdown" then | |
1522 | hum=hit.Parent.Humanoid | |
1523 | hum.PlatformStand=true | |
1524 | coroutine.resume(coroutine.create(function(HHumanoid) | |
1525 | wait(1) | |
1526 | HHumanoid.PlatformStand=false | |
1527 | end),hum) | |
1528 | local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit | |
1529 | print(angle) | |
1530 | --hit.CFrame=CFrame.new(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0) | |
1531 | local bodvol=Instance.new("BodyVelocity") | |
1532 | bodvol.velocity=angle*knockback | |
1533 | bodvol.P=5000 | |
1534 | bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) | |
1535 | bodvol.Parent=hit | |
1536 | rl=Instance.new("BodyAngularVelocity") | |
1537 | rl.P=3000 | |
1538 | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 | |
1539 | rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)) | |
1540 | rl.Parent=hit | |
1541 | game:GetService("Debris"):AddItem(bodvol,.5) | |
1542 | game:GetService("Debris"):AddItem(rl,.5) | |
1543 | elseif Type=="Normal" then | |
1544 | vp=Instance.new("BodyVelocity") | |
1545 | vp.P=500 | |
1546 | vp.maxForce=Vector3.new(math.huge,0,math.huge) | |
1547 | -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback | |
1548 | vp.velocity=RootPart.CFrame.lookVector*knockback+RootPart.Velocity/1.05 | |
1549 | if knockback>0 then | |
1550 | vp.Parent=hit.Parent.Torso | |
1551 | end | |
1552 | game:GetService("Debris"):AddItem(vp,.5) | |
1553 | elseif Type=="Up" then | |
1554 | local bodyVelocity=Instance.new("BodyVelocity") | |
1555 | bodyVelocity.velocity=vt(0,40,0) | |
1556 | bodyVelocity.P=5000 | |
1557 | bodyVelocity.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) | |
1558 | bodyVelocity.Parent=hit | |
1559 | game:GetService("Debris"):AddItem(bodyVelocity,.5) | |
1560 | coroutine.resume(coroutine.create(function(HitPers) | |
1561 | wait(0.2) | |
1562 | rl=Instance.new("BodyAngularVelocity") | |
1563 | rl.P=3000 | |
1564 | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 | |
1565 | rl.angularvelocity=Vector3.new(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
1566 | rl.Parent=HitPers | |
1567 | game:GetService("Debris"):AddItem(rl,.5) | |
1568 | end),hit) | |
1569 | elseif Type=="Snare" then | |
1570 | bp=Instance.new("BodyPosition") | |
1571 | bp.P=2000 | |
1572 | bp.D=100 | |
1573 | bp.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
1574 | bp.position=hit.Parent.Torso.Position | |
1575 | bp.Parent=hit.Parent.Torso | |
1576 | coroutine.resume(coroutine.create(function(Part,BodPoss) | |
1577 | while BodPoss.Parent~=nil do | |
1578 | wait(0.1) | |
1579 | MagicBlock(BrickColor.new("Black"),Part.CFrame,3,3,3,-0.2,-0.2,-0.2) | |
1580 | end | |
1581 | end),hit.Parent.Torso,bp) | |
1582 | game:GetService("Debris"):AddItem(bp,2) | |
1583 | elseif Type=="LifeSteal" then | |
1584 | cancombo=true | |
1585 | if lifestolen==false then | |
1586 | lifestolen=true | |
1587 | LifeStolenTorso=hit.Parent.Torso | |
1588 | for i=1,5 do | |
1589 | LifeStealEffect(BrickColor.new("Bright red"),hit.Parent.Torso.CFrame,1,1,1) | |
1590 | end | |
1591 | coroutine.resume(coroutine.create(function(Dam) | |
1592 | wait(1.5) | |
1593 | Heal=Dam | |
1594 | Humanoid.Health=Humanoid.Health+Heal | |
1595 | showDamage(Torso.Parent,Heal,.5,BrickColor.new("Medium green")) | |
1596 | end),Damage) | |
1597 | end | |
1598 | end | |
1599 | c=Instance.new("ObjectValue") | |
1600 | c.Name="creator" | |
1601 | c.Value=Player | |
1602 | c.Parent=h | |
1603 | game:GetService("Debris"):AddItem(c,.5) | |
1604 | CRIT=false | |
1605 | hitDeb=true | |
1606 | AttackPos=6 | |
1607 | end | |
1608 | end | |
1609 | end | |
1610 | ||
1611 | showDamage=function(Char,Dealt,du,Color) | |
1612 | m=Instance.new("Model") | |
1613 | m.Name=tostring(Dealt) | |
1614 | h=Instance.new("Humanoid") | |
1615 | h.Health=0 | |
1616 | h.MaxHealth=0 | |
1617 | h.Parent=m | |
1618 | c=Instance.new("Part") | |
1619 | c.Transparency=0 | |
1620 | c.BrickColor=Color | |
1621 | c.Name="Head" | |
1622 | c.TopSurface=0 | |
1623 | c.BottomSurface=0 | |
1624 | c.formFactor="Plate" | |
1625 | c.Size=Vector3.new(1,.4,1) | |
1626 | ms=Instance.new("CylinderMesh") | |
1627 | ms.Scale=Vector3.new(.8,.8,.8) | |
1628 | if CRIT==true then | |
1629 | ms.Scale=Vector3.new(1,1.25,1) | |
1630 | end | |
1631 | ms.Parent=c | |
1632 | c.Reflectance=0 | |
1633 | Instance.new("BodyGyro").Parent=c | |
1634 | c.Parent=m | |
1635 | c.CFrame=CFrame.new(Char["Head"].CFrame.p+Vector3.new(0,1.5,0)) | |
1636 | f=Instance.new("BodyPosition") | |
1637 | f.P=2000 | |
1638 | f.D=100 | |
1639 | f.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
1640 | f.position=c.Position+Vector3.new(0,3,0) | |
1641 | f.Parent=c | |
1642 | game:GetService("Debris"):AddItem(m,.5+du) | |
1643 | c.CanCollide=false | |
1644 | m.Parent=workspace | |
1645 | c.CanCollide=false | |
1646 | end | |
1647 | ||
1648 | combo=0 | |
1649 | eul=0 | |
1650 | game:GetService("RunService").Stepped:connect(function() | |
1651 | ||
1652 | function ob1d(mouse) | |
1653 | if cancombo==true then | |
1654 | cancombo=false | |
1655 | combomove=true | |
1656 | if combotype=="LifeSteal" then | |
1657 | LifeStealCombo() | |
1658 | elseif combotype=="Raise" then | |
1659 | RaiseCombo() | |
1660 | end | |
1661 | return end | |
1662 | if attack==true then return end | |
1663 | hold=true | |
1664 | if combo==0 then | |
1665 | combo=1 | |
1666 | attackone() | |
1667 | elseif combo==1 then | |
1668 | combo=2 | |
1669 | attacktwo() | |
1670 | elseif combo==2 then | |
1671 | combo=3 | |
1672 | attackthree() | |
1673 | elseif combo==3 then | |
1674 | combo=0 | |
1675 | end | |
1676 | coroutine.resume(coroutine.create(function() | |
1677 | wait(1) | |
1678 | if attack==false then | |
1679 | combo=0 | |
1680 | RootJoint.C0=RootCF | |
1681 | Torso.Neck.C0=necko*euler(0.2,0,0) | |
1682 | LW.C0=cf(-1.5,0.5,0)*euler(0,1.57,-0.2) | |
1683 | LW.C1=cf(0,0.5,0)*euler(-0.2,0,0) | |
1684 | RW.C0=cf(1.5,0.5,0)*euler(0,-1.57,0.2) | |
1685 | RW.C1=cf(0,0.5,0)*euler(-0.2,0,0) | |
1686 | end | |
1687 | end)) | |
1688 | end | |
1689 | ||
1690 | function ob1u(mouse) | |
1691 | hold = false | |
1692 | end | |
1693 | ||
1694 | buttonhold = false | |
1695 | ||
1696 | function key(key) | |
1697 | if shadowattack==false then | |
1698 | if key=="z" then | |
1699 | ShadowSlash() | |
1700 | end | |
1701 | if key=="x" then | |
1702 | ShadowShoot() | |
1703 | end | |
1704 | if key=="c" then | |
1705 | ShadowDash() | |
1706 | end | |
1707 | if key=="v" then | |
1708 | ShadowExplode() | |
1709 | --ShadowWave() | |
1710 | end | |
1711 | end | |
1712 | if attack==true then return end | |
1713 | if key=="g" then | |
1714 | combotype="LifeSteal" | |
1715 | LifeSteal() | |
1716 | combotype="None" | |
1717 | end | |
1718 | if key=="h" then | |
1719 | combotype="Raise" | |
1720 | Raise() | |
1721 | combotype="None" | |
1722 | end | |
1723 | --[[if key=="q" then | |
1724 | ChangeAvatarMode("Follow") | |
1725 | end | |
1726 | if key=="e" then | |
1727 | ChangeAvatarMode("Stay") | |
1728 | end | |
1729 | if key=="r" then | |
1730 | if MMouse.Target~=nil and MMouse.Target.Parent:findFirstChild("Humanoid")~=nil and MMouse.Target.Parent:findFirstChild("Torso")~=nil then | |
1731 | TargetTorso=MMouse.Target.Parent.Torso | |
1732 | ChangeAvatarMode("Aim") | |
1733 | end | |
1734 | end]] | |
1735 | end | |
1736 | end) | |
1737 | ||
1738 | function key2(key) | |
1739 | ||
1740 | end | |
1741 | ||
1742 | function s(mouse) | |
1743 | mouse.Button1Down:connect(function() ob1d(mouse) end) | |
1744 | mouse.Button1Up:connect(function() ob1u(mouse) end) | |
1745 | mouse.KeyDown:connect(key) | |
1746 | mouse.KeyUp:connect(key2) | |
1747 | unsheathed = true | |
1748 | player = Player | |
1749 | ch = Character | |
1750 | MMouse = mouse | |
1751 | RSH = ch.Torso["Right Shoulder"] | |
1752 | LSH = ch.Torso["Left Shoulder"] | |
1753 | -- | |
1754 | RSH.Parent = nil | |
1755 | LSH.Parent = nil | |
1756 | -- | |
1757 | RW.Part0 = ch.Torso | |
1758 | RW.C0 = CFrame.new(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5) | |
1759 | RW.C1 = CFrame.new(0, 0.5, 0) | |
1760 | RW.Part1 = ch["Right Arm"] | |
1761 | RW.Parent = ch.Torso | |
1762 | --_G.R = RW | |
1763 | -- | |
1764 | LW.Part0 = ch.Torso | |
1765 | LW.C0 = CFrame.new(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8) | |
1766 | LW.C1 = CFrame.new(0, 0.5, 0) | |
1767 | LW.Part1 = ch["Left Arm"] | |
1768 | LW.Parent = ch.Torso | |
1769 | --_G.L = LW | |
1770 | -- | |
1771 | equipanim() | |
1772 | end | |
1773 | ||
1774 | function ds(mouse) | |
1775 | hideanim() | |
1776 | wait(0) | |
1777 | RW.Parent = nil | |
1778 | LW.Parent = nil | |
1779 | RSH.Parent = player.Character.Torso | |
1780 | LSH.Parent = player.Character.Torso | |
1781 | end | |
1782 | ||
1783 | Bin.Selected:connect(s) | |
1784 | Bin.Deselected:connect(ds) | |
1785 | print("Warden Claws loaded.") | |
1786 | ||
1787 | --[[ | |
1788 | Copyrighted (C) Fenrier 2014 | |
1789 | ]] |