SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | local Charar = game.Players.LocalPlayer.Character | |
3 | Charar["InternationalFedora"].Name = "InternationalFedora2" | |
4 | --I dont need hat clone thingy | |
5 | ||
6 | local v3_net, v3_808 = Vector3.new(5000, 25.1, 0), Vector3.new(8, 0, 8) | |
7 | local function getNetlessVelocity(realPartVelocity) | |
8 | local mag = realPartVelocity.Magnitude | |
9 | if mag > 1 then | |
10 | local unit = realPartVelocity.Unit | |
11 | if (unit.Y > 0.25) or (unit.Y < -0.75) then | |
12 | return unit * (25.1 / unit.Y) | |
13 | end | |
14 | end | |
15 | return v3_net + realPartVelocity * v3_808 | |
16 | end | |
17 | local simradius = "shp" --simulation radius (net bypass) method | |
18 | --simulation radius (net bypass) method | |
19 | --"shp" - sethiddenproperty | |
20 | --"ssr" - setsimulationradius | |
21 | --false - disable | |
22 | local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character | |
23 | local newanimate = true --disables the animate script and enables after reanimation | |
24 | local discharscripts = true --disables all localScripts parented to your character before reanimation | |
25 | local R15toR6 = true --tries to convert your character to r6 if its r15 | |
26 | local hatcollide = false --makes hats cancollide (only method 0) | |
27 | local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState) | |
28 | local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation | |
29 | local hedafterneck = false --disable aligns for head and enable after neck is removed | |
30 | local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay | |
31 | local method = 0 --reanimation method | |
32 | --methods: | |
33 | --0 - breakJoints (takes [loadtime] seconds to laod) | |
34 | --1 - limbs | |
35 | --2 - limbs + anti respawn | |
36 | --3 - limbs + breakJoints after [loadtime] seconds | |
37 | --4 - remove humanoid + breakJoints | |
38 | --5 - remove humanoid + limbs | |
39 | local alignmode = 3 --AlignPosition mode | |
40 | --modes: | |
41 | --1 - AlignPosition rigidity enabled true | |
42 | --2 - 2 AlignPositions rigidity enabled both true and false | |
43 | --3 - AlignPosition rigidity enabled false | |
44 | ||
45 | healthHide = healthHide and ((method == 0) or (method == 2) or (method == 000)) and gp(c, "Head", "BasePart") | |
46 | ||
47 | local lp = game:GetService("Players").LocalPlayer | |
48 | local rs = game:GetService("RunService") | |
49 | local stepped = rs.Stepped | |
50 | local heartbeat = rs.Heartbeat | |
51 | local renderstepped = rs.RenderStepped | |
52 | local sg = game:GetService("StarterGui") | |
53 | local ws = game:GetService("Workspace") | |
54 | local cf = CFrame.new | |
55 | local v3 = Vector3.new | |
56 | local v3_0 = v3(0, 0, 0) | |
57 | local inf = math.huge | |
58 | ||
59 | local c = lp.Character | |
60 | ||
61 | if not (c and c.Parent) then | |
62 | return | |
63 | end | |
64 | ||
65 | c.Destroying:Connect(function() | |
66 | c = nil | |
67 | end) | |
68 | ||
69 | local function gp(parent, name, className) | |
70 | if typeof(parent) == "Instance" then | |
71 | for i, v in pairs(parent:GetChildren()) do | |
72 | if (v.Name == name) and v:IsA(className) then | |
73 | return v | |
74 | end | |
75 | end | |
76 | end | |
77 | return nil | |
78 | end | |
79 | ||
80 | local function align(Part0, Part1) | |
81 | Part0.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0.0001, 0.0001, 0.0001, 0.0001) | |
82 | ||
83 | local att0 = Instance.new("Attachment", Part0) | |
84 | att0.Orientation = v3_0 | |
85 | att0.Position = v3_0 | |
86 | att0.Name = "att0_" .. Part0.Name | |
87 | local att1 = Instance.new("Attachment", Part1) | |
88 | att1.Orientation = v3_0 | |
89 | att1.Position = v3_0 | |
90 | att1.Name = "att1_" .. Part1.Name | |
91 | ||
92 | if (alignmode == 1) or (alignmode == 2) then | |
93 | local ape = Instance.new("AlignPosition", att0) | |
94 | ape.ApplyAtCenterOfMass = false | |
95 | ape.MaxForce = inf | |
96 | ape.MaxVelocity = inf | |
97 | ape.ReactionForceEnabled = false | |
98 | ape.Responsiveness = 200 | |
99 | ape.Attachment1 = att1 | |
100 | ape.Attachment0 = att0 | |
101 | ape.Name = "AlignPositionRtrue" | |
102 | ape.RigidityEnabled = true | |
103 | end | |
104 | ||
105 | if (alignmode == 2) or (alignmode == 3) then | |
106 | local apd = Instance.new("AlignPosition", att0) | |
107 | apd.ApplyAtCenterOfMass = false | |
108 | apd.MaxForce = inf | |
109 | apd.MaxVelocity = inf | |
110 | apd.ReactionForceEnabled = false | |
111 | apd.Responsiveness = 200 | |
112 | apd.Attachment1 = att1 | |
113 | apd.Attachment0 = att0 | |
114 | apd.Name = "AlignPositionRfalse" | |
115 | apd.RigidityEnabled = false | |
116 | end | |
117 | ||
118 | local ao = Instance.new("AlignOrientation", att0) | |
119 | ao.MaxAngularVelocity = inf | |
120 | ao.MaxTorque = inf | |
121 | ao.PrimaryAxisOnly = false | |
122 | ao.ReactionTorqueEnabled = false | |
123 | ao.Responsiveness = 200 | |
124 | ao.Attachment1 = att1 | |
125 | ao.Attachment0 = att0 | |
126 | ao.RigidityEnabled = false | |
127 | ||
128 | if type(getNetlessVelocity) == "function" then | |
129 | local realVelocity = v3_0 | |
130 | local steppedcon = stepped:Connect(function() | |
131 | Part0.Velocity = realVelocity | |
132 | end) | |
133 | local heartbeatcon = heartbeat:Connect(function() | |
134 | realVelocity = Part0.Velocity | |
135 | Part0.Velocity = getNetlessVelocity(realVelocity) | |
136 | end) | |
137 | Part0.Destroying:Connect(function() | |
138 | Part0 = nil | |
139 | steppedcon:Disconnect() | |
140 | heartbeatcon:Disconnect() | |
141 | end) | |
142 | end | |
143 | end | |
144 | ||
145 | local function respawnrequest() | |
146 | local ccfr = ws.CurrentCamera.CFrame | |
147 | local c = lp.Character | |
148 | lp.Character = nil | |
149 | lp.Character = c | |
150 | local con = nil | |
151 | con = ws.CurrentCamera.Changed:Connect(function(prop) | |
152 | if (prop ~= "Parent") and (prop ~= "CFrame") then | |
153 | return | |
154 | end | |
155 | ws.CurrentCamera.CFrame = ccfr | |
156 | con:Disconnect() | |
157 | end) | |
158 | end | |
159 | ||
160 | local destroyhum = (method == 4) or (method == 5) | |
161 | local breakjoints = (method == 0) or (method == 4) | |
162 | local antirespawn = (method == 0) or (method == 2) or (method == 3) | |
163 | ||
164 | hatcollide = hatcollide and (method == 0) | |
165 | ||
166 | addtools = addtools and gp(lp, "Backpack", "Backpack") | |
167 | ||
168 | local fenv = getfenv() | |
169 | local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop | |
170 | local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.set_simulation_rad or fenv.setsimulationrad | |
171 | ||
172 | if shp and (simradius == "shp") then | |
173 | spawn(function() | |
174 | while c and heartbeat:Wait() do | |
175 | shp(lp, "SimulationRadius", inf) | |
176 | end | |
177 | end) | |
178 | elseif ssr and (simradius == "ssr") then | |
179 | spawn(function() | |
180 | while c and heartbeat:Wait() do | |
181 | ssr(inf) | |
182 | end | |
183 | end) | |
184 | end | |
185 | ||
186 | antiragdoll = antiragdoll and function(v) | |
187 | if v:IsA("HingeConstraint") or v:IsA("BallSocketConstraint") then | |
188 | v.Parent = nil | |
189 | end | |
190 | end | |
191 | ||
192 | if antiragdoll then | |
193 | for i, v in pairs(c:GetDescendants()) do | |
194 | antiragdoll(v) | |
195 | end | |
196 | c.DescendantAdded:Connect(antiragdoll) | |
197 | end | |
198 | ||
199 | if antirespawn then | |
200 | respawnrequest() | |
201 | end | |
202 | ||
203 | if method == 0 then | |
204 | wait(loadtime) | |
205 | if not c then | |
206 | return | |
207 | end | |
208 | end | |
209 | ||
210 | if discharscripts then | |
211 | for i, v in pairs(c:GetChildren()) do | |
212 | if v:IsA("LocalScript") then | |
213 | v.Disabled = true | |
214 | end | |
215 | end | |
216 | elseif newanimate then | |
217 | local animate = gp(c, "Animate", "LocalScript") | |
218 | if animate and (not animate.Disabled) then | |
219 | animate.Disabled = true | |
220 | else | |
221 | newanimate = false | |
222 | end | |
223 | end | |
224 | ||
225 | if addtools then | |
226 | for i, v in pairs(addtools:GetChildren()) do | |
227 | if v:IsA("Tool") then | |
228 | v.Parent = c | |
229 | end | |
230 | end | |
231 | end | |
232 | ||
233 | pcall(function() | |
234 | settings().Physics.AllowSleep = false | |
235 | settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled | |
236 | end) | |
237 | ||
238 | local OLDscripts = {} | |
239 | ||
240 | for i, v in pairs(c:GetDescendants()) do | |
241 | if v.ClassName == "Script" then | |
242 | table.insert(OLDscripts, v) | |
243 | end | |
244 | end | |
245 | ||
246 | local scriptNames = {} | |
247 | ||
248 | for i, v in pairs(c:GetDescendants()) do | |
249 | if v:IsA("BasePart") then | |
250 | local newName = tostring(i) | |
251 | local exists = true | |
252 | while exists do | |
253 | exists = false | |
254 | for i, v in pairs(OLDscripts) do | |
255 | if v.Name == newName then | |
256 | exists = true | |
257 | end | |
258 | end | |
259 | if exists then | |
260 | newName = newName .. "_" | |
261 | end | |
262 | end | |
263 | table.insert(scriptNames, newName) | |
264 | Instance.new("Script", v).Name = newName | |
265 | end | |
266 | end | |
267 | ||
268 | c.Archivable = true | |
269 | local hum = c:FindFirstChildOfClass("Humanoid") | |
270 | if hum then | |
271 | for i, v in pairs(hum:GetPlayingAnimationTracks()) do | |
272 | v:Stop() | |
273 | end | |
274 | end | |
275 | local cl = c:Clone() | |
276 | if hum and humState16 then | |
277 | hum:ChangeState(Enum.HumanoidStateType.Physics) | |
278 | if destroyhum then | |
279 | wait(1.6) | |
280 | end | |
281 | end | |
282 | if hum and hum.Parent and destroyhum then | |
283 | hum:Destroy() | |
284 | end | |
285 | ||
286 | if not c then | |
287 | return | |
288 | end | |
289 | ||
290 | local head = gp(c, "Head", "BasePart") | |
291 | local torso = gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart") | |
292 | local root = gp(c, "HumanoidRootPart", "BasePart") | |
293 | if hatcollide and c:FindFirstChildOfClass("Accessory") then | |
294 | local anything = c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script") | |
295 | if not (torso and root and anything) then | |
296 | return | |
297 | end | |
298 | torso:Destroy() | |
299 | root:Destroy() | |
300 | if shp then | |
301 | for i,v in pairs(c:GetChildren()) do | |
302 | if v:IsA("Accessory") then | |
303 | shp(v, "BackendAccoutrementState", 0) | |
304 | end | |
305 | end | |
306 | end | |
307 | anything:Destroy() | |
308 | if head then | |
309 | ||
310 | end | |
311 | end | |
312 | ||
313 | for i, v in pairs(cl:GetDescendants()) do | |
314 | if v:IsA("BasePart") then | |
315 | v.Transparency = 1 | |
316 | v.Anchored = false | |
317 | end | |
318 | end | |
319 | ||
320 | local model = Instance.new("Model", c) | |
321 | model.Name = model.ClassName | |
322 | ||
323 | model.Destroying:Connect(function() | |
324 | model = nil | |
325 | end) | |
326 | ||
327 | for i, v in pairs(c:GetChildren()) do | |
328 | if v ~= model then | |
329 | if addtools and v:IsA("Tool") then | |
330 | for i1, v1 in pairs(v:GetDescendants()) do | |
331 | if v1 and v1.Parent and v1:IsA("BasePart") then | |
332 | local bv = Instance.new("BodyVelocity", v1) | |
333 | bv.Velocity = v3_0 | |
334 | bv.MaxForce = v3(1000, 1000, 1000) | |
335 | bv.P = 1250 | |
336 | bv.Name = "bv_" .. v.Name | |
337 | end | |
338 | end | |
339 | end | |
340 | v.Parent = model | |
341 | end | |
342 | end | |
343 | ||
344 | if breakjoints then | |
345 | model.HumanoidRootPart:Destroy() | |
346 | else | |
347 | if head and torso then | |
348 | for i, v in pairs(model:GetDescendants()) do | |
349 | if v:IsA("Weld") or v:IsA("Snap") or v:IsA("Glue") or v:IsA("Motor") or v:IsA("Motor6D") then | |
350 | local save = false | |
351 | if (v.Part0 == torso) and (v.Part1 == head) then | |
352 | save = true | |
353 | end | |
354 | if (v.Part0 == head) and (v.Part1 == torso) then | |
355 | save = true | |
356 | end | |
357 | if save then | |
358 | if hedafterneck then | |
359 | hedafterneck = v | |
360 | end | |
361 | else | |
362 | v:Destroy() | |
363 | end | |
364 | end | |
365 | end | |
366 | end | |
367 | if method == 3 then | |
368 | spawn(function() | |
369 | wait(loadtime) | |
370 | if model then | |
371 | model:BreakJoints() | |
372 | end | |
373 | end) | |
374 | end | |
375 | end | |
376 | ||
377 | cl.Parent = c | |
378 | for i, v in pairs(cl:GetChildren()) do | |
379 | v.Parent = c | |
380 | end | |
381 | cl:Destroy() | |
382 | ||
383 | local modelDes = {} | |
384 | for i, v in pairs(model:GetDescendants()) do | |
385 | if v:IsA("BasePart") then | |
386 | i = tostring(i) | |
387 | v.Destroying:Connect(function() | |
388 | modelDes[i] = nil | |
389 | end) | |
390 | modelDes[i] = v | |
391 | end | |
392 | end | |
393 | local modelcolcon = nil | |
394 | local function modelcolf() | |
395 | if model then | |
396 | for i, v in pairs(modelDes) do | |
397 | v.CanCollide = false | |
398 | end | |
399 | else | |
400 | modelcolcon:Disconnect() | |
401 | end | |
402 | end | |
403 | modelcolcon = stepped:Connect(modelcolf) | |
404 | modelcolf() | |
405 | ||
406 | for i, scr in pairs(model:GetDescendants()) do | |
407 | if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then | |
408 | local Part0 = scr.Parent | |
409 | if Part0:IsA("BasePart") then | |
410 | for i1, scr1 in pairs(c:GetDescendants()) do | |
411 | if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then | |
412 | local Part1 = scr1.Parent | |
413 | if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then | |
414 | align(Part0, Part1) | |
415 | break | |
416 | end | |
417 | end | |
418 | end | |
419 | end | |
420 | end | |
421 | end | |
422 | ||
423 | if (typeof(hedafterneck) == "Instance") and head then | |
424 | local aligns = {} | |
425 | local con = nil | |
426 | con = hedafterneck.Changed:Connect(function(prop) | |
427 | if (prop == "Parent") and not hedafterneck.Parent then | |
428 | con:Disconnect() | |
429 | for i, v in pairs(aligns) do | |
430 | v.Enabled = true | |
431 | end | |
432 | end | |
433 | end) | |
434 | for i, v in pairs(head:GetDescendants()) do | |
435 | if v:IsA("AlignPosition") or v:IsA("AlignOrientation") then | |
436 | i = tostring(i) | |
437 | aligns[i] = v | |
438 | v.Destroying:Connect(function() | |
439 | aligns[i] = nil | |
440 | end) | |
441 | v.Enabled = false | |
442 | end | |
443 | end | |
444 | end | |
445 | ||
446 | for i, v in pairs(c:GetDescendants()) do | |
447 | if v and v.Parent then | |
448 | if v.ClassName == "Script" then | |
449 | if table.find(scriptNames, v.Name) then | |
450 | v:Destroy() | |
451 | end | |
452 | elseif not v:IsDescendantOf(model) then | |
453 | if v:IsA("Decal") then | |
454 | v.Transparency = 1 | |
455 | elseif v:IsA("ForceField") then | |
456 | v.Visible = false | |
457 | elseif v:IsA("Sound") then | |
458 | v.Playing = false | |
459 | elseif v:IsA("BillboardGui") or v:IsA("SurfaceGui") or v:IsA("ParticleEmitter") or v:IsA("Fire") or v:IsA("Smoke") or v:IsA("Sparkles") then | |
460 | v.Enabled = false | |
461 | end | |
462 | end | |
463 | end | |
464 | end | |
465 | ||
466 | if newanimate then | |
467 | local animate = gp(c, "Animate", "LocalScript") | |
468 | if animate then | |
469 | animate.Disabled = false | |
470 | end | |
471 | end | |
472 | ||
473 | if addtools then | |
474 | for i, v in pairs(c:GetChildren()) do | |
475 | if v:IsA("Tool") then | |
476 | v.Parent = addtools | |
477 | end | |
478 | end | |
479 | end | |
480 | ||
481 | local hum0 = model:FindFirstChildOfClass("Humanoid") | |
482 | if hum0 then | |
483 | hum0.Destroying:Connect(function() | |
484 | hum0 = nil | |
485 | end) | |
486 | end | |
487 | ||
488 | local hum1 = c:FindFirstChildOfClass("Humanoid") | |
489 | if hum1 then | |
490 | hum1.Destroying:Connect(function() | |
491 | hum1 = nil | |
492 | end) | |
493 | end | |
494 | ||
495 | if hum1 then | |
496 | ws.CurrentCamera.CameraSubject = hum1 | |
497 | local camSubCon = nil | |
498 | local function camSubFunc() | |
499 | camSubCon:Disconnect() | |
500 | if c and hum1 then | |
501 | ws.CurrentCamera.CameraSubject = hum1 | |
502 | end | |
503 | end | |
504 | camSubCon = renderstepped:Connect(camSubFunc) | |
505 | if hum0 then | |
506 | hum0.Changed:Connect(function(prop) | |
507 | if hum1 and (prop == "Jump") then | |
508 | hum1.Jump = hum0.Jump | |
509 | end | |
510 | end) | |
511 | else | |
512 | respawnrequest() | |
513 | end | |
514 | end | |
515 | ||
516 | local rb = Instance.new("BindableEvent", c) | |
517 | rb.Event:Connect(function() | |
518 | rb:Destroy() | |
519 | sg:SetCore("ResetButtonCallback", true) | |
520 | if destroyhum then | |
521 | c:BreakJoints() | |
522 | return | |
523 | end | |
524 | if hum0 and (hum0.Health > 0) then | |
525 | model:BreakJoints() | |
526 | hum0.Health = 0 | |
527 | end | |
528 | if antirespawn then | |
529 | respawnrequest() | |
530 | end | |
531 | end) | |
532 | sg:SetCore("ResetButtonCallback", rb) | |
533 | ||
534 | spawn(function() | |
535 | while c do | |
536 | if hum0 and hum1 then | |
537 | hum1.Jump = hum0.Jump | |
538 | end | |
539 | wait() | |
540 | end | |
541 | sg:SetCore("ResetButtonCallback", true) | |
542 | end) | |
543 | ||
544 | R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15) | |
545 | if R15toR6 then | |
546 | 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") | |
547 | if part then | |
548 | local cfr = part.CFrame | |
549 | local R6parts = { | |
550 | head = { | |
551 | Name = "Head", | |
552 | Size = v3(2, 1, 1), | |
553 | R15 = { | |
554 | Head = 0 | |
555 | } | |
556 | }, | |
557 | torso = { | |
558 | Name = "Torso", | |
559 | Size = v3(2, 2, 1), | |
560 | R15 = { | |
561 | UpperTorso = 0.2, | |
562 | LowerTorso = -0.7 | |
563 | } | |
564 | }, | |
565 | root = { | |
566 | Name = "HumanoidRootPart", | |
567 | Size = v3(2, 2, 1), | |
568 | R15 = { | |
569 | HumanoidRootPart = 0 | |
570 | } | |
571 | }, | |
572 | leftArm = { | |
573 | Name = "Left Arm", | |
574 | Size = v3(1, 2, 1), | |
575 | R15 = { | |
576 | LeftHand = -0.7, | |
577 | LeftLowerArm = -0.2, | |
578 | LeftUpperArm = 0.4 | |
579 | } | |
580 | }, | |
581 | rightArm = { | |
582 | Name = "Right Arm", | |
583 | Size = v3(1, 2, 1), | |
584 | R15 = { | |
585 | RightHand = -0.7, | |
586 | RightLowerArm = -0.2, | |
587 | RightUpperArm = 0.4 | |
588 | } | |
589 | }, | |
590 | leftLeg = { | |
591 | Name = "Left Leg", | |
592 | Size = v3(1, 2, 1), | |
593 | R15 = { | |
594 | LeftFoot = -0.7, | |
595 | LeftLowerLeg = -0.15, | |
596 | LeftUpperLeg = 0.6 | |
597 | } | |
598 | }, | |
599 | rightLeg = { | |
600 | Name = "Right Leg", | |
601 | Size = v3(1, 2, 1), | |
602 | R15 = { | |
603 | RightFoot = -0.7, | |
604 | RightLowerLeg = -0.15, | |
605 | RightUpperLeg = 0.6 | |
606 | } | |
607 | } | |
608 | } | |
609 | for i, v in pairs(c:GetChildren()) do | |
610 | if v:IsA("BasePart") then | |
611 | for i1, v1 in pairs(v:GetChildren()) do | |
612 | if v1:IsA("Motor6D") then | |
613 | v1.Part0 = nil | |
614 | end | |
615 | end | |
616 | end | |
617 | end | |
618 | part.Archivable = true | |
619 | for i, v in pairs(R6parts) do | |
620 | local part = part:Clone() | |
621 | part:ClearAllChildren() | |
622 | part.Name = v.Name | |
623 | part.Size = v.Size | |
624 | part.CFrame = cfr | |
625 | part.Anchored = false | |
626 | part.Transparency = 1 | |
627 | part.CanCollide = false | |
628 | for i1, v1 in pairs(v.R15) do | |
629 | local R15part = gp(c, i1, "BasePart") | |
630 | local att = gp(R15part, "att1_" .. i1, "Attachment") | |
631 | if R15part then | |
632 | local weld = Instance.new("Weld", R15part) | |
633 | weld.Name = "Weld_" .. i1 | |
634 | weld.Part0 = part | |
635 | weld.Part1 = R15part | |
636 | weld.C0 = cf(0, v1, 0) | |
637 | weld.C1 = cf(0, 0, 0) | |
638 | R15part.Massless = true | |
639 | R15part.Name = "R15_" .. i1 | |
640 | R15part.Parent = part | |
641 | if att then | |
642 | att.Parent = part | |
643 | att.Position = v3(0, v1, 0) | |
644 | end | |
645 | end | |
646 | end | |
647 | part.Parent = c | |
648 | R6parts[i] = part | |
649 | end | |
650 | local R6joints = { | |
651 | neck = { | |
652 | Parent = R6parts.torso, | |
653 | Name = "Neck", | |
654 | Part0 = R6parts.torso, | |
655 | Part1 = R6parts.head, | |
656 | C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
657 | C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
658 | }, | |
659 | rootJoint = { | |
660 | Parent = R6parts.root, | |
661 | Name = "RootJoint" , | |
662 | Part0 = R6parts.root, | |
663 | Part1 = R6parts.torso, | |
664 | C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
665 | C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
666 | }, | |
667 | rightShoulder = { | |
668 | Parent = R6parts.torso, | |
669 | Name = "Right Shoulder", | |
670 | Part0 = R6parts.torso, | |
671 | Part1 = R6parts.rightArm, | |
672 | C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
673 | C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
674 | }, | |
675 | leftShoulder = { | |
676 | Parent = R6parts.torso, | |
677 | Name = "Left Shoulder", | |
678 | Part0 = R6parts.torso, | |
679 | Part1 = R6parts.leftArm, | |
680 | C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), | |
681 | C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
682 | }, | |
683 | rightHip = { | |
684 | Parent = R6parts.torso, | |
685 | Name = "Right Hip", | |
686 | Part0 = R6parts.torso, | |
687 | Part1 = R6parts.rightLeg, | |
688 | C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
689 | C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
690 | }, | |
691 | leftHip = { | |
692 | Parent = R6parts.torso, | |
693 | Name = "Left Hip" , | |
694 | Part0 = R6parts.torso, | |
695 | Part1 = R6parts.leftLeg, | |
696 | C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), | |
697 | C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
698 | } | |
699 | } | |
700 | for i, v in pairs(R6joints) do | |
701 | local joint = Instance.new("Motor6D") | |
702 | for prop, val in pairs(v) do | |
703 | joint[prop] = val | |
704 | end | |
705 | R6joints[i] = joint | |
706 | end | |
707 | hum1.RigType = Enum.HumanoidRigType.R6 | |
708 | hum1.HipHeight = 0 | |
709 | end | |
710 | end | |
711 | ||
712 | ||
713 | ||
714 | --find rig joints | |
715 | ||
716 | local function fakemotor() | |
717 | return {C0=cf(), C1=cf()} | |
718 | end | |
719 | ||
720 | local torso = gp(c, "Torso", "BasePart") | |
721 | local root = gp(c, "HumanoidRootPart", "BasePart") | |
722 | ||
723 | local neck = gp(torso, "Neck", "Motor6D") | |
724 | neck = neck or fakemotor() | |
725 | ||
726 | local rootJoint = gp(root, "RootJoint", "Motor6D") | |
727 | rootJoint = rootJoint or fakemotor() | |
728 | ||
729 | local leftShoulder = gp(torso, "Left Shoulder", "Motor6D") | |
730 | leftShoulder = leftShoulder or fakemotor() | |
731 | ||
732 | local rightShoulder = gp(torso, "Right Shoulder", "Motor6D") | |
733 | rightShoulder = rightShoulder or fakemotor() | |
734 | ||
735 | local leftHip = gp(torso, "Left Hip", "Motor6D") | |
736 | leftHip = leftHip or fakemotor() | |
737 | ||
738 | local rightHip = gp(torso, "Right Hip", "Motor6D") | |
739 | rightHip = rightHip or fakemotor() | |
740 | ||
741 | --120 fps | |
742 | ||
743 | local fps = 40 | |
744 | local event = Instance.new("BindableEvent", c) | |
745 | event.Name = "120 fps" | |
746 | local floor = math.floor | |
747 | fps = 1 / fps | |
748 | local tf = 0 | |
749 | local con = nil | |
750 | con = game:GetService("RunService").RenderStepped:Connect(function(s) | |
751 | if not c then | |
752 | con:Disconnect() | |
753 | return | |
754 | end | |
755 | --tf += s | |
756 | if tf >= fps then | |
757 | for i=1, floor(tf / fps) do | |
758 | event:Fire(c) | |
759 | end | |
760 | tf = 0 | |
761 | end | |
762 | end) | |
763 | local event = event.Event | |
764 | ||
765 | local hedrot = v3(0, 5, 0) | |
766 | ||
767 | local uis = game:GetService("UserInputService") | |
768 | local function isPressed(key) | |
769 | return (not uis:GetFocusedTextBox()) and uis:IsKeyDown(Enum.KeyCode[key]) | |
770 | end | |
771 | ||
772 | local biggesthandle = nil | |
773 | for i, v in pairs(c:GetChildren()) do | |
774 | if v:IsA("Accessory") then | |
775 | local handle = gp(v, "Handle", "BasePart") | |
776 | if biggesthandle then | |
777 | if biggesthandle.Size.Magnitude < handle.Size.Magnitude then | |
778 | biggesthandle = handle | |
779 | end | |
780 | else | |
781 | biggesthandle = gp(v, "Handle", "BasePart") | |
782 | end | |
783 | end | |
784 | end | |
785 | ||
786 | if not biggesthandle then | |
787 | return | |
788 | end | |
789 | ||
790 | local handle1 = gp(gp(model, biggesthandle.Parent.Name, "Accessory"), "Handle", "BasePart") | |
791 | if not handle1 then | |
792 | return | |
793 | end | |
794 | ||
795 | handle1.Destroying:Connect(function() | |
796 | handle1 = nil | |
797 | end) | |
798 | biggesthandle.Destroying:Connect(function() | |
799 | biggesthandle = nil | |
800 | end) | |
801 | ||
802 | --biggesthandle:BreakJoints() | |
803 | --biggesthandle.Anchored = true | |
804 | ||
805 | --for i, v in pairs(handle1:GetDescendants()) do | |
806 | -- if v:IsA("AlignOrientation") then | |
807 | --v.Enabled = false | |
808 | --end | |
809 | --end | |
810 | ||
811 | local mouse = lp:GetMouse() | |
812 | local fling = false | |
813 | mouse.Button1Down:Connect(function() | |
814 | fling = false | |
815 | end) | |
816 | mouse.Button1Up:Connect(function() | |
817 | fling = false | |
818 | end) | |
819 | local function doForSignal(signal, vel) | |
820 | spawn(function() | |
821 | while signal:Wait() and c and handle1 and biggesthandle do | |
822 | if fling and mouse.Target then | |
823 | biggesthandle.Position = mouse.Hit.Position | |
824 | end | |
825 | --handle1.RotVelocity = vel | |
826 | end | |
827 | end) | |
828 | end | |
829 | doForSignal(stepped, v3(0, 0, 0)) | |
830 | doForSignal(renderstepped, v3(0, 0, 0)) | |
831 | doForSignal(heartbeat, v3(200000000000000000000000000000, 200000000000000000000000000000, 200000000000000000000000000000)) | |
832 | --Hat1 | |
833 | ||
834 | local lp = game:GetService("Players").LocalPlayer | |
835 | local rs = game:GetService("RunService") | |
836 | local stepped = rs.Stepped | |
837 | local heartbeat = rs.Heartbeat | |
838 | local renderstepped = rs.RenderStepped | |
839 | local sg = game:GetService("StarterGui") | |
840 | local ws = game:GetService("Workspace") | |
841 | local cf = CFrame.new | |
842 | local v3 = Vector3.new | |
843 | local v3_0 = Vector3.zero | |
844 | local inf = math.huge | |
845 | ||
846 | local cplayer = lp.Character | |
847 | ||
848 | local v3 = Vector3.new | |
849 | ||
850 | local function gp(parent, name, className) | |
851 | if typeof(parent) == "Instance" then | |
852 | for i, v in pairs(parent:GetChildren()) do | |
853 | if (v.Name == name) and v:IsA(className) then | |
854 | return v | |
855 | end | |
856 | end | |
857 | end | |
858 | return nil | |
859 | end | |
860 | ||
861 | ||
862 | ||
863 | ||
864 | local hat2 = gp(cplayer, "MeshPartAccessory", "Accessory") | |
865 | local handle2 = gp(hat2, "Handle", "BasePart") | |
866 | local att2 = gp(handle2, "att1_Handle", "Attachment") | |
867 | att2.Parent = cplayer["Torso"] --any part of humanoid | |
868 | att2.Position = Vector3.new(-0, 0.025, 0) | |
869 | att2.Rotation = Vector3.new(180, 0, -15)--you can delete this | |
870 | ||
871 | ||
872 | local hat2 = gp(cplayer, "InternationalFedora2", "Accessory") | |
873 | local handle2 = gp(hat2, "Handle", "BasePart") | |
874 | local att2 = gp(handle2, "att1_Handle", "Attachment") | |
875 | att2.Parent = cplayer["Left Arm"] | |
876 | att2.Position = Vector3.new(-0.15, -0.35, -0) | |
877 | att2.Rotation = Vector3.new(-90, -0, 90) | |
878 | ||
879 | local hat2 = gp(cplayer, "InternationalFedora", "Accessory") | |
880 | local handle2 = gp(hat2, "Handle", "BasePart") | |
881 | local att2 = gp(handle2, "att1_Handle", "Attachment") | |
882 | att2.Parent = cplayer["Right Arm"] | |
883 | att2.Position = Vector3.new(0.15, -0.3, 0) | |
884 | att2.Rotation = Vector3.new(-90, 0, -90) --LavanderHair | |
885 | ||
886 | local hat2 = gp(cplayer, "Lipstick_Bag_3.0", "Accessory") | |
887 | local handle2 = gp(hat2, "Handle", "BasePart") | |
888 | local att2 = gp(handle2, "att1_Handle", "Attachment") | |
889 | att2.Parent = cplayer["Right Leg"] | |
890 | att2.Position = Vector3.new(0, -0, 0.5) --Robloxclassicred | |
891 | att2.Rotation = Vector3.new(0, -5, -45) | |
892 | ||
893 | local hat2 = gp(cplayer, "Lipstick_Bag_1.0", "Accessory") | |
894 | local handle2 = gp(hat2, "Handle", "BasePart") | |
895 | local att2 = gp(handle2, "att1_Handle", "Attachment") | |
896 | att2.Parent = cplayer["Left Leg"] | |
897 | att2.Position = Vector3.new(-0, -0, 0.5) | |
898 | att2.Rotation = Vector3.new(0, 0, -45) | |
899 | ||
900 | print[[ | |
901 | Vaporwave Vibe Thing By Godcat567 | |
902 | ||
903 | This was based off of a mode from powertommm's banisher switcher | |
904 | ||
905 | Visualiser Commands: .id [insert music id here] | |
906 | .vol [insert volume number here] | |
907 | .pit [insert pitch number here] | |
908 | ]] | |
909 | ||
910 | --Source Code Might Be Used From Others Credits To Their Creators | |
911 | ||
912 | wait(1/60) | |
913 | ||
914 | --[[ Defining Variables ]] | |
915 | ||
916 | Plr = game.Players.LocalPlayer | |
917 | PlrGui = Plr.PlayerGui | |
918 | Character = Plr.Character | |
919 | RightArm = Character["Right Arm"] | |
920 | LeftArm = Character["Left Arm"] | |
921 | RightLeg = Character["Right Leg"] | |
922 | LeftLeg = Character["Left Leg"] | |
923 | RootPart = Character.HumanoidRootPart | |
924 | Torso = Character.Torso | |
925 | Head = Character.Head | |
926 | Humanoid = Character:FindFirstChildOfClass('Humanoid') | |
927 | ||
928 | --[[ Joint Setup ]] | |
929 | ||
930 | Neck = Torso.Neck | |
931 | RootJoint = RootPart.RootJoint | |
932 | RightShoulder = Torso["Right Shoulder"] | |
933 | LeftShoulder = Torso["Left Shoulder"] | |
934 | RightHip = Torso["Right Hip"] | |
935 | LeftHip = Torso["Left Hip"] | |
936 | --Tail = Character["Black Cyber Critter Tail"].Handle.AccessoryWeld | |
937 | ||
938 | EulerRootCF = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14) --CFrame.Angles(math.rad(-90),0,math.rad(180)) | |
939 | NeckCF = CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)) | |
940 | RightShoulderCF = CFrame.new(-0.5,0,0)*CFrame.Angles(0,math.rad(90),0) | |
941 | LeftShoulderCF = CFrame.new(0.5,0,0)*CFrame.Angles(0,math.rad(-90),0) | |
942 | --TailCF = CFrame.new(0,-.75,.5)*CFrame.fromEulerAnglesXYZ(-3.14,0,3.14) | |
943 | ||
944 | DefaultWelds = { | |
945 | C0 = { | |
946 | RJC0 = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)*CFrame.new(0,0,0), | |
947 | NKC0 = CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)), | |
948 | RSC0 = CFrame.new(1,0.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), | |
949 | LSC0 = CFrame.new(-1,0.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), | |
950 | RHC0 = CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), | |
951 | LHC0 = CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), | |
952 | }, | |
953 | C1 = { | |
954 | RJC1 = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)*CFrame.new(0,0,0), | |
955 | NKC1 = CFrame.new(0,-0.5,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)), | |
956 | RSC1 = CFrame.new(-0.5,0.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), | |
957 | LSC1 = CFrame.new(0.5,0.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), | |
958 | RHC1 = CFrame.new(0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), | |
959 | LHC1 = CFrame.new(-0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), | |
960 | ||
961 | }, | |
962 | } | |
963 | --Default welds for anybody who does NOT know cframe | |
964 | ||
965 | --[[ Killing Default Animations Initiated ]] | |
966 | ||
967 | for _,v in next, Humanoid:GetPlayingAnimationTracks() do | |
968 | v:Stop() | |
969 | end | |
970 | ||
971 | pcall(game.Destroy,Character.Animate) | |
972 | pcall(game.Destroy,Humanoid.Animator) | |
973 | ||
974 | --[[ Killing Default Animations Ended]] | |
975 | ||
976 | --[[ Customizable/Modular Settings ]] | |
977 | ||
978 | CanBeRainbow = true --for hue rainbow set this to true you'll be expected to use my provided color changing shirt and pants for it | |
979 | sinetick = 0 | |
980 | change = 1 | |
981 | ID = 3100259439 | |
982 | IsAttacking = false | |
983 | hue = 0 | |
984 | pit = 1 | |
985 | vol = 3 | |
986 | SGui = Instance.new("ScreenGui",PlrGui) | |
987 | ||
988 | --[[ SazErno's Artificial Hearbeat [Adapted By Nebula_Zoroark] ]] | |
989 | ||
990 | AHB = Instance.new("BindableEvent") | |
991 | FPS = 60 | |
992 | LastFrame = tick() | |
993 | TimeFrame = 0 | |
994 | Frame = 1/FPS | |
995 | ||
996 | game:GetService("RunService").Heartbeat:Connect(function(s,p) | |
997 | TimeFrame = TimeFrame + s | |
998 | if(TimeFrame>=Frame)then | |
999 | for i=1,math.floor(TimeFrame/Frame) do | |
1000 | AHB:Fire() | |
1001 | end | |
1002 | LastFrame=tick() | |
1003 | TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame) | |
1004 | end | |
1005 | end) | |
1006 | ||
1007 | function Swait(dur) | |
1008 | if(dur == 0 or typeof(dur) ~= 'number') then | |
1009 | AHB.Event:wait() | |
1010 | else | |
1011 | for i= 1, dur*FPS do | |
1012 | AHB.Event:wait() | |
1013 | end | |
1014 | end | |
1015 | end | |
1016 | ||
1017 | --[[ Functions ]] | |
1018 | ||
1019 | --Interpreted From 123jl123's scripts | |
1020 | function SetJointTween(Joint,TweenData,EasingType,DirectionType,AnimationTime) | |
1021 | local EST = Enum.EasingStyle[EasingType] | |
1022 | local DRT = Enum.EasingDirection[DirectionType] | |
1023 | local InterpolationSpeed = 1 | |
1024 | local TI = TweenInfo.new(AnimationTime/InterpolationSpeed,EST,DRT,0,false,0) | |
1025 | local MCF = TweenData | |
1026 | local TAnim = game:service'TweenService':Create(Joint,TI,MCF) | |
1027 | TAnim:Play() | |
1028 | end | |
1029 | ||
1030 | function RemoveAllOutlines(Object) | |
1031 | Object.TopSurface,Object.BottomSurface,Object.RightSurface,Object.LeftSurface,Object.FrontSurface,Object.BackSurface = "SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines" | |
1032 | end | |
1033 | ||
1034 | --[[ Miscellaneous Stuff ]] | |
1035 | ||
1036 | Playlist = { | |
1037 | Beachwalk = 334283059; | |
1038 | Pyrowalk = 2082142910; | |
1039 | Default = 3100259439; | |
1040 | Vapor90s = 654094806; | |
1041 | ZenWavy = 2231500330; | |
1042 | NostalgicGalaxy = 195904435; --Adult Swim Bump (Nostalgic Galaxy) | |
1043 | Landing = 1522831964; --HOME - We're Finally Landing [SynthWave] | |
1044 | } | |
1045 | ||
1046 | IDLST = { | |
1047 | UnderFellBtl=1561410944; | |
1048 | ZigZag=1745866165; | |
1049 | CroiX=1037245665; | |
1050 | Kuroda=1492179112; | |
1051 | Boss2=151915559; | |
1052 | CMB=583415095; | |
1053 | EP=343860759; | |
1054 | EPRemix=2954216473; | |
1055 | FloorOfLava=1426355953; | |
1056 | ClassicalVIP=267058311; --NightKilla - Classical VIP | |
1057 | EmbryO = 2835035033; --かぼちゃ - ΣmbryØ | |
1058 | God = 3494472936; --Team Grimoire - Grimoire | |
1059 | HM = 3329947102; --Nero's Day At Disneyland - Happy Meal | |
1060 | Empress = 2996420896; --UNDEAD COPORATION - The Empress | |
1061 | Sinken = 3752430080; --35 - Sinken [Mogeko's Castle] | |
1062 | ThisIsYourEnd = 1439600000; --Nefarious Crow OST - This Is Your End | |
1063 | TryThis = 2496846835; --[Drumstep] - Pegboard Nerds - Try This [Monstercat] Release | |
1064 | Touhou = 540226023; --No by ImHavingAnAneurysm epic username tbh LMAO | |
1065 | NecroDancer = 885342933; --Crypt Of The Necro Dancer Amplified - Zone 5-3 | |
1066 | Hailfire = 566809627; --NightKilla - Hailfire | |
1067 | Classical=269408035; --NightKilla - Classical | |
1068 | Jawbreaker=245104465; --NightKilla - Jawbreaker | |
1069 | LifeLetters=1789295287; --Life Letters / ЦΣЛУЙ МΣНЯ | |
1070 | SillyLetters=1329165680; --Silly Letters / Глупые письма | |
1071 | NightmareBeforeXmas=521953625; | |
1072 | DrumsOfWar=1594042527; | |
1073 | Coagulant=1566197356; | |
1074 | InterstellarStomper=3221578654; | |
1075 | Hate=4538576008; | |
1076 | RT = 779838221; --DOOM SoundTrack Rip & Tear | |
1077 | Mdrq = 1931001768; --Frums - Mdrqnxtagon | |
1078 | Credits = 3089991101; --Frums - Credits | |
1079 | Czardas = 1846311619; --Czardas Macabre | |
1080 | } | |
1081 | ||
1082 | ||
1083 | local sound = Instance.new("Sound",Torso) | |
1084 | sound.Volume = vol | |
1085 | sound.SoundId = "rbxassetid://"..ID | |
1086 | sound.Pitch = pit | |
1087 | sound.Name = string.char(189)..string.char(189)..string.char(189)..string.char(189)..string.char(189) | |
1088 | sound.Looped = true | |
1089 | sound:play() | |
1090 | local time = 0 | |
1091 | ||
1092 | local Part = Instance.new("Part") | |
1093 | local Mesh = Instance.new("SpecialMesh") | |
1094 | local Part2 = Instance.new("Part") | |
1095 | local Mesh2 = Instance.new("SpecialMesh",Part2) | |
1096 | local Part3 = Instance.new("Part") | |
1097 | local Mesh3 = Instance.new("SpecialMesh",Part3) | |
1098 | local Part4 = Instance.new("Part") | |
1099 | local Mesh4 = Instance.new("SpecialMesh",Part4) | |
1100 | ||
1101 | RemoveAllOutlines(Part) | |
1102 | RemoveAllOutlines(Part2) | |
1103 | RemoveAllOutlines(Part3) | |
1104 | RemoveAllOutlines(Part4) | |
1105 | ||
1106 | Part.Color = Color3.new(0, 1, 1) | |
1107 | Part.CFrame = CFrame.new() | |
1108 | Part.Material = Enum.Material.Neon | |
1109 | Part.Size = Vector3.new(1, 0.5, 1) | |
1110 | Part.BrickColor = BrickColor.new("Toothpaste") | |
1111 | Part.Position = Vector3.new() | |
1112 | Part.Parent = Character | |
1113 | Mesh.MeshType = Enum.MeshType.Sphere | |
1114 | Mesh.Parent = Part | |
1115 | Part.Anchored = true | |
1116 | Part.CanCollide = false | |
1117 | Part.Transparency = 0 | |
1118 | ||
1119 | Part2.Color = Color3.new(0, 1, 1) | |
1120 | Part2.CFrame = CFrame.new() | |
1121 | Part2.Material = Enum.Material.Neon | |
1122 | Part2.Size = Vector3.new(1, 0.5, 1) | |
1123 | Part2.BrickColor = BrickColor.new("Toothpaste") | |
1124 | Part2.Position = Vector3.new() | |
1125 | Part2.Parent = Character | |
1126 | Mesh2.MeshType = Enum.MeshType.Sphere | |
1127 | Mesh2.Parent = Part2 | |
1128 | Part2.Anchored = true | |
1129 | Part2.CanCollide = false | |
1130 | Part2.Transparency = 0.25 | |
1131 | ||
1132 | Part3.Color = Color3.new(0, 1, 1) | |
1133 | Part3.CFrame = CFrame.new() | |
1134 | Part3.Material = Enum.Material.Neon | |
1135 | Part3.Size = Vector3.new(1, 0.5, 1) | |
1136 | Part3.BrickColor = BrickColor.new("Toothpaste") | |
1137 | Part3.Position = Vector3.new() | |
1138 | Part3.Parent = Character | |
1139 | Mesh3.MeshType = Enum.MeshType.Sphere | |
1140 | Mesh3.Parent = Part3 | |
1141 | Part3.Anchored = true | |
1142 | Part3.CanCollide = false | |
1143 | Part3.Transparency = 0.50 | |
1144 | ||
1145 | Part4.Color = Color3.new(0, 1, 1) | |
1146 | Part4.CFrame = CFrame.new() | |
1147 | Part4.Material = Enum.Material.Neon | |
1148 | Part4.Size = Vector3.new(1, 0.5, 1) | |
1149 | Part4.BrickColor = BrickColor.new("Toothpaste") | |
1150 | Part4.Position = Vector3.new() | |
1151 | Part4.Parent = Character | |
1152 | Mesh4.MeshType = Enum.MeshType.Sphere | |
1153 | Mesh4.Parent = Part4 | |
1154 | Part4.Anchored = true | |
1155 | Part4.CanCollide = false | |
1156 | Part4.Transparency = 0.75 | |
1157 | ||
1158 | ||
1159 | ||
1160 | ||
1161 | --[[ Anti Nosound (Don't Use My Stuff In Void Script Builder) ]] | |
1162 | ||
1163 | game:service'RunService'.Stepped:connect(function() | |
1164 | if sound.Parent ~= nil then | |
1165 | sound.SoundId = "rbxassetid://"..ID | |
1166 | sound.Volume = vol | |
1167 | sound.Pitch = pit | |
1168 | sound.Looped = true | |
1169 | time = sound.TimePosition | |
1170 | else | |
1171 | sound = Instance.new('Sound',Torso) | |
1172 | sound.Volume = vol | |
1173 | sound.Name = string.char(189)..string.char(189)..string.char(189)..string.char(189)..string.char(189) | |
1174 | sound.Pitch = pit | |
1175 | sound.Looped = true | |
1176 | sound.Playing = true | |
1177 | sound.TimePosition = time | |
1178 | end | |
1179 | end) | |
1180 | ||
1181 | --[[ Chat Commands ]] | |
1182 | ||
1183 | ||
1184 | ||
1185 | --[[ Animation Loop ]] | |
1186 | while true do | |
1187 | Swait() | |
1188 | game:service'Debris':AddItem(Instance.new("Shirt",game:service'Debris'),0) --Mainly Used In CR But Still Helps The Script Rather Than Using collectgarbage() | |
1189 | local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
1190 | sinetick=sinetick+change | |
1191 | hue=hue+1 | |
1192 | --Footplanting Math :joy: | |
1193 | local FwdDir = Humanoid.MoveDirection*RootPart.CFrame.lookVector | |
1194 | local RigDir = Humanoid.MoveDirection*RootPart.CFrame.rightVector | |
1195 | Vector = { | |
1196 | X=FwdDir.X+FwdDir.Z, | |
1197 | Z=RigDir.X+RigDir.Z | |
1198 | } | |
1199 | if(hue>360) then hue = 0 end | |
1200 | SetJointTween(Part,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) | |
1201 | SetJointTween(Part2,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) | |
1202 | SetJointTween(Part3,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) | |
1203 | SetJointTween(Part4,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) | |
1204 | SetJointTween(Part4,{Size = Part.Size * Vector3.new(4,0.5,4)},"Quad","Out",.1) | |
1205 | SetJointTween(Part3,{Size = Part.Size * Vector3.new(3,0.5,3)},"Quad","Out",.1) | |
1206 | SetJointTween(Part2,{Size = Part.Size * Vector3.new(2,0.5,2)},"Quad","Out",.1) | |
1207 | SetJointTween(Part,{Size = Vector3.new(sound.PlaybackLoudness/10,0.5,sound.PlaybackLoudness/10)},"Quad","Out",.1) | |
1208 | SetJointTween(Part4,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1))},"Quad","Out",.1) | |
1209 | SetJointTween(Part3,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1)/500,0,1)},"Quad","Out",.1) | |
1210 | SetJointTween(Part2,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1))},"Quad","Out",.1) | |
1211 | SetJointTween(Part,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1))},"Quad","Out",.1) | |
1212 | if CanBeRainbow == true then | |
1213 | SetJointTween(Head,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) | |
1214 | SetJointTween(Torso,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) | |
1215 | SetJointTween(RightArm,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) | |
1216 | SetJointTween(LeftArm,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) | |
1217 | SetJointTween(LeftLeg,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) | |
1218 | SetJointTween(RightLeg,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) | |
1219 | end | |
1220 | local Alpha = 1/3 | |
1221 | if IsAttacking == false then | |
1222 | if torvel < 1 and Humanoid.Sit == false then | |
1223 | SetJointTween(RootJoint,{C0 = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)*CFrame.new(0,0,2 + 1.1 * math.sin(sinetick/143))*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(0))},"Quad","Out",Alpha) | |
1224 | SetJointTween(Neck,{C0 = CFrame.new(0,1,0,-1,-0,-0,0,0,1,0,1,0)*CFrame.Angles(math.rad(-10 + sound.PlaybackLoudness/10),math.rad(8*math.sin(sinetick/132)),math.rad(0))},"Quad","Out",Alpha) | |
1225 | SetJointTween(RightShoulder,{C0 = CFrame.new(1,.5,0.5)*CFrame.Angles(math.rad(220 - sound.PlaybackLoudness/10),0,math.rad(-25 + 2.5 * math.sin(sinetick/32)))*RightShoulderCF},"Quad","Out",Alpha) | |
1226 | SetJointTween(LeftShoulder,{C0 = CFrame.new(-1,.5,0.5)*CFrame.Angles(math.rad(220 - sound.PlaybackLoudness/10),0,math.rad(25 - 2.5 * math.sin(sinetick/32)))*LeftShoulderCF},"Quad","Out",Alpha) | |
1227 | SetJointTween(RightHip,{C0 = CFrame.new(1,-1,0)*CFrame.Angles(math.rad(-20 - 2.32 * math.cos(sinetick/63)),math.rad(90),0)*CFrame.Angles(math.rad(-8 + 2.5 * math.sin(sinetick/78)),0,0)},"Quad","Out",Alpha) | |
1228 | SetJointTween(LeftHip,{C0 = CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(-15 - 5.34 * math.cos(sinetick/99)),math.rad(-90),0)*CFrame.Angles(math.rad(-8 + 2.5 * math.sin(sinetick/92)),0,0)},"Quad","Out",Alpha) | |
1229 | elseif torvel > 1 and Humanoid.Sit == false then | |
1230 | SetJointTween(RootJoint,{C0 = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)*CFrame.new(0 - 1.1 * math.cos(sinetick/54),0,2 + 1.1 * math.sin(sinetick/143))*CFrame.Angles(math.rad(90)*Vector.X,math.rad(-Vector.Z*20),math.rad(0))},"Quad","Out",Alpha) | |
1231 | SetJointTween(Neck,{C0 = CFrame.new(0,1,0,-1,-0,-0,0,0,1,0,1,0)*CFrame.Angles(math.rad(-10),math.rad(0 - 2.3 * math.cos(sinetick/72)),math.rad(0))},"Quad","Out",Alpha) | |
1232 | SetJointTween(RightShoulder,{C0 = CFrame.new(1.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(10),math.rad(25 + 2.5 * math.sin(sinetick/62)))*RightShoulderCF},"Quad","Out",Alpha) | |
1233 | SetJointTween(LeftShoulder,{C0 = CFrame.new(-1.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-10),math.rad(-25 - 2.5 * math.sin(sinetick/122)))*LeftShoulderCF},"Quad","Out",Alpha) | |
1234 | SetJointTween(RightHip,{C0 = CFrame.new(1,-.5,-0.5)*CFrame.Angles(math.rad(-20 - 2.32 * math.cos(sinetick/63)),math.rad(90),0)*CFrame.Angles(math.rad(0),0,0)},"Quad","Out",Alpha) | |
1235 | SetJointTween(LeftHip,{C0 = CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(-15 - 5.34 * math.cos(sinetick/99)),math.rad(-90),0)*CFrame.Angles(math.rad(0),0,0)},"Quad","Out",Alpha) | |
1236 | elseif Humanoid.Sit == true then | |
1237 | SetJointTween(RootJoint,{C0 = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)*CFrame.new(0,0,.5)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))},"Quad","Out",Alpha) | |
1238 | SetJointTween(Neck,{C0 = CFrame.new(0,1,0,-1,-0,-0,0,0,1,0,1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))},"Quad","Out",Alpha) | |
1239 | SetJointTween(RightShoulder,{C0 = CFrame.new(1.5,.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))*RightShoulderCF},"Quad","Out",Alpha) | |
1240 | SetJointTween(LeftShoulder,{C0 = CFrame.new(-1.5,.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))*LeftShoulderCF},"Quad","Out",Alpha) | |
1241 | SetJointTween(RightHip,{C0 = CFrame.new(1,-1.5,0.5)*CFrame.Angles(math.rad(90),math.rad(90),0)*CFrame.Angles(math.rad(-8 + 2.5 * math.cos(sinetick/65.3)),0,0)},"Quad","Out",Alpha) | |
1242 | SetJointTween(LeftHip,{C0 = CFrame.new(-1,-1.5,0.5)*CFrame.Angles(math.rad(90),math.rad(-90),0)*CFrame.Angles(math.rad(-8 + 2.5 * math.cos(sinetick/65.3)),0,0)},"Quad","Out",Alpha) | |
1243 | end | |
1244 | end | |
1245 | end |