SHOW:
|
|
- or go back to the newest paste.
1 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
2 | local Player,player,game,owner = owner,game | |
3 | local RealPlayer = Player | |
4 | do | |
5 | local rp = RealPlayer | |
6 | script.Parent = rp.Character | |
7 | ||
8 | --RemoteEvent for communicating | |
9 | local Event = Instance.new("RemoteEvent") | |
10 | Event.Name = "UserInput_Event" | |
11 | ||
12 | --Fake event to make stuff like Mouse.KeyDown work | |
13 | local function fakeEvent() | |
14 | local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end} | |
15 | t.connect = t.Connect | |
16 | return t | |
17 | end | |
18 | ||
19 | --Creating fake input objects with fake variables | |
20 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} | |
21 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
22 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
23 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
24 | end} | |
25 | --Merged 2 functions into one by checking amount of arguments | |
26 | CAS.UnbindAction = CAS.BindAction | |
27 | ||
28 | --This function will trigger the events that have been :Connect()'ed | |
29 | local function te(self,ev,...) | |
30 | local t = m[ev] | |
31 | if t and t._fakeEvent then | |
32 | for _,f in pairs(t.Functions) do | |
33 | f(...) | |
34 | end | |
35 | end | |
36 | end | |
37 | m.TrigEvent = te | |
38 | UIS.TrigEvent = te | |
39 | ||
40 | Event.OnServerEvent:Connect(function(plr,io) | |
41 | if plr~=rp then return end | |
42 | m.Target = io.Target | |
43 | m.Hit = io.Hit | |
44 | if not io.isMouse then | |
45 | local b = io.UserInputState == Enum.UserInputState.Begin | |
46 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
47 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
48 | end | |
49 | for _,t in pairs(CAS.Actions) do | |
50 | for _,k in pairs(t.Keys) do | |
51 | if k==io.KeyCode then | |
52 | t.Function(t.Name,io.UserInputState,io) | |
53 | end | |
54 | end | |
55 | end | |
56 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
57 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
58 | end | |
59 | end) | |
60 | Event.Parent = NLS([==[ | |
61 | local Player = game:GetService("Players").LocalPlayer | |
62 | local Event = script:WaitForChild("UserInput_Event") | |
63 | ||
64 | local Mouse = Player:GetMouse() | |
65 | local UIS = game:GetService("UserInputService") | |
66 | local input = function(io,a) | |
67 | if a then return end | |
68 | --Since InputObject is a client-side instance, we create and pass table instead | |
69 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) | |
70 | end | |
71 | UIS.InputBegan:Connect(input) | |
72 | UIS.InputEnded:Connect(input) | |
73 | ||
74 | local h,t | |
75 | --Give the server mouse data 30 times every second, but only if the values changed | |
76 | --If player is not moving their mouse, client won't fire events | |
77 | while wait(1/30) do | |
78 | if h~=Mouse.Hit or t~=Mouse.Target then | |
79 | h,t=Mouse.Hit,Mouse.Target | |
80 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
81 | end | |
82 | end]==],Player.Character) | |
83 | ||
84 | ----Sandboxed game object that allows the usage of client-side methods and services | |
85 | --Real game object | |
86 | local _rg = game | |
87 | ||
88 | - | local player = game:service"Players".LocalPlayer |
88 | + | --Metatable for fake service |
89 | local fsmt = { | |
90 | __index = function(self,k) | |
91 | local s = rawget(self,"_RealService") | |
92 | if s then return s[k] end | |
93 | end, | |
94 | __newindex = function(self,k,v) | |
95 | local s = rawget(self,"_RealService") | |
96 | if s then s[k]=v end | |
97 | end, | |
98 | __call = function(self,...) | |
99 | local s = rawget(self,"_RealService") | |
100 | if s then return s(...) end | |
101 | end | |
102 | } | |
103 | local function FakeService(t,RealService) | |
104 | t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService | |
105 | return setmetatable(t,fsmt) | |
106 | end | |
107 | ||
108 | --Fake game object | |
109 | local g = { | |
110 | GetService = function(self,s) | |
111 | return self[s] | |
112 | end, | |
113 | Players = FakeService({ | |
114 | LocalPlayer = FakeService({GetMouse=function(self)return m end},Player) | |
115 | },"Players"), | |
116 | UserInputService = FakeService(UIS,"UserInputService"), | |
117 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
118 | } | |
119 | rawset(g.Players,"localPlayer",g.Players.LocalPlayer) | |
120 | g.service = g.GetService | |
121 | ||
122 | g.RunService = FakeService({ | |
123 | RenderStepped = _rg:GetService("RunService").Heartbeat, | |
124 | BindToRenderStep = function(self,name,_,fun) | |
125 | self._btrs[name] = self.Heartbeat:Connect(fun) | |
126 | end, | |
127 | UnbindFromRenderStep = function(self,name) | |
128 | self._btrs[name]:Disconnect() | |
129 | end, | |
130 | },"RunService") | |
131 | ||
132 | setmetatable(g,{ | |
133 | __index=function(self,s) | |
134 | return _rg:GetService(s) or typeof(_rg[s])=="function" | |
135 | and function(_,...)return _rg[s](_rg,...)end or _rg[s] | |
136 | end, | |
137 | __newindex = fsmt.__newindex, | |
138 | __call = fsmt.__call | |
139 | }) | |
140 | --Changing owner to fake player object to support owner:GetMouse() | |
141 | game,owner = g,g.Players.LocalPlayer | |
142 | end | |
143 | ||
144 | --Edited | |
145 | print("BLACK HOLE Visualizer I guess") | |
146 | print("gReAt") | |
147 | -- Thank you guys for waiting for the next update! | |
148 | --Please do not copy or make this script your own | |
149 | local ReplicatedStorage = game:GetService("ReplicatedStorage") | |
150 | local RemoteFunc = Instance.new("RemoteFunction", ReplicatedStorage) | |
151 | RemoteFunc.Name = "CreateVisualPartFunction" | |
152 | local RemoteEvent = Instance.new("RemoteEvent", ReplicatedStorage) | |
153 | RemoteEvent.Name = "CreateVisualPartEvent" | |
154 | local function onCreatedVisualizer() | |
155 | ||
156 | ||
157 | ||
158 | ||
159 | ||
160 | ||
161 | if workspace.FilteringEnabled == true or workspace.FilteringEnabled == false then | |
162 | ||
163 | local program = (function() | |
164 | print("Varible") | |
165 | local FE = workspace.FilteringEnabled | |
166 | ||
167 | ||
168 | if FE == true or false then | |
169 | print(workspace.FilteringEnabled) -- gets print of filtering enabled | |
170 | ||
171 | function sandbox(var,func) | |
172 | local env = getfenv(func) | |
173 | local newenv = setmetatable({},{ | |
174 | __index = function(self,k) | |
175 | if k=="script" then | |
176 | return var | |
177 | else | |
178 | return env[k] | |
179 | end | |
180 | end, | |
181 | }) | |
182 | setfenv(func,newenv) | |
183 | return func | |
184 | end | |
185 | local cors = {} | |
186 | local mas = Instance.new("Model",game:GetService("Lighting")) | |
187 | local Script0 = Instance.new("Script") | |
188 | Script0.Parent = script | |
189 | Script0.Name = "Anti-Anti_Exploit Script Remover" | |
190 | table.insert(cors,sandbox(Script0,function() | |
191 | function Block() | |
192 | ||
193 | enable = true | |
194 | do | |
195 | ||
196 | if script then | |
197 | while wait() do | |
198 | if enable == true then | |
199 | script.Changed:Connect(function(c) | |
200 | enable = false | |
201 | wait() | |
202 | if c.Disabled == true then | |
203 | local asd = script.Parent:Clone() | |
204 | asd.Disabled = false | |
205 | ||
206 | end | |
207 | ||
208 | end) | |
209 | end | |
210 | end | |
211 | ||
212 | end | |
213 | ||
214 | end | |
215 | ||
216 | end | |
217 | ||
218 | Block() | |
219 | end)) | |
220 | ||
221 | return FE | |
222 | ||
223 | end | |
224 | ||
225 | return | |
226 | end) | |
227 | program() | |
228 | ||
229 | ||
230 | ||
231 | local player = owner | |
232 | local character = player.Character | |
233 | local primary = character.PrimaryPart | |
234 | local pref = ";" | |
235 | local sound = Instance.new("Sound", primary) | |
236 | sound.Looped = true | |
237 | sound.Volume = 10 | |
238 | local i = 0 | |
239 | print("The Prefix Is "..pref.." .") | |
240 | print("The Commands Are: ") | |
241 | print[[ | |
242 | play | |
243 | stop | |
244 | pitch | |
245 | volume | |
246 | texture < like play | |
247 | id < like play | |
248 | head | |
249 | tors | |
250 | sph | |
251 | cyl | |
252 | ]] | |
253 | -- | |
254 | ||
255 | ||
256 | player.Chatted:connect(function(message) | |
257 | if message:lower():sub(1, string.len(pref.."play ")) == pref.."play " then | |
258 | sound.SoundId = "rbxassetid://"..message:lower():sub(string.len(pref.."play")+1, string.len(message)) | |
259 | sound:Play() | |
260 | end | |
261 | if message:lower():sub(1, string.len(pref.."stop")) == pref.."stop" then | |
262 | sound:Stop() | |
263 | end | |
264 | if message:lower():sub(1, string.len(pref.."pitch ")) == pref.."pitch " then | |
265 | sound.Pitch = message:lower():sub(string.len(pref.."pitch ") + 1, string.len(message)) | |
266 | end | |
267 | if message:lower():sub(1, string.len(pref.."volume ")) == pref.."volume " then | |
268 | sound.Volume = message:lower():sub(string.len(pref.."volume ") + 1, string.len(message)) / 10 | |
269 | ||
270 | end | |
271 | ||
272 | ||
273 | end) | |
274 | ||
275 | local partt = Instance.new("Part", character) | |
276 | local partt2 = Instance.new("Part", character) | |
277 | local partt3 = Instance.new("Part", character) | |
278 | local mesh = Instance.new("SpecialMesh") | |
279 | local mesh3 = Instance.new("SpecialMesh") | |
280 | local mesh2 = Instance.new("SpecialMesh") | |
281 | ||
282 | ||
283 | ||
284 | game:service"RunService".RenderStepped:connect(function() | |
285 | if primary:IsAncestorOf(sound) == false then | |
286 | script.Disabled = true | |
287 | end | |
288 | i = i - 6 | |
289 | local nou = i | |
290 | ||
291 | partt.Anchored = true | |
292 | partt.CanCollide = false | |
293 | partt.Transparency = 0.6 | |
294 | partt.Material = "Neon" | |
295 | partt.Color = Color3.fromRGB(255,255,255) | |
296 | ||
297 | partt.CFrame = CFrame.new(primary.CFrame.p) * CFrame.Angles(0, math.rad(i), 0) * CFrame.new(0, 0, -(10 + partt.Size.Z / 3) ) | |
298 | ||
299 | partt2.Anchored = true | |
300 | partt2.CanCollide = false | |
301 | partt2.Transparency = 0.6 | |
302 | partt2.Material = "Glass" | |
303 | partt2.Color = Color3.fromRGB(0,0,0) | |
304 | ||
305 | partt2.CFrame = CFrame.new(primary.CFrame.p) * CFrame.Angles(0, math.rad(i), 0) * CFrame.new(0, 0, -(10 + partt.Size.Z / 3) ) | |
306 | ||
307 | mesh.MeshType = Enum.MeshType.Sphere | |
308 | mesh.Parent = partt2 | |
309 | ||
310 | partt3.Anchored = true | |
311 | partt3.CanCollide = false | |
312 | partt3.Transparency = 0.6 | |
313 | partt3.Material = "Glass" | |
314 | partt3.Color = Color3.fromRGB(0,0,0) | |
315 | ||
316 | partt3.CFrame = CFrame.new(primary.CFrame.p) * CFrame.Angles(0, math.rad(i), 0) * CFrame.new(0, 0, -(10 + partt.Size.Z / 3) ) | |
317 | ||
318 | ||
319 | ||
320 | ||
321 | ||
322 | ||
323 | ||
324 | ||
325 | mesh2.MeshType = Enum.MeshType.Sphere | |
326 | mesh2.Parent = partt3 | |
327 | ||
328 | mesh3.MeshType = Enum.MeshType.Sphere | |
329 | mesh3.Parent = partt | |
330 | ||
331 | local TweenService = game:GetService("TweenService") | |
332 | ||
333 | local part = script.Parent | |
334 | ||
335 | ||
336 | ||
337 | local Info = TweenInfo.new( | |
338 | ||
339 | 3, -- Length | |
340 | ||
341 | Enum.EasingStyle.Elastic, -- Easing Style | |
342 | ||
343 | Enum.EasingDirection.Out, -- Easing Direction | |
344 | ||
345 | i, -- Times repeated | |
346 | ||
347 | false, -- Reverse | |
348 | ||
349 | 0 -- Delay | |
350 | ||
351 | ) | |
352 | ||
353 | local Info2 = TweenInfo.new( | |
354 | ||
355 | 3, -- Length | |
356 | ||
357 | Enum.EasingStyle.Elastic, -- Easing Style | |
358 | ||
359 | Enum.EasingDirection.Out, -- Easing Direction | |
360 | ||
361 | i, -- Times repeated | |
362 | ||
363 | false, -- Reverse | |
364 | ||
365 | 0 -- Delay | |
366 | ||
367 | ) | |
368 | ||
369 | local Goals = | |
370 | ||
371 | { | |
372 | ||
373 | Transparency = 0.1 + math.random(0.999,1); | |
374 | Size = Vector3.new(sound.PlaybackLoudness/21,sound.PlaybackLoudness/.1,sound.PlaybackLoudness/21); | |
375 | ||
376 | } | |
377 | ||
378 | ||
379 | local Goals2 = | |
380 | ||
381 | { | |
382 | ||
383 | Transparency = math.random(0.999,1); | |
384 | Size = Vector3.new(sound.PlaybackLoudness/13,sound.PlaybackLoudness/13,sound.PlaybackLoudness/13); | |
385 | Orientation = Vector3.new(2 * sound.PlaybackLoudness/12,12 * sound.PlaybackLoudness/12,12 * sound.PlaybackLoudness/12) | |
386 | } | |
387 | ||
388 | ||
389 | ||
390 | ||
391 | local Info3 = TweenInfo.new( | |
392 | ||
393 | 3, -- Length | |
394 | ||
395 | Enum.EasingStyle.Elastic, -- Easing Style | |
396 | ||
397 | Enum.EasingDirection.Out, -- Easing Direction | |
398 | ||
399 | i, -- Times repeated | |
400 | ||
401 | false, -- Reverse | |
402 | ||
403 | 0 -- Delay | |
404 | ||
405 | ) | |
406 | ||
407 | local Goals3 = | |
408 | ||
409 | { | |
410 | ||
411 | ||
412 | Transparency = math.random(0.999,1); | |
413 | Size = Vector3.new(sound.PlaybackLoudness/8,sound.PlaybackLoudness/99,sound.PlaybackLoudness/8); | |
414 | Orientation = Vector3.new(4 * sound.PlaybackLoudness/12,4 * sound.PlaybackLoudness/12,4 * sound.PlaybackLoudness/12) | |
415 | ||
416 | } | |
417 | ||
418 | ||
419 | local tween = TweenService:Create(partt,Info,Goals) | |
420 | local tween2 = TweenService:Create(partt2,Info2,Goals2) | |
421 | ||
422 | local tween3 = TweenService:Create(partt3,Info3,Goals3) | |
423 | ||
424 | ||
425 | ||
426 | ||
427 | ||
428 | ||
429 | tween:Play() | |
430 | tween2:Play() | |
431 | tween3:Play() | |
432 | ||
433 | ||
434 | ||
435 | ||
436 | ||
437 | return | |
438 | end) | |
439 | end | |
440 | end | |
441 | ||
442 | RemoteFunc.OnClientInvoke = pcall(onCreatedVisualizer) | |
443 | RemoteFunc:InvokeServer(onCreatedVisualizer) | |
444 | RemoteEvent.OnCilentEvent = pcall(onCreatedVisualizer) | |
445 | RemoteEvent:FireServer(pcall(onCreatedVisualizer)) | |
446 | ||
447 | local function RemoteEvents(Event) | |
448 | ||
449 | wait() | |
450 | ||
451 | if Event.ClassName == "RemoteEvent" or Event.ClassName == "RemoteFunction" then | |
452 | ||
453 | local getfunction = (function() | |
454 | ||
455 | local Events = {} | |
456 | print("Got Event") | |
457 | ||
458 | Events.PrepC1Event = function() | |
459 | ||
460 | if Event then | |
461 | print(Event) | |
462 | ||
463 | return Events.PrepC1Event | |
464 | end | |
465 | ||
466 | end | |
467 | ||
468 | Events.PrepC1Event() | |
469 | ||
470 | GetEvents = {} | |
471 | ||
472 | local GE = GetEvents[#Events] | |
473 | if GE then | |
474 | print(#GetEvents) | |
475 | end | |
476 | end) | |
477 | ||
478 | getfunction() | |
479 | ||
480 | end | |
481 | ||
482 | end | |
483 | RemoteEvents(RemoteEvent) | |
484 | RemoteEvents(RemoteFunc) | |
485 | --get owned FE |