SHOW:
|
|
- or go back to the newest paste.
1 | --usage | |
2 | ||
3 | local FEService = loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/WhyGitHubb/FEService/main/main.lua"))() | |
4 | ||
5 | ||
6 | FEService:FullNetwork() | |
7 | ||
8 | print(game.Players.LocalPlayer.SimulationRadius) | |
9 | --[[ | |
10 | Paid: | |
11 | https://www.roblox.com/catalog/14255556501/Extra-Right-White-Arm | |
12 | https://www.roblox.com/catalog/14255554762/Extra-Left-White-Arm | |
13 | https://www.roblox.com/catalog/14768693948/White-Extended-Right-Arm | |
14 | https://www.roblox.com/catalog/14768701869/White-Extended-Left-Arm | |
15 | https://www.roblox.com/catalog/14255528083/Torso-Extension | |
16 | or | |
17 | https://www.roblox.com/catalog/13779879140/Black-Fluffy-Fur-Body | |
18 | (ANYTHING CAN BE USED FOR THE TORSO SUCH AS A VEST.) | |
19 | ||
20 | Paid (2): | |
21 | https://www.roblox.com/catalog/11159410305/Rectangle-Head-For-Headless | |
22 | https://www.roblox.com/catalog/11263254795/Dummy-Head-For-Headless | |
23 | https://www.roblox.com/catalog/12344545199/Extra-Left-hand-moving-Blocky-white | |
24 | https://www.roblox.com/catalog/12344591101/Extra-Right-hand-moving-Blocky-white | |
25 | https://www.roblox.com/catalog/14255528083/Torso-Extension | |
26 | or | |
27 | https://www.roblox.com/catalog/13779879140/Black-Fluffy-Fur-Body | |
28 | (ANYTHING CAN BE USED FOR THE TORSO SUCH AS A VEST.) | |
29 | ||
30 | Free: | |
31 | https://www.roblox.com/catalog/3033908130/International-Fedora-France | |
32 | https://www.roblox.com/catalog/3033910400/International-Fedora-Germany | |
33 | https://www.roblox.com/catalog/3409612660/International-Fedora-USA | |
34 | https://www.roblox.com/catalog/3398308134/International-Fedora-Canada | |
35 | https://www.roblox.com/catalog/4819740796/Robox | |
36 | ||
37 | Weapons: | |
38 | https://www.roblox.com/catalog/13760686814/Classic-MARKA-17M-Valkan-Left | |
39 | ]]-- | |
40 | ||
41 | game:GetService("StarterGui"):SetCore("SendNotification", { | |
42 | Title = "Melon's (FE) Scripts"; | |
43 | Text = "Have fun!"; | |
44 | Icon = "rbxthumb://type=Asset&id=13446503788&w=150&h=150"}) | |
45 | Duration = 16; | |
46 | ||
47 | if not game:IsLoaded() then | |
48 | game.Loaded:Wait() | |
49 | end | |
50 | ||
51 | local function FindInstance(Parent, ClassName, Name) | |
52 | for _, Instance in pairs(Parent:GetChildren()) do | |
53 | if Instance:IsA(ClassName) and Instance.Name == Name then | |
54 | return Instance | |
55 | end | |
56 | end | |
57 | end | |
58 | ||
59 | local function WaitForClass(Parent, ClassName) | |
60 | local Instance = Parent:FindFirstChildOfClass(ClassName) | |
61 | ||
62 | while not Instance and Parent do | |
63 | Parent.ChildAdded:Wait() | |
64 | Instance = Parent:FindFirstChildOfClass(ClassName) | |
65 | end | |
66 | ||
67 | return Instance | |
68 | end | |
69 | ||
70 | local function WaitForClassOfName(Parent, ...) | |
71 | local Instance = FindInstance(Parent, ...) | |
72 | ||
73 | while not Instance and Parent do | |
74 | Parent.ChildAdded:Wait() | |
75 | Instance = FindInstance(Parent, ...) | |
76 | end | |
77 | ||
78 | return Instance | |
79 | end | |
80 | ||
81 | local Fling = { } | |
82 | local Aligns = { } | |
83 | local Blacklist = { } | |
84 | local Accessories = { } | |
85 | local Attachments = { } | |
86 | ||
87 | local Instancenew = Instance.new | |
88 | ||
89 | local taskwait = task.wait | |
90 | local taskspawn = task.spawn | |
91 | local taskdefer = task.defer | |
92 | ||
93 | local mathabs = math.abs | |
94 | local mathcos = math.cos | |
95 | local mathrandom = math.random | |
96 | ||
97 | local stringmatch = string.match | |
98 | ||
99 | local osclock = os.clock | |
100 | ||
101 | local tableinsert = table.insert | |
102 | local tableclear = table.clear | |
103 | local tablefind = table.find | |
104 | ||
105 | local CFramenew = CFrame.new | |
106 | local CFrameAngles = CFrame.Angles | |
107 | local CFrameidentity = CFrame.identity | |
108 | ||
109 | local Vector3new = Vector3.new | |
110 | local Vector3zero = Vector3.zero | |
111 | ||
112 | local Sleep = CFrameidentity | |
113 | local Velocity = Vector3new(0, 16384, 0) | |
114 | local Angular = 0 | |
115 | local Linear = 0 | |
116 | ||
117 | local Workspace = game:FindFirstChildOfClass("Workspace") | |
118 | local CurrentCamera = Workspace.CurrentCamera | |
119 | ||
120 | local Players = game:FindFirstChildOfClass("Players") | |
121 | ||
122 | local LocalPlayer = Players.LocalPlayer | |
123 | local Mouse = LocalPlayer:GetMouse() | |
124 | ||
125 | local PostSimulation = game:FindFirstChildOfClass("RunService").PostSimulation | |
126 | ||
127 | local Character = LocalPlayer.Character | |
128 | local CharacterClone = Instancenew("Model") | |
129 | ||
130 | local StarterGui = game:FindFirstChildOfClass("StarterGui") | |
131 | local BindableEvent = Instancenew("BindableEvent") | |
132 | ||
133 | local UserInputService = game:FindFirstChildOfClass("UserInputService") | |
134 | local UserInputType = Enum.UserInputType | |
135 | ||
136 | local MouseButton1 = UserInputType.MouseButton1 | |
137 | local Touch = UserInputType.Touch | |
138 | ||
139 | local InputBegan = UserInputService.InputBegan:Connect(function(Input, GameProcessed) | |
140 | local Type = Input.UserInputType | |
141 | ||
142 | if not GameProcessed and ( Type == MouseButton1 or Type == Touch ) then | |
143 | local Target = Mouse.Target | |
144 | if Target and not Target.Anchored and not Target:IsDescendantOf(CharacterClone) and not Target:IsDescendantOf(Character) and not tablefind(Fling, Target) then | |
145 | local Parent = Target.Parent | |
146 | ||
147 | if Parent:IsA("Model") and Parent ~= Character and Parent:FindFirstChildOfClass("Humanoid") then | |
148 | local HumanoidRootPart = FindInstance(Parent, "BasePart", "HumanoidRootPart") or FindInstance(Parent, "BasePart", "Torso") or FindInstance(Parent, "BasePart", "Head") | |
149 | ||
150 | if HumanoidRootPart and not tablefind(Fling, HumanoidRootPart) then | |
151 | tableinsert(Fling, HumanoidRootPart) | |
152 | return | |
153 | end | |
154 | end | |
155 | ||
156 | tableinsert(Fling, Target) | |
157 | end | |
158 | end | |
159 | end) | |
160 | ||
161 | local function Part(Name, Size) | |
162 | local Part = Instancenew("Part") | |
163 | Part.Name = Name | |
164 | Part.Size = Size | |
165 | Part.Transparency = 1 | |
166 | Part.Parent = CharacterClone | |
167 | ||
168 | return Part | |
169 | end | |
170 | ||
171 | local function Motor6D(Name, Part0, Part1, C0, C1) | |
172 | local Motor6D = Instancenew("Motor6D") | |
173 | Motor6D.Name = Name | |
174 | Motor6D.Part0 = Part0 | |
175 | Motor6D.Part1 = Part1 | |
176 | Motor6D.C0 = C0 | |
177 | Motor6D.C1 = C1 | |
178 | Motor6D.Parent = Part0 | |
179 | ||
180 | return Motor6D | |
181 | end | |
182 | ||
183 | local function Attachment(Name, CFrame, Parent) | |
184 | local Attachment = Instancenew("Attachment") | |
185 | Attachment.Name = Name | |
186 | Attachment.CFrame = CFrame | |
187 | Attachment.Parent = Parent | |
188 | ||
189 | tableinsert(Attachments, Attachment) | |
190 | return Attachment | |
191 | end | |
192 | ||
193 | local LimbSize = Vector3new(1, 2, 1) | |
194 | local TorsoSize = Vector3new(2, 2, 1) | |
195 | ||
196 | local Head = Part("Head", Vector3new(2, 1, 1)) | |
197 | local Torso = Part("Torso", TorsoSize) | |
198 | local LeftArm = Part("Left Arm", LimbSize) | |
199 | local RightArm = Part("Right Arm", LimbSize) | |
200 | local LeftLeg = Part("Left Leg", LimbSize) | |
201 | local RightLeg = Part("Right Leg", LimbSize) | |
202 | local HumanoidRootPart = Part("HumanoidRootPart", TorsoSize) | |
203 | ||
204 | local FakeRA = Instance.new("Part") | |
205 | FakeRA.Size = Vector3.new(1,2,1) | |
206 | FakeRA.Transparency = 1 | |
207 | FakeRA.BrickColor = BrickColor.new("Institutional White") | |
208 | FakeRA.Parent = RightArm | |
209 | ||
210 | local FRAW = Instance.new("Weld") | |
211 | FRAW.Part0 = RightArm | |
212 | FRAW.Part1 = FakeRA | |
213 | FRAW.C0 = CFrame.new(0, 0, 0) | |
214 | FRAW.Parent = RightArm | |
215 | ||
216 | local FakeLA = Instance.new("Part") | |
217 | FakeLA.Size = Vector3.new(1,2,1) | |
218 | FakeLA.Transparency = 1 | |
219 | FakeLA.BrickColor = BrickColor.new("Institutional White") | |
220 | FakeLA.Parent = LeftArm | |
221 | ||
222 | local FLAW = Instance.new("Weld") | |
223 | FLAW.Part0 = LeftArm | |
224 | FLAW.Part1 = FakeLA | |
225 | FLAW.C0 = CFrame.new(0, 0, 0) | |
226 | FLAW.Parent = LeftArm | |
227 | ||
228 | local Part = nil | |
229 | ||
230 | if Character then | |
231 | Part = FindInstance(Character, "BasePart", "HumanoidRootPart") or FindInstance(Character, "BasePart", "Head") or FindInstance(Character, "BasePart", "Torso") or FindInstance(Character, "BasePart", "UpperTorso") | |
232 | end | |
233 | ||
234 | if Part then | |
235 | HumanoidRootPart.CFrame = Part.CFrame | |
236 | else | |
237 | local SpawnLocations = { } | |
238 | ||
239 | for _, SpawnLocation in pairs(Workspace:GetDescendants()) do | |
240 | if SpawnLocation:IsA("SpawnLocation") then | |
241 | tableinsert(SpawnLocations, SpawnLocation) | |
242 | end | |
243 | end | |
244 | ||
245 | local Amount = # SpawnLocations | |
246 | ||
247 | if Amount > 0 then | |
248 | local SpawnLocation = SpawnLocations[mathrandom(1, Amount)] | |
249 | HumanoidRootPart.CFrame = SpawnLocation.CFrame * CFramenew(0, SpawnLocation.Size.Y / 2 + 3, 0) | |
250 | else | |
251 | HumanoidRootPart.CFrame = CFrameidentity | |
252 | end | |
253 | end | |
254 | ||
255 | local face = Instancenew("Decal") | |
256 | face.Name = "face" | |
257 | face.Parent = Head | |
258 | ||
259 | local AccessoryTable = { | |
260 | -- Paid -- | |
261 | { Mesh = "14241018198", Texture = "14251599953", Instance = Torso }, | |
262 | { Mesh = "14255522247", Texture = "14255543546", Instance = RightArm, CFrame = CFrameAngles(0, 1.57, 1.57) }, | |
263 | { Mesh = "14255522247", Texture = "14255543546", Instance = LeftArm, CFrame = CFrameAngles(0, - 1.57, 1.57) }, | |
264 | { Mesh = "14768684979", Texture = "14768683674", Instance = RightLeg, CFrame = CFrameAngles(0, - 1.57, 1.57) }, | |
265 | { Mesh = "14768684979", Texture = "14768683674", Instance = LeftLeg, CFrame = CFrameAngles(0, 1.57, 1.57) }, | |
266 | ||
267 | -- Paid (2) -- | |
268 | { Mesh = "14241018198", Texture = "14251599953", Instance = Torso }, | |
269 | { Mesh = "12344206657", Texture = "12344206675", Instance = RightArm, CFrame = CFrameAngles(-115, 0, 0) }, | |
270 | { Mesh = "12344207333", Texture = "12344207341", Instance = LeftArm, CFrame = CFrameAngles(-115, 0, 0) }, | |
271 | { Mesh = "11159370334", Texture = "11159284657", Instance = RightLeg, CFrame = CFrameAngles(0, - 1.57, 1.57) }, | |
272 | { Mesh = "11263221350", Texture = "11263219250", Instance = LeftLeg, CFrame = CFrameAngles(0, 1.57, 1.57) }, | |
273 | ||
274 | -- Free -- | |
275 | { Mesh = "4819720316", Texture = "4819722776", Instance = Torso, CFrame = CFrameAngles(0, 0, 105) }, | |
276 | { Mesh = "3030546036", Texture = "3033903209", Instance = RightArm, CFrame = CFrameAngles(-90, 0, -89.5) }, | |
277 | { Mesh = "3030546036", Texture = "3360978739", Instance = LeftArm, CFrame = CFrameAngles(-90, 0, 89.5) }, | |
278 | { Mesh = "3030546036", Texture = "3409604993", Instance = RightLeg, CFrame = CFrameAngles(-90, 0, -89.5) }, | |
279 | { Mesh = "3030546036", Texture = "3033898741", Instance = LeftLeg, CFrame = CFrameAngles(-90, 0, 89.5) }, | |
280 | ||
281 | -- Temporary -- | |
282 | { Mesh = "14833036921", Texture = "14833036785", Instance = FakeRA, CFrame = CFramenew(0,-2.35, -0.80) * CFrameAngles(1.85, 0, 3.15) }, | |
283 | } | |
284 | ||
285 | for _, Table in pairs(AccessoryTable) do | |
286 | if type(Table.Mesh) ~= "string" then | |
287 | Table.Mesh = "" | |
288 | end | |
289 | if type(Table.Texture) ~= "string" then | |
290 | Table.Texture = "" | |
291 | end | |
292 | end | |
293 | ||
294 | Motor6D("Right Shoulder", Torso, RightArm, CFramenew(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0), CFramenew(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)) | |
295 | Motor6D("Left Shoulder", Torso, LeftArm, CFramenew(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0), CFramenew(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)) | |
296 | Motor6D("Right Hip", Torso, RightLeg, CFramenew(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0), CFramenew(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)) | |
297 | Motor6D("Left Hip", Torso, LeftLeg, CFramenew(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0), CFramenew(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)) | |
298 | Motor6D("Neck", Torso, Head, CFramenew(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0), CFramenew(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)) | |
299 | Motor6D("RootJoint", HumanoidRootPart, Torso, CFramenew(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0), CFramenew(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)) | |
300 | ||
301 | Attachment("HairAttachment", CFramenew(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), Head) | |
302 | Attachment("HatAttachment", CFramenew(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), Head) | |
303 | Attachment("FaceFrontAttachment", CFramenew(0, 0, -0.600000024, 1, 0, 0, 0, 1, 0, 0, 0, 1), Head) | |
304 | Attachment("FaceCenterAttachment", CFramenew(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), Head) | |
305 | Attachment("NeckAttachment", CFramenew(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
306 | Attachment("BodyFrontAttachment", CFramenew(0, 0, -0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
307 | Attachment("BodyBackAttachment", CFramenew(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
308 | Attachment("LeftCollarAttachment", CFramenew(-1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
309 | Attachment("RightCollarAttachment", CFramenew(1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
310 | Attachment("WaistFrontAttachment", CFramenew(0, -1, -0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
311 | Attachment("WaistCenterAttachment", CFramenew(0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
312 | Attachment("WaistBackAttachment", CFramenew(0, -1, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1), Torso) | |
313 | Attachment("LeftShoulderAttachment", CFramenew(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), LeftArm) | |
314 | Attachment("LeftGripAttachment", CFramenew(0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), LeftArm) | |
315 | Attachment("RightShoulderAttachment", CFramenew(0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), RightArm) | |
316 | Attachment("RightGripAttachment", CFramenew(0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), RightArm) | |
317 | Attachment("LeftFootAttachment", CFramenew(0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), LeftLeg) | |
318 | Attachment("RightFootAttachment", CFramenew(0, -1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), RightLeg) | |
319 | Attachment("RootAttachment", CFramenew(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), HumanoidRootPart) | |
320 | ||
321 | local Humanoid = Instancenew("Humanoid", CharacterClone) | |
322 | Instancenew("Animator", Humanoid) | |
323 | ||
324 | Instancenew("LocalScript", CharacterClone).Name = "Animate" | |
325 | ||
326 | CharacterClone.PrimaryPart = Head | |
327 | CharacterClone.Parent = Workspace | |
328 | ||
329 | local function DescendantAdded(Instance) | |
330 | if Instance:IsA("Accessory") then | |
331 | taskspawn(function() | |
332 | local Handle = WaitForClassOfName(Instance, "BasePart", "Handle") | |
333 | local Attachment = WaitForClass(Handle, "Attachment") | |
334 | ||
335 | local Clone = Instance:Clone() | |
336 | ||
337 | local CloneHandle = FindInstance(Clone, "BasePart", "Handle") | |
338 | CloneHandle.Transparency = 1 | |
339 | CloneHandle:BreakJoints() | |
340 | ||
341 | local AccessoryWeld = Instancenew("Weld") | |
342 | AccessoryWeld.Name = "AccessoryWeld" | |
343 | AccessoryWeld.Part0 = CloneHandle | |
344 | AccessoryWeld.C0 = Attachment.CFrame | |
345 | ||
346 | local Name = Attachment.Name | |
347 | ||
348 | for _, TableAttachment in pairs(Attachments) do | |
349 | if TableAttachment.Name == Name then | |
350 | AccessoryWeld.Part1 = TableAttachment.Parent | |
351 | AccessoryWeld.C1 = TableAttachment.CFrame | |
352 | end | |
353 | end | |
354 | ||
355 | AccessoryWeld.Parent = CloneHandle | |
356 | Clone.Parent = CharacterClone | |
357 | ||
358 | tableinsert(Accessories, Clone) | |
359 | ||
360 | local IsAMeshPart = CloneHandle:IsA("MeshPart") | |
361 | local Mesh = IsAMeshPart and CloneHandle or WaitForClass(CloneHandle, "SpecialMesh") | |
362 | local Id = IsAMeshPart and "TextureID" or "TextureId" | |
363 | ||
364 | for _, Table in pairs(AccessoryTable) do | |
365 | local Instance = Table.Instance | |
366 | ||
367 | if Instance then | |
368 | if stringmatch(Mesh.MeshId, Table.Mesh) and stringmatch(Mesh[Id], Table.Texture) and not tablefind(Blacklist, Instance) then | |
369 | tableinsert(Blacklist, Instance) | |
370 | tableinsert(Aligns, { Handle, Instance, Table.CFrame or CFrameidentity }) | |
371 | return | |
372 | end | |
373 | end | |
374 | end | |
375 | ||
376 | tableinsert(Aligns, { Handle, CloneHandle, CFrameidentity }) | |
377 | end) | |
378 | elseif Instance:IsA("JointInstance") then | |
379 | taskspawn(function() | |
380 | taskwait() | |
381 | Instance:Destroy() | |
382 | end) | |
383 | end | |
384 | end | |
385 | ||
386 | local function CharacterAdded(Character) | |
387 | if Character ~= CharacterClone then | |
388 | PostSimulation:Wait() | |
389 | ||
390 | local Backpack = LocalPlayer:FindFirstChildOfClass("Backpack") | |
391 | ||
392 | if Backpack then | |
393 | Backpack:ClearAllChildren() | |
394 | end | |
395 | ||
396 | tableclear(Aligns) | |
397 | tableclear(Blacklist) | |
398 | ||
399 | for _, Accessory in pairs(Accessories) do | |
400 | Accessory:Destroy() | |
401 | end | |
402 | ||
403 | local CurrentCameraCFrame = CurrentCamera.CFrame | |
404 | ||
405 | LocalPlayer.Character = CharacterClone | |
406 | CurrentCamera.CameraSubject = CharacterClone.Head | |
407 | ||
408 | taskspawn(function() | |
409 | CurrentCamera:GetPropertyChangedSignal("CFrame"):Wait() | |
410 | CurrentCamera.CFrame = CurrentCameraCFrame | |
411 | end) | |
412 | ||
413 | local CharacterHumanoidRootPart = WaitForClassOfName(Character, "BasePart", "HumanoidRootPart") | |
414 | ||
415 | for Index, Value in pairs(Fling) do | |
416 | local BasePart = nil | |
417 | ||
418 | if typeof(Value) == "Instance" then | |
419 | if Value:IsA("BasePart") then | |
420 | BasePart = Value | |
421 | elseif Value:IsA("Humanoid") then | |
422 | local Model = Value.Parent | |
423 | ||
424 | if Model ~= Character and Model:IsA("Model") then | |
425 | BasePart = FindInstance(Model, "BasePart", "HumanoidRootPart") or FindInstance(Model, "BasePart", "Head") or Model:FindFirstChildOfClass("BasePart") | |
426 | end | |
427 | elseif Value:IsA("Model") and Value ~= Character then | |
428 | BasePart = FindInstance(Value, "BasePart", "HumanoidRootPart") or FindInstance(Value, "BasePart", "Head") or Value:FindFirstChildOfClass("BasePart") | |
429 | end | |
430 | end | |
431 | ||
432 | if BasePart then | |
433 | local clock = osclock() | |
434 | ||
435 | while CharacterHumanoidRootPart and BasePart and osclock() - clock <= 1 and BasePart.AssemblyLinearVelocity.Magnitude <= 60 do | |
436 | CharacterHumanoidRootPart.AssemblyAngularVelocity = Velocity | |
437 | CharacterHumanoidRootPart.AssemblyLinearVelocity = Velocity | |
438 | ||
439 | CharacterHumanoidRootPart.CFrame = BasePart.CFrame + Vector3new(0, - 1, 0) | |
440 | PostSimulation:Wait() | |
441 | end | |
442 | end | |
443 | end | |
444 | ||
445 | tableclear(Fling) | |
446 | ||
447 | if CharacterHumanoidRootPart then | |
448 | CharacterHumanoidRootPart.AssemblyAngularVelocity = Vector3zero | |
449 | CharacterHumanoidRootPart.AssemblyLinearVelocity = Vector3zero | |
450 | ||
451 | CharacterHumanoidRootPart.CFrame = CFramenew(HumanoidRootPart.Position + Vector3new(mathrandom(- 32, 32), 0, mathrandom(- 32, 32))) | |
452 | PostSimulation:Wait() | |
453 | end | |
454 | ||
455 | Character:BreakJoints() | |
456 | ||
457 | for _, Instance in pairs(Character:GetDescendants()) do | |
458 | DescendantAdded(Instance) | |
459 | end | |
460 | ||
461 | Character.DescendantAdded:Connect(DescendantAdded) | |
462 | end | |
463 | end | |
464 | ||
465 | local function Align(Part0, Part1, CFrame) | |
466 | if Part0.ReceiveAge == 0 and not Part0.Anchored and # Part0:GetJoints() == 0 then | |
467 | Part0.AssemblyAngularVelocity = Vector3new(0, Angular, 0) | |
468 | ||
469 | local Part1CFrame = Part1.CFrame | |
470 | local LinearVelocity = Part1.AssemblyLinearVelocity * Linear | |
471 | local Magnitude = LinearVelocity.Magnitude < Linear | |
472 | ||
473 | if Magnitude then | |
474 | local LookVector = Part1CFrame.LookVector * Linear | |
475 | Part0.AssemblyLinearVelocity = Vector3new(LookVector.X, Linear, LookVector.Z) | |
476 | else | |
477 | Part0.AssemblyLinearVelocity = Vector3new(LinearVelocity.X, Linear, LinearVelocity.Z) | |
478 | end | |
479 | ||
480 | Part0.CFrame = Part1CFrame * ( Magnitude and Sleep or CFrameidentity ) * CFrame | |
481 | end | |
482 | end | |
483 | ||
484 | if Character then | |
485 | CharacterAdded(Character) | |
486 | end | |
487 | ||
488 | local Added = LocalPlayer.CharacterAdded:Connect(CharacterAdded) | |
489 | ||
490 | local Connection = game:FindFirstChildOfClass("RunService").PostSimulation:Connect(function() | |
491 | local osclock = osclock() | |
492 | local Axis = 0.004 * mathcos(osclock * 17.5) | |
493 | ||
494 | Sleep = CFramenew(0, Axis, 0) | |
495 | Angular = mathcos(osclock) | |
496 | Linear = 26 | |
497 | ||
498 | for _, Table in pairs(Aligns) do | |
499 | Align(Table[1], Table[2], Table[3]) | |
500 | end | |
501 | ||
502 | if sethiddenproperty then | |
503 | sethiddenproperty(LocalPlayer, "SimulationRadius", 10000000) | |
504 | end | |
505 | ||
506 | StarterGui:SetCore("ResetButtonCallback", BindableEvent) -- This is if it gets overriden, just like in MyWorld testing place. | |
507 | end) | |
508 | ||
509 | local function Event() | |
510 | CharacterClone:Destroy() | |
511 | end | |
512 | ||
513 | BindableEvent.Event:Connect(Event) | |
514 | ||
515 | CharacterClone:GetPropertyChangedSignal("Parent"):Connect(function() | |
516 | if not CharacterClone.Parent then | |
517 | Added:Disconnect() | |
518 | Connection:Disconnect() | |
519 | ||
520 | CharacterClone:Destroy() | |
521 | ||
522 | if BindableEvent then | |
523 | BindableEvent:Destroy() | |
524 | end | |
525 | - | Player = game.Players.LocalPlayer |
525 | + | |
526 | - | PlayerGui = Player.PlayerGui |
526 | + | |
527 | - | Cam = workspace.CurrentCamera |
527 | + | |
528 | - | Character = Player.Character |
528 | + | |
529 | - | Humanoid = Character.Humanoid |
529 | + | |
530 | BindableEvent:GetPropertyChangedSignal("Parent"):Connect(Event) | |
531 | - | Torso = Character["Torso"] |
531 | + | |
532 | - | Head = Character["Head"] |
532 | + | print[[ |
533 | Vaporwave Vibe Thing By Godcat567 | |
534 | ||
535 | This was based off of a mode from powertommm's banisher switcher | |
536 | ||
537 | - | RootJoint = RootPart["RootJoint"] |
537 | + | Visualiser Commands: .id [insert music id here] |
538 | - | Neck = Torso["Neck"] |
538 | + | .vol [insert volume number here] |
539 | .pit [insert pitch number here] | |
540 | ]] | |
541 | ||
542 | --Source Code Might Be Used From Others Credits To Their Creators | |
543 | - | Mouse = Player:GetMouse() |
543 | + | |
544 | wait(1/60) | |
545 | - | IT = Instance.new |
545 | + | |
546 | - | CF = CFrame.new |
546 | + | --[[ Defining Variables ]] |
547 | - | VT = Vector3.new |
547 | + | |
548 | - | RAD = math.rad |
548 | + | Plr = game.Players.LocalPlayer |
549 | - | C3 = Color3.new |
549 | + | PlrGui = Plr.PlayerGui |
550 | - | UD2 = UDim2.new |
550 | + | Character = Plr.Character |
551 | - | BRICKC = BrickColor.new |
551 | + | |
552 | - | ANGLES = CFrame.Angles |
552 | + | |
553 | - | EULER = CFrame.fromEulerAnglesXYZ |
553 | + | |
554 | - | COS = math.cos |
554 | + | |
555 | - | ACOS = math.acos |
555 | + | |
556 | - | SIN = math.sin |
556 | + | Torso = Character.Torso |
557 | - | ASIN = math.asin |
557 | + | Head = Character.Head |
558 | - | ABS = math.abs |
558 | + | Humanoid = Character:FindFirstChildOfClass('Humanoid') |
559 | - | MRANDOM = math.random |
559 | + | |
560 | - | FLOOR = math.floor |
560 | + | --[[ Joint Setup ]] |
561 | ||
562 | - | --//=================================\\ |
562 | + | Neck = Torso.Neck |
563 | - | --|| USEFUL VALUES |
563 | + | RootJoint = RootPart.RootJoint |
564 | - | --\\=================================// |
564 | + | |
565 | LeftShoulder = Torso["Left Shoulder"] | |
566 | - | Animation_Speed = 3 |
566 | + | |
567 | - | Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60) |
567 | + | |
568 | - | local Speed = 16 |
568 | + | --Tail = Character["Black Cyber Critter Tail"].Handle.AccessoryWeld |
569 | - | local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) |
569 | + | |
570 | - | local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) |
570 | + | EulerRootCF = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14) --CFrame.Angles(math.rad(-90),0,math.rad(180)) |
571 | - | local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) |
571 | + | NeckCF = CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)) |
572 | - | local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) |
572 | + | RightShoulderCF = CFrame.new(-0.5,0,0)*CFrame.Angles(0,math.rad(90),0) |
573 | - | local DAMAGEMULTIPLIER = 1 |
573 | + | LeftShoulderCF = CFrame.new(0.5,0,0)*CFrame.Angles(0,math.rad(-90),0) |
574 | - | local ANIM = "Idle" |
574 | + | --TailCF = CFrame.new(0,-.75,.5)*CFrame.fromEulerAnglesXYZ(-3.14,0,3.14) |
575 | - | local ATTACK = false |
575 | + | |
576 | - | local EQUIPPED = false |
576 | + | DefaultWelds = { |
577 | - | local HOLD = false |
577 | + | C0 = { |
578 | - | local COMBO = 1 |
578 | + | RJC0 = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)*CFrame.new(0,0,0), |
579 | - | local Rooted = false |
579 | + | NKC0 = CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)), |
580 | - | local SINE = 0 |
580 | + | RSC0 = CFrame.new(1,0.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), |
581 | - | local KEYHOLD = false |
581 | + | LSC0 = CFrame.new(-1,0.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), |
582 | - | local CHANGE = 2 / Animation_Speed |
582 | + | RHC0 = CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), |
583 | - | local WALKINGANIM = false |
583 | + | LHC0 = CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), |
584 | - | local VALUE1 = false |
584 | + | }, |
585 | - | local VALUE2 = false |
585 | + | C1 = { |
586 | - | local ROBLOXIDLEANIMATION = IT("Animation") |
586 | + | RJC1 = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)*CFrame.new(0,0,0), |
587 | - | ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation" |
587 | + | NKC1 = CFrame.new(0,-0.5,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(180)), |
588 | - | ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571" |
588 | + | RSC1 = CFrame.new(-0.5,0.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), |
589 | - | --ROBLOXIDLEANIMATION.Parent = Humanoid |
589 | + | LSC1 = CFrame.new(0.5,0.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), |
590 | - | local WEAPONGUI = IT("ScreenGui", PlayerGui) |
590 | + | RHC1 = CFrame.new(0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)), |
591 | - | WEAPONGUI.Name = "Weapon GUI" |
591 | + | LHC1 = CFrame.new(-0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)), |
592 | - | local Effects = IT("Folder", Character) |
592 | + | |
593 | - | Effects.Name = "Effects" |
593 | + | }, |
594 | - | local ANIMATOR = Humanoid.Animator |
594 | + | |
595 | - | local ANIMATE = Character.Animate |
595 | + | --Default welds for anybody who does NOT know cframe |
596 | - | local UNANCHOR = true |
596 | + | |
597 | - | local SC = false |
597 | + | --[[ Killing Default Animations Initiated ]] |
598 | ||
599 | - | --//=================================\\ |
599 | + | for _,v in next, Humanoid:GetPlayingAnimationTracks() do |
600 | - | --\\=================================// |
600 | + | v:Stop() |
601 | end | |
602 | ||
603 | - | --//=================================\\ |
603 | + | pcall(game.Destroy,Character.Animate) |
604 | - | --|| SAZERENOS' ARTIFICIAL HEARTBEAT |
604 | + | pcall(game.Destroy,Humanoid.Animator) |
605 | - | --\\=================================// |
605 | + | |
606 | --[[ Killing Default Animations Ended]] | |
607 | - | ArtificialHB = Instance.new("BindableEvent", script) |
607 | + | |
608 | - | ArtificialHB.Name = "ArtificialHB" |
608 | + | --[[ Customizable/Modular Settings ]] |
609 | ||
610 | - | script:WaitForChild("ArtificialHB") |
610 | + | CanBeRainbow = true --for hue rainbow set this to true you'll be expected to use my provided color changing shirt and pants for it |
611 | sinetick = 0 | |
612 | - | frame = Frame_Speed |
612 | + | change = 1 |
613 | - | tf = 0 |
613 | + | ID = 3100259439 |
614 | - | allowframeloss = false |
614 | + | IsAttacking = false |
615 | - | tossremainder = false |
615 | + | hue = 0 |
616 | - | lastframe = tick() |
616 | + | pit = 1 |
617 | - | script.ArtificialHB:Fire() |
617 | + | vol = 3 |
618 | SGui = Instance.new("ScreenGui",PlrGui) | |
619 | - | game:GetService("RunService").Heartbeat:connect(function(s, p) |
619 | + | |
620 | - | tf = tf + s |
620 | + | --[[ SazErno's Artificial Hearbeat [Adapted By Nebula_Zoroark] ]] |
621 | - | if tf >= frame then |
621 | + | |
622 | - | if allowframeloss then |
622 | + | AHB = Instance.new("BindableEvent") |
623 | - | ArtificialHB:Fire() |
623 | + | FPS = 60 |
624 | - | lastframe = tick() |
624 | + | LastFrame = tick() |
625 | TimeFrame = 0 | |
626 | - | for i = 1, math.floor(tf / frame) do |
626 | + | Frame = 1/FPS |
627 | - | ArtificialHB:Fire() |
627 | + | |
628 | game:GetService("RunService").Heartbeat:Connect(function(s,p) | |
629 | - | lastframe = tick() |
629 | + | TimeFrame = TimeFrame + s |
630 | if(TimeFrame>=Frame)then | |
631 | - | if tossremainder then |
631 | + | for i=1,math.floor(TimeFrame/Frame) do |
632 | - | tf = 0 |
632 | + | AHB:Fire() |
633 | end | |
634 | - | tf = tf - frame * math.floor(tf / frame) |
634 | + | LastFrame=tick() |
635 | TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame) | |
636 | end | |
637 | end) | |
638 | ||
639 | - | --//=================================\\ |
639 | + | function Swait(dur) |
640 | - | --\\=================================// |
640 | + | if(dur == 0 or typeof(dur) ~= 'number') then |
641 | AHB.Event:wait() | |
642 | - | --//=================================\\ |
642 | + | |
643 | - | --|| SOME FUNCTIONS |
643 | + | for i= 1, dur*FPS do |
644 | - | --\\=================================// |
644 | + | AHB.Event:wait() |
645 | end | |
646 | - | function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS) |
646 | + | |
647 | - | return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS) |
647 | + | |
648 | ||
649 | --[[ Functions ]] | |
650 | - | function PositiveAngle(NUMBER) |
650 | + | |
651 | - | if NUMBER >= 0 then |
651 | + | --Interpreted From 123jl123's scripts |
652 | - | NUMBER = 0 |
652 | + | function SetJointTween(Joint,TweenData,EasingType,DirectionType,AnimationTime) |
653 | local EST = Enum.EasingStyle[EasingType] | |
654 | - | return NUMBER |
654 | + | local DRT = Enum.EasingDirection[DirectionType] |
655 | local InterpolationSpeed = 1 | |
656 | local TI = TweenInfo.new(AnimationTime/InterpolationSpeed,EST,DRT,0,false,0) | |
657 | - | function NegativeAngle(NUMBER) |
657 | + | local MCF = TweenData |
658 | - | if NUMBER <= 0 then |
658 | + | local TAnim = game:service'TweenService':Create(Joint,TI,MCF) |
659 | - | NUMBER = 0 |
659 | + | TAnim:Play() |
660 | end | |
661 | - | return NUMBER |
661 | + | |
662 | function RemoveAllOutlines(Object) | |
663 | Object.TopSurface,Object.BottomSurface,Object.RightSurface,Object.LeftSurface,Object.FrontSurface,Object.BackSurface = "SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines","SmoothNoOutlines" | |
664 | - | function Swait(NUMBER) |
664 | + | |
665 | - | if NUMBER == 0 or NUMBER == nil then |
665 | + | |
666 | - | ArtificialHB.Event:wait() |
666 | + | --[[ Miscellaneous Stuff ]] |
667 | ||
668 | - | for i = 1, NUMBER do |
668 | + | Playlist = { |
669 | - | ArtificialHB.Event:wait() |
669 | + | Beachwalk = 334283059; |
670 | Pyrowalk = 2082142910; | |
671 | Default = 3100259439; | |
672 | Vapor90s = 654094806; | |
673 | ZenWavy = 2231500330; | |
674 | - | function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET) |
674 | + | NostalgicGalaxy = 195904435; --Adult Swim Bump (Nostalgic Galaxy) |
675 | - | local NEWMESH = IT(MESH) |
675 | + | Landing = 1522831964; --HOME - We're Finally Landing [SynthWave] |
676 | - | if MESH == "SpecialMesh" then |
676 | + | |
677 | - | NEWMESH.MeshType = MESHTYPE |
677 | + | |
678 | - | if MESHID ~= "nil" and MESHID ~= "" then |
678 | + | IDLST = { |
679 | - | NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID |
679 | + | UnderFellBtl=1561410944; |
680 | ZigZag=1745866165; | |
681 | - | if TEXTUREID ~= "nil" and TEXTUREID ~= "" then |
681 | + | CroiX=1037245665; |
682 | - | NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID |
682 | + | Kuroda=1492179112; |
683 | Boss2=151915559; | |
684 | CMB=583415095; | |
685 | - | NEWMESH.Offset = OFFSET or VT(0, 0, 0) |
685 | + | EP=343860759; |
686 | - | NEWMESH.Scale = SCALE |
686 | + | EPRemix=2954216473; |
687 | - | NEWMESH.Parent = PARENT |
687 | + | FloorOfLava=1426355953; |
688 | - | return NEWMESH |
688 | + | ClassicalVIP=267058311; --NightKilla - Classical VIP |
689 | EmbryO = 2835035033; --かぼちゃ - ΣmbryØ | |
690 | God = 3494472936; --Team Grimoire - Grimoire | |
691 | - | function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) |
691 | + | HM = 3329947102; --Nero's Day At Disneyland - Happy Meal |
692 | - | local NEWPART = IT("Part") |
692 | + | Empress = 2996420896; --UNDEAD COPORATION - The Empress |
693 | - | NEWPART.formFactor = FORMFACTOR |
693 | + | Sinken = 3752430080; --35 - Sinken [Mogeko's Castle] |
694 | - | NEWPART.Reflectance = REFLECTANCE |
694 | + | ThisIsYourEnd = 1439600000; --Nefarious Crow OST - This Is Your End |
695 | - | NEWPART.Transparency = TRANSPARENCY |
695 | + | TryThis = 2496846835; --[Drumstep] - Pegboard Nerds - Try This [Monstercat] Release |
696 | - | NEWPART.CanCollide = false |
696 | + | Touhou = 540226023; --No by ImHavingAnAneurysm epic username tbh LMAO |
697 | - | NEWPART.Locked = true |
697 | + | NecroDancer = 885342933; --Crypt Of The Necro Dancer Amplified - Zone 5-3 |
698 | - | NEWPART.Anchored = true |
698 | + | Hailfire = 566809627; --NightKilla - Hailfire |
699 | - | if ANCHOR == false then |
699 | + | Classical=269408035; --NightKilla - Classical |
700 | - | NEWPART.Anchored = false |
700 | + | Jawbreaker=245104465; --NightKilla - Jawbreaker |
701 | LifeLetters=1789295287; --Life Letters / ЦΣЛУЙ МΣНЯ | |
702 | - | NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) |
702 | + | SillyLetters=1329165680; --Silly Letters / Глупые письма |
703 | - | NEWPART.Name = NAME |
703 | + | NightmareBeforeXmas=521953625; |
704 | - | NEWPART.Size = SIZE |
704 | + | DrumsOfWar=1594042527; |
705 | - | NEWPART.Position = Torso.Position |
705 | + | Coagulant=1566197356; |
706 | - | NEWPART.Material = MATERIAL |
706 | + | InterstellarStomper=3221578654; |
707 | - | NEWPART:BreakJoints() |
707 | + | Hate=4538576008; |
708 | - | NEWPART.Parent = PARENT |
708 | + | RT = 779838221; --DOOM SoundTrack Rip & Tear |
709 | - | return NEWPART |
709 | + | Mdrq = 1931001768; --Frums - Mdrqnxtagon |
710 | Credits = 3089991101; --Frums - Credits | |
711 | Czardas = 1846311619; --Czardas Macabre | |
712 | - | local function weldBetween(a, b) |
712 | + | |
713 | - | local weldd = Instance.new("ManualWeld") |
713 | + | |
714 | - | weldd.Part0 = a |
714 | + | |
715 | - | weldd.Part1 = b |
715 | + | local sound = Instance.new("Sound",Torso) |
716 | - | weldd.C0 = CFrame.new() |
716 | + | sound.Volume = vol |
717 | - | weldd.C1 = b.CFrame:inverse() * a.CFrame |
717 | + | sound.SoundId = "rbxassetid://"..ID |
718 | - | weldd.Parent = a |
718 | + | sound.Pitch = pit |
719 | - | return weldd |
719 | + | sound.Name = string.char(189)..string.char(189)..string.char(189)..string.char(189)..string.char(189) |
720 | sound.Looped = true | |
721 | sound:play() | |
722 | local time = 0 | |
723 | - | function QuaternionFromCFrame(cf) |
723 | + | |
724 | - | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() |
724 | + | local Part = Instance.new("Part") |
725 | - | local trace = m00 + m11 + m22 |
725 | + | local Mesh = Instance.new("SpecialMesh") |
726 | - | if trace > 0 then |
726 | + | local Part2 = Instance.new("Part") |
727 | - | local s = math.sqrt(1 + trace) |
727 | + | local Mesh2 = Instance.new("SpecialMesh",Part2) |
728 | - | local recip = 0.5 / s |
728 | + | local Part3 = Instance.new("Part") |
729 | - | return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 |
729 | + | local Mesh3 = Instance.new("SpecialMesh",Part3) |
730 | local Part4 = Instance.new("Part") | |
731 | - | local i = 0 |
731 | + | local Mesh4 = Instance.new("SpecialMesh",Part4) |
732 | - | if m11 > m00 then |
732 | + | |
733 | - | i = 1 |
733 | + | RemoveAllOutlines(Part) |
734 | RemoveAllOutlines(Part2) | |
735 | - | if m22 > (i == 0 and m00 or m11) then |
735 | + | RemoveAllOutlines(Part3) |
736 | - | i = 2 |
736 | + | RemoveAllOutlines(Part4) |
737 | ||
738 | - | if i == 0 then |
738 | + | Part.Color = Color3.new(0, 1, 1) |
739 | - | local s = math.sqrt(m00 - m11 - m22 + 1) |
739 | + | Part.CFrame = CFrame.new() |
740 | - | local recip = 0.5 / s |
740 | + | Part.Material = Enum.Material.Neon |
741 | - | return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip |
741 | + | Part.Size = Vector3.new(1, 0.5, 1) |
742 | - | elseif i == 1 then |
742 | + | Part.BrickColor = BrickColor.new("Toothpaste") |
743 | - | local s = math.sqrt(m11 - m22 - m00 + 1) |
743 | + | Part.Position = Vector3.new() |
744 | - | local recip = 0.5 / s |
744 | + | Part.Parent = Character |
745 | - | return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip |
745 | + | Mesh.MeshType = Enum.MeshType.Sphere |
746 | - | elseif i == 2 then |
746 | + | Mesh.Parent = Part |
747 | - | local s = math.sqrt(m22 - m00 - m11 + 1) |
747 | + | Part.Anchored = true |
748 | - | local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip |
748 | + | Part.CanCollide = false |
749 | Part.Transparency = 0 | |
750 | ||
751 | Part2.Color = Color3.new(0, 1, 1) | |
752 | Part2.CFrame = CFrame.new() | |
753 | - | function QuaternionToCFrame(px, py, pz, x, y, z, w) |
753 | + | Part2.Material = Enum.Material.Neon |
754 | - | local xs, ys, zs = x + x, y + y, z + z |
754 | + | Part2.Size = Vector3.new(1, 0.5, 1) |
755 | - | local wx, wy, wz = w * xs, w * ys, w * zs |
755 | + | Part2.BrickColor = BrickColor.new("Toothpaste") |
756 | - | local xx = x * xs |
756 | + | Part2.Position = Vector3.new() |
757 | - | local xy = x * ys |
757 | + | Part2.Parent = Character |
758 | - | local xz = x * zs |
758 | + | Mesh2.MeshType = Enum.MeshType.Sphere |
759 | - | local yy = y * ys |
759 | + | Mesh2.Parent = Part2 |
760 | - | local yz = y * zs |
760 | + | Part2.Anchored = true |
761 | - | local zz = z * zs |
761 | + | Part2.CanCollide = false |
762 | - | 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)) |
762 | + | Part2.Transparency = 0.25 |
763 | ||
764 | Part3.Color = Color3.new(0, 1, 1) | |
765 | - | function QuaternionSlerp(a, b, t) |
765 | + | Part3.CFrame = CFrame.new() |
766 | - | local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] |
766 | + | Part3.Material = Enum.Material.Neon |
767 | - | local startInterp, finishInterp; |
767 | + | Part3.Size = Vector3.new(1, 0.5, 1) |
768 | - | if cosTheta >= 0.0001 then |
768 | + | Part3.BrickColor = BrickColor.new("Toothpaste") |
769 | - | if (1 - cosTheta) > 0.0001 then |
769 | + | Part3.Position = Vector3.new() |
770 | - | local theta = ACOS(cosTheta) |
770 | + | Part3.Parent = Character |
771 | - | local invSinTheta = 1 / SIN(theta) |
771 | + | Mesh3.MeshType = Enum.MeshType.Sphere |
772 | - | startInterp = SIN((1 - t) * theta) * invSinTheta |
772 | + | Mesh3.Parent = Part3 |
773 | - | finishInterp = SIN(t * theta) * invSinTheta |
773 | + | Part3.Anchored = true |
774 | Part3.CanCollide = false | |
775 | - | startInterp = 1 - t |
775 | + | Part3.Transparency = 0.50 |
776 | - | finishInterp = t |
776 | + | |
777 | Part4.Color = Color3.new(0, 1, 1) | |
778 | Part4.CFrame = CFrame.new() | |
779 | - | if (1 + cosTheta) > 0.0001 then |
779 | + | Part4.Material = Enum.Material.Neon |
780 | - | local theta = ACOS(-cosTheta) |
780 | + | Part4.Size = Vector3.new(1, 0.5, 1) |
781 | - | local invSinTheta = 1 / SIN(theta) |
781 | + | Part4.BrickColor = BrickColor.new("Toothpaste") |
782 | - | startInterp = SIN((t - 1) * theta) * invSinTheta |
782 | + | Part4.Position = Vector3.new() |
783 | - | finishInterp = SIN(t * theta) * invSinTheta |
783 | + | Part4.Parent = Character |
784 | Mesh4.MeshType = Enum.MeshType.Sphere | |
785 | - | startInterp = t - 1 |
785 | + | Mesh4.Parent = Part4 |
786 | - | finishInterp = t |
786 | + | Part4.Anchored = true |
787 | Part4.CanCollide = false | |
788 | Part4.Transparency = 0.75 | |
789 | - | 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 |
789 | + | |
790 | ||
791 | ||
792 | - | function Clerp(a, b, t) |
792 | + | |
793 | - | local qa = {QuaternionFromCFrame(a)} |
793 | + | --[[ Anti Nosound (Don't Use My Stuff In Void Script Builder) ]] |
794 | - | local qb = {QuaternionFromCFrame(b)} |
794 | + | |
795 | - | local ax, ay, az = a.x, a.y, a.z |
795 | + | game:service'RunService'.Stepped:connect(function() |
796 | - | local bx, by, bz = b.x, b.y, b.z |
796 | + | if sound.Parent ~= nil then |
797 | - | local _t = 1 - t |
797 | + | sound.SoundId = "rbxassetid://"..ID |
798 | - | return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) |
798 | + | sound.Volume = vol |
799 | sound.Pitch = pit | |
800 | sound.Looped = true | |
801 | - | function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME) |
801 | + | time = sound.TimePosition |
802 | - | local frame = IT("Frame") |
802 | + | |
803 | - | frame.BackgroundTransparency = TRANSPARENCY |
803 | + | sound = Instance.new('Sound',Torso) |
804 | - | frame.BorderSizePixel = BORDERSIZEPIXEL |
804 | + | sound.Volume = vol |
805 | - | frame.Position = POSITION |
805 | + | sound.Name = string.char(189)..string.char(189)..string.char(189)..string.char(189)..string.char(189) |
806 | - | frame.Size = SIZE |
806 | + | sound.Pitch = pit |
807 | - | frame.BackgroundColor3 = COLOR |
807 | + | sound.Looped = true |
808 | - | frame.BorderColor3 = BORDERCOLOR |
808 | + | sound.Playing = true |
809 | - | frame.Name = NAME |
809 | + | sound.TimePosition = time |
810 | - | frame.Parent = PARENT |
810 | + | |
811 | - | return frame |
811 | + | |
812 | ||
813 | --[[ Chat Commands ]] | |
814 | - | function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME) |
814 | + | |
815 | - | local label = IT("TextLabel") |
815 | + | |
816 | - | label.BackgroundTransparency = 1 |
816 | + | |
817 | - | label.Size = UD2(1, 0, 1, 0) |
817 | + | --[[ Animation Loop ]] |
818 | - | label.Position = UD2(0, 0, 0, 0) |
818 | + | |
819 | - | label.TextColor3 = TEXTCOLOR |
819 | + | |
820 | - | label.TextStrokeTransparency = STROKETRANSPARENCY |
820 | + | game:service'Debris':AddItem(Instance.new("Shirt",game:service'Debris'),0) --Mainly Used In CR But Still Helps The Script Rather Than Using collectgarbage() |
821 | - | label.TextTransparency = TRANSPARENCY |
821 | + | local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude |
822 | - | label.FontSize = TEXTFONTSIZE |
822 | + | sinetick=sinetick+change |
823 | - | label.Font = TEXTFONT |
823 | + | hue=hue+1 |
824 | - | label.BorderSizePixel = BORDERSIZEPIXEL |
824 | + | --Footplanting Math :joy: |
825 | - | label.TextScaled = false |
825 | + | local FwdDir = Humanoid.MoveDirection*RootPart.CFrame.lookVector |
826 | - | label.Text = TEXT |
826 | + | local RigDir = Humanoid.MoveDirection*RootPart.CFrame.rightVector |
827 | - | label.Name = NAME |
827 | + | Vector = { |
828 | - | label.Parent = PARENT |
828 | + | X=FwdDir.X+FwdDir.Z, |
829 | - | return label |
829 | + | Z=RigDir.X+RigDir.Z |
830 | } | |
831 | if(hue>360) then hue = 0 end | |
832 | - | function NoOutlines(PART) |
832 | + | SetJointTween(Part,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) |
833 | - | PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10 |
833 | + | SetJointTween(Part2,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) |
834 | SetJointTween(Part3,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) | |
835 | SetJointTween(Part4,{Position = RootPart.Position - Vector3.new(0,3,0)},"Quad","Out",.1) | |
836 | - | function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1) |
836 | + | SetJointTween(Part4,{Size = Part.Size * Vector3.new(4,0.5,4)},"Quad","Out",.1) |
837 | - | local NEWWELD = IT(TYPE) |
837 | + | SetJointTween(Part3,{Size = Part.Size * Vector3.new(3,0.5,3)},"Quad","Out",.1) |
838 | - | NEWWELD.Part0 = PART0 |
838 | + | SetJointTween(Part2,{Size = Part.Size * Vector3.new(2,0.5,2)},"Quad","Out",.1) |
839 | - | NEWWELD.Part1 = PART1 |
839 | + | SetJointTween(Part,{Size = Vector3.new(sound.PlaybackLoudness/10,0.5,sound.PlaybackLoudness/10)},"Quad","Out",.1) |
840 | - | NEWWELD.C0 = C0 |
840 | + | SetJointTween(Part4,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1))},"Quad","Out",.1) |
841 | - | NEWWELD.C1 = C1 |
841 | + | SetJointTween(Part3,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1)/500,0,1)},"Quad","Out",.1) |
842 | - | NEWWELD.Parent = PARENT |
842 | + | SetJointTween(Part2,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1))},"Quad","Out",.1) |
843 | - | return NEWWELD |
843 | + | SetJointTween(Part,{Color = Color3.fromHSV(hue/360,1,math.clamp(sound.PlaybackLoudness/500,0,1))},"Quad","Out",.1) |
844 | if CanBeRainbow == true then | |
845 | SetJointTween(Head,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) | |
846 | - | local S = IT("Sound") |
846 | + | SetJointTween(Torso,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) |
847 | - | function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP) |
847 | + | SetJointTween(RightArm,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) |
848 | - | local NEWSOUND = nil |
848 | + | SetJointTween(LeftArm,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) |
849 | - | coroutine.resume(coroutine.create(function() |
849 | + | SetJointTween(LeftLeg,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) |
850 | - | NEWSOUND = S:Clone() |
850 | + | SetJointTween(RightLeg,{Color = Color3.fromHSV(hue/360,1,1)},"Quad","Out",.1) |
851 | - | NEWSOUND.Parent = PARENT |
851 | + | |
852 | - | NEWSOUND.Volume = VOLUME |
852 | + | local Alpha = 1/3 |
853 | - | NEWSOUND.Pitch = PITCH |
853 | + | if IsAttacking == false then |
854 | - | NEWSOUND.SoundId = "rbxassetid://"..ID |
854 | + | if torvel < 1 and Humanoid.Sit == false then |
855 | - | NEWSOUND:play() |
855 | + | 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) |
856 | - | if DOESLOOP == true then |
856 | + | 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) |
857 | - | NEWSOUND.Looped = true |
857 | + | 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) |
858 | 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) | |
859 | - | repeat wait(1) until NEWSOUND.Playing == false |
859 | + | 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) |
860 | - | NEWSOUND:remove() |
860 | + | 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) |
861 | elseif torvel > 1 and Humanoid.Sit == false then | |
862 | - | end)) |
862 | + | 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) |
863 | - | return NEWSOUND |
863 | + | 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) |
864 | 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) | |
865 | 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) | |
866 | - | function CFrameFromTopBack(at, top, back) |
866 | + | 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) |
867 | - | local right = top:Cross(back) |
867 | + | 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) |
868 | - | return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z) |
868 | + | elseif Humanoid.Sit == true then |
869 | 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) | |
870 | 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) | |
871 | - | --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0}) |
871 | + | SetJointTween(RightShoulder,{C0 = CFrame.new(1.5,.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))*RightShoulderCF},"Quad","Out",Alpha) |
872 | - | function WACKYEFFECT(Table) |
872 | + | SetJointTween(LeftShoulder,{C0 = CFrame.new(-1.5,.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))*LeftShoulderCF},"Quad","Out",Alpha) |
873 | - | local TYPE = (Table.EffectType or "Sphere") |
873 | + | 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) |
874 | - | local SIZE = (Table.Size or VT(1,1,1)) |
874 | + | 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) |
875 | - | local ENDSIZE = (Table.Size2 or VT(0,0,0)) |
875 | + | |
876 | - | local TRANSPARENCY = (Table.Transparency or 0) |
876 | + | end |
877 | - | local ENDTRANSPARENCY = (Table.Transparency2 or 1) |
877 | + | |
878 | - | local CFRAME = (Table.CFrame or Torso.CFrame) |
878 | + | lol = getcustomasset or getsynasset |
879 | - | local MOVEDIRECTION = (Table.MoveToPos or nil) |
879 | + | getgenv().LoadLibrary = function(lib) return loadstring(game:HttpGet("https://raw.githubusercontent.com/Roblox/Core-Scripts/master/CoreScriptsRoot/Libraries/" .. lib .. ".lua"))() end |