SHOW:
|
|
- or go back to the newest paste.
1 | --reanimate by MyWorld#4430 discord.gg/pYVHtSJmEY | |
2 | local v3_net, v3_808 = Vector3.new(5000, 25.1, 0), Vector3.new(8, 0, 8) | |
3 | local function getNetlessVelocity(realPartVelocity) | |
4 | local mag = realPartVelocity.Magnitude | |
5 | if mag > 1 then | |
6 | local unit = realPartVelocity.Unit | |
7 | if (unit.Y > 0.25) or (unit.Y < -0.75) then | |
8 | return unit * (25.1 / unit.Y) | |
9 | end | |
10 | end | |
11 | return v3_net + realPartVelocity * v3_808 | |
12 | end | |
13 | local simradius = "shp" --simulation radius (net bypass) method | |
14 | --"shp" - sethiddenproperty | |
15 | --"ssr" - setsimulationradius | |
16 | --false - disable | |
17 | local simrad = 1000 --simulation radius value | |
18 | local healthHide = true --moves your head away every 3 seconds so players dont see your health bar (alignmode 4 only) | |
19 | 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) | |
20 | local novoid = true --prevents parts from going under workspace.FallenPartsDestroyHeight if you control them (alignmode 4 only) | |
21 | local physp = nil --PhysicalProperties.new(0.01, 0, 1, 0, 0) --sets .CustomPhysicalProperties to this for each part | |
22 | local noclipAllParts = false --set it to true if you want noclip | |
23 | local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character | |
24 | local newanimate = true --disables the animate script and enables after reanimation | |
25 | local discharscripts = true --disables all localScripts parented to your character before reanimation | |
26 | local R15toR6 = true --tries to convert your character to r6 if its r15 | |
27 | local hatcollide = false --makes hats cancollide (credit to ShownApe) (works only with reanimate method 0) | |
28 | local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState) | |
29 | local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation | |
30 | local hedafterneck = true --disable aligns for head and enable after neck or torso is removed | |
31 | local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay | |
32 | local method = 3 --reanimation method | |
33 | --methods: | |
34 | --0 - breakJoints (takes [loadtime] seconds to load) | |
35 | --1 - limbs | |
36 | --2 - limbs + anti respawn | |
37 | --3 - limbs + breakJoints after [loadtime] seconds | |
38 | --4 - remove humanoid + breakJoints | |
39 | --5 - remove humanoid + limbst | |
40 | local alignmode = 3 --AlignPosition mode | |
41 | --modes: | |
42 | --1 - AlignPosition rigidity enabled true | |
43 | --2 - 2 AlignPositions rigidity enabled both true and false | |
44 | --3 - AlignPosition rigidity enabled false | |
45 | --4 - CFrame | |
46 | local flingpart = "HumanoidRootPart" --name of the part or the hat used for flinging | |
47 | --the fling function | |
48 | --usage: fling(target, duration, velocity) | |
49 | --target can be set to: basePart, CFrame, Vector3, character model or humanoid (flings at mouse.Hit if argument not provided)) | |
50 | --duration (fling time in seconds) can be set to a number or a string convertable to the number (0.5s if not provided), | |
51 | --velocity (fling part rotation velocity) can be set to a vector3 value (Vector3.new(20000, 20000, 20000) if not provided) | |
52 | ||
53 | local lp = game:GetService("Players").LocalPlayer | |
54 | local rs, ws, sg = game:GetService("RunService"), game:GetService("Workspace"), game:GetService("StarterGui") | |
55 | local stepped, heartbeat, renderstepped = rs.Stepped, rs.Heartbeat, rs.RenderStepped | |
56 | local twait, tdelay, rad, inf, abs, clamp = task.wait, task.delay, math.rad, math.huge, math.abs, math.clamp | |
57 | local cf, v3 = CFrame.new, Vector3.new | |
58 | local angles = CFrame.Angles | |
59 | local v3_0, cf_0 = v3(0, 0, 0), cf(0, 0, 0) | |
60 | ||
61 | local c = lp.Character | |
62 | if not (c and c.Parent) then | |
63 | return | |
64 | end | |
65 | ||
66 | c:GetPropertyChangedSignal("Parent"):Connect(function() | |
67 | if not (c and c.Parent) then | |
68 | c = nil | |
69 | end | |
70 | end) | |
71 | ||
72 | local clone, destroy, getchildren, getdescendants, isa = c.Clone, c.Destroy, c.GetChildren, c.GetDescendants, c.IsA | |
73 | ||
74 | local function gp(parent, name, className) | |
75 | if typeof(parent) == "Instance" then | |
76 | for i, v in pairs(getchildren(parent)) do | |
77 | if (v.Name == name) and isa(v, className) then | |
78 | return v | |
79 | end | |
80 | end | |
81 | end | |
82 | return nil | |
83 | end | |
84 | ||
85 | local fenv = getfenv() | |
86 | ||
87 | local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop | |
88 | 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 | |
89 | ||
90 | healthHide = healthHide and ((method == 0) or (method == 3)) and gp(c, "Head", "BasePart") | |
91 | ||
92 | local reclaim, lostpart = reclaim and c.PrimaryPart, nil | |
93 | ||
94 | local function align(Part0, Part1) | |
95 | ||
96 | local att0 = Instance.new("Attachment") | |
97 | att0.Position, att0.Orientation, att0.Name = v3_0, v3_0, "att0_" .. Part0.Name | |
98 | local att1 = Instance.new("Attachment") | |
99 | att1.Position, att1.Orientation, att1.Name = v3_0, v3_0, "att1_" .. Part1.Name | |
100 | ||
101 | if alignmode == 4 then | |
102 | ||
103 | local hide = false | |
104 | if Part0 == healthHide then | |
105 | healthHide = false | |
106 | tdelay(0, function() | |
107 | while twait(2.9) and Part0 and c do | |
108 | hide = #Part0:GetConnectedParts() == 1 | |
109 | twait(0.1) | |
110 | hide = false | |
111 | end | |
112 | end) | |
113 | end | |
114 | ||
115 | local rot = rad(0.05) | |
116 | local con0, con1 = nil, nil | |
117 | con0 = stepped:Connect(function() | |
118 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
119 | Part0.RotVelocity = Part1.RotVelocity | |
120 | end) | |
121 | local lastpos = Part0.Position | |
122 | con1 = heartbeat:Connect(function(delta) | |
123 | if not (Part0 and Part1 and att1) then return con0:Disconnect() and con1:Disconnect() end | |
124 | if (not Part0.Anchored) and (Part0.ReceiveAge == 0) then | |
125 | if lostpart == Part0 then | |
126 | lostpart = nil | |
127 | end | |
128 | rot = -rot | |
129 | local newcf = Part1.CFrame * att1.CFrame * angles(0, 0, rot) | |
130 | if Part1.Velocity.Magnitude > 0.01 then | |
131 | Part0.Velocity = getNetlessVelocity(Part1.Velocity) | |
132 | else | |
133 | Part0.Velocity = getNetlessVelocity((newcf.Position - lastpos) / delta) | |
134 | end | |
135 | lastpos = newcf.Position | |
136 | if lostpart and (Part0 == reclaim) then | |
137 | newcf = lostpart.CFrame | |
138 | elseif hide then | |
139 | newcf += v3(0, 3000, 0) | |
140 | end | |
141 | if novoid and (newcf.Y < ws.FallenPartsDestroyHeight + 0.1) then | |
142 | newcf += v3(0, ws.FallenPartsDestroyHeight + 0.1 - newcf.Y, 0) | |
143 | end | |
144 | Part0.CFrame = newcf | |
145 | elseif (not Part0.Anchored) and (abs(Part0.Velocity.X) < 45) and (abs(Part0.Velocity.Y) < 25) and (abs(Part0.Velocity.Z) < 45) then | |
146 | lostpart = Part0 | |
147 | end | |
148 | end) | |
149 | ||
150 | else | |
151 | ||
152 | Part0.CustomPhysicalProperties = physp | |
153 | if (alignmode == 1) or (alignmode == 2) then | |
154 | local ape = Instance.new("AlignPosition") | |
155 | ape.MaxForce, ape.MaxVelocity, ape.Responsiveness = inf, inf, inf | |
156 | ape.ReactionForceEnabled, ape.RigidityEnabled, ape.ApplyAtCenterOfMass = false, true, false | |
157 | ape.Attachment0, ape.Attachment1, ape.Name = att0, att1, "AlignPositionRtrue" | |
158 | ape.Parent = att0 | |
159 | end | |
160 | ||
161 | if (alignmode == 2) or (alignmode == 3) then | |
162 | local apd = Instance.new("AlignPosition") | |
163 | apd.MaxForce, apd.MaxVelocity, apd.Responsiveness = inf, inf, inf | |
164 | apd.ReactionForceEnabled, apd.RigidityEnabled, apd.ApplyAtCenterOfMass = false, false, false | |
165 | apd.Attachment0, apd.Attachment1, apd.Name = att0, att1, "AlignPositionRfalse" | |
166 | apd.Parent = att0 | |
167 | end | |
168 | ||
169 | local ao = Instance.new("AlignOrientation") | |
170 | ao.MaxAngularVelocity, ao.MaxTorque, ao.Responsiveness = inf, inf, inf | |
171 | ao.PrimaryAxisOnly, ao.ReactionTorqueEnabled, ao.RigidityEnabled = false, false, false | |
172 | ao.Attachment0, ao.Attachment1 = att0, att1 | |
173 | ao.Parent = att0 | |
174 | ||
175 | local con0, con1 = nil, nil | |
176 | local vel = Part0.Velocity | |
177 | con0 = renderstepped:Connect(function() | |
178 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
179 | Part0.Velocity = vel | |
180 | end) | |
181 | local lastpos = Part0.Position | |
182 | con1 = heartbeat:Connect(function(delta) | |
183 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
184 | vel = Part0.Velocity | |
185 | if Part1.Velocity.Magnitude > 0.01 then | |
186 | Part0.Velocity = getNetlessVelocity(Part1.Velocity) | |
187 | else | |
188 | Part0.Velocity = getNetlessVelocity((Part0.Position - lastpos) / delta) | |
189 | end | |
190 | lastpos = Part0.Position | |
191 | end) | |
192 | ||
193 | end | |
194 | ||
195 | att0:GetPropertyChangedSignal("Parent"):Connect(function() | |
196 | Part0 = att0.Parent | |
197 | if not isa(Part0, "BasePart") then | |
198 | att0 = nil | |
199 | if lostpart == Part0 then | |
200 | lostpart = nil | |
201 | end | |
202 | Part0 = nil | |
203 | end | |
204 | end) | |
205 | att0.Parent = Part0 | |
206 | ||
207 | att1:GetPropertyChangedSignal("Parent"):Connect(function() | |
208 | Part1 = att1.Parent | |
209 | if not isa(Part1, "BasePart") then | |
210 | att1 = nil | |
211 | Part1 = nil | |
212 | end | |
213 | end) | |
214 | att1.Parent = Part1 | |
215 | end | |
216 | ||
217 | local function respawnrequest() | |
218 | local ccfr, c = ws.CurrentCamera.CFrame, lp.Character | |
219 | lp.Character = nil | |
220 | lp.Character = c | |
221 | local con = nil | |
222 | con = ws.CurrentCamera.Changed:Connect(function(prop) | |
223 | if (prop ~= "Parent") and (prop ~= "CFrame") then | |
224 | return | |
225 | end | |
226 | ws.CurrentCamera.CFrame = ccfr | |
227 | con:Disconnect() | |
228 | end) | |
229 | end | |
230 | ||
231 | local destroyhum = (method == 4) or (method == 5) | |
232 | local breakjoints = (method == 0) or (method == 4) | |
233 | local antirespawn = (method == 0) or (method == 2) or (method == 3) | |
234 | ||
235 | hatcollide = hatcollide and (method == 0) | |
236 | ||
237 | addtools = addtools and lp:FindFirstChildOfClass("Backpack") | |
238 | ||
239 | if type(simrad) ~= "number" then simrad = 1000 end | |
240 | if shp and (simradius == "shp") then | |
241 | tdelay(0, function() | |
242 | while c do | |
243 | shp(lp, "SimulationRadius", simrad) | |
244 | heartbeat:Wait() | |
245 | end | |
246 | end) | |
247 | elseif ssr and (simradius == "ssr") then | |
248 | tdelay(0, function() | |
249 | while c do | |
250 | ssr(simrad) | |
251 | heartbeat:Wait() | |
252 | end | |
253 | end) | |
254 | end | |
255 | ||
256 | if antiragdoll then | |
257 | antiragdoll = function(v) | |
258 | if isa(v, "HingeConstraint") or isa(v, "BallSocketConstraint") then | |
259 | v.Parent = nil | |
260 | end | |
261 | end | |
262 | for i, v in pairs(getdescendants(c)) do | |
263 | antiragdoll(v) | |
264 | end | |
265 | c.DescendantAdded:Connect(antiragdoll) | |
266 | end | |
267 | ||
268 | if antirespawn then | |
269 | respawnrequest() | |
270 | end | |
271 | ||
272 | if method == 0 then | |
273 | twait(loadtime) | |
274 | if not c then | |
275 | return | |
276 | end | |
277 | end | |
278 | ||
279 | if discharscripts then | |
280 | for i, v in pairs(getdescendants(c)) do | |
281 | if isa(v, "LocalScript") then | |
282 | v.Disabled = true | |
283 | end | |
284 | end | |
285 | elseif newanimate then | |
286 | local animate = gp(c, "Animate", "LocalScript") | |
287 | if animate and (not animate.Disabled) then | |
288 | animate.Disabled = true | |
289 | else | |
290 | newanimate = false | |
291 | end | |
292 | end | |
293 | ||
294 | if addtools then | |
295 | for i, v in pairs(getchildren(addtools)) do | |
296 | if isa(v, "Tool") then | |
297 | v.Parent = c | |
298 | end | |
299 | end | |
300 | end | |
301 | ||
302 | pcall(function() | |
303 | settings().Physics.AllowSleep = false | |
304 | settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled | |
305 | end) | |
306 | ||
307 | local OLDscripts = {} | |
308 | ||
309 | for i, v in pairs(getdescendants(c)) do | |
310 | if v.ClassName == "Script" then | |
311 | OLDscripts[v.Name] = true | |
312 | end | |
313 | end | |
314 | ||
315 | local scriptNames = {} | |
316 | ||
317 | for i, v in pairs(getdescendants(c)) do | |
318 | if isa(v, "BasePart") then | |
319 | local newName, exists = tostring(i), true | |
320 | while exists do | |
321 | exists = OLDscripts[newName] | |
322 | if exists then | |
323 | newName = newName .. "_" | |
324 | end | |
325 | end | |
326 | table.insert(scriptNames, newName) | |
327 | Instance.new("Script", v).Name = newName | |
328 | end | |
329 | end | |
330 | ||
331 | local hum = c:FindFirstChildOfClass("Humanoid") | |
332 | if hum then | |
333 | for i, v in pairs(hum:GetPlayingAnimationTracks()) do | |
334 | v:Stop() | |
335 | end | |
336 | end | |
337 | c.Archivable = true | |
338 | local cl = clone(c) | |
339 | if hum and humState16 then | |
340 | hum:ChangeState(Enum.HumanoidStateType.Physics) | |
341 | if destroyhum then | |
342 | twait(1.6) | |
343 | end | |
344 | end | |
345 | if destroyhum then | |
346 | pcall(destroy, hum) | |
347 | end | |
348 | ||
349 | if not c then | |
350 | return | |
351 | end | |
352 | ||
353 | local head, torso, root = gp(c, "Head", "BasePart"), gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart"), gp(c, "HumanoidRootPart", "BasePart") | |
354 | if hatcollide then | |
355 | pcall(destroy, torso) | |
356 | pcall(destroy, root) | |
357 | pcall(destroy, c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script")) | |
358 | end | |
359 | ||
360 | local model = Instance.new("Model", c) | |
361 | model:GetPropertyChangedSignal("Parent"):Connect(function() | |
362 | if not (model and model.Parent) then | |
363 | model = nil | |
364 | end | |
365 | end) | |
366 | ||
367 | for i, v in pairs(getchildren(c)) do | |
368 | if v ~= model then | |
369 | if addtools and isa(v, "Tool") then | |
370 | for i1, v1 in pairs(getdescendants(v)) do | |
371 | if v1 and v1.Parent and isa(v1, "BasePart") then | |
372 | local bv = Instance.new("BodyVelocity") | |
373 | bv.Velocity, bv.MaxForce, bv.P, bv.Name = v3_0, v3(1000, 1000, 1000), 1250, "bv_" .. v.Name | |
374 | bv.Parent = v1 | |
375 | end | |
376 | end | |
377 | end | |
378 | v.Parent = model | |
379 | end | |
380 | end | |
381 | ||
382 | if breakjoints then | |
383 | model:BreakJoints() | |
384 | else | |
385 | if head and torso then | |
386 | for i, v in pairs(getdescendants(model)) do | |
387 | if isa(v, "JointInstance") then | |
388 | local save = false | |
389 | if (v.Part0 == torso) and (v.Part1 == head) then | |
390 | save = true | |
391 | end | |
392 | if (v.Part0 == head) and (v.Part1 == torso) then | |
393 | save = true | |
394 | end | |
395 | if save then | |
396 | if hedafterneck then | |
397 | hedafterneck = v | |
398 | end | |
399 | else | |
400 | pcall(destroy, v) | |
401 | end | |
402 | end | |
403 | end | |
404 | end | |
405 | if method == 3 then | |
406 | task.delay(loadtime, pcall, model.BreakJoints, model) | |
407 | end | |
408 | end | |
409 | ||
410 | cl.Parent = ws | |
411 | for i, v in pairs(getchildren(cl)) do | |
412 | v.Parent = c | |
413 | end | |
414 | pcall(destroy, cl) | |
415 | ||
416 | local uncollide, noclipcon = nil, nil | |
417 | if noclipAllParts then | |
418 | uncollide = function() | |
419 | if c then | |
420 | for i, v in pairs(getdescendants(c)) do | |
421 | if isa(v, "BasePart") then | |
422 | v.CanCollide = false | |
423 | end | |
424 | end | |
425 | else | |
426 | noclipcon:Disconnect() | |
427 | end | |
428 | end | |
429 | else | |
430 | uncollide = function() | |
431 | if model then | |
432 | for i, v in pairs(getdescendants(model)) do | |
433 | if isa(v, "BasePart") then | |
434 | v.CanCollide = false | |
435 | end | |
436 | end | |
437 | else | |
438 | noclipcon:Disconnect() | |
439 | end | |
440 | end | |
441 | end | |
442 | noclipcon = stepped:Connect(uncollide) | |
443 | uncollide() | |
444 | ||
445 | for i, scr in pairs(getdescendants(model)) do | |
446 | if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then | |
447 | local Part0 = scr.Parent | |
448 | if isa(Part0, "BasePart") then | |
449 | for i1, scr1 in pairs(getdescendants(c)) do | |
450 | if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then | |
451 | local Part1 = scr1.Parent | |
452 | if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then | |
453 | align(Part0, Part1) | |
454 | pcall(destroy, scr) | |
455 | pcall(destroy, scr1) | |
456 | break | |
457 | end | |
458 | end | |
459 | end | |
460 | end | |
461 | end | |
462 | end | |
463 | ||
464 | for i, v in pairs(getdescendants(c)) do | |
465 | if v and v.Parent and (not v:IsDescendantOf(model)) then | |
466 | if isa(v, "Decal") then | |
467 | v.Transparency = 1 | |
468 | elseif isa(v, "BasePart") then | |
469 | v.Transparency = 1 | |
470 | v.Anchored = false | |
471 | elseif isa(v, "ForceField") then | |
472 | v.Visible = false | |
473 | elseif isa(v, "Sound") then | |
474 | v.Playing = false | |
475 | 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 | |
476 | v.Enabled = false | |
477 | end | |
478 | end | |
479 | end | |
480 | ||
481 | if newanimate then | |
482 | local animate = gp(c, "Animate", "LocalScript") | |
483 | if animate then | |
484 | animate.Disabled = false | |
485 | end | |
486 | end | |
487 | ||
488 | if addtools then | |
489 | for i, v in pairs(getchildren(c)) do | |
490 | if isa(v, "Tool") then | |
491 | v.Parent = addtools | |
492 | end | |
493 | end | |
494 | end | |
495 | ||
496 | local hum0, hum1 = model:FindFirstChildOfClass("Humanoid"), c:FindFirstChildOfClass("Humanoid") | |
497 | if hum0 then | |
498 | hum0:GetPropertyChangedSignal("Parent"):Connect(function() | |
499 | if not (hum0 and hum0.Parent) then | |
500 | hum0 = nil | |
501 | end | |
502 | end) | |
503 | end | |
504 | if hum1 then | |
505 | hum1:GetPropertyChangedSignal("Parent"):Connect(function() | |
506 | if not (hum1 and hum1.Parent) then | |
507 | hum1 = nil | |
508 | end | |
509 | end) | |
510 | ||
511 | ws.CurrentCamera.CameraSubject = hum1 | |
512 | local camSubCon = nil | |
513 | local function camSubFunc() | |
514 | camSubCon:Disconnect() | |
515 | if c and hum1 then | |
516 | ws.CurrentCamera.CameraSubject = hum1 | |
517 | end | |
518 | end | |
519 | camSubCon = renderstepped:Connect(camSubFunc) | |
520 | if hum0 then | |
521 | hum0:GetPropertyChangedSignal("Jump"):Connect(function() | |
522 | if hum1 then | |
523 | hum1.Jump = hum0.Jump | |
524 | end | |
525 | end) | |
526 | else | |
527 | respawnrequest() | |
528 | end | |
529 | end | |
530 | ||
531 | local rb = Instance.new("BindableEvent", c) | |
532 | rb.Event:Connect(function() | |
533 | pcall(destroy, rb) | |
534 | sg:SetCore("ResetButtonCallback", true) | |
535 | if destroyhum then | |
536 | if c then c:BreakJoints() end | |
537 | return | |
538 | end | |
539 | if model and hum0 and (hum0.Health > 0) then | |
540 | model:BreakJoints() | |
541 | hum0.Health = 0 | |
542 | end | |
543 | if antirespawn then | |
544 | respawnrequest() | |
545 | end | |
546 | end) | |
547 | sg:SetCore("ResetButtonCallback", rb) | |
548 | ||
549 | tdelay(0, function() | |
550 | while c do | |
551 | if hum0 and hum1 then | |
552 | hum1.Jump = hum0.Jump | |
553 | end | |
554 | wait() | |
555 | end | |
556 | sg:SetCore("ResetButtonCallback", true) | |
557 | end) | |
558 | ||
559 | R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15) | |
560 | if R15toR6 then | |
561 | 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") | |
562 | if part then | |
563 | local cfr = part.CFrame | |
564 | local R6parts = { | |
565 | head = { | |
566 | Name = "Head", | |
567 | Size = v3(2, 1, 1), | |
568 | R15 = { | |
569 | Head = 0 | |
570 | } | |
571 | }, | |
572 | torso = { | |
573 | Name = "Torso", | |
574 | Size = v3(2, 2, 1), | |
575 | R15 = { | |
576 | UpperTorso = 0.2, | |
577 | LowerTorso = -0.8 | |
578 | } | |
579 | }, | |
580 | root = { | |
581 | Name = "HumanoidRootPart", | |
582 | Size = v3(2, 2, 1), | |
583 | R15 = { | |
584 | HumanoidRootPart = 0 | |
585 | } | |
586 | }, | |
587 | leftArm = { | |
588 | Name = "Left Arm", | |
589 | Size = v3(1, 2, 1), | |
590 | R15 = { | |
591 | LeftHand = -0.849, | |
592 | LeftLowerArm = -0.174, | |
593 | LeftUpperArm = 0.415 | |
594 | } | |
595 | }, | |
596 | rightArm = { | |
597 | Name = "Right Arm", | |
598 | Size = v3(1, 2, 1), | |
599 | R15 = { | |
600 | RightHand = -0.849, | |
601 | RightLowerArm = -0.174, | |
602 | RightUpperArm = 0.415 | |
603 | } | |
604 | }, | |
605 | leftLeg = { | |
606 | Name = "Left Leg", | |
607 | Size = v3(1, 2, 1), | |
608 | R15 = { | |
609 | LeftFoot = -0.85, | |
610 | LeftLowerLeg = -0.29, | |
611 | LeftUpperLeg = 0.49 | |
612 | } | |
613 | }, | |
614 | rightLeg = { | |
615 | Name = "Right Leg", | |
616 | Size = v3(1, 2, 1), | |
617 | R15 = { | |
618 | RightFoot = -0.85, | |
619 | RightLowerLeg = -0.29, | |
620 | RightUpperLeg = 0.49 | |
621 | } | |
622 | } | |
623 | } | |
624 | for i, v in pairs(getchildren(c)) do | |
625 | if isa(v, "BasePart") then | |
626 | for i1, v1 in pairs(getchildren(v)) do | |
627 | if isa(v1, "Motor6D") then | |
628 | v1.Part0 = nil | |
629 | end | |
630 | end | |
631 | end | |
632 | end | |
633 | part.Archivable = true | |
634 | for i, v in pairs(R6parts) do | |
635 | local part = clone(part) | |
636 | part:ClearAllChildren() | |
637 | part.Name, part.Size, part.CFrame, part.Anchored, part.Transparency, part.CanCollide = v.Name, v.Size, cfr, false, 1, false | |
638 | for i1, v1 in pairs(v.R15) do | |
639 | local R15part = gp(c, i1, "BasePart") | |
640 | local att = gp(R15part, "att1_" .. i1, "Attachment") | |
641 | if R15part then | |
642 | local weld = Instance.new("Weld") | |
643 | weld.Part0, weld.Part1, weld.C0, weld.C1, weld.Name = part, R15part, cf(0, v1, 0), cf_0, "Weld_" .. i1 | |
644 | weld.Parent = R15part | |
645 | R15part.Massless, R15part.Name = true, "R15_" .. i1 | |
646 | R15part.Parent = part | |
647 | if att then | |
648 | att.Position = v3(0, v1, 0) | |
649 | att.Parent = part | |
650 | end | |
651 | end | |
652 | end | |
653 | part.Parent = c | |
654 | R6parts[i] = part | |
655 | end | |
656 | local R6joints = { | |
657 | neck = { | |
658 | Parent = R6parts.torso, | |
659 | Name = "Neck", | |
660 | Part0 = R6parts.torso, | |
661 | Part1 = R6parts.head, | |
662 | C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
663 | C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
664 | }, | |
665 | rootJoint = { | |
666 | Parent = R6parts.root, | |
667 | Name = "RootJoint" , | |
668 | Part0 = R6parts.root, | |
669 | Part1 = R6parts.torso, | |
670 | C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
671 | C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
672 | }, | |
673 | rightShoulder = { | |
674 | Parent = R6parts.torso, | |
675 | Name = "Right Shoulder", | |
676 | Part0 = R6parts.torso, | |
677 | Part1 = R6parts.rightArm, | |
678 | C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
679 | C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
680 | }, | |
681 | leftShoulder = { | |
682 | Parent = R6parts.torso, | |
683 | Name = "Left Shoulder", | |
684 | Part0 = R6parts.torso, | |
685 | Part1 = R6parts.leftArm, | |
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 | rightHip = { | |
690 | Parent = R6parts.torso, | |
691 | Name = "Right Hip", | |
692 | Part0 = R6parts.torso, | |
693 | Part1 = R6parts.rightLeg, | |
694 | C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
695 | C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
696 | }, | |
697 | leftHip = { | |
698 | Parent = R6parts.torso, | |
699 | Name = "Left Hip" , | |
700 | Part0 = R6parts.torso, | |
701 | Part1 = R6parts.leftLeg, | |
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 | } | |
706 | for i, v in pairs(R6joints) do | |
707 | local joint = Instance.new("Motor6D") | |
708 | for prop, val in pairs(v) do | |
709 | joint[prop] = val | |
710 | end | |
711 | R6joints[i] = joint | |
712 | end | |
713 | if hum1 then | |
714 | hum1.RigType, hum1.HipHeight = Enum.HumanoidRigType.R6, 0 | |
715 | end | |
716 | end | |
717 | end | |
718 | ||
719 | local torso1 = torso | |
720 | torso = gp(c, "Torso", "BasePart") or ((not R15toR6) and gp(c, torso.Name, "BasePart")) | |
721 | if (typeof(hedafterneck) == "Instance") and head and torso and torso1 then | |
722 | local conNeck, conTorso, conTorso1 = nil, nil, nil | |
723 | local aligns = {} | |
724 | local function enableAligns() | |
725 | conNeck:Disconnect() | |
726 | conTorso:Disconnect() | |
727 | conTorso1:Disconnect() | |
728 | for i, v in pairs(aligns) do | |
729 | v.Enabled = true | |
730 | end | |
731 | end | |
732 | conNeck = hedafterneck.Changed:Connect(function(prop) | |
733 | if table.find({"Part0", "Part1", "Parent"}, prop) then | |
734 | enableAligns() | |
735 | end | |
736 | end) | |
737 | conTorso = torso:GetPropertyChangedSignal("Parent"):Connect(enableAligns) | |
738 | conTorso1 = torso1:GetPropertyChangedSignal("Parent"):Connect(enableAligns) | |
739 | for i, v in pairs(getdescendants(head)) do | |
740 | if isa(v, "AlignPosition") or isa(v, "AlignOrientation") then | |
741 | i = tostring(i) | |
742 | aligns[i] = v | |
743 | v:GetPropertyChangedSignal("Parent"):Connect(function() | |
744 | aligns[i] = nil | |
745 | end) | |
746 | v.Enabled = false | |
747 | end | |
748 | end | |
749 | end | |
750 | ||
751 | local flingpart0 = gp(model, flingpart, "BasePart") or gp(gp(model, flingpart, "Accessory"), "Handle", "BasePart") | |
752 | local flingpart1 = gp(c, flingpart, "BasePart") or gp(gp(c, flingpart, "Accessory"), "Handle", "BasePart") | |
753 | ||
754 | local fling = function() end | |
755 | if flingpart0 and flingpart1 then | |
756 | flingpart0:GetPropertyChangedSignal("Parent"):Connect(function() | |
757 | if not (flingpart0 and flingpart0.Parent) then | |
758 | flingpart0 = nil | |
759 | fling = function() end | |
760 | end | |
761 | end) | |
762 | flingpart0.Archivable = true | |
763 | flingpart1:GetPropertyChangedSignal("Parent"):Connect(function() | |
764 | if not (flingpart1 and flingpart1.Parent) then | |
765 | flingpart1 = nil | |
766 | fling = function() end | |
767 | end | |
768 | end) | |
769 | local att0 = gp(flingpart0, "att0_" .. flingpart0.Name, "Attachment") | |
770 | local att1 = gp(flingpart1, "att1_" .. flingpart1.Name, "Attachment") | |
771 | if att0 and att1 then | |
772 | att0:GetPropertyChangedSignal("Parent"):Connect(function() | |
773 | if not (att0 and att0.Parent) then | |
774 | att0 = nil | |
775 | fling = function() end | |
776 | end | |
777 | end) | |
778 | att1:GetPropertyChangedSignal("Parent"):Connect(function() | |
779 | if not (att1 and att1.Parent) then | |
780 | att1 = nil | |
781 | fling = function() end | |
782 | end | |
783 | end) | |
784 | local lastfling = nil | |
785 | local mouse = lp:GetMouse() | |
786 | fling = function(target, duration, rotVelocity) | |
787 | if typeof(target) == "Instance" then | |
788 | if isa(target, "BasePart") then | |
789 | target = target.Position | |
790 | elseif isa(target, "Model") then | |
791 | target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart") | |
792 | if target then | |
793 | target = target.Position | |
794 | else | |
795 | return | |
796 | end | |
797 | elseif isa(target, "Humanoid") then | |
798 | target = target.Parent | |
799 | if not (target and isa(target, "Model")) then | |
800 | return | |
801 | end | |
802 | target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart") | |
803 | if target then | |
804 | target = target.Position | |
805 | else | |
806 | return | |
807 | end | |
808 | else | |
809 | return | |
810 | end | |
811 | elseif typeof(target) == "CFrame" then | |
812 | target = target.Position | |
813 | elseif typeof(target) ~= "Vector3" then | |
814 | target = mouse.Hit | |
815 | if target then | |
816 | target = target.Position | |
817 | else | |
818 | return | |
819 | end | |
820 | end | |
821 | if target.Y < ws.FallenPartsDestroyHeight + 5 then | |
822 | target = v3(target.X, ws.FallenPartsDestroyHeight + 5, target.Z) | |
823 | end | |
824 | lastfling = target | |
825 | if type(duration) ~= "number" then | |
826 | duration = tonumber(duration) or 0.5 | |
827 | end | |
828 | if typeof(rotVelocity) ~= "Vector3" then | |
829 | rotVelocity = v3(20000, 20000, 20000) | |
830 | end | |
831 | if not (target and flingpart0 and flingpart1 and att0 and att1) then | |
832 | return | |
833 | end | |
834 | flingpart0.Archivable = true | |
835 | local flingpart = clone(flingpart0) | |
836 | flingpart.Transparency = 1 | |
837 | flingpart.CanCollide = false | |
838 | flingpart.Name = "flingpart_" .. flingpart0.Name | |
839 | flingpart.Anchored = true | |
840 | flingpart.Velocity = v3_0 | |
841 | flingpart.RotVelocity = v3_0 | |
842 | flingpart.Position = target | |
843 | flingpart:GetPropertyChangedSignal("Parent"):Connect(function() | |
844 | if not (flingpart and flingpart.Parent) then | |
845 | flingpart = nil | |
846 | end | |
847 | end) | |
848 | flingpart.Parent = flingpart1 | |
849 | if flingpart0.Transparency > 0.5 then | |
850 | flingpart0.Transparency = 0.5 | |
851 | end | |
852 | att1.Parent = flingpart | |
853 | local con = nil | |
854 | local rotchg = v3(0, rotVelocity.Unit.Y * -1000, 0) | |
855 | con = heartbeat:Connect(function(delta) | |
856 | if target and (lastfling == target) and flingpart and flingpart0 and flingpart1 and att0 and att1 then | |
857 | flingpart.Orientation += rotchg * delta | |
858 | flingpart0.RotVelocity = rotVelocity | |
859 | else | |
860 | con:Disconnect() | |
861 | end | |
862 | end) | |
863 | if alignmode ~= 4 then | |
864 | local con = nil | |
865 | con = renderstepped:Connect(function() | |
866 | if flingpart0 and target then | |
867 | flingpart0.RotVelocity = v3_0 | |
868 | else | |
869 | con:Disconnect() | |
870 | end | |
871 | end) | |
872 | end | |
873 | twait(duration) | |
874 | if lastfling ~= target then | |
875 | if flingpart then | |
876 | if att1 and (att1.Parent == flingpart) then | |
877 | att1.Parent = flingpart1 | |
878 | end | |
879 | pcall(destroy, flingpart) | |
880 | end | |
881 | return | |
882 | end | |
883 | target = nil | |
884 | if not (flingpart and flingpart0 and flingpart1 and att0 and att1) then | |
885 | return | |
886 | end | |
887 | flingpart0.RotVelocity = v3_0 | |
888 | att1.Parent = flingpart1 | |
889 | pcall(destroy, flingpart) | |
890 | end | |
891 | end | |
892 | end | |
893 | ||
894 | lp:GetMouse().Button1Down:Connect(fling) --click fling | |
895 | ||
896 | Player = game.Players.LocalPlayer | |
897 | Character = Player.Character | |
898 | PlayerGui = Player.PlayerGui | |
899 | Backpack = Player.Backpack | |
900 | Torso = Character.Torso | |
901 | Head = Character.Head | |
902 | Humanoid = Character.Humanoid | |
903 | Humanoid.WalkSpeed = 10 | |
904 | LeftArm = Character["Left Arm"] | |
905 | LeftLeg = Character["Left Leg"] | |
906 | RightArm = Character["Right Arm"] | |
907 | RightLeg = Character["Right Leg"] | |
908 | Character = Player.Character | |
909 | PlayerGui = Player.PlayerGui | |
910 | Backpack = Player.Backpack | |
911 | Torso = Character.Torso | |
912 | Head = Character.Head | |
913 | Humanoid = Character.Humanoid | |
914 | LeftArm = Character["Left Arm"] | |
915 | LeftLeg = Character["Left Leg"] | |
916 | RightArm = Character["Right Arm"] | |
917 | RightLeg = Character["Right Leg"] | |
918 | LS = Torso["Left Shoulder"] | |
919 | LH = Torso["Left Hip"] | |
920 | RS = Torso["Right Shoulder"] | |
921 | RH = Torso["Right Hip"] | |
922 | Neck = Torso.Neck | |
923 | attacktype = 1 | |
924 | vt = Vector3.new | |
925 | cf = CFrame.new | |
926 | euler = CFrame.fromEulerAnglesXYZ | |
927 | angles = CFrame.Angles | |
928 | necko = cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
929 | necko2 = cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
930 | LHC0 = cf(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
931 | LHC1 = cf(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
932 | RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
933 | RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
934 | RootPart = Character.HumanoidRootPart | |
935 | RootJoint = RootPart.RootJoint | |
936 | RootCF = euler(-1.57, 0, 3.14) | |
937 | attack = false | |
938 | equipped = true | |
939 | local Anim = "Idle" | |
940 | local Effects = {} | |
941 | cam = workspace.CurrentCamera | |
942 | ZTarget = nil | |
943 | RocketTarget = nil | |
944 | local RbxUtility = LoadLibrary("RbxUtility") | |
945 | local Create = RbxUtility.Create | |
946 | local m = Create("Model"){ | |
947 | Parent = Character, | |
948 | Name = "WeaponModel", | |
949 | } | |
950 | mouse = Player:GetMouse() | |
951 | RSH, LSH = nil, nil | |
952 | LH = Torso["Left Hip"] | |
953 | RH = Torso["Right Hip"] | |
954 | RSH = Torso["Right Shoulder"] | |
955 | LSH = Torso["Left Shoulder"] | |
956 | ||
957 | RSH.Parent = nil | |
958 | LSH.Parent = nil | |
959 | ||
960 | RW = Create("Weld"){ | |
961 | Name = "Right Shoulder", | |
962 | Part0 = Torso , | |
963 | C0 = cf(1.5, 0.5, 0), | |
964 | C1 = cf(0, 0.5, 0), | |
965 | Part1 = RightArm , | |
966 | Parent = Torso , | |
967 | } | |
968 | ||
969 | LW = Create("Weld"){ | |
970 | Name = "Left Shoulder", | |
971 | Part0 = Torso , | |
972 | C0 = cf(-1.5, 0.5, 0), | |
973 | C1 = cf(0, 0.5, 0) , | |
974 | Part1 = LeftArm , | |
975 | Parent = Torso , | |
976 | } | |
977 | ||
978 | function NoOutline(Part) | |
979 | Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10 | |
980 | end | |
981 | function swait(num) | |
982 | if num == 0 or num == nil then | |
983 | game:service'RunService'.Heartbeat:wait(0) | |
984 | else | |
985 | for i = 0, num do | |
986 | game:service'RunService'.Heartbeat:wait(0) | |
987 | end | |
988 | end | |
989 | end | |
990 | ||
991 | function nooutline(part) | |
992 | part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10 | |
993 | end | |
994 | ||
995 | function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size) | |
996 | local fp = Create("Part"){ | |
997 | formFactor = formfactor, | |
998 | Parent = parent, | |
999 | Reflectance = reflectance, | |
1000 | Transparency = transparency, | |
1001 | CanCollide = false, | |
1002 | Locked = true, | |
1003 | BrickColor = BrickColor.new(tostring(brickcolor)), | |
1004 | Name = name, | |
1005 | Size = size, | |
1006 | Position = Character.Torso.Position, | |
1007 | Material = material, | |
1008 | } | |
1009 | nooutline(fp) | |
1010 | return fp | |
1011 | end | |
1012 | ||
1013 | function mesh(Mesh, part, meshtype, meshid, offset, scale) | |
1014 | local Msh = Create(Mesh){ | |
1015 | Parent = part, | |
1016 | Offset = offset, | |
1017 | Scale = scale, | |
1018 | } | |
1019 | if Mesh == "SpecialMesh" then | |
1020 | Msh.MeshType = meshtype | |
1021 | Msh.MeshId = meshid | |
1022 | end | |
1023 | return Msh | |
1024 | end | |
1025 | ||
1026 | function weld(parent, part0, part1, c0, c1) | |
1027 | local Weld = Create("Weld"){ | |
1028 | Parent = parent, | |
1029 | Part0 = part0, | |
1030 | Part1 = part1, | |
1031 | C0 = c0, | |
1032 | C1 = c1, | |
1033 | } | |
1034 | return Weld | |
1035 | end | |
1036 | ||
1037 | ||
1038 | local function CFrameFromTopBack(at, top, back) | |
1039 | local right = top:Cross(back) | |
1040 | return CFrame.new(at.x, at.y, at.z, | |
1041 | right.x, top.x, back.x, | |
1042 | right.y, top.y, back.y, | |
1043 | right.z, top.z, back.z) | |
1044 | end | |
1045 | ||
1046 | function Triangle(a, b, c) | |
1047 | local edg1 = (c - a):Dot((b - a).unit) | |
1048 | local edg2 = (a - b):Dot((c - b).unit) | |
1049 | local edg3 = (b - c):Dot((a - c).unit) | |
1050 | if edg1 <= (b - a).magnitude and edg1 >= 0 then | |
1051 | a, b, c = a, b, c | |
1052 | elseif edg2 <= (c - b).magnitude and edg2 >= 0 then | |
1053 | a, b, c = b, c, a | |
1054 | elseif edg3 <= (a - c).magnitude and edg3 >= 0 then | |
1055 | a, b, c = c, a, b | |
1056 | else | |
1057 | assert(false, "unreachable") | |
1058 | end | |
1059 | ||
1060 | local len1 = (c - a):Dot((b - a).unit) | |
1061 | local len2 = (b - a).magnitude - len1 | |
1062 | local width = (a + (b - a).unit * len1 - c).magnitude | |
1063 | ||
1064 | local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit) | |
1065 | ||
1066 | local list = {} | |
1067 | ||
1068 | local Color = BrickColor.new("Lime green") | |
1069 | ||
1070 | if len1 > 0.01 then | |
1071 | local w1 = Create('WedgePart', m){ | |
1072 | Material = "SmoothPlastic", | |
1073 | FormFactor = 'Custom', | |
1074 | BrickColor = Color, | |
1075 | Transparency = 0, | |
1076 | Reflectance = 0, | |
1077 | Material = "SmoothPlastic", | |
1078 | CanCollide = false, | |
1079 | Anchored = true, | |
1080 | Parent = workspace, | |
1081 | Transparency = 0.3, | |
1082 | } | |
1083 | game:GetService("Debris"):AddItem(w1, 5) | |
1084 | NoOutline(w1) | |
1085 | local sz = Vector3.new(0.2, width, len1) | |
1086 | w1.Size = sz | |
1087 | local sp = Create("SpecialMesh"){ | |
1088 | Parent = w1, | |
1089 | MeshType = "Wedge", | |
1090 | Scale = Vector3.new(0, 1, 1) * sz / w1.Size, | |
1091 | } | |
1092 | w1:BreakJoints() | |
1093 | table.insert(Effects, { | |
1094 | w1, | |
1095 | "Disappear", | |
1096 | .03 | |
1097 | }) | |
1098 | w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2) | |
1099 | table.insert(list, w1) | |
1100 | end | |
1101 | if len2 > 0.01 then | |
1102 | local w2 = Create('WedgePart', m){ | |
1103 | Material = "SmoothPlastic", | |
1104 | FormFactor = 'Custom', | |
1105 | BrickColor = Color, | |
1106 | Transparency = 0, | |
1107 | Reflectance = 0, | |
1108 | Material = "SmoothPlastic", | |
1109 | CanCollide = false, | |
1110 | Anchored = true, | |
1111 | Parent = workspace, | |
1112 | Transparency = 0.3, | |
1113 | } | |
1114 | game:GetService("Debris"):AddItem(w2, 5) | |
1115 | NoOutline(w2) | |
1116 | local sz = Vector3.new(0.2, width, len2) | |
1117 | w2.Size = sz | |
1118 | local sp = Create("SpecialMesh"){ | |
1119 | Parent = w2, | |
1120 | MeshType = "Wedge", | |
1121 | Scale = Vector3.new(0, 1, 1) * sz / w2.Size, | |
1122 | } | |
1123 | w2:BreakJoints() | |
1124 | table.insert(Effects, { | |
1125 | w2, | |
1126 | "Disappear", | |
1127 | .03 | |
1128 | }) | |
1129 | w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2) | |
1130 | table.insert(list, w2) | |
1131 | end | |
1132 | return unpack(list) | |
1133 | end | |
1134 | ||
1135 | function so(id, par, vol, pit) | |
1136 | coroutine.resume(coroutine.create(function() | |
1137 | local sou = Instance.new("Sound", par or workspace) | |
1138 | sou.Volume = vol | |
1139 | sou.Pitch = pit or 1 | |
1140 | sou.SoundId = id | |
1141 | swait() | |
1142 | sou:play() | |
1143 | swait(6) | |
1144 | sou:Remove() | |
1145 | end)) | |
1146 | end | |
1147 | ||
1148 | function clerp(a,b,t) | |
1149 | ||
1150 | local function QuaternionFromCFrame(cf) local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 0 then local s = math.sqrt(1 + trace) local recip = 0.5/s return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00-m11-m22+1) local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip elseif i == 1 then local s = math.sqrt(m11-m22-m00+1) local recip = 0.5/s return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip elseif i == 2 then local s = math.sqrt(m22-m00-m11+1) local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip end end end | |
1151 | ||
1152 | local function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w*xs, w*ys, w*zs local xx = x*xs local xy = x*ys local xz = x*zs local yy = y*ys local yz = y*zs local zz = z*zs return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) end | |
1153 | ||
1154 | local function QuaternionSlerp(a, b, t) local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = math.acos(cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((1-t)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = 1-t finishInterp = t end else if (1+cosTheta) > 0.0001 then local theta = math.acos(-cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((t-1)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = t-1 finishInterp = t end end return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp end | |
1155 | ||
1156 | local qa = {QuaternionFromCFrame(a)} | |
1157 | local qb = {QuaternionFromCFrame(b)} | |
1158 | local ax, ay, az = a.x, a.y, a.z | |
1159 | local bx, by, bz = b.x, b.y, b.z | |
1160 | ||
1161 | local _t = 1-t | |
1162 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) | |
1163 | end | |
1164 | ||
1165 | function rayCast(Pos, Dir, Max, Ignore) | |
1166 | return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) | |
1167 | end | |
1168 | ||
1169 | Damagefunc = function(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch) | |
1170 | if hit.Parent == nil then | |
1171 | return | |
1172 | end | |
1173 | local h = hit.Parent:FindFirstChild("Humanoid") | |
1174 | for _, v in pairs(hit.Parent:children()) do | |
1175 | if v:IsA("Humanoid") then | |
1176 | h = v | |
1177 | end | |
1178 | end | |
1179 | if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then | |
1180 | if hit.Parent:findFirstChild("DebounceHit") ~= nil then | |
1181 | if hit.Parent.DebounceHit.Value == true then | |
1182 | return | |
1183 | end | |
1184 | end | |
1185 | if h.MaxHealth >= math.huge then | |
1186 | hit:BreakJoints() | |
1187 | end | |
1188 | local c = Create("ObjectValue"){ | |
1189 | Name = "creator", | |
1190 | Value = game:service("Players").LocalPlayer, | |
1191 | Parent = h, | |
1192 | } | |
1193 | game:GetService("Debris"):AddItem(c, .5) | |
1194 | if HitSound ~= nil and HitPitch ~= nil then | |
1195 | so(HitSound, hit, 1, HitPitch) | |
1196 | end | |
1197 | local Damage = math.random(minim, maxim) | |
1198 | local blocked = false | |
1199 | local block = hit.Parent:findFirstChild("Block") | |
1200 | if block ~= nil then | |
1201 | if block.className == "IntValue" then | |
1202 | if block.Value > 0 then | |
1203 | blocked = true | |
1204 | block.Value = block.Value - 1 | |
1205 | print(block.Value) | |
1206 | end | |
1207 | end | |
1208 | end | |
1209 | if blocked == false then | |
1210 | h.Health = h.Health - Damage | |
1211 | ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color) | |
1212 | else | |
1213 | h.Health = h.Health - (Damage / 2) | |
1214 | ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color) | |
1215 | end | |
1216 | if Type == "Knockdown" then | |
1217 | local hum = hit.Parent.Humanoid | |
1218 | hum.PlatformStand = true | |
1219 | coroutine.resume(coroutine.create(function(HHumanoid) | |
1220 | swait(1) | |
1221 | HHumanoid.PlatformStand = false | |
1222 | end), hum) | |
1223 | local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit | |
1224 | local bodvol = Create("BodyVelocity"){ | |
1225 | velocity = angle * knockback, | |
1226 | P = 5000, | |
1227 | maxForce = Vector3.new(8e+003, 8e+003, 8e+003), | |
1228 | Parent = hit, | |
1229 | } | |
1230 | local rl = Create("BodyAngularVelocity"){ | |
1231 | P = 3000, | |
1232 | maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000, | |
1233 | angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), | |
1234 | Parent = hit, | |
1235 | } | |
1236 | game:GetService("Debris"):AddItem(bodvol, .5) | |
1237 | game:GetService("Debris"):AddItem(rl, .5) | |
1238 | elseif Type == "Normal" then | |
1239 | local vp = Create("BodyVelocity"){ | |
1240 | P = 500, | |
1241 | maxForce = Vector3.new(math.huge, 0, math.huge), | |
1242 | velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05, | |
1243 | } | |
1244 | if knockback > 0 then | |
1245 | vp.Parent = hit.Parent.Torso | |
1246 | end | |
1247 | game:GetService("Debris"):AddItem(vp, .5) | |
1248 | elseif Type == "Up" then | |
1249 | local bodyVelocity = Create("BodyVelocity"){ | |
1250 | velocity = vt(0, 20, 0), | |
1251 | P = 5000, | |
1252 | maxForce = Vector3.new(8e+003, 8e+003, 8e+003), | |
1253 | Parent = hit, | |
1254 | } | |
1255 | game:GetService("Debris"):AddItem(bodyVelocity, .5) | |
1256 | elseif Type == "Snare" then | |
1257 | local bp = Create("BodyPosition"){ | |
1258 | P = 2000, | |
1259 | D = 100, | |
1260 | maxForce = Vector3.new(math.huge, math.huge, math.huge), | |
1261 | position = hit.Parent.Torso.Position, | |
1262 | Parent = hit.Parent.Torso, | |
1263 | } | |
1264 | game:GetService("Debris"):AddItem(bp, 1) | |
1265 | elseif Type == "Freeze" then | |
1266 | local BodPos = Create("BodyPosition"){ | |
1267 | P = 50000, | |
1268 | D = 1000, | |
1269 | maxForce = Vector3.new(math.huge, math.huge, math.huge), | |
1270 | position = hit.Parent.Torso.Position, | |
1271 | Parent = hit.Parent.Torso, | |
1272 | } | |
1273 | local BodGy = Create("BodyGyro") { | |
1274 | maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge , | |
1275 | P = 20e+003, | |
1276 | Parent = hit.Parent.Torso, | |
1277 | cframe = hit.Parent.Torso.CFrame, | |
1278 | } | |
1279 | hit.Parent.Torso.Anchored = true | |
1280 | coroutine.resume(coroutine.create(function(Part) | |
1281 | swait(1.5) | |
1282 | Part.Anchored = false | |
1283 | end), hit.Parent.Torso) | |
1284 | game:GetService("Debris"):AddItem(BodPos, 3) | |
1285 | game:GetService("Debris"):AddItem(BodGy, 3) | |
1286 | end | |
1287 | local debounce = Create("BoolValue"){ | |
1288 | Name = "DebounceHit", | |
1289 | Parent = hit.Parent, | |
1290 | Value = true, | |
1291 | } | |
1292 | game:GetService("Debris"):AddItem(debounce, Delay) | |
1293 | c = Instance.new("ObjectValue") | |
1294 | c.Name = "creator" | |
1295 | c.Value = Player | |
1296 | c.Parent = h | |
1297 | game:GetService("Debris"):AddItem(c, .5) | |
1298 | end | |
1299 | end | |
1300 | ||
1301 | function ShowDamage(Pos, Text, Time, Color) | |
1302 | local Rate = (1 / 30) | |
1303 | local Pos = (Pos or Vector3.new(0, 0, 0)) | |
1304 | local Text = (Text or "") | |
1305 | local Time = (Time or 2) | |
1306 | local Color = (Color or Color3.new(1, 0, 0)) | |
1307 | local EffectPart = part("Custom", workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0)) | |
1308 | EffectPart.Anchored = true | |
1309 | local BillboardGui = Create("BillboardGui"){ | |
1310 | Size = UDim2.new(3, 0, 3, 0), | |
1311 | Adornee = EffectPart, | |
1312 | Parent = EffectPart, | |
1313 | } | |
1314 | local TextLabel = Create("TextLabel"){ | |
1315 | BackgroundTransparency = 1, | |
1316 | Size = UDim2.new(1, 0, 1, 0), | |
1317 | Text = Text, | |
1318 | TextColor3 = Color, | |
1319 | TextScaled = true, | |
1320 | Font = Enum.Font.ArialBold, | |
1321 | Parent = BillboardGui, | |
1322 | } | |
1323 | game.Debris:AddItem(EffectPart, (Time + 0.1)) | |
1324 | EffectPart.Parent = game:GetService("Workspace") | |
1325 | delay(0, function() | |
1326 | local Frames = (Time / Rate) | |
1327 | for Frame = 1, Frames do | |
1328 | wait(Rate) | |
1329 | local Percent = (Frame / Frames) | |
1330 | EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0) | |
1331 | TextLabel.TextTransparency = Percent | |
1332 | end | |
1333 | if EffectPart and EffectPart.Parent then | |
1334 | EffectPart:Destroy() | |
1335 | end | |
1336 | end) | |
1337 | end | |
1338 | ||
1339 | Handle=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,1,"Smoky grey","Handle",Vector3.new(0.442519516, 2.0650897, 0.295012921)) | |
1340 | Handleweld=weld(m,Character["Right Arm"],Handle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.947258949, -0.45997858, -0.0570378304, 7.77969425e-011, -0.999999881, -1.37820278e-012, -1.39760203e-010, 1.37820257e-012, -1, 1, 7.77969356e-011, -1.39760203e-010)) | |
1341 | FakeHandle=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Smoky grey","FakeHandle",Vector3.new(0.442519516, 2.0650897, 0.295012921)) | |
1342 | FakeHandleweld=weld(m,Handle,FakeHandle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00143384933, 0.00119042397, 1.43051147e-006, 1, -3.30743766e-012, -1.37846817e-011, 3.30743766e-012, 1, -2.06202139e-011, 1.37846817e-011, 2.06202139e-011, 1)) | |
1343 | Hitbox=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,1,"Lime green","Hitbox",Vector3.new(2.19002581, 6.55274916, 0.590025842)) | |
1344 | Hitboxweld=weld(m,FakeHandle,Hitbox,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.17896843, -4.79059315, -4.76837158e-007, 1, 2.0566379e-019, 5.67611236e-012, -2.27116525e-019, 1, -1.52766688e-013, -5.67611236e-012, 1.52766688e-013, 1)) | |
1345 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.442519516, 0.200000003, 0.309763551)) | |
1346 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.405433416, 0.701894522, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1347 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1348 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.295013011, 0.200000003, 0.295012951)) | |
1349 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.515680313, -1.24921036, -0.295011044, 1, 2.06574115e-019, 0, 2.06574115e-019, 1, 0, 0, 0, 1)) | |
1350 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.774408579, 1)) | |
1351 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.442519516, 0.200000003, 0.32451418)) | |
1352 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.405433416, 0.701894522, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1353 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.773333311, 0.346640021, 1)) | |
1354 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 0.295012861, 0.442519456)) | |
1355 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-9.53674316e-007, -7.51639271, 0.443106174, -2.97838199e-008, 1.94848582e-011, 0.999994636, 2.58582196e-012, 1, -1.94823463e-011, -0.999994636, 2.86134896e-012, -2.97838199e-008)) | |
1356 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1357 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.295013011, 0.295012772, 0.295012951)) | |
1358 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-9.15527344e-005, -0.515707016, -2.06437659, 4.46099548e-008, 4.16034491e-005, -0.999989271, -0.999989271, 9.6335441e-007, -4.62988687e-008, 9.63345315e-007, 1, 4.16012699e-005)) | |
1359 | mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=18430887",Vector3.new(0, 0, 0),Vector3.new(0.14750649, 0.147506386, 1.67862356)) | |
1360 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.885039032, 0.295012772, 0.295012921)) | |
1361 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.51570034, -1.91668773, -9.53674316e-007, 0.999989271, -2.75521359e-013, -3.70870001e-013, -2.75503253e-013, 1, -6.03156414e-013, 3.70870001e-013, 6.07985884e-013, 0.999989271)) | |
1362 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1363 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.885039032, 0.295012772, 0.590025842)) | |
1364 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.51570034, -1.62167501, -9.53674316e-007, 0.999989271, -2.75521359e-013, -3.70870001e-013, -2.75503253e-013, 1, -6.03156414e-013, 3.70870001e-013, 6.07985884e-013, 0.999989271)) | |
1365 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1366 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Smoky grey","Part",Vector3.new(0.295013011, 2.06508946, 0.295012921)) | |
1367 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.220681667, 0.000894546509, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1368 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1369 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.295013011, 0.200000003, 0.295012951)) | |
1370 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.515694618, -1.24922132, 0.295011997, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1371 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.774408579, 1)) | |
1372 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.442519516, 0.200000003, 0.309763551)) | |
1373 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.258158922, -0.44693923, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1374 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1375 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.737532496, 1.62257028, 0.236010328)) | |
1376 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.500944138, -2.87547874, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1377 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1378 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(1.03254545, 0.200000003, 0.590025842)) | |
1379 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000577926636, -1.25290799, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1380 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1381 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.442519516, 0.200000003, 0.295012921)) | |
1382 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000577926636, -1.10540175, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1383 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1384 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 0.200000003, 0.295012921)) | |
1385 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.442921877, -5.82329798, -9.53674316e-007, 0.999994636, -2.75512252e-013, 1.20729954e-011, 6.40126642e-019, 1, -2.00535422e-012, -1.20729954e-011, 2.00608974e-012, 0.999994636)) | |
1386 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 0.73753202, 1)) | |
1387 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.590025902, 5.75274944, 0.590025842)) | |
1388 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.220380783, -4.7907896, -9.53674316e-007, 1, -2.75534153e-013, 5.59502444e-012, 2.75533936e-013, 1, -1.40031042e-012, -5.59502444e-012, 1.40031042e-012, 1)) | |
1389 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.442519516, 0.200000003, 0.32451418)) | |
1390 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.258158922, -0.44693923, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1391 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.773333311, 0.346640021, 1)) | |
1392 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.442519516, 0.200000003, 0.32451418)) | |
1393 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.110691786, -0.191638708, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1394 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.773333311, 0.346640021, 1)) | |
1395 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.442519516, 0.200000003, 0.309763551)) | |
1396 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.110691786, -0.191638708, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1397 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1398 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.442519516, 0.200000003, 0.309763551)) | |
1399 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.25796771, 0.446596622, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1400 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1401 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.442519516, 0.200000003, 0.32451418)) | |
1402 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.110505342, 0.191305399, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1403 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.773333311, 0.346640021, 1)) | |
1404 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.200000003, 1.77007711, 0.590025842)) | |
1405 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.148234606, -6.77999687, -4.76837158e-007, 0.999994636, -3.30741142e-012, -8.79209205e-012, 3.03188355e-012, 1, -2.20568841e-011, 8.79386841e-012, 2.2059396e-011, 0.999994636)) | |
1406 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1407 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.295013011, 0.200000003, 0.295012921)) | |
1408 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221826315, -1.1054008, -9.53674316e-007, 1, -2.75533285e-013, -1.00870701e-013, 2.75533285e-013, 1, -1.20869981e-012, 1.00870701e-013, 1.20869981e-012, 1)) | |
1409 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1410 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.885039032, 0.200000003, 0.885038733)) | |
1411 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.51568079, -1.40040469, 1.90734863e-006, 1, -1.02663131e-020, 0, -1.02663131e-020, 1, 0, 0, 0, 1)) | |
1412 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1413 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.442519516, 0.200000003, 0.309763551)) | |
1414 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.405618906, -0.702226162, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1415 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1416 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295012981, 0.200000003, 0.295012921)) | |
1417 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221667767, -3.16900206, -1.43051147e-006, 0.999994636, -2.75512252e-013, 8.49046528e-012, 6.40146029e-019, 1, -1.70229109e-012, -8.49046528e-012, 1.70302661e-012, 0.999994636)) | |
1418 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.737533867, 1)) | |
1419 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(1.03254545, 0.200000003, 0.885038733)) | |
1420 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000566482544, -1.40041232, -9.53674316e-007, 1, -2.75533285e-013, -1.00870701e-013, 2.75533285e-013, 1, -1.20869981e-012, 1.00870701e-013, 1.20869981e-012, 1)) | |
1421 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1422 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.442519516, 0.200000003, 0.309763551)) | |
1423 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.110505342, 0.191305399, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1424 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1425 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.442519516, 0.200000003, 0.32451418)) | |
1426 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.25796771, 0.446596622, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1427 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.773333311, 0.346640021, 1)) | |
1428 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.885039032, 0.200000003, 0.590025842)) | |
1429 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.515706539, -1.25290704, -9.53674316e-007, 1, -2.75533285e-013, -1.00870701e-013, 2.75533285e-013, 1, -1.20869981e-012, 1.00870701e-013, 1.20869981e-012, 1)) | |
1430 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1431 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.295013011, 0.200000003, 0.295012921)) | |
1432 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.220693111, -1.1054008, -9.53674316e-007, 1, -2.75533285e-013, -1.00870701e-013, 2.75533285e-013, 1, -1.20869981e-012, 1.00870701e-013, 1.20869981e-012, 1)) | |
1433 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1434 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.442519516, 0.200000003, 0.32451418)) | |
1435 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.405618906, -0.702226162, 0, 0.865923226, 0.500177085, 1.67872543e-008, -0.500177085, 0.865923226, 5.24679216e-008, 1.17067778e-008, -5.38297869e-008, 1)) | |
1436 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.773333311, 0.346640021, 1)) | |
1437 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295012832, 1.47506392, 0.295012921)) | |
1438 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.369297743, -6.63180447, -4.76837158e-007, -0.999994636, 3.30741012e-012, -5.96323204e-008, 3.03188355e-012, 1, -2.20568841e-011, 5.96323204e-008, -2.2059396e-011, -0.999994636)) | |
1439 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.885039032, 4.13017941, 0.295012921)) | |
1440 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.515714169, -5.75185299, -1.90734863e-006, 1, -2.75524395e-013, -3.52162743e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.52162743e-013, 6.03156414e-013, 1)) | |
1441 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1442 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.309763402, 0.295012951)) | |
1443 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(2.86102295e-006, 9.53674316e-007, -0.000194549561, 1, -4.63448572e-007, -3.23592047e-007, -3.23591962e-007, 1.64063181e-007, -1, 4.63448629e-007, 1, 1.64063024e-007)) | |
1444 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1445 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.324514031, 0.295012951)) | |
1446 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(2.86102295e-006, 9.53674316e-007, -0.000194549561, 1, -4.63448572e-007, -3.23592047e-007, -3.23591962e-007, 1.64063181e-007, -1, 4.63448629e-007, 1, 1.64063024e-007)) | |
1447 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.554624319, 1, 1)) | |
1448 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(1.18005168, 0.442519188, 0.590025842)) | |
1449 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0743150711, -1.69562244, -4.76837158e-007, 1, -2.75524395e-013, -7.45878637e-011, 2.75524178e-013, 1, 1.48707172e-010, 7.45878637e-011, -1.48707172e-010, 1)) | |
1450 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295012981, 0.200000003, 0.295012921)) | |
1451 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221646786, -5.82227278, -9.53674316e-007, 0.999994636, -2.75512252e-013, 8.49046528e-012, 6.40146029e-019, 1, -1.70229109e-012, -8.49046528e-012, 1.70302661e-012, 0.999994636)) | |
1452 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.737533867, 1)) | |
1453 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.295013011, 0.29501307, 0.295012921)) | |
1454 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.515041351, -7.81274223, 9.53674316e-007, 1, -2.75534153e-013, 5.61278801e-012, 2.75533936e-013, 1, -1.40031042e-012, -5.61278801e-012, 1.40031042e-012, 1)) | |
1455 | mesh("SpecialMesh",Part,Enum.MeshType.Sphere,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1456 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.200000003, 2.50760889, 0.295012921)) | |
1457 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.442756176, -4.49544907, 0, -0.999994636, 4.46044921e-013, -5.96452097e-008, 1.70532628e-013, 1, -2.17245666e-012, 5.96452097e-008, -2.17319218e-012, -0.999994636)) | |
1458 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1459 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295012832, 3.83516645, 0.295012921)) | |
1460 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.664005995, -3.83165455, -4.76837158e-007, -0.999994636, 4.46044704e-013, -5.9642197e-008, 1.70532411e-013, 1, -2.17245666e-012, 5.9642197e-008, -2.17319218e-012, -0.999994636)) | |
1461 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.295013011, 0.200000003, 0.295012951)) | |
1462 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.516839504, -1.24921942, -0.295013905, 1, -2.75533285e-013, -1.00870701e-013, 2.75533285e-013, 1, -1.20869981e-012, 1.00870701e-013, 1.20869981e-012, 1)) | |
1463 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.774408579, 1)) | |
1464 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.885039032, 0.200000003, 0.885038733)) | |
1465 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.516690731, -1.39850712, -9.53674316e-007, 0.999994636, -2.87668977e-013, 3.06331349e-012, 3.44146416e-015, 1, -1.37230505e-012, -3.06331349e-012, 1.64791791e-012, 0.999994636)) | |
1466 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1467 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295012981, 0.590025663, 0.295012921)) | |
1468 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.221410513, -2.21052313, 0, -0.999994636, 4.46101083e-013, -5.96629377e-008, 1.70589007e-013, 1, -1.86926863e-012, 5.96629377e-008, -1.87000415e-012, -0.999994636)) | |
1469 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.885039032, 0.200000003, 0.590025842)) | |
1470 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.516839266, -1.25290704, -9.53674316e-007, 1, -2.75533285e-013, -1.00870701e-013, 2.75533285e-013, 1, -1.20869981e-012, 1.00870701e-013, 1.20869981e-012, 1)) | |
1471 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1472 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Smoky grey","Part",Vector3.new(0.295013011, 2.0650897, 0.295012921)) | |
1473 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221837759, 0.000894069672, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1474 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1475 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295013011, 0.295012772, 0.295012951)) | |
1476 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-2.86102295e-006, -7.51719093, 0.369443893, -2.97932274e-008, 2.2059396e-011, 0.999994636, 3.03188355e-012, 1, -2.20568841e-011, -0.999994636, 3.30741055e-012, -2.9793231e-008)) | |
1477 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1478 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.295012981, 2.50760913, 0.590025842)) | |
1479 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221670628, -4.49578571, -9.53674316e-007, 0.999994636, -2.75512252e-013, 8.49046528e-012, 6.40146029e-019, 1, -1.70229109e-012, -8.49046528e-012, 1.70302661e-012, 0.999994636)) | |
1480 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.200000003, 1.18005121, 0.295012921)) | |
1481 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.442702055, -2.50398636, -4.76837158e-007, -0.999994636, 4.46044704e-013, -5.96449254e-008, 1.70532411e-013, 1, -2.17248441e-012, 5.96449254e-008, -2.17321994e-012, -0.999994636)) | |
1482 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1483 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.295012981, 0.200000003, 0.295012921)) | |
1484 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.221019745, 1.26017833, 0, 1, 9.9763433e-018, -7.45067757e-011, -9.97532752e-018, 1, 1.49954715e-010, 7.45067757e-011, -1.49954715e-010, 1)) | |
1485 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.5, 0.7375319, 0.5)) | |
1486 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.590025961, 0.200000003, 0.295012951)) | |
1487 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.43051147e-006, 2.43220711, 0.221660852, 4.63391068e-008, 4.46825474e-008, -0.999994636, -1.51188004e-008, -1, -4.46823094e-008, -0.999994636, 1.51191593e-008, -4.63391068e-008)) | |
1488 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.7375319, 1)) | |
1489 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.590025961, 0.29501313, 0.590025902)) | |
1490 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-9.53674316e-007, -7.81263161, -0.0730409622, -2.97896676e-008, 2.1756319e-011, 0.999994636, 3.03188355e-012, 1, -2.17538071e-011, -0.999994636, 3.30741055e-012, -2.97896676e-008)) | |
1491 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1492 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 0.200000003, 0.295012921)) | |
1493 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.442914724, -3.16820765, -9.53674316e-007, 0.999994636, -3.32356538e-013, 1.56541308e-011, 5.68447064e-014, 1, -2.00535422e-012, -1.56541308e-011, 2.00608974e-012, 0.999994636)) | |
1494 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 0.73753202, 1)) | |
1495 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.295013011, 0.295012653, 0.295012921)) | |
1496 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.220681667, 1.18094492, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1497 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1498 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.442519516, 0.295013011, 0.295012921)) | |
1499 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000577926636, 1.18094552, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1500 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.295013011, 0.200000003, 0.295012951)) | |
1501 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.516839504, -1.24921942, 0.295011997, 1, -2.75533285e-013, -1.00870701e-013, 2.75533285e-013, 1, -1.20869981e-012, 1.00870701e-013, 1.20869981e-012, 1)) | |
1502 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.774408579, 1)) | |
1503 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 0.295012772, 0.200000003)) | |
1504 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.24520874e-006, -7.2211132, 0.590576887, -2.97847187e-008, 2.00882505e-011, 0.999994636, 2.97503276e-012, 1, -2.00857525e-011, -0.999994636, 3.25055976e-012, -2.97847187e-008)) | |
1505 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 0.737532377)) | |
1506 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.295013011, 0.295012772, 0.295012951)) | |
1507 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000162124634, -0.515693188, -3.68544936, 4.4589239e-008, 4.16090261e-005, -1, -1, 9.63814387e-007, -4.45491359e-008, 9.63812568e-007, 1, 4.16090261e-005)) | |
1508 | mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=18430887",Vector3.new(0, 0, 0),Vector3.new(0.14750649, 0.147506386, 1.67862356)) | |
1509 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.295012981, 0.590025902, 0.590025842)) | |
1510 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221664906, -2.80066252, -4.76837158e-007, 0.999994636, -2.75512252e-013, 5.59144397e-012, 6.40165364e-019, 1, -1.40031042e-012, -5.59144397e-012, 1.40104595e-012, 0.999994636)) | |
1511 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.200000003, 0.295012861, 0.590025842)) | |
1512 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.441378117, -7.8126545, 4.76837158e-007, 1, -2.75534153e-013, 5.60212987e-012, 2.75533936e-013, 1, -1.40031042e-012, -5.60212987e-012, 1.40031042e-012, 1)) | |
1513 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1514 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cool yellow","Part",Vector3.new(0.295013011, 0.295012653, 0.295012921)) | |
1515 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221837759, 1.1809448, -9.53674316e-007, 1, -2.75524395e-013, -3.7087694e-013, 2.75524178e-013, 1, -6.03156414e-013, 3.7087694e-013, 6.03156414e-013, 1)) | |
1516 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1517 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.295012981, 0.200000003, 0.295012921)) | |
1518 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.221020699, 1.26017833, 0, 1, 9.9763433e-018, -7.45067757e-011, -9.97532752e-018, 1, 1.49954715e-010, 7.45067757e-011, -1.49954715e-010, 1)) | |
1519 | mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.5, 0.7375319, 0.5)) | |
1520 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 3.09763432, 0.200000003)) | |
1521 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.76837158e-006, -3.01968145, 0.885297298, -2.97987981e-008, 2.57460719e-013, 0.999994636, -6.94917659e-018, 1, -2.56739074e-013, -0.999994636, 2.7550469e-013, -2.97987981e-008)) | |
1522 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 0.737532377)) | |
1523 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 3.09763432, 0.295012951)) | |
1524 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(5.7220459e-006, 3.01982832, 1.10655999, -1.39933377e-007, -4.45522055e-008, -0.999994636, 2.86610089e-007, -1, 4.45516228e-008, -0.999994636, -2.86611339e-007, 1.39933377e-007)) | |
1525 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1526 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295013011, 3.09763479, 0.200000003)) | |
1527 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.24520874e-006, 3.02018595, 0.885407448, -3.11451095e-006, 6.73515251e-006, -0.999994636, -9.20183595e-007, -1, -6.73511386e-006, -0.999994636, 9.20167849e-007, 3.11451709e-006)) | |
1528 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.737532377)) | |
1529 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 2.50760865, 0.200000003)) | |
1530 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.76837158e-006, -5.82237434, 0.885300398, -2.97994376e-008, 2.57405208e-013, 0.999994636, -6.94917659e-018, 1, -2.56683563e-013, -0.999994636, 2.7550469e-013, -2.97994376e-008)) | |
1531 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 0.737532377)) | |
1532 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295013011, 0.295012772, 0.295012951)) | |
1533 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-3.33786011e-006, -7.22234058, 0.664441347, -2.9783191e-008, 2.17563467e-011, 0.999994636, 3.03188355e-012, 1, -2.17538348e-011, -0.999994636, 3.30741099e-012, -2.9783191e-008)) | |
1534 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1)) | |
1535 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 0.295012861, 0.295012951)) | |
1536 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.76837158e-006, -7.22363949, 0.811548233, -2.9798791e-008, -4.60201321e-013, 0.999994636, -1.67088796e-013, 1, 1.42011403e-013, -0.999994636, 1.17143505e-013, -2.9798791e-008)) | |
1537 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1538 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295013011, 2.50760913, 0.200000003)) | |
1539 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(2.19345093e-005, -5.82271338, 0.885406017, 3.1608879e-006, -6.71891894e-006, 0.999994636, 5.22557343e-007, 1, 6.7188812e-006, -0.999994636, 5.22539153e-007, 3.16089131e-006)) | |
1540 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.737532377)) | |
1541 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.200000003, 0.442519099, 0.295012921)) | |
1542 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.737729549, -1.69281816, -9.53674316e-007, -0.999994636, 3.89201068e-013, -5.96419838e-008, 1.13688993e-013, 1, -2.77888823e-012, 5.96419838e-008, -2.77962375e-012, -0.999994636)) | |
1543 | mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1544 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.295012832, 1.32755756, 0.295012921)) | |
1545 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.664032698, -6.41297722, 4.76837158e-007, -0.999994636, 2.75512279e-013, -5.96358518e-008, 8.56986463e-019, 1, -1.70230496e-012, 5.96358518e-008, -1.70302661e-012, -0.999994636)) | |
1546 | Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0.5,"Lime green","Part",Vector3.new(0.200000003, 2.50760865, 0.295012951)) | |
1547 | Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.24520874e-006, -5.82254457, 1.1065681, -2.98008658e-008, 2.82357471e-013, 0.999994636, 3.44146437e-015, 1, 2.41195952e-014, -0.999994636, 2.87673775e-013, -2.980088e-008)) | |
1548 | mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.737532437, 1, 1)) | |
1549 | ||
1550 | function attackone() | |
1551 | attack = true | |
1552 | Humanoid.WalkSpeed = 5 | |
1553 | for i = 0, 1, 0.05 do | |
1554 | swait() | |
1555 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-10), math.rad(0), math.rad(0)), .2) | |
1556 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .2) | |
1557 | RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.7, -.5) * angles(math.rad(130), math.rad(0), math.rad(30)), 0.2) | |
1558 | LW.C0 = clerp(LW.C0, CFrame.new(.5, 0.7, -.5) * angles(math.rad(145), math.rad(0), math.rad(50)), 0.2) | |
1559 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(-20)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1560 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(20)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1561 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(20), math.rad(80)), 0.25) | |
1562 | end | |
1563 | local con = Hitbox.Touched:connect(function(hit) | |
1564 | Damagefunc(Hitbox, hit, 30, 50, math.random(1, 5), "Knockdown", RootPart, .2, "rbxassetid://199149221", .8) | |
1565 | end) | |
1566 | so("rbxassetid://203691447",Hitbox,1,0.9) | |
1567 | Humanoid.WalkSpeed = 0 | |
1568 | for i = 0, 1, 0.03 do | |
1569 | swait() | |
1570 | ||
1571 | local blcf = Hitbox.CFrame * CFrame.new(0, .3, 0) | |
1572 | if scfr and (Hitbox.Position - scfr.p).magnitude > .1 then | |
1573 | local h = 5 | |
1574 | local a, b = Triangle((scfr * CFrame.new(0, h / 2, 0)).p, (scfr * CFrame.new(0, -h / 2, 0)).p, (blcf * CFrame.new(0, h / 2, 0)).p) | |
1575 | if a then | |
1576 | game.Debris:AddItem(a, 1) | |
1577 | end | |
1578 | if b then | |
1579 | game.Debris:AddItem(b, 1) | |
1580 | end | |
1581 | local a, b = Triangle((blcf * CFrame.new(0, h / 2, 0)).p, (blcf * CFrame.new(0, -h / 2, 0)).p, (scfr * CFrame.new(0, -h / 2, 0)).p) | |
1582 | if a then | |
1583 | game.Debris:AddItem(a, 1) | |
1584 | end | |
1585 | if b then | |
1586 | game.Debris:AddItem(b, 1) | |
1587 | end | |
1588 | scfr = blcf | |
1589 | elseif not scfr then | |
1590 | scfr = blcf | |
1591 | end | |
1592 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, -.5) * angles(math.rad(20), math.rad(0), math.rad(0)), .3) | |
1593 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3) | |
1594 | RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.3, -.5) * angles(math.rad(30), math.rad(0), math.rad(-30)), 0.3) | |
1595 | LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.3, -.5) * angles(math.rad(35), math.rad(0), math.rad(50)), 0.3) | |
1596 | RH.C0 = clerp(RH.C0, cf(1, -.5, -.5) * angles(math.rad(0), math.rad(90), math.rad(20)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1597 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(30)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1598 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(-20), math.rad(-20)), 0.3) | |
1599 | end | |
1600 | attack = false | |
1601 | Humanoid.WalkSpeed = 10 | |
1602 | con:disconnect() | |
1603 | scfr = nil | |
1604 | end | |
1605 | ||
1606 | function attacktwo() | |
1607 | attack = true | |
1608 | Humanoid.WalkSpeed = 5 | |
1609 | for i = 0,1,0.05 do | |
1610 | swait() | |
1611 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(80)), .2) | |
1612 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(-80)), .2) | |
1613 | RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, 0) * angles(math.rad(0), math.rad(90), math.rad(70)), 0.2) | |
1614 | LW.C0 = clerp(LW.C0, CFrame.new(-.5, 0.5, -.5) * angles(math.rad(0), math.rad(-120), math.rad(-80)), 0.2) | |
1615 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(50), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1616 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-150), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1617 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, -.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-30)), 0.25) | |
1618 | end | |
1619 | Humanoid.WalkSpeed = 20 | |
1620 | local con = Hitbox.Touched:connect(function(hit) | |
1621 | Damagefunc(Hitbox, hit, 30, 50, math.random(1, 5), "Knockdown", RootPart, .2, "rbxassetid://199149186", .8) | |
1622 | end) | |
1623 | for i = 1,3 do | |
1624 | so("rbxassetid://203691492",Hitbox,1,0.9) | |
1625 | for i = 0,1,0.06 do | |
1626 | swait() | |
1627 | local blcf = Hitbox.CFrame * CFrame.new(0, .3, 0) | |
1628 | if scfr and (Hitbox.Position - scfr.p).magnitude > .1 then | |
1629 | local h = 5 | |
1630 | local a, b = Triangle((scfr * CFrame.new(0, h / 2, 0)).p, (scfr * CFrame.new(0, -h / 2, 0)).p, (blcf * CFrame.new(0, h / 2, 0)).p) | |
1631 | if a then | |
1632 | game.Debris:AddItem(a, 1) | |
1633 | end | |
1634 | if b then | |
1635 | game.Debris:AddItem(b, 1) | |
1636 | end | |
1637 | local a, b = Triangle((blcf * CFrame.new(0, h / 2, 0)).p, (blcf * CFrame.new(0, -h / 2, 0)).p, (scfr * CFrame.new(0, -h / 2, 0)).p) | |
1638 | if a then | |
1639 | game.Debris:AddItem(a, 1) | |
1640 | end | |
1641 | if b then | |
1642 | game.Debris:AddItem(b, 1) | |
1643 | end | |
1644 | scfr = blcf | |
1645 | elseif not scfr then | |
1646 | scfr = blcf | |
1647 | end | |
1648 | Torso.Velocity = Head.CFrame.lookVector * 30 | |
1649 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), -6*i), .3) | |
1650 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .2) | |
1651 | RW.C0 = clerp(RW.C0, CFrame.new(1, 0.5, 0) * angles(math.rad(0), math.rad(50), math.rad(85)), 0.2) | |
1652 | LW.C0 = clerp(LW.C0, CFrame.new(0, 0.5, -.5) * angles(math.rad(0), math.rad(-150), math.rad(-85)), 0.2) | |
1653 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(30)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1654 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(-30)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .2) | |
1655 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, -.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), 0.25) | |
1656 | end | |
1657 | end | |
1658 | attack = false | |
1659 | scfr = nil | |
1660 | con:disconnect() | |
1661 | Humanoid.WalkSpeed = 10 | |
1662 | end | |
1663 | ||
1664 | function attackthree() | |
1665 | attack = true | |
1666 | for i = 0,1,0.05 do | |
1667 | swait() | |
1668 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, -.3) * angles(math.rad(0), math.rad(0), math.rad(70)), .2) | |
1669 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(-70)), .2) | |
1670 | RW.C0 = clerp(RW.C0, CFrame.new(1, 0.3, -.5) * angles(math.rad(80), math.rad(0), math.rad(-30)), 0.2) | |
1671 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.3, -.3) * angles(math.rad(80), math.rad(0), math.rad(10)), 0.2) | |
1672 | RH.C0 = clerp(RH.C0, cf(1, -.8, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1673 | LH.C0 = clerp(LH.C0, cf(-1, -.8, 0) * angles(math.rad(0), math.rad(-90), math.rad(30)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1674 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, -.7, 0) * angles(math.rad(-90), math.rad(0), math.rad(-50)), 0.25) | |
1675 | end | |
1676 | Torso.Velocity = Head.CFrame.lookVector * 90 | |
1677 | if Humanoid.Jump == true then | |
1678 | Torso.Velocity = Head.CFrame.lookVector * 50 | |
1679 | end | |
1680 | so("rbxassetid://203691447",Hitbox,1,0.9) | |
1681 | local con = Hitbox.Touched:connect(function(hit) | |
1682 | Damagefunc(Hitbox, hit, 30, 50, math.random(1, 5), "Knockdown", RootPart, .2, "rbxassetid://199149186", .8) | |
1683 | end) | |
1684 | for i = 0,1,0.03 do | |
1685 | swait() | |
1686 | local blcf = Hitbox.CFrame * CFrame.new(0, .3, 0) | |
1687 | if scfr and (Hitbox.Position - scfr.p).magnitude > .1 then | |
1688 | local h = 5 | |
1689 | local a, b = Triangle((scfr * CFrame.new(0, h / 2, 0)).p, (scfr * CFrame.new(0, -h / 2, 0)).p, (blcf * CFrame.new(0, h / 2, 0)).p) | |
1690 | if a then | |
1691 | game.Debris:AddItem(a, 1) | |
1692 | end | |
1693 | if b then | |
1694 | game.Debris:AddItem(b, 1) | |
1695 | end | |
1696 | local a, b = Triangle((blcf * CFrame.new(0, h / 2, 0)).p, (blcf * CFrame.new(0, -h / 2, 0)).p, (scfr * CFrame.new(0, -h / 2, 0)).p) | |
1697 | if a then | |
1698 | game.Debris:AddItem(a, 1) | |
1699 | end | |
1700 | if b then | |
1701 | game.Debris:AddItem(b, 1) | |
1702 | end | |
1703 | scfr = blcf | |
1704 | elseif not scfr then | |
1705 | scfr = blcf | |
1706 | end | |
1707 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-70)), .2) | |
1708 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(70)), .2) | |
1709 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.2) | |
1710 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(-30), math.rad(-70)), 0.2) | |
1711 | RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1712 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(5)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1713 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, -.7, 0) * angles(math.rad(-90), math.rad(0), math.rad(-50)), 0.25) | |
1714 | end | |
1715 | attack = false | |
1716 | con:disconnect() | |
1717 | scfr = nil | |
1718 | end | |
1719 | ||
1720 | mouse.Button1Down:connect(function() | |
1721 | if attack == false and attacktype == 1 then | |
1722 | attacktype = 2 | |
1723 | attackone() | |
1724 | elseif attack == false and attacktype == 2 then | |
1725 | attacktype = 3 | |
1726 | attacktwo() | |
1727 | elseif attack == false and attacktype == 3 then | |
1728 | attacktype = 1 | |
1729 | attackthree() | |
1730 | end | |
1731 | end) | |
1732 | ||
1733 | mouse.KeyDown:connect(function(k) | |
1734 | k = k:lower() | |
1735 | if attack == false and k == '' then | |
1736 | ||
1737 | end | |
1738 | end) | |
1739 | ||
1740 | local sine = 0 | |
1741 | local change = 1 | |
1742 | local val = 0 | |
1743 | local idle = 0 | |
1744 | ||
1745 | local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0) | |
1746 | local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0) | |
1747 | ||
1748 | while true do | |
1749 | swait() | |
1750 | sine = sine + change | |
1751 | local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
1752 | local velderp = RootPart.Velocity.y | |
1753 | hitfloor, posfloor = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character) | |
1754 | if equipped == true or equipped == false then | |
1755 | if attack == false then | |
1756 | idle = idle + 1 | |
1757 | else | |
1758 | idle = 0 | |
1759 | end | |
1760 | if idle >= 500 then | |
1761 | if attack == false then | |
1762 | end | |
1763 | end | |
1764 | if RootPart.Velocity.y > 1 and hitfloor == nil then | |
1765 | Anim = "Jump" | |
1766 | if attack == false then | |
1767 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .2) | |
1768 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), .2) | |
1769 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(40)), 0.2) | |
1770 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.3) | |
1771 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(-20)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1772 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(20)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1773 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(190), math.rad(0), math.rad(20)), 0.25) | |
1774 | end | |
1775 | elseif RootPart.Velocity.y < -1 and hitfloor == nil then | |
1776 | Anim = "Fall" | |
1777 | if attack == false then | |
1778 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .2) | |
1779 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(0)), .2) | |
1780 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(70)), 0.2) | |
1781 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-70)), 0.3) | |
1782 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(30)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1783 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(-30)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1784 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(190), math.rad(0), math.rad(-30)), 0.25) | |
1785 | end | |
1786 | elseif torvel < 1 and hitfloor ~= nil then | |
1787 | Anim = "Idle" | |
1788 | if attack == false then | |
1789 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(-30)), .2) | |
1790 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-3), math.rad(-3), math.rad(30)), .2) | |
1791 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(40), math.rad(20), math.rad(10)), .2) | |
1792 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(5), math.rad(0), math.rad(-15)), .2) | |
1793 | RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * RHCF * angles(math.rad(-3), math.rad(20), math.rad(7)), .2) | |
1794 | LH.C0 = clerp(LH.C0, cf(-1, -.9, 0) * LHCF * angles(math.rad(-5), math.rad(30), math.rad(-8)), .2) | |
1795 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(190), math.rad(0), math.rad(15)), 0.25) | |
1796 | end | |
1797 | elseif torvel > 2 and hitfloor ~= nil then | |
1798 | Anim = "Walk" | |
1799 | if attack == false then | |
1800 | change = 3 | |
1801 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .2) | |
1802 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), .2) | |
1803 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(10)), 0.2) | |
1804 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(30), math.rad(0), math.rad(-20)), 0.3) | |
1805 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(20)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1806 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(-20)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .2) | |
1807 | FakeHandleweld.C0 = clerp(FakeHandleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(190), math.rad(0), math.rad(-50)), 0.25) | |
1808 | end | |
1809 | end | |
1810 | end | |
1811 | if #Effects > 0 then | |
1812 | for e = 1, #Effects do | |
1813 | if Effects[e] ~= nil then | |
1814 | local Thing = Effects[e] | |
1815 | if Thing ~= nil then | |
1816 | local Part = Thing[1] | |
1817 | local Mode = Thing[2] | |
1818 | local Delay = Thing[3] | |
1819 | local IncX = Thing[4] | |
1820 | local IncY = Thing[5] | |
1821 | local IncZ = Thing[6] | |
1822 | if Thing[1].Transparency <= 1 then | |
1823 | if Thing[2] == "Block1" then | |
1824 | Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) | |
1825 | Mesh = Thing[1].Mesh | |
1826 | Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6]) | |
1827 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1828 | elseif Thing[2] == "Cylinder" then | |
1829 | Mesh = Thing[1].Mesh | |
1830 | Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6]) | |
1831 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1832 | elseif Thing[2] == "Blood" then | |
1833 | Mesh = Thing[7] | |
1834 | Thing[1].CFrame = Thing[1].CFrame * cf(0, .5, 0) | |
1835 | Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6]) | |
1836 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1837 | elseif Thing[2] == "Elec" then | |
1838 | Mesh = Thing[1].Mesh | |
1839 | Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9]) | |
1840 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1841 | elseif Thing[2] == "Disappear" then | |
1842 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1843 | end | |
1844 | else | |
1845 | Part.Parent = nil | |
1846 | table.remove(Effects, e) | |
1847 | end | |
1848 | end | |
1849 | end | |
1850 | end | |
1851 | end | |
1852 | end |