SHOW:
|
|
- or go back to the newest paste.
1 | - | local name = "memberhero" |
1 | + | --usage |
2 | - | local me = game.Players.memberhero |
2 | + | |
3 | local FEService = loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/WhyGitHubb/FEService/main/main.lua"))() | |
4 | ||
5 | ||
6 | FEService:FullNetwork() | |
7 | ||
8 | print(game.Players.LocalPlayer.SimulationRadius) | |
9 | --reanimate by MyWorld#4430 discord.gg/pYVHtSJmEY | |
10 | local v3_net, v3_808 = Vector3.new(5000, 25.1, 0), Vector3.new(8, 0, 8) | |
11 | local function getNetlessVelocity(realPartVelocity) | |
12 | local mag = realPartVelocity.Magnitude | |
13 | if mag > 1 then | |
14 | local unit = realPartVelocity.Unit | |
15 | if (unit.Y > 0.25) or (unit.Y < -0.75) then | |
16 | return unit * (25.1 / unit.Y) | |
17 | end | |
18 | end | |
19 | return v3_net + realPartVelocity * v3_808 | |
20 | end | |
21 | local simradius = "shp" --simulation radius (net bypass) method | |
22 | --"shp" - sethiddenproperty | |
23 | --"ssr" - setsimulationradius | |
24 | --false - disable | |
25 | local simrad = 1000 --simulation radius value | |
26 | local healthHide = true --moves your head away every 3 seconds so players dont see your health bar (alignmode 4 only) | |
27 | local reclaim = true --if you lost control over a part this will move your primary part to the part so you get it back (alignmode 4) | |
28 | local novoid = true --prevents parts from going under workspace.FallenPartsDestroyHeight if you control them (alignmode 4 only) | |
29 | local physp = nil --PhysicalProperties.new(0.01, 0, 1, 0, 0) --sets .CustomPhysicalProperties to this for each part | |
30 | local noclipAllParts = false --set it to true if you want noclip | |
31 | local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character | |
32 | local newanimate = true --disables the animate script and enables after reanimation | |
33 | local discharscripts = true --disables all localScripts parented to your character before reanimation | |
34 | local R15toR6 = true --tries to convert your character to r6 if its r15 | |
35 | local hatcollide = false --makes hats cancollide (credit to ShownApe) (works only with reanimate method 0) | |
36 | local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState) | |
37 | local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation | |
38 | local hedafterneck = true --disable aligns for head and enable after neck or torso is removed | |
39 | local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay | |
40 | local method = 3 --reanimation method | |
41 | --methods: | |
42 | --0 - breakJoints (takes [loadtime] seconds to load) | |
43 | --1 - limbs | |
44 | --2 - limbs + anti respawn | |
45 | --3 - limbs + breakJoints after [loadtime] seconds | |
46 | --4 - remove humanoid + breakJoints | |
47 | --5 - remove humanoid + limbst | |
48 | local alignmode = 3 --AlignPosition mode | |
49 | --modes: | |
50 | --1 - AlignPosition rigidity enabled true | |
51 | --2 - 2 AlignPositions rigidity enabled both true and false | |
52 | --3 - AlignPosition rigidity enabled false | |
53 | --4 - CFrame | |
54 | local flingpart = "HumanoidRootPart" --name of the part or the hat used for flinging | |
55 | --the fling function | |
56 | --usage: fling(target, duration, velocity) | |
57 | --target can be set to: basePart, CFrame, Vector3, character model or humanoid (flings at mouse.Hit if argument not provided)) | |
58 | --duration (fling time in seconds) can be set to a number or a string convertable to the number (0.5s if not provided), | |
59 | --velocity (fling part rotation velocity) can be set to a vector3 value (Vector3.new(20000, 20000, 20000) if not provided) | |
60 | ||
61 | local lp = game:GetService("Players").LocalPlayer | |
62 | local rs, ws, sg = game:GetService("RunService"), game:GetService("Workspace"), game:GetService("StarterGui") | |
63 | local stepped, heartbeat, renderstepped = rs.Stepped, rs.Heartbeat, rs.RenderStepped | |
64 | local twait, tdelay, rad, inf, abs, clamp = task.wait, task.delay, math.rad, math.huge, math.abs, math.clamp | |
65 | local cf, v3 = CFrame.new, Vector3.new | |
66 | local angles = CFrame.Angles | |
67 | local v3_0, cf_0 = v3(0, 0, 0), cf(0, 0, 0) | |
68 | ||
69 | local c = lp.Character | |
70 | if not (c and c.Parent) then | |
71 | return | |
72 | end | |
73 | ||
74 | c:GetPropertyChangedSignal("Parent"):Connect(function() | |
75 | if not (c and c.Parent) then | |
76 | c = nil | |
77 | end | |
78 | end) | |
79 | ||
80 | local clone, destroy, getchildren, getdescendants, isa = c.Clone, c.Destroy, c.GetChildren, c.GetDescendants, c.IsA | |
81 | ||
82 | local function gp(parent, name, className) | |
83 | if typeof(parent) == "Instance" then | |
84 | for i, v in pairs(getchildren(parent)) do | |
85 | if (v.Name == name) and isa(v, className) then | |
86 | return v | |
87 | end | |
88 | end | |
89 | end | |
90 | return nil | |
91 | end | |
92 | ||
93 | local fenv = getfenv() | |
94 | ||
95 | local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop | |
96 | local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.setsimrad or fenv.set_sim_rad | |
97 | ||
98 | healthHide = healthHide and ((method == 0) or (method == 3)) and gp(c, "Head", "BasePart") | |
99 | ||
100 | local reclaim, lostpart = reclaim and c.PrimaryPart, nil | |
101 | ||
102 | local function align(Part0, Part1) | |
103 | ||
104 | local att0 = Instance.new("Attachment") | |
105 | att0.Position, att0.Orientation, att0.Name = v3_0, v3_0, "att0_" .. Part0.Name | |
106 | local att1 = Instance.new("Attachment") | |
107 | att1.Position, att1.Orientation, att1.Name = v3_0, v3_0, "att1_" .. Part1.Name | |
108 | ||
109 | if alignmode == 4 then | |
110 | ||
111 | local hide = false | |
112 | if Part0 == healthHide then | |
113 | healthHide = false | |
114 | tdelay(0, function() | |
115 | while twait(2.9) and Part0 and c do | |
116 | hide = #Part0:GetConnectedParts() == 1 | |
117 | twait(0.1) | |
118 | hide = false | |
119 | end | |
120 | end) | |
121 | end | |
122 | ||
123 | local rot = rad(0.05) | |
124 | local con0, con1 = nil, nil | |
125 | con0 = stepped:Connect(function() | |
126 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
127 | Part0.RotVelocity = Part1.RotVelocity | |
128 | end) | |
129 | local lastpos = Part0.Position | |
130 | con1 = heartbeat:Connect(function(delta) | |
131 | if not (Part0 and Part1 and att1) then return con0:Disconnect() and con1:Disconnect() end | |
132 | if (not Part0.Anchored) and (Part0.ReceiveAge == 0) then | |
133 | if lostpart == Part0 then | |
134 | lostpart = nil | |
135 | end | |
136 | rot = -rot | |
137 | local newcf = Part1.CFrame * att1.CFrame * angles(0, 0, rot) | |
138 | if Part1.Velocity.Magnitude > 0.01 then | |
139 | Part0.Velocity = getNetlessVelocity(Part1.Velocity) | |
140 | else | |
141 | Part0.Velocity = getNetlessVelocity((newcf.Position - lastpos) / delta) | |
142 | end | |
143 | lastpos = newcf.Position | |
144 | if lostpart and (Part0 == reclaim) then | |
145 | newcf = lostpart.CFrame | |
146 | elseif hide then | |
147 | newcf += v3(0, 3000, 0) | |
148 | end | |
149 | if novoid and (newcf.Y < ws.FallenPartsDestroyHeight + 0.1) then | |
150 | newcf += v3(0, ws.FallenPartsDestroyHeight + 0.1 - newcf.Y, 0) | |
151 | end | |
152 | Part0.CFrame = newcf | |
153 | elseif (not Part0.Anchored) and (abs(Part0.Velocity.X) < 45) and (abs(Part0.Velocity.Y) < 25) and (abs(Part0.Velocity.Z) < 45) then | |
154 | lostpart = Part0 | |
155 | end | |
156 | end) | |
157 | ||
158 | else | |
159 | ||
160 | Part0.CustomPhysicalProperties = physp | |
161 | if (alignmode == 1) or (alignmode == 2) then | |
162 | local ape = Instance.new("AlignPosition") | |
163 | ape.MaxForce, ape.MaxVelocity, ape.Responsiveness = inf, inf, inf | |
164 | ape.ReactionForceEnabled, ape.RigidityEnabled, ape.ApplyAtCenterOfMass = false, true, false | |
165 | ape.Attachment0, ape.Attachment1, ape.Name = att0, att1, "AlignPositionRtrue" | |
166 | ape.Parent = att0 | |
167 | end | |
168 | ||
169 | if (alignmode == 2) or (alignmode == 3) then | |
170 | local apd = Instance.new("AlignPosition") | |
171 | apd.MaxForce, apd.MaxVelocity, apd.Responsiveness = inf, inf, inf | |
172 | apd.ReactionForceEnabled, apd.RigidityEnabled, apd.ApplyAtCenterOfMass = false, false, false | |
173 | apd.Attachment0, apd.Attachment1, apd.Name = att0, att1, "AlignPositionRfalse" | |
174 | apd.Parent = att0 | |
175 | end | |
176 | ||
177 | local ao = Instance.new("AlignOrientation") | |
178 | ao.MaxAngularVelocity, ao.MaxTorque, ao.Responsiveness = inf, inf, inf | |
179 | ao.PrimaryAxisOnly, ao.ReactionTorqueEnabled, ao.RigidityEnabled = false, false, false | |
180 | ao.Attachment0, ao.Attachment1 = att0, att1 | |
181 | ao.Parent = att0 | |
182 | ||
183 | local con0, con1 = nil, nil | |
184 | local vel = Part0.Velocity | |
185 | con0 = renderstepped:Connect(function() | |
186 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
187 | Part0.Velocity = vel | |
188 | end) | |
189 | local lastpos = Part0.Position | |
190 | con1 = heartbeat:Connect(function(delta) | |
191 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
192 | vel = Part0.Velocity | |
193 | if Part1.Velocity.Magnitude > 0.01 then | |
194 | Part0.Velocity = getNetlessVelocity(Part1.Velocity) | |
195 | else | |
196 | Part0.Velocity = getNetlessVelocity((Part0.Position - lastpos) / delta) | |
197 | end | |
198 | lastpos = Part0.Position | |
199 | end) | |
200 | ||
201 | end | |
202 | ||
203 | att0:GetPropertyChangedSignal("Parent"):Connect(function() | |
204 | Part0 = att0.Parent | |
205 | if not isa(Part0, "BasePart") then | |
206 | att0 = nil | |
207 | if lostpart == Part0 then | |
208 | lostpart = nil | |
209 | end | |
210 | Part0 = nil | |
211 | end | |
212 | end) | |
213 | att0.Parent = Part0 | |
214 | ||
215 | att1:GetPropertyChangedSignal("Parent"):Connect(function() | |
216 | Part1 = att1.Parent | |
217 | if not isa(Part1, "BasePart") then | |
218 | att1 = nil | |
219 | Part1 = nil | |
220 | end | |
221 | end) | |
222 | att1.Parent = Part1 | |
223 | end | |
224 | ||
225 | local function respawnrequest() | |
226 | local ccfr, c = ws.CurrentCamera.CFrame, lp.Character | |
227 | lp.Character = nil | |
228 | lp.Character = c | |
229 | local con = nil | |
230 | con = ws.CurrentCamera.Changed:Connect(function(prop) | |
231 | if (prop ~= "Parent") and (prop ~= "CFrame") then | |
232 | return | |
233 | end | |
234 | ws.CurrentCamera.CFrame = ccfr | |
235 | con:Disconnect() | |
236 | end) | |
237 | end | |
238 | ||
239 | local destroyhum = (method == 4) or (method == 5) | |
240 | local breakjoints = (method == 0) or (method == 4) | |
241 | local antirespawn = (method == 0) or (method == 2) or (method == 3) | |
242 | ||
243 | hatcollide = hatcollide and (method == 0) | |
244 | ||
245 | addtools = addtools and lp:FindFirstChildOfClass("Backpack") | |
246 | ||
247 | if type(simrad) ~= "number" then simrad = 1000 end | |
248 | if shp and (simradius == "shp") then | |
249 | tdelay(0, function() | |
250 | while c do | |
251 | shp(lp, "SimulationRadius", simrad) | |
252 | heartbeat:Wait() | |
253 | end | |
254 | end) | |
255 | elseif ssr and (simradius == "ssr") then | |
256 | tdelay(0, function() | |
257 | while c do | |
258 | ssr(simrad) | |
259 | heartbeat:Wait() | |
260 | end | |
261 | end) | |
262 | end | |
263 | ||
264 | if antiragdoll then | |
265 | antiragdoll = function(v) | |
266 | if isa(v, "HingeConstraint") or isa(v, "BallSocketConstraint") then | |
267 | v.Parent = nil | |
268 | end | |
269 | end | |
270 | for i, v in pairs(getdescendants(c)) do | |
271 | antiragdoll(v) | |
272 | end | |
273 | c.DescendantAdded:Connect(antiragdoll) | |
274 | end | |
275 | ||
276 | if antirespawn then | |
277 | respawnrequest() | |
278 | end | |
279 | ||
280 | if method == 0 then | |
281 | twait(loadtime) | |
282 | if not c then | |
283 | return | |
284 | end | |
285 | end | |
286 | ||
287 | if discharscripts then | |
288 | for i, v in pairs(getdescendants(c)) do | |
289 | if isa(v, "LocalScript") then | |
290 | v.Disabled = true | |
291 | end | |
292 | end | |
293 | elseif newanimate then | |
294 | local animate = gp(c, "Animate", "LocalScript") | |
295 | if animate and (not animate.Disabled) then | |
296 | animate.Disabled = true | |
297 | else | |
298 | newanimate = false | |
299 | end | |
300 | end | |
301 | ||
302 | if addtools then | |
303 | for i, v in pairs(getchildren(addtools)) do | |
304 | if isa(v, "Tool") then | |
305 | v.Parent = c | |
306 | end | |
307 | end | |
308 | end | |
309 | ||
310 | pcall(function() | |
311 | settings().Physics.AllowSleep = false | |
312 | settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled | |
313 | end) | |
314 | ||
315 | local OLDscripts = {} | |
316 | ||
317 | for i, v in pairs(getdescendants(c)) do | |
318 | if v.ClassName == "Script" then | |
319 | OLDscripts[v.Name] = true | |
320 | end | |
321 | end | |
322 | ||
323 | local scriptNames = {} | |
324 | ||
325 | for i, v in pairs(getdescendants(c)) do | |
326 | if isa(v, "BasePart") then | |
327 | local newName, exists = tostring(i), true | |
328 | while exists do | |
329 | exists = OLDscripts[newName] | |
330 | if exists then | |
331 | newName = newName .. "_" | |
332 | end | |
333 | end | |
334 | table.insert(scriptNames, newName) | |
335 | Instance.new("Script", v).Name = newName | |
336 | end | |
337 | end | |
338 | ||
339 | local hum = c:FindFirstChildOfClass("Humanoid") | |
340 | if hum then | |
341 | for i, v in pairs(hum:GetPlayingAnimationTracks()) do | |
342 | v:Stop() | |
343 | end | |
344 | end | |
345 | c.Archivable = true | |
346 | local cl = clone(c) | |
347 | if hum and humState16 then | |
348 | hum:ChangeState(Enum.HumanoidStateType.Physics) | |
349 | if destroyhum then | |
350 | twait(1.6) | |
351 | end | |
352 | end | |
353 | if destroyhum then | |
354 | pcall(destroy, hum) | |
355 | end | |
356 | ||
357 | if not c then | |
358 | return | |
359 | end | |
360 | ||
361 | local head, torso, root = gp(c, "Head", "BasePart"), gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart"), gp(c, "HumanoidRootPart", "BasePart") | |
362 | if hatcollide then | |
363 | pcall(destroy, torso) | |
364 | pcall(destroy, root) | |
365 | pcall(destroy, c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script")) | |
366 | end | |
367 | ||
368 | local model = Instance.new("Model", c) | |
369 | model:GetPropertyChangedSignal("Parent"):Connect(function() | |
370 | if not (model and model.Parent) then | |
371 | model = nil | |
372 | end | |
373 | end) | |
374 | ||
375 | for i, v in pairs(getchildren(c)) do | |
376 | if v ~= model then | |
377 | if addtools and isa(v, "Tool") then | |
378 | for i1, v1 in pairs(getdescendants(v)) do | |
379 | if v1 and v1.Parent and isa(v1, "BasePart") then | |
380 | local bv = Instance.new("BodyVelocity") | |
381 | bv.Velocity, bv.MaxForce, bv.P, bv.Name = v3_0, v3(1000, 1000, 1000), 1250, "bv_" .. v.Name | |
382 | bv.Parent = v1 | |
383 | end | |
384 | end | |
385 | end | |
386 | v.Parent = model | |
387 | end | |
388 | end | |
389 | ||
390 | if breakjoints then | |
391 | model:BreakJoints() | |
392 | else | |
393 | if head and torso then | |
394 | for i, v in pairs(getdescendants(model)) do | |
395 | if isa(v, "JointInstance") then | |
396 | local save = false | |
397 | if (v.Part0 == torso) and (v.Part1 == head) then | |
398 | save = true | |
399 | end | |
400 | if (v.Part0 == head) and (v.Part1 == torso) then | |
401 | save = true | |
402 | end | |
403 | if save then | |
404 | if hedafterneck then | |
405 | hedafterneck = v | |
406 | end | |
407 | else | |
408 | pcall(destroy, v) | |
409 | end | |
410 | end | |
411 | end | |
412 | end | |
413 | if method == 3 then | |
414 | task.delay(loadtime, pcall, model.BreakJoints, model) | |
415 | end | |
416 | end | |
417 | ||
418 | cl.Parent = ws | |
419 | for i, v in pairs(getchildren(cl)) do | |
420 | v.Parent = c | |
421 | end | |
422 | pcall(destroy, cl) | |
423 | ||
424 | local uncollide, noclipcon = nil, nil | |
425 | if noclipAllParts then | |
426 | uncollide = function() | |
427 | if c then | |
428 | for i, v in pairs(getdescendants(c)) do | |
429 | if isa(v, "BasePart") then | |
430 | v.CanCollide = false | |
431 | end | |
432 | end | |
433 | else | |
434 | noclipcon:Disconnect() | |
435 | end | |
436 | end | |
437 | else | |
438 | uncollide = function() | |
439 | if model then | |
440 | for i, v in pairs(getdescendants(model)) do | |
441 | if isa(v, "BasePart") then | |
442 | v.CanCollide = false | |
443 | end | |
444 | end | |
445 | else | |
446 | noclipcon:Disconnect() | |
447 | end | |
448 | end | |
449 | end | |
450 | noclipcon = stepped:Connect(uncollide) | |
451 | uncollide() | |
452 | ||
453 | for i, scr in pairs(getdescendants(model)) do | |
454 | if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then | |
455 | local Part0 = scr.Parent | |
456 | if isa(Part0, "BasePart") then | |
457 | for i1, scr1 in pairs(getdescendants(c)) do | |
458 | if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then | |
459 | local Part1 = scr1.Parent | |
460 | if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then | |
461 | align(Part0, Part1) | |
462 | pcall(destroy, scr) | |
463 | pcall(destroy, scr1) | |
464 | break | |
465 | end | |
466 | end | |
467 | end | |
468 | end | |
469 | end | |
470 | end | |
471 | ||
472 | for i, v in pairs(getdescendants(c)) do | |
473 | if v and v.Parent and (not v:IsDescendantOf(model)) then | |
474 | if isa(v, "Decal") then | |
475 | v.Transparency = 1 | |
476 | elseif isa(v, "BasePart") then | |
477 | v.Transparency = 1 | |
478 | v.Anchored = false | |
479 | elseif isa(v, "ForceField") then | |
480 | v.Visible = false | |
481 | elseif isa(v, "Sound") then | |
482 | v.Playing = false | |
483 | elseif isa(v, "BillboardGui") or isa(v, "SurfaceGui") or isa(v, "ParticleEmitter") or isa(v, "Fire") or isa(v, "Smoke") or isa(v, "Sparkles") then | |
484 | v.Enabled = false | |
485 | end | |
486 | end | |
487 | end | |
488 | ||
489 | if newanimate then | |
490 | local animate = gp(c, "Animate", "LocalScript") | |
491 | if animate then | |
492 | animate.Disabled = false | |
493 | end | |
494 | end | |
495 | ||
496 | if addtools then | |
497 | for i, v in pairs(getchildren(c)) do | |
498 | if isa(v, "Tool") then | |
499 | v.Parent = addtools | |
500 | end | |
501 | end | |
502 | end | |
503 | ||
504 | local hum0, hum1 = model:FindFirstChildOfClass("Humanoid"), c:FindFirstChildOfClass("Humanoid") | |
505 | if hum0 then | |
506 | hum0:GetPropertyChangedSignal("Parent"):Connect(function() | |
507 | if not (hum0 and hum0.Parent) then | |
508 | hum0 = nil | |
509 | end | |
510 | end) | |
511 | end | |
512 | if hum1 then | |
513 | hum1:GetPropertyChangedSignal("Parent"):Connect(function() | |
514 | if not (hum1 and hum1.Parent) then | |
515 | hum1 = nil | |
516 | end | |
517 | end) | |
518 | ||
519 | ws.CurrentCamera.CameraSubject = hum1 | |
520 | local camSubCon = nil | |
521 | local function camSubFunc() | |
522 | camSubCon:Disconnect() | |
523 | if c and hum1 then | |
524 | ws.CurrentCamera.CameraSubject = hum1 | |
525 | end | |
526 | end | |
527 | camSubCon = renderstepped:Connect(camSubFunc) | |
528 | if hum0 then | |
529 | hum0:GetPropertyChangedSignal("Jump"):Connect(function() | |
530 | if hum1 then | |
531 | hum1.Jump = hum0.Jump | |
532 | end | |
533 | end) | |
534 | else | |
535 | respawnrequest() | |
536 | end | |
537 | end | |
538 | ||
539 | local rb = Instance.new("BindableEvent", c) | |
540 | rb.Event:Connect(function() | |
541 | pcall(destroy, rb) | |
542 | sg:SetCore("ResetButtonCallback", true) | |
543 | if destroyhum then | |
544 | if c then c:BreakJoints() end | |
545 | return | |
546 | end | |
547 | if model and hum0 and (hum0.Health > 0) then | |
548 | model:BreakJoints() | |
549 | hum0.Health = 0 | |
550 | end | |
551 | if antirespawn then | |
552 | respawnrequest() | |
553 | end | |
554 | end) | |
555 | sg:SetCore("ResetButtonCallback", rb) | |
556 | ||
557 | tdelay(0, function() | |
558 | while c do | |
559 | if hum0 and hum1 then | |
560 | hum1.Jump = hum0.Jump | |
561 | end | |
562 | wait() | |
563 | end | |
564 | sg:SetCore("ResetButtonCallback", true) | |
565 | end) | |
566 | ||
567 | R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15) | |
568 | if R15toR6 then | |
569 | local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "LowerTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
570 | if part then | |
571 | local cfr = part.CFrame | |
572 | local R6parts = { | |
573 | head = { | |
574 | Name = "Head", | |
575 | Size = v3(2, 1, 1), | |
576 | R15 = { | |
577 | Head = 0 | |
578 | } | |
579 | }, | |
580 | torso = { | |
581 | Name = "Torso", | |
582 | Size = v3(2, 2, 1), | |
583 | R15 = { | |
584 | UpperTorso = 0.2, | |
585 | LowerTorso = -0.8 | |
586 | } | |
587 | }, | |
588 | root = { | |
589 | Name = "HumanoidRootPart", | |
590 | Size = v3(2, 2, 1), | |
591 | R15 = { | |
592 | HumanoidRootPart = 0 | |
593 | } | |
594 | }, | |
595 | leftArm = { | |
596 | Name = "Left Arm", | |
597 | Size = v3(1, 2, 1), | |
598 | R15 = { | |
599 | LeftHand = -0.849, | |
600 | LeftLowerArm = -0.174, | |
601 | LeftUpperArm = 0.415 | |
602 | } | |
603 | }, | |
604 | rightArm = { | |
605 | Name = "Right Arm", | |
606 | Size = v3(1, 2, 1), | |
607 | R15 = { | |
608 | RightHand = -0.849, | |
609 | RightLowerArm = -0.174, | |
610 | RightUpperArm = 0.415 | |
611 | } | |
612 | }, | |
613 | leftLeg = { | |
614 | Name = "Left Leg", | |
615 | Size = v3(1, 2, 1), | |
616 | R15 = { | |
617 | LeftFoot = -0.85, | |
618 | LeftLowerLeg = -0.29, | |
619 | LeftUpperLeg = 0.49 | |
620 | } | |
621 | }, | |
622 | rightLeg = { | |
623 | Name = "Right Leg", | |
624 | Size = v3(1, 2, 1), | |
625 | R15 = { | |
626 | RightFoot = -0.85, | |
627 | RightLowerLeg = -0.29, | |
628 | RightUpperLeg = 0.49 | |
629 | } | |
630 | } | |
631 | } | |
632 | for i, v in pairs(getchildren(c)) do | |
633 | if isa(v, "BasePart") then | |
634 | for i1, v1 in pairs(getchildren(v)) do | |
635 | if isa(v1, "Motor6D") then | |
636 | v1.Part0 = nil | |
637 | end | |
638 | end | |
639 | end | |
640 | end | |
641 | part.Archivable = true | |
642 | for i, v in pairs(R6parts) do | |
643 | local part = clone(part) | |
644 | part:ClearAllChildren() | |
645 | part.Name, part.Size, part.CFrame, part.Anchored, part.Transparency, part.CanCollide = v.Name, v.Size, cfr, false, 1, false | |
646 | for i1, v1 in pairs(v.R15) do | |
647 | local R15part = gp(c, i1, "BasePart") | |
648 | local att = gp(R15part, "att1_" .. i1, "Attachment") | |
649 | if R15part then | |
650 | local weld = Instance.new("Weld") | |
651 | weld.Part0, weld.Part1, weld.C0, weld.C1, weld.Name = part, R15part, cf(0, v1, 0), cf_0, "Weld_" .. i1 | |
652 | weld.Parent = R15part | |
653 | R15part.Massless, R15part.Name = true, "R15_" .. i1 | |
654 | R15part.Parent = part | |
655 | if att then | |
656 | att.Position = v3(0, v1, 0) | |
657 | att.Parent = part | |
658 | end | |
659 | end | |
660 | end | |
661 | part.Parent = c | |
662 | R6parts[i] = part | |
663 | end | |
664 | local R6joints = { | |
665 | neck = { | |
666 | Parent = R6parts.torso, | |
667 | Name = "Neck", | |
668 | Part0 = R6parts.torso, | |
669 | Part1 = R6parts.head, | |
670 | C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
671 | C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
672 | }, | |
673 | rootJoint = { | |
674 | Parent = R6parts.root, | |
675 | Name = "RootJoint" , | |
676 | Part0 = R6parts.root, | |
677 | Part1 = R6parts.torso, | |
678 | C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
679 | C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
680 | }, | |
681 | rightShoulder = { | |
682 | Parent = R6parts.torso, | |
683 | Name = "Right Shoulder", | |
684 | Part0 = R6parts.torso, | |
685 | Part1 = R6parts.rightArm, | |
686 | C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
687 | C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
688 | }, | |
689 | leftShoulder = { | |
690 | Parent = R6parts.torso, | |
691 | Name = "Left Shoulder", | |
692 | Part0 = R6parts.torso, | |
693 | Part1 = R6parts.leftArm, | |
694 | C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), | |
695 | C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
696 | }, | |
697 | rightHip = { | |
698 | Parent = R6parts.torso, | |
699 | Name = "Right Hip", | |
700 | Part0 = R6parts.torso, | |
701 | Part1 = R6parts.rightLeg, | |
702 | C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
703 | C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
704 | }, | |
705 | leftHip = { | |
706 | Parent = R6parts.torso, | |
707 | Name = "Left Hip" , | |
708 | Part0 = R6parts.torso, | |
709 | Part1 = R6parts.leftLeg, | |
710 | C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), | |
711 | C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
712 | } | |
713 | } | |
714 | for i, v in pairs(R6joints) do | |
715 | local joint = Instance.new("Motor6D") | |
716 | for prop, val in pairs(v) do | |
717 | joint[prop] = val | |
718 | end | |
719 | R6joints[i] = joint | |
720 | end | |
721 | if hum1 then | |
722 | hum1.RigType, hum1.HipHeight = Enum.HumanoidRigType.R6, 0 | |
723 | end | |
724 | end | |
725 | end | |
726 | ||
727 | local torso1 = torso | |
728 | torso = gp(c, "Torso", "BasePart") or ((not R15toR6) and gp(c, torso.Name, "BasePart")) | |
729 | if (typeof(hedafterneck) == "Instance") and head and torso and torso1 then | |
730 | local conNeck, conTorso, conTorso1 = nil, nil, nil | |
731 | local aligns = {} | |
732 | local function enableAligns() | |
733 | conNeck:Disconnect() | |
734 | conTorso:Disconnect() | |
735 | conTorso1:Disconnect() | |
736 | for i, v in pairs(aligns) do | |
737 | v.Enabled = true | |
738 | end | |
739 | end | |
740 | conNeck = hedafterneck.Changed:Connect(function(prop) | |
741 | if table.find({"Part0", "Part1", "Parent"}, prop) then | |
742 | enableAligns() | |
743 | end | |
744 | end) | |
745 | conTorso = torso:GetPropertyChangedSignal("Parent"):Connect(enableAligns) | |
746 | conTorso1 = torso1:GetPropertyChangedSignal("Parent"):Connect(enableAligns) | |
747 | for i, v in pairs(getdescendants(head)) do | |
748 | if isa(v, "AlignPosition") or isa(v, "AlignOrientation") then | |
749 | i = tostring(i) | |
750 | aligns[i] = v | |
751 | v:GetPropertyChangedSignal("Parent"):Connect(function() | |
752 | aligns[i] = nil | |
753 | end) | |
754 | v.Enabled = false | |
755 | end | |
756 | end | |
757 | end | |
758 | ||
759 | local flingpart0 = gp(model, flingpart, "BasePart") or gp(gp(model, flingpart, "Accessory"), "Handle", "BasePart") | |
760 | local flingpart1 = gp(c, flingpart, "BasePart") or gp(gp(c, flingpart, "Accessory"), "Handle", "BasePart") | |
761 | ||
762 | local fling = function() end | |
763 | if flingpart0 and flingpart1 then | |
764 | flingpart0:GetPropertyChangedSignal("Parent"):Connect(function() | |
765 | if not (flingpart0 and flingpart0.Parent) then | |
766 | flingpart0 = nil | |
767 | fling = function() end | |
768 | end | |
769 | end) | |
770 | flingpart0.Archivable = true | |
771 | flingpart1:GetPropertyChangedSignal("Parent"):Connect(function() | |
772 | if not (flingpart1 and flingpart1.Parent) then | |
773 | flingpart1 = nil | |
774 | fling = function() end | |
775 | end | |
776 | end) | |
777 | local att0 = gp(flingpart0, "att0_" .. flingpart0.Name, "Attachment") | |
778 | local att1 = gp(flingpart1, "att1_" .. flingpart1.Name, "Attachment") | |
779 | if att0 and att1 then | |
780 | att0:GetPropertyChangedSignal("Parent"):Connect(function() | |
781 | if not (att0 and att0.Parent) then | |
782 | att0 = nil | |
783 | fling = function() end | |
784 | end | |
785 | end) | |
786 | att1:GetPropertyChangedSignal("Parent"):Connect(function() | |
787 | if not (att1 and att1.Parent) then | |
788 | att1 = nil | |
789 | fling = function() end | |
790 | end | |
791 | end) | |
792 | local lastfling = nil | |
793 | local mouse = lp:GetMouse() | |
794 | fling = function(target, duration, rotVelocity) | |
795 | if typeof(target) == "Instance" then | |
796 | if isa(target, "BasePart") then | |
797 | target = target.Position | |
798 | elseif isa(target, "Model") then | |
799 | target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart") | |
800 | if target then | |
801 | target = target.Position | |
802 | else | |
803 | return | |
804 | end | |
805 | elseif isa(target, "Humanoid") then | |
806 | target = target.Parent | |
807 | if not (target and isa(target, "Model")) then | |
808 | return | |
809 | end | |
810 | target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart") | |
811 | if target then | |
812 | target = target.Position | |
813 | else | |
814 | return | |
815 | end | |
816 | else | |
817 | return | |
818 | end | |
819 | elseif typeof(target) == "CFrame" then | |
820 | target = target.Position | |
821 | elseif typeof(target) ~= "Vector3" then | |
822 | target = mouse.Hit | |
823 | if target then | |
824 | target = target.Position | |
825 | else | |
826 | return | |
827 | end | |
828 | end | |
829 | if target.Y < ws.FallenPartsDestroyHeight + 5 then | |
830 | target = v3(target.X, ws.FallenPartsDestroyHeight + 5, target.Z) | |
831 | end | |
832 | lastfling = target | |
833 | if type(duration) ~= "number" then | |
834 | duration = tonumber(duration) or 0.5 | |
835 | end | |
836 | if typeof(rotVelocity) ~= "Vector3" then | |
837 | rotVelocity = v3(20000, 20000, 20000) | |
838 | end | |
839 | if not (target and flingpart0 and flingpart1 and att0 and att1) then | |
840 | return | |
841 | end | |
842 | flingpart0.Archivable = true | |
843 | local flingpart = clone(flingpart0) | |
844 | flingpart.Transparency = 1 | |
845 | flingpart.CanCollide = false | |
846 | flingpart.Name = "flingpart_" .. flingpart0.Name | |
847 | flingpart.Anchored = true | |
848 | flingpart.Velocity = v3_0 | |
849 | flingpart.RotVelocity = v3_0 | |
850 | flingpart.Position = target | |
851 | flingpart:GetPropertyChangedSignal("Parent"):Connect(function() | |
852 | if not (flingpart and flingpart.Parent) then | |
853 | flingpart = nil | |
854 | end | |
855 | end) | |
856 | flingpart.Parent = flingpart1 | |
857 | if flingpart0.Transparency > 0.5 then | |
858 | flingpart0.Transparency = 0.5 | |
859 | end | |
860 | att1.Parent = flingpart | |
861 | local con = nil | |
862 | local rotchg = v3(0, rotVelocity.Unit.Y * -1000, 0) | |
863 | con = heartbeat:Connect(function(delta) | |
864 | if target and (lastfling == target) and flingpart and flingpart0 and flingpart1 and att0 and att1 then | |
865 | flingpart.Orientation += rotchg * delta | |
866 | flingpart0.RotVelocity = rotVelocity | |
867 | else | |
868 | con:Disconnect() | |
869 | end | |
870 | end) | |
871 | if alignmode ~= 4 then | |
872 | local con = nil | |
873 | con = renderstepped:Connect(function() | |
874 | if flingpart0 and target then | |
875 | flingpart0.RotVelocity = v3_0 | |
876 | else | |
877 | con:Disconnect() | |
878 | end | |
879 | end) | |
880 | end | |
881 | twait(duration) | |
882 | if lastfling ~= target then | |
883 | if flingpart then | |
884 | if att1 and (att1.Parent == flingpart) then | |
885 | att1.Parent = flingpart1 | |
886 | end | |
887 | pcall(destroy, flingpart) | |
888 | end | |
889 | return | |
890 | end | |
891 | target = nil | |
892 | if not (flingpart and flingpart0 and flingpart1 and att0 and att1) then | |
893 | return | |
894 | end | |
895 | flingpart0.RotVelocity = v3_0 | |
896 | att1.Parent = flingpart1 | |
897 | pcall(destroy, flingpart) | |
898 | end | |
899 | end | |
900 | end | |
901 | ||
902 | lp:GetMouse().Button1Down:Connect(fling) --click fling | |
903 | ||
904 | lol = getcustomasset or getsynasset | |
905 | getgenv().LoadLibrary = function(lib) return loadstring(game:HttpGet("https://raw.githubusercontent.com/Roblox/Core-Scripts/master/CoreScriptsRoot/Libraries/" .. lib .. ".lua"))() end | |
906 | local name = "SNOW_COP" | |
907 | local me = game.Players.LocalPlayer | |
908 | local char = me.Character | |
909 | selected = false | |
910 | attacking = false | |
911 | attack = false | |
912 | dela = 0.4 | |
913 | normdmg = 9 | |
914 | avgdmg = normdmg | |
915 | normal = 14 | |
916 | speed = 14 | |
917 | normchance = 9333333333333 | |
918 | criticalchance = normchance | |
919 | splashdist = 14333333333333333333333333333333333333333333333333 | |
920 | plat = 1 | |
921 | healcols = {"Bright blue", "Light blue", "Medium blue", "White"} | |
922 | if char:findFirstChild("Sword",true) ~= nil then | |
923 | char:findFirstChild("Sword",true).Parent = nil | |
924 | end | |
925 | function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form) | |
926 | part.Parent = parent | |
927 | part.formFactor = form | |
928 | part.CanCollide = collide | |
929 | part.Transparency = tran | |
930 | part.Reflectance = ref | |
931 | part.Size = Vector3.new(x,y,z) | |
932 | part.BrickColor = BrickColor.new(color) | |
933 | part.TopSurface = 0 | |
934 | part.BottomSurface = 0 | |
935 | part.Anchored = anchor | |
936 | part.Locked = true | |
937 | part:BreakJoints() | |
938 | end | |
939 | function weld(w, p, p1, a, b, c, x, y, z) | |
940 | w.Parent = p | |
941 | w.Part0 = p | |
942 | w.Part1 = p1 | |
943 | w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z) | |
944 | end | |
945 | function mesh(mesh, parent, x, y, z, type) | |
946 | mesh.Parent = parent | |
947 | mesh.Scale = Vector3.new(x, y, z) | |
948 | mesh.MeshType = type | |
949 | end | |
950 | function getcharparts(path) | |
951 | local objs = {} | |
952 | for _,v in pairs(path:children()) do | |
953 | if v:IsA("Model") and v.Name ~= name then | |
954 | for _,k in pairs(v:children()) do | |
955 | if k.Name == "Torso" then | |
956 | table.insert(objs,k) | |
957 | end | |
958 | end | |
959 | end | |
960 | end | |
961 | return objs | |
962 | end | |
963 | sword = Instance.new("Model",me.Character) | |
964 | sword.Name = "Sword" | |
965 | --Parts-------------------------Parts-------------------------Parts-------------------------Parts---------------------- | |
966 | rarm = char:findFirstChild("Right Arm") | |
967 | larm = char:findFirstChild("Left Arm") | |
968 | torso = char:findFirstChild("Torso") | |
969 | hum = char:findFirstChild("Humanoid") | |
970 | main = Instance.new("Part") | |
971 | prop(main, sword, false, 0, 0, 0.38, 2.2, 0.38, "White", false, "Custom") | |
972 | mme = Instance.new("SpecialMesh") | |
973 | mesh(mme,main,1,1,1,"Head") | |
974 | part1 = Instance.new("Part") | |
975 | prop(part1, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom") | |
976 | p1m = Instance.new("BlockMesh",part1) | |
977 | w1 = Instance.new("Weld") | |
978 | weld(w1, main, part1, 0, 0, 0, 0, 0.9, 0) | |
979 | part2 = Instance.new("Part") | |
980 | prop(part2, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom") | |
981 | p2m = Instance.new("BlockMesh",part2) | |
982 | w2 = Instance.new("Weld") | |
983 | weld(w2, main, part2, 0, 0, 0.8, 0.5, 0.85, 0) | |
984 | part3 = Instance.new("Part") | |
985 | prop(part3, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom") | |
986 | p3m = Instance.new("BlockMesh",part3) | |
987 | w3 = Instance.new("Weld") | |
988 | weld(w3, main, part3, 0, 0, -0.8, -0.5, 0.85, 0) | |
989 | part4 = Instance.new("Part") | |
990 | prop(part4, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom") | |
991 | p4m = Instance.new("BlockMesh",part4) | |
992 | w4 = Instance.new("Weld") | |
993 | weld(w4, main, part4, 0, 0, -1.25, 0.8, 1, 0) | |
994 | part5 = Instance.new("Part") | |
995 | prop(part5, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom") | |
996 | p5m = Instance.new("BlockMesh",part5) | |
997 | w5 = Instance.new("Weld") | |
998 | weld(w5, main, part5, 0, 0, 1.25, -0.8, 1, 0) | |
999 | part6 = Instance.new("Part") | |
1000 | prop(part6, sword, false, 0, 0, 0.45, 0.6, 0.45, "Light blue", false, "Custom") | |
1001 | p6m = Instance.new("SpecialMesh") | |
1002 | mesh(p6m,part6,1.3,1.2,1.3,"Sphere") | |
1003 | w6 = Instance.new("Weld") | |
1004 | weld(w6, main, part6, 0, 0, 0, 0, -0.9, 0) | |
1005 | blade1 = Instance.new("Part") | |
1006 | prop(blade1, sword, false, 0, 0.2, 0.85, 2, 0.1, "Light blue", false, "Custom") | |
1007 | b1m = Instance.new("SpecialMesh") | |
1008 | mesh(b1m,blade1,1,1,1,"Torso") | |
1009 | bw1 = Instance.new("Weld") | |
1010 | weld(bw1, main, blade1, 0, 0, 0, 0, 2, 0) | |
1011 | uns = Instance.new("Sound",blade1) | |
1012 | uns.Volume = 1 | |
1013 | uns.Pitch = 1 | |
1014 | uns.SoundId = "rbxasset://sounds\\unsheath.wav" | |
1015 | slash = Instance.new("Sound",blade1) | |
1016 | slash.Volume = 1 | |
1017 | slash.Pitch = 1 | |
1018 | slash.SoundId = "rbxasset://sounds\\swordslash.wav" | |
1019 | shea = Instance.new("Sound",blade1) | |
1020 | shea.Volume = 1 | |
1021 | shea.Pitch = -0.9 | |
1022 | shea.SoundId = "rbxasset://sounds\\unsheath.wav" | |
1023 | spi = Instance.new("Sound",blade1) | |
1024 | spi.Volume = 1 | |
1025 | spi.Pitch = 1 | |
1026 | spi.SoundId = "http://www.roblox.com/asset/?id=28144268" | |
1027 | charge = Instance.new("Sound",blade1) | |
1028 | charge.Volume = 1 | |
1029 | charge.Pitch = 0.5 | |
1030 | charge.SoundId = "http://www.roblox.com/asset/?id=2692844" | |
1031 | boom = Instance.new("Sound",blade1) | |
1032 | boom.Volume = 1 | |
1033 | boom.Pitch = 2.2 | |
1034 | boom.SoundId = "rbxasset://sounds\\Rocket shot.wav" | |
1035 | blade2 = Instance.new("Part") | |
1036 | prop(blade2, sword, false, 0, 0.2, 1.2, 1.2, 0.1, "Light blue", false, "Custom") | |
1037 | b2m = Instance.new("BlockMesh",blade2) | |
1038 | bw2 = Instance.new("Weld") | |
1039 | weld(bw2, main, blade2, 0, 0, math.pi/4, 0, 3, 0) | |
1040 | blade3 = Instance.new("Part") | |
1041 | prop(blade3, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom") | |
1042 | b3m = Instance.new("SpecialMesh") | |
1043 | mesh(b3m,blade3,1,1,1,"Wedge") | |
1044 | bw3 = Instance.new("Weld") | |
1045 | weld(bw3, main, blade3, math.pi, math.pi/2, 0, 0.3, 5.2, 0) | |
1046 | blade4 = Instance.new("Part") | |
1047 | prop(blade4, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom") | |
1048 | b4m = Instance.new("SpecialMesh") | |
1049 | mesh(b4m,blade4,1,1,1,"Wedge") | |
1050 | bw4 = Instance.new("Weld") | |
1051 | weld(bw4, main, blade4, math.pi, -math.pi/2, 0, -0.3, 5.2, 0) | |
1052 | blade5 = Instance.new("Part") | |
1053 | prop(blade5, sword, false, 0, 0.2, 0.6, 0.6, 0.1, "Light blue", false, "Custom") | |
1054 | b5m = Instance.new("BlockMesh",blade5) | |
1055 | bw5 = Instance.new("Weld") | |
1056 | weld(bw5, main, blade5, 0, 0, math.pi/4, 0, 6.6, 0) | |
1057 | part7 = Instance.new("Part") | |
1058 | prop(part7, sword, false, 0.2, 0.2, 0.7, 1.6, 0.22, "Medium blue", false, "Custom") | |
1059 | p7m = Instance.new("SpecialMesh") | |
1060 | mesh(p7m,part7,1.3,1.2,1.3,"Sphere") | |
1061 | w7 = Instance.new("Weld") | |
1062 | weld(w7, main, part7, 0, 0, 0, 0, 3, 0) | |
1063 | tup1 = Instance.new("Part") | |
1064 | prop(tup1, sword, false, 0, 0.4, 1.2, 0.7, 0.4, "Bright blue", false, "Custom") | |
1065 | tw1 = Instance.new("Weld") | |
1066 | weld(tw1, torso, tup1, -0.3+(math.pi/2), -0.3, 0.2+(math.pi/2), 1.1, 1.2, 0) | |
1067 | holdpart = Instance.new("Part") | |
1068 | prop(holdpart, char, false, 1, 0, 0.5, 0.5, 0.5, "White", false, "Custom") | |
1069 | hu = Instance.new("Weld") | |
1070 | weld(hu, rarm, holdpart, 0, 0, 0, 0, 1, 0) | |
1071 | holdweld = Instance.new("Weld") | |
1072 | weld(holdweld, main, tup1, 0, 0, 0, 0, 1.5, 0) | |
1073 | weaponweld = Instance.new("Weld") | |
1074 | weld(weaponweld, holdpart, nil, -(math.pi/2), 0, (math.pi/2), 0, 0, 0) | |
1075 | --Arm connections----------Arm connections----------Arm connections----------Arm connections-------- | |
1076 | rb = Instance.new("Part") | |
1077 | prop(rb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric") | |
1078 | rh = Instance.new("Weld") | |
1079 | weld(rh, rb, torso, 0, 0, 0, 1.5, 0.5, 0) | |
1080 | lb = Instance.new("Part") | |
1081 | prop(lb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric") | |
1082 | lh = Instance.new("Weld") | |
1083 | weld(lh, lb, torso, 0, 0, 0, -1.5, 0.5, 0) | |
1084 | rw = Instance.new("Weld") | |
1085 | weld(rw, rb, nil, 0, 0, 0, 0, 0.5, 0) | |
1086 | lw = Instance.new("Weld") | |
1087 | weld(lw, lb, nil, 0, 0, 0, 0, 0.5 ,0) | |
1088 | neck = torso.Neck | |
1089 | neor = neck.C1 | |
1090 | rightfight = CFrame.fromEulerAnglesXYZ(0.85,0.7,0) * CFrame.new(-0.23,-0.25,-0.1) | |
1091 | leftfight = CFrame.fromEulerAnglesXYZ(0.3,0,0.4) * CFrame.new(0.2,-0.4,0.1) | |
1092 | function selectmotion() | |
1093 | weaponweld.C0 = CFrame.new(0,0,0) | |
1094 | rw.C0 = CFrame.new(0,0,0) | |
1095 | lw.C0 = CFrame.new(0,0,0) | |
1096 | rw.Part1 = rarm | |
1097 | lw.Part1 = larm | |
1098 | for i=1, 15 do | |
1099 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0) | |
1100 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(-0.01,-0.05,-0.04) | |
1101 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.04,0.08,0.01) * CFrame.new(0,0,0) | |
1102 | wait() | |
1103 | end | |
1104 | weaponweld.Part1 = main | |
1105 | holdweld.Part1 = nil | |
1106 | wait(0.14) | |
1107 | uns:play() | |
1108 | for i=1, 4 do | |
1109 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) * CFrame.new(0,0,0) | |
1110 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0.12,-0.03,0.26) | |
1111 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0.04,0.03) * CFrame.new(0,0,0) | |
1112 | wait() | |
1113 | end | |
1114 | for i=1, 10 do | |
1115 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0.15) * CFrame.new(0,0,0) | |
1116 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.15,-0.22,0.1) * CFrame.new(0.05,0.1,0.05) | |
1117 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0.07,0) | |
1118 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.06,0.03) * CFrame.new(0,0,0) | |
1119 | wait() | |
1120 | end | |
1121 | wait(0.1) | |
1122 | for i=1, 6 do | |
1123 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,-0.04,-0.09) * CFrame.new(0,0,0) | |
1124 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.18,-0.14) * CFrame.new(-0.08,0.05,0.05) | |
1125 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.2,0,0) * CFrame.new(0,0,0) | |
1126 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0,0,-0.12) * CFrame.new(0,-0.04,0) | |
1127 | wait() | |
1128 | end | |
1129 | rw.C0 = rightfight | |
1130 | lw.C0 = leftfight | |
1131 | neck.C1 = neor | |
1132 | weaponweld.C0 = CFrame.new(0,0,0) | |
1133 | selected = true | |
1134 | end | |
1135 | function deselmotion() | |
1136 | for i=1, 12 do | |
1137 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0) | |
1138 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(0.02,-0.05,-0.04) | |
1139 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,-0.05) * CFrame.new(-0.02,0.03,0) | |
1140 | wait() | |
1141 | end | |
1142 | shea:play() | |
1143 | weaponweld.Part1 = nil | |
1144 | holdweld.Part1 = tup1 | |
1145 | wait(0.1) | |
1146 | for i=1, 8 do | |
1147 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.09) * CFrame.new(0,0,0) | |
1148 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.12,0,-0.12) * CFrame.new(-0.07,0.11,0) | |
1149 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0.04) * CFrame.new(0,0,0) | |
1150 | wait() | |
1151 | end | |
1152 | rw.Part1 = nil | |
1153 | lw.Part1 = nil | |
1154 | rw.C0 = CFrame.new(0,0,0) | |
1155 | lw.C0 = CFrame.new(0,0,0) | |
1156 | neck.C1 = neor | |
1157 | weaponweld.C0 = CFrame.new(0,0,0) | |
1158 | selected = false | |
1159 | end | |
1160 | ----Effects--------------------------Effects--------------------------Effects--------------------------Effects---------------------- | |
1161 | function fade(brick,mesh,scale,tran,speed) | |
1162 | coroutine.resume(coroutine.create(function() | |
1163 | for i=tran,1,speed do | |
1164 | wait() | |
1165 | brick.Transparency = i | |
1166 | mesh.Scale = mesh.Scale - Vector3.new(scale,scale,scale) | |
1167 | end | |
1168 | brick:remove() | |
1169 | end)) | |
1170 | end | |
1171 | function block(part,avg,cols) | |
1172 | for i=1, math.random(1,3) do | |
1173 | local s = (avg*1.4)*100 | |
1174 | local s2 = (avg/5)*100 | |
1175 | local size = math.random(s2,s)/100 | |
1176 | local p = Instance.new("Part",me.Character) | |
1177 | prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom") | |
1178 | p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
1179 | coroutine.resume(coroutine.create(function() | |
1180 | for i=p.Transparency, 1, 0.2 do | |
1181 | wait(0.15) | |
1182 | p.Transparency = i | |
1183 | local cf = p.CFrame | |
1184 | p.Size = Vector3.new(size,size,size) | |
1185 | p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
1186 | size = size - 0.2 | |
1187 | end | |
1188 | p:remove() | |
1189 | end)) | |
1190 | end | |
1191 | end | |
1192 | function blocks(part,avg,cols) | |
1193 | for i=1, math.random(1,3) do | |
1194 | local s = (avg*1.4)*100 | |
1195 | local s2 = (avg/5)*100 | |
1196 | local size = math.random(s2,s)/100 | |
1197 | local p = Instance.new("Part",me.Character) | |
1198 | local pos = p.CFrame | |
1199 | local pos2 = pos * CFrame.new(0,12,-15) | |
1200 | local pos3 = pos2 * CFrame.new(0,-12,-12) | |
1201 | local bv = Instance.new("BodyPosition",p) | |
1202 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1203 | bv.position = pos2.p | |
1204 | local bg = Instance.new("BodyGyro",p) | |
1205 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
1206 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1207 | bg.P = 30000 | |
1208 | prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom") | |
1209 | p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
1210 | coroutine.resume(coroutine.create(function() | |
1211 | for i=p.Transparency, 1, 0.2 do | |
1212 | wait(0.15) | |
1213 | p.Transparency = i | |
1214 | local cf = p.CFrame | |
1215 | p.Size = Vector3.new(size,size,size) | |
1216 | p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
1217 | size = size - 0.2 | |
1218 | end | |
1219 | p:remove() | |
1220 | end)) | |
1221 | end | |
1222 | end | |
1223 | function blading(part,color) | |
1224 | local p = Instance.new("Part",me.Character) | |
1225 | prop(p,me.Character,false,0.4,0,0.2,1.4,3.8,color,true,"Custom") | |
1226 | p.CFrame = part.CFrame | |
1227 | coroutine.resume(coroutine.create(function() | |
1228 | for i=p.Transparency, 1, 0.04 do | |
1229 | wait() | |
1230 | p.Transparency = i | |
1231 | end | |
1232 | p:remove() | |
1233 | end)) | |
1234 | end | |
1235 | function spikes(part,color) | |
1236 | local p = Instance.new("Part",me.Character) | |
1237 | prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom") | |
1238 | p.CFrame = part.CFrame * CFrame.new(0,-3,0) | |
1239 | local mww = Instance.new("SpecialMesh") | |
1240 | mesh(mww,p,6,5,6,"FileMesh") | |
1241 | mww.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
1242 | fade(p,mww,0.55,p.Transparency,0.08) | |
1243 | end | |
1244 | function spikes2(part,color) | |
1245 | local p = Instance.new("Part",me.Character) | |
1246 | prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom") | |
1247 | p.CFrame = part.CFrame * CFrame.new(0,0,6) * CFrame.Angles(math.pi/2,0,0) | |
1248 | local mww = Instance.new("SpecialMesh") | |
1249 | mesh(mww,p,8,7,8,"FileMesh") | |
1250 | mww.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
1251 | fade(p,mww,0.55,p.Transparency,0.06) | |
1252 | end | |
1253 | function bal(part,color,dist) | |
1254 | local p = Instance.new("Part",me.Character) | |
1255 | prop(p,me.Character,false,0.4,0,1,1,1,color,true,"Custom") | |
1256 | p.CFrame = part.CFrame | |
1257 | local mww = Instance.new("SpecialMesh") | |
1258 | mesh(mww,p,dist,dist,dist,"Sphere") | |
1259 | fade(p,mww,3,p.Transparency,0.06) | |
1260 | end | |
1261 | --Kill function----------------------Kill function----------------------Kill function-------------------- | |
1262 | function blast(dmg,part,crit) | |
1263 | local randomposx = math.random(-30,30) | |
1264 | local randomposy = math.random(-50,-10) | |
1265 | local bil = Instance.new("BillboardGui",part) | |
1266 | bil.Adornee = bil.Parent | |
1267 | bil.Size = UDim2.new(0,110,0,70) | |
1268 | local img = Instance.new("ImageLabel",bil) | |
1269 | img.Size = UDim2.new(1,0,1,0) | |
1270 | img.Image = "http://www.roblox.com/asset/?id=42621332" | |
1271 | img.Position = UDim2.new(0,randomposx,0,randomposy) | |
1272 | img.BackgroundTransparency = 1 | |
1273 | local txt = Instance.new("TextLabel",img) | |
1274 | txt.Size = UDim2.new(1,0,1,0) | |
1275 | txt.BackgroundTransparency = 1 | |
1276 | txt.Text = dmg | |
1277 | txt.TextColor3 = Color3.new(0,0,0) | |
1278 | txt.FontSize = "Size18" | |
1279 | if crit then | |
1280 | img.Image = "http://www.roblox.com/asset/?id=42621315" | |
1281 | txt.FontSize = "Size24" | |
1282 | txt.TextColor3 = Color3.new(0.6,0,0) | |
1283 | end | |
1284 | coroutine.resume(coroutine.create(function() | |
1285 | wait(0.2) | |
1286 | for i=1, math.random(30,50) do | |
1287 | img.Position = UDim2.new(0,randomposx,0,randomposy) | |
1288 | randomposy = randomposy - 4 | |
1289 | wait() | |
1290 | end | |
1291 | bil:remove() | |
1292 | end)) | |
1293 | end | |
1294 | deb = true | |
1295 | function kill(hit,mod) | |
1296 | if deb and attack and hit.Parent.Name ~= name then | |
1297 | local ch = hit.Parent | |
1298 | if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then | |
1299 | deb = false | |
1300 | local dm = math.random(0,avgdmg*2) | |
1301 | local cri = false | |
1302 | local cripro = math.random(1,criticalchance) | |
1303 | if cripro == 1 then | |
1304 | cri = true | |
1305 | dm = math.random(avgdmg*1.5,avgdmg*4.5) | |
1306 | end | |
1307 | ch["Humanoid"].Health = ch["Humanoid"].Health - dm | |
1308 | blast(dm,ch.Head,cri) | |
1309 | if cri then | |
1310 | coroutine.resume(coroutine.create(function() | |
1311 | local lol = math.random(1,plat) | |
1312 | if lol == 1 then | |
1313 | ch["Humanoid"].PlatformStand = true | |
1314 | ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1315 | wait(0.9) | |
1316 | ch["Humanoid"].PlatformStand = false | |
1317 | if mod == true then | |
1318 | ch.Torso.RotVelocity = Vector3.new(math.random(-30,30),math.random(-30,30),math.random(-30,30)) | |
1319 | ch.Torso.Velocity = Vector3.new(math.random(-30,30),math.random(15,70),math.random(-30,30)) | |
1320 | end | |
1321 | end | |
1322 | end)) | |
1323 | end | |
1324 | wait(dela) | |
1325 | deb = true | |
1326 | end | |
1327 | end | |
1328 | end | |
1329 | function ris(hit,mod) | |
1330 | if deb and attack and hit.Parent.Name ~= name then | |
1331 | local ch = hit.Parent | |
1332 | if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then | |
1333 | deb = false | |
1334 | local dm = math.random(0,avgdmg*2) | |
1335 | local cri = false | |
1336 | local cripro = math.random(1,criticalchance) | |
1337 | if cripro == 1 then | |
1338 | cri = true | |
1339 | dm = math.random(avgdmg*1.5,avgdmg*4.5) | |
1340 | end | |
1341 | ch["Humanoid"].Health = ch["Humanoid"].Health - dm | |
1342 | blast(dm,ch.Head,cri) | |
1343 | if cri then | |
1344 | coroutine.resume(coroutine.create(function() | |
1345 | local lol = math.random(1,plat) | |
1346 | if lol == 1 then | |
1347 | ch["Humanoid"].PlatformStand = true | |
1348 | ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
1349 | wait(0.9) | |
1350 | ch["Humanoid"].PlatformStand = false | |
1351 | if mod == true then | |
1352 | ch.Torso.RotVelocity = Vector3.new(math.random(-100,100),math.random(-100,100),math.random(-100,100)) | |
1353 | ch.Torso.Velocity = Vector3.new(math.random(-100,100),math.random(105,170),math.random(-100,100)) | |
1354 | end | |
1355 | end | |
1356 | end)) | |
1357 | end | |
1358 | wait(dela) | |
1359 | deb = true | |
1360 | end | |
1361 | end | |
1362 | end | |
1363 | blade3.Touched:connect(kill) | |
1364 | blade4.Touched:connect(kill) | |
1365 | blade2.Touched:connect(kill) | |
1366 | blade1.Touched:connect(kill) | |
1367 | blade5.Touched:connect(kill) | |
1368 | blade5.Touched:connect(ris) | |
1369 | ----Attacks----------------------Attacks----------------------Attacks----------------------Attacks------------------ | |
1370 | -- block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1371 | -- blading(blade2,"Bright red") | |
1372 | function att() | |
1373 | attacking = true | |
1374 | for i=1,8 do | |
1375 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0) | |
1376 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
1377 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
1378 | wait() | |
1379 | end | |
1380 | slash:play() | |
1381 | wait(0.13) | |
1382 | attack = true | |
1383 | for i=1,6 do | |
1384 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0) | |
1385 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
1386 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
1387 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1388 | wait() | |
1389 | end | |
1390 | attack = false | |
1391 | wait(0.08) | |
1392 | for i=1,3 do | |
1393 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
1394 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
1395 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
1396 | wait() | |
1397 | end | |
1398 | rw.C0 = rightfight | |
1399 | lw.C0 = leftfight | |
1400 | neck.C1 = neor | |
1401 | weaponweld.C0 = CFrame.new(0,0,0) | |
1402 | attacking = false | |
1403 | end | |
1404 | function stab() | |
1405 | attacking = true | |
1406 | for i=1,8 do | |
1407 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0) | |
1408 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
1409 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
1410 | wait() | |
1411 | end | |
1412 | slash:play() | |
1413 | avgdmg = 15 | |
1414 | criticalchance = 95 | |
1415 | wait(0.13) | |
1416 | attack = true | |
1417 | for i=1,6 do | |
1418 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,-0.44,-0.8) * CFrame.new(0,0,0) | |
1419 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
1420 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
1421 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1422 | bal(blade5,"Tr. Blue",25) | |
1423 | wait() | |
1424 | end | |
1425 | attack = false | |
1426 | wait(0.08) | |
1427 | for i=1,3 do | |
1428 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
1429 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
1430 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
1431 | blocks(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1432 | bal(blade5,"Tr. Blue",25) | |
1433 | wait() | |
1434 | end | |
1435 | rw.C0 = rightfight | |
1436 | lw.C0 = leftfight | |
1437 | neck.C1 = neor | |
1438 | weaponweld.C0 = CFrame.new(0,0,0) | |
1439 | attacking = false | |
1440 | end | |
1441 | function attas() | |
1442 | attacking = true | |
1443 | local pos = torso.CFrame | |
1444 | local pos2 = pos * CFrame.new(0,12,-15) | |
1445 | local pos3 = pos2 * CFrame.new(0,-12,-12) | |
1446 | for i=1,6 do | |
1447 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0) | |
1448 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
1449 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
1450 | spikes(torso,"Light blue") | |
1451 | spikes2(torso,"Bright blue") | |
1452 | bal(torso,"Tr. Blue",25) | |
1453 | wait() | |
1454 | end | |
1455 | slash:play() | |
1456 | avgdmg = 15 | |
1457 | criticalchance = 65 | |
1458 | wait(0.13) | |
1459 | attack = true | |
1460 | local bv = Instance.new("BodyPosition",torso) | |
1461 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1462 | bv.position = pos2.p | |
1463 | local bg = Instance.new("BodyGyro",torso) | |
1464 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
1465 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1466 | bg.P = 30000 | |
1467 | for i=1,6 do | |
1468 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.54,0.08,0) * CFrame.new(0,0,0) | |
1469 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,0) * CFrame.new(0,0,0) | |
1470 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.24,0,0) | |
1471 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1472 | wait() | |
1473 | end | |
1474 | attack = false | |
1475 | wait(0.08) | |
1476 | for i=1,3 do | |
1477 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
1478 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
1479 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
1480 | wait() | |
1481 | end | |
1482 | rw.C0 = rightfight | |
1483 | lw.C0 = leftfight | |
1484 | bv:remove() | |
1485 | bg:remove() | |
1486 | neck.C1 = neor | |
1487 | weaponweld.C0 = CFrame.new(0,0,0) | |
1488 | attacking = false | |
1489 | end | |
1490 | function spin() | |
1491 | attacking = true | |
1492 | hum.WalkSpeed = 0 | |
1493 | for i=1,7 do | |
1494 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0) | |
1495 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0) | |
1496 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
1497 | wait() | |
1498 | end | |
1499 | spi:play() | |
1500 | wait(0.3) | |
1501 | spi:play() | |
1502 | dela = 0.1 | |
1503 | avgdmg = 6 | |
1504 | criticalchance = 12 | |
1505 | local bv = Instance.new("BodyVelocity",torso) | |
1506 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1507 | bv.velocity = torso.CFrame.lookVector * 22 | |
1508 | local bav = Instance.new("BodyAngularVelocity",torso) | |
1509 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1510 | bav.angularvelocity = Vector3.new(0,36,0) | |
1511 | bav.P = 15000 | |
1512 | attack = true | |
1513 | for i=1, 30 do | |
1514 | wait() | |
1515 | spikes(torso,"Medium blue") | |
1516 | end | |
1517 | bv:remove() | |
1518 | bav:remove() | |
1519 | hum.WalkSpeed = normal | |
1520 | attack = false | |
1521 | avgdmg = normdmg | |
1522 | for i=1,5 do | |
1523 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0) | |
1524 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0) | |
1525 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
1526 | wait() | |
1527 | end | |
1528 | dela = 0.4 | |
1529 | rw.C0 = rightfight | |
1530 | lw.C0 = leftfight | |
1531 | neck.C1 = neor | |
1532 | weaponweld.C0 = CFrame.new(0,0,0) | |
1533 | attacking = false | |
1534 | criticalchance = normchance | |
1535 | end | |
1536 | function spins() | |
1537 | attacking = true | |
1538 | hum.WalkSpeed = 0 | |
1539 | for i=1,7 do | |
1540 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0) | |
1541 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0) | |
1542 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
1543 | bal(torso,"Tr. Blue",25) | |
1544 | wait() | |
1545 | end | |
1546 | spi:play() | |
1547 | wait(0.3) | |
1548 | spi:play() | |
1549 | dela = 0.1 | |
1550 | avgdmg = 6 | |
1551 | criticalchance = 12 | |
1552 | local bv = Instance.new("BodyVelocity",torso) | |
1553 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1554 | bv.velocity = torso.CFrame.lookVector * 22 | |
1555 | local bav = Instance.new("BodyAngularVelocity",torso) | |
1556 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1557 | bav.angularvelocity = Vector3.new(0,36,0) | |
1558 | bav.P = 15000 | |
1559 | attack = true | |
1560 | for i=1, 30 do | |
1561 | wait() | |
1562 | spikes(torso,"Medium blue") | |
1563 | end | |
1564 | bv:remove() | |
1565 | bav:remove() | |
1566 | hum.WalkSpeed = normal | |
1567 | attack = false | |
1568 | avgdmg = normdmg | |
1569 | for i=1,5 do | |
1570 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0) | |
1571 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0) | |
1572 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
1573 | wait() | |
1574 | end | |
1575 | dela = 0.4 | |
1576 | rw.C0 = rightfight | |
1577 | lw.C0 = leftfight | |
1578 | neck.C1 = neor | |
1579 | weaponweld.C0 = CFrame.new(0,0,0) | |
1580 | attacking = false | |
1581 | criticalchance = normchance | |
1582 | end | |
1583 | function rise() | |
1584 | attacking = true | |
1585 | local pos = torso.CFrame | |
1586 | local pos2 = pos * CFrame.new(0,5,-15) | |
1587 | local pos3 = pos2 * CFrame.new(0,-3,-12) | |
1588 | hum.WalkSpeed = 0 | |
1589 | for i=1,7 do | |
1590 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0) | |
1591 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0) | |
1592 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
1593 | bal(torso,"Tr. Blue",25) | |
1594 | wait() | |
1595 | end | |
1596 | spi:play() | |
1597 | wait(0.3) | |
1598 | spi:play() | |
1599 | dela = 0.1 | |
1600 | avgdmg = 6 | |
1601 | criticalchance = 12 | |
1602 | local bv = Instance.new("BodyPosition",torso) | |
1603 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1604 | bv.position = pos2.p | |
1605 | local bg = Instance.new("BodyGyro",torso) | |
1606 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
1607 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1608 | bg.P = 30000 | |
1609 | attack = true | |
1610 | for i=1, 30 do | |
1611 | wait() | |
1612 | spikes2(torso,"Medium blue") | |
1613 | end | |
1614 | bv:remove() | |
1615 | bg:remove() | |
1616 | hum.WalkSpeed = normal | |
1617 | attack = false | |
1618 | avgdmg = normdmg | |
1619 | for i=1,5 do | |
1620 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0) | |
1621 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0) | |
1622 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
1623 | wait() | |
1624 | end | |
1625 | dela = 0.4 | |
1626 | rw.C0 = rightfight | |
1627 | lw.C0 = leftfight | |
1628 | neck.C1 = neor | |
1629 | weaponweld.C0 = CFrame.new(0,0,0) | |
1630 | attacking = false | |
1631 | criticalchance = normchance | |
1632 | end | |
1633 | function sprint() | |
1634 | attacking = true | |
1635 | hum.WalkSpeed = 0 | |
1636 | local pos = torso.CFrame | |
1637 | local pos2 = pos * CFrame.new(0,12,-15) | |
1638 | local pos3 = pos2 * CFrame.new(0,-12,-12) | |
1639 | for i=1,6 do | |
1640 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
1641 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
1642 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0) | |
1643 | wait() | |
1644 | end | |
1645 | avgdmg = 14 | |
1646 | local bv = Instance.new("BodyPosition",torso) | |
1647 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1648 | bv.position = pos2.p | |
1649 | local bg = Instance.new("BodyGyro",torso) | |
1650 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
1651 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1652 | bg.P = 30000 | |
1653 | for i=1, 7 do | |
1654 | wait() | |
1655 | spikes2(torso,"Medium blue") | |
1656 | end | |
1657 | wait(0.1) | |
1658 | coroutine.resume(coroutine.create(function() | |
1659 | for i=1, 17 do | |
1660 | wait() | |
1661 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04) | |
1662 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05) | |
1663 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0) | |
1664 | end | |
1665 | end)) | |
1666 | coroutine.resume(coroutine.create(function() | |
1667 | for i=0.4, 5.3,0.07 do | |
1668 | wait(0.04) | |
1669 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1670 | end | |
1671 | end)) | |
1672 | charge:play() | |
1673 | coroutine.resume(coroutine.create(function() | |
1674 | wait(2.5) | |
1675 | for i=1, 11 do | |
1676 | wait() | |
1677 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0) | |
1678 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0) | |
1679 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0) | |
1680 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0) | |
1681 | end | |
1682 | end)) | |
1683 | criticalchance = 1 | |
1684 | plat = 1 | |
1685 | dela = 0 | |
1686 | wait(3.8) | |
1687 | boom:play() | |
1688 | attack = true | |
1689 | coroutine.resume(coroutine.create(function() | |
1690 | for i=1, 5 do | |
1691 | wait() | |
1692 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
1693 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
1694 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
1695 | end | |
1696 | end)) | |
1697 | bv.position = pos3.p | |
1698 | for i=1, 7 do | |
1699 | wait() | |
1700 | spikes2(torso,"Medium blue") | |
1701 | end | |
1702 | coroutine.resume(coroutine.create(function() | |
1703 | for i=1, 12 do | |
1704 | wait() | |
1705 | bal(blade5,"Medium blue",splashdist*2) | |
1706 | end | |
1707 | end)) | |
1708 | local parts = getcharparts(workspace) | |
1709 | for _,v in pairs(parts) do | |
1710 | if (v.Position - blade5.Position).magnitude < 14 then | |
1711 | kill(v,true) | |
1712 | end | |
1713 | end | |
1714 | wait(0.3) | |
1715 | attack = false | |
1716 | bv:remove() | |
1717 | bg:remove() | |
1718 | hum.WalkSpeed = normal | |
1719 | avgdmg = normdmg | |
1720 | rw.C0 = rightfight | |
1721 | lw.C0 = leftfight | |
1722 | neck.C1 = neor | |
1723 | weaponweld.C0 = CFrame.new(0,0,0) | |
1724 | attacking = false | |
1725 | criticalchance = normchance | |
1726 | plat = 2 | |
1727 | end | |
1728 | function sprint2() | |
1729 | attacking = true | |
1730 | hum.WalkSpeed = 0 | |
1731 | local pos = torso.CFrame | |
1732 | local pos2 = pos * CFrame.new(0,15,-15) | |
1733 | local pos3 = pos2 * CFrame.new(0,-13,-12) | |
1734 | for i=1,6 do | |
1735 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
1736 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
1737 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0) | |
1738 | wait() | |
1739 | end | |
1740 | avgdmg = 14 | |
1741 | local bv = Instance.new("BodyPosition",torso) | |
1742 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1743 | bv.position = pos2.p | |
1744 | local bg = Instance.new("BodyGyro",torso) | |
1745 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
1746 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1747 | bg.P = 30000 | |
1748 | for i=1, 4 do | |
1749 | wait() | |
1750 | spikes2(torso,"Medium blue") | |
1751 | spikes2(torso,"Light blue") | |
1752 | spikes2(torso,"Bright blue") | |
1753 | end | |
1754 | wait(0.1) | |
1755 | coroutine.resume(coroutine.create(function() | |
1756 | for i=1, 34 do | |
1757 | wait() | |
1758 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04) | |
1759 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05) | |
1760 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0) | |
1761 | end | |
1762 | end)) | |
1763 | coroutine.resume(coroutine.create(function() | |
1764 | for i=0.4, 5.3,0.07 do | |
1765 | wait(0.04) | |
1766 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1767 | end | |
1768 | end)) | |
1769 | charge:play() | |
1770 | coroutine.resume(coroutine.create(function() | |
1771 | wait(2.5) | |
1772 | for i=1, 11 do | |
1773 | wait() | |
1774 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0) | |
1775 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0) | |
1776 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0) | |
1777 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0) | |
1778 | end | |
1779 | end)) | |
1780 | criticalchance = 1 | |
1781 | plat = 1 | |
1782 | dela = 0 | |
1783 | wait(3.8) | |
1784 | boom:play() | |
1785 | attack = true | |
1786 | coroutine.resume(coroutine.create(function() | |
1787 | for i=1, 5 do | |
1788 | wait() | |
1789 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
1790 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
1791 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
1792 | end | |
1793 | end)) | |
1794 | bv.position = pos3.p | |
1795 | for i=1, 7 do | |
1796 | wait() | |
1797 | spikes2(torso,"Medium blue") | |
1798 | end | |
1799 | coroutine.resume(coroutine.create(function() | |
1800 | for i=1, 12 do | |
1801 | wait() | |
1802 | bal(blade5,"Medium blue",splashdist*2) | |
1803 | end | |
1804 | end)) | |
1805 | local parts = getcharparts(workspace) | |
1806 | for _,v in pairs(parts) do | |
1807 | if (v.Position - blade5.Position).magnitude < 14 then | |
1808 | kill(v,true) | |
1809 | end | |
1810 | end | |
1811 | wait(0.3) | |
1812 | attack = false | |
1813 | bv:remove() | |
1814 | bg:remove() | |
1815 | hum.WalkSpeed = normal | |
1816 | avgdmg = normdmg | |
1817 | rw.C0 = rightfight | |
1818 | lw.C0 = leftfight | |
1819 | neck.C1 = neor | |
1820 | weaponweld.C0 = CFrame.new(0,0,0) | |
1821 | attacking = false | |
1822 | criticalchance = normchance | |
1823 | plat = 2 | |
1824 | end | |
1825 | function combo() | |
1826 | att() | |
1827 | attas() | |
1828 | sprint() | |
1829 | spin() | |
1830 | end | |
1831 | function run() | |
1832 | spin() | |
1833 | spin() | |
1834 | spin() | |
1835 | end | |
1836 | function rush() | |
1837 | attacking = true | |
1838 | for i=1,8 do | |
1839 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0) | |
1840 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0) | |
1841 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
1842 | wait(0.1) | |
1843 | end | |
1844 | slash:play() | |
1845 | wait(0.13) | |
1846 | attack = true | |
1847 | local bv = Instance.new("BodyVelocity",torso) | |
1848 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1849 | bv.velocity = torso.CFrame.lookVector * 220 | |
1850 | local bav = Instance.new("BodyAngularVelocity",torso) | |
1851 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1852 | bav.angularvelocity = Vector3.new(0,36,0) | |
1853 | bav.P = 15000 | |
1854 | for i=1,6 do | |
1855 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0) | |
1856 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
1857 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
1858 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1859 | wait() | |
1860 | end | |
1861 | attack = false | |
1862 | wait(0.08) | |
1863 | for i=1,3 do | |
1864 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
1865 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
1866 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
1867 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1868 | wait() | |
1869 | end | |
1870 | rw.C0 = rightfight | |
1871 | lw.C0 = leftfight | |
1872 | bv:remove() | |
1873 | bav:remove() | |
1874 | neck.C1 = neor | |
1875 | weaponweld.C0 = CFrame.new(0,0,0) | |
1876 | attacking = false | |
1877 | end | |
1878 | function masta() | |
1879 | attacking = true | |
1880 | for i=1,8 do | |
1881 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0) | |
1882 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0) | |
1883 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
1884 | bal(torso,"Tr. Blue",25) | |
1885 | spikes2(torso,"Medium blue") | |
1886 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1887 | wait(0.1) | |
1888 | end | |
1889 | slash:play() | |
1890 | avgdmg = 37 | |
1891 | criticalchance = 125 | |
1892 | wait(0.13) | |
1893 | attack = true | |
1894 | local bv = Instance.new("BodyVelocity",torso) | |
1895 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1896 | bv.velocity = torso.CFrame.lookVector * 220 | |
1897 | local bav = Instance.new("BodyAngularVelocity",torso) | |
1898 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
1899 | bav.angularvelocity = Vector3.new(0,36,0) | |
1900 | bav.P = 15000 | |
1901 | for i=1,6 do | |
1902 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0) | |
1903 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
1904 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
1905 | bal(torso,"Tr. Blue",25) | |
1906 | spikes2(torso,"Medium blue") | |
1907 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1908 | wait() | |
1909 | end | |
1910 | attack = false | |
1911 | wait(0.08) | |
1912 | for i=1,3 do | |
1913 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
1914 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
1915 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
1916 | bal(torso,"Tr. Blue",25) | |
1917 | spikes2(torso,"Medium blue") | |
1918 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1919 | wait() | |
1920 | end | |
1921 | rw.C0 = rightfight | |
1922 | lw.C0 = leftfight | |
1923 | bv:remove() | |
1924 | bav:remove() | |
1925 | neck.C1 = neor | |
1926 | weaponweld.C0 = CFrame.new(0,0,0) | |
1927 | attacking = false | |
1928 | end | |
1929 | if script.Parent.className ~= "HopperBin" then | |
1930 | local h = Instance.new("HopperBin",me.Backpack) | |
1931 | h.Name = "SoulSword" | |
1932 | script.Parent = h | |
1933 | end | |
1934 | local bin = script.Parent | |
1935 | function sel(mouse) | |
1936 | neck.C1 = neor | |
1937 | if (selected == false) then | |
1938 | selectmotion() | |
1939 | end | |
1940 | mouse.Button1Down:connect(function() | |
1941 | if (attacking == false) then | |
1942 | att() | |
1943 | end | |
1944 | end) | |
1945 | mouse.KeyDown:connect(function(kuu) | |
1946 | local kai = kuu:lower() | |
1947 | if attacking == false then | |
1948 | if (kai == "q") then | |
1949 | spin() | |
1950 | elseif (kai == "e") then | |
1951 | att() | |
1952 | elseif (kai == "r") then | |
1953 | sprint() | |
1954 | elseif (kai == "l") then | |
1955 | stab() | |
1956 | elseif (kai == "t") then | |
1957 | attas() | |
1958 | elseif (kai == "z") then | |
1959 | masta() | |
1960 | elseif (kai == "y") then | |
1961 | spins() | |
1962 | elseif (kai == "g") then | |
1963 | combo() | |
1964 | elseif (kai == "p") then | |
1965 | rise() | |
1966 | elseif (kai == "j") then | |
1967 | sprint2() | |
1968 | elseif (kai == "h") then | |
1969 | run() | |
1970 | elseif (kai == "f") then | |
1971 | rush() | |
1972 | end | |
1973 | end | |
1974 | end) | |
1975 | while selected do | |
1976 | wait(0.8) | |
1977 | local k = math.random(1,5) | |
1978 | if k == 1 then | |
1979 | if hum.Health < 50 then | |
1980 | for i=1, math.random(4,24) do | |
1981 | wait(0.1) | |
1982 | local col = healcols[math.random(1,#healcols)] | |
1983 | local sa = math.random(30,90)/100 | |
1984 | local p = Instance.new("Part") | |
1985 | prop(p,me.Character,false,0.1,0.05,1,1,1,col,false,"Symmetric") | |
1986 | p.CFrame = CFrame.new(torso.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) * CFrame.new(0,0,math.random(4,12)) | |
1987 | local mes = Instance.new("SpecialMesh") | |
1988 | mesh(mes,p,sa,sa,sa,"Sphere") | |
1989 | local bg = Instance.new("BodyPosition",p) | |
1990 | bg.maxForce = Vector3.new(1000000,1000000,1000000) | |
1991 | bg.P = 100000 | |
1992 | bg.position = torso.Position | |
1993 | coroutine.resume(coroutine.create(function() | |
1994 | repeat | |
1995 | bg.position = torso.Position | |
1996 | wait() | |
1997 | until (p.Position - torso.Position).magnitude < 1.8 | |
1998 | hum.Health = hum.Health + 1.2 | |
1999 | p:remove() | |
2000 | end)) | |
2001 | end | |
2002 | end | |
2003 | end | |
2004 | end | |
2005 | end | |
2006 | function desel() | |
2007 | neck.C1 = neor | |
2008 | if selected then | |
2009 | deselmotion() | |
2010 | end | |
2011 | end | |
2012 | bin.Selected:connect(sel) | |
2013 | bin.Deselected:connect(desel) | |
2014 | --FireBenderRoblox |