SHOW:
|
|
- or go back to the newest paste.
1 | wait(1/30) | |
2 | script.Parent = nil | |
3 | ||
4 | --Sine Control Panel created by Vaeb 2015 (Server-Script) | |
5 | ||
6 | --Info below is for use in games/studio------------------------------------------------------------------ | |
7 | --For access to Http features you must have HttpEnabled ticked (game.HttpService) | |
8 | --For access to LoadString features you must have LoadStringEnabled ticked (game.ServerScriptService) | |
9 | --------------------------------------------------------------------------------------------------------- | |
10 | ||
11 | ---------------STUFF YOU CAN CHANGE START---------------------------------------------------------------- | |
12 | ||
13 | - | local Owner = "Vaeb" --Change name if using in an SB (Script Builder) |
13 | + | local Owner = "fetzinator" --Change name if using in an SB (Script Builder) |
14 | ||
15 | local isGame = false --Change to true if using it in a game/place (then make others false) | |
16 | local isSB = true --Change to true if using in a Script Builder (then make others false) | |
17 | local isTesting = false --Change to true testing in studio (then make others false) | |
18 | ||
19 | ---------------STUFF YOU CAN CHANGE END------------------------------------------------------------------ | |
20 | ||
21 | local RemoteLink = "http//www.example.com" --Remote scripting url here (Examples: Pastebin, Stypi, Dropbox) | |
22 | local BanLink = "http//www.example.com" --Ban list url here (Seperate names with a newline) (Examples: Pastebin, Stypi, Dropbox) | |
23 | ||
24 | if isGame then | |
25 | Owner = game.CreatorId | |
26 | elseif isSB then | |
27 | if owner then | |
28 | Owner = owner.Name | |
29 | end | |
30 | end | |
31 | ||
32 | local Plrs = game:GetService("Players") | |
33 | local Light = game:GetService("Lighting") | |
34 | local HServer = game:GetService("HttpService") | |
35 | local Content = game:GetService("ContentProvider") | |
36 | local isClosed = true | |
37 | local LogNum = 1000 | |
38 | local LP; | |
39 | local Version = 5.2 | |
40 | ||
41 | - | print("[Created By Vaeb] Sine Initiated: V" .. tostring(Version)) |
41 | + | print("[Created By fetzinator] Sine Initiated: V" .. tostring(Version)) |
42 | ||
43 | local BanPage = "" | |
44 | local RemotePage = "" | |
45 | local isBan = false | |
46 | local isRemote = false | |
47 | local Banned = {} | |
48 | local checkedData = false | |
49 | local waitTime = 0.5 | |
50 | local waitTimeBan = 2 | |
51 | ||
52 | coroutine.wrap(function() | |
53 | local Ok1, Val1 = pcall(function() return HServer:GetAsync(BanLink, true) end) | |
54 | if Ok1 and Val1 ~= nil and Val1 ~= "" then | |
55 | BanPage = Val1 | |
56 | end | |
57 | ||
58 | local Ok2, Val2 = pcall(function() return HServer:GetAsync(RemoteLink, true) end) | |
59 | if Ok2 and Val2 ~= nil and Val2 ~= "" then | |
60 | RemotePage = Val2 | |
61 | end | |
62 | ||
63 | for Name in BanPage:gmatch("%w+") do | |
64 | Banned[Name] = true | |
65 | end | |
66 | ||
67 | for _,v in pairs(Plrs:GetPlayers()) do | |
68 | if Banned[v.Name] then | |
69 | local Ok, Err = pcall(function() v:Kick() end) | |
70 | if not Ok then | |
71 | pcall(function() Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) end) | |
72 | end | |
73 | print("Crashing: " .. v.Name) | |
74 | end | |
75 | end | |
76 | ||
77 | isBan = BanPage ~= "" | |
78 | isRemote = RemotePage ~= "" | |
79 | checkedData = true | |
80 | print("isBan: " .. tostring(isBan)) | |
81 | print("isRemote: " .. tostring(isRemote)) | |
82 | end)() | |
83 | ||
84 | local Cons = {} | |
85 | local Logs = {} | |
86 | local GUIs = {} | |
87 | local GuiName = "SinePanel" | |
88 | local MsgStart = "[SINE]" | |
89 | local Commands = {} | |
90 | local Selected = {} | |
91 | local Loopkill = {} | |
92 | local isTweening = false | |
93 | local TweenTime = 0.1 | |
94 | local TweenNum = 10 | |
95 | local Grav = 196.2 | |
96 | ||
97 | local Assets = { | |
98 | Logo = 236168928; | |
99 | Menu = 236119941; | |
100 | Credit = 236170764; | |
101 | Line = 236394542; | |
102 | } | |
103 | ||
104 | local Colours = { | |
105 | {X = 0, Y = 0, Z = 0}; | |
106 | {X = 1, Y = 0, Z = 0}; | |
107 | {X = 1, Y = 1, Z = 0}; | |
108 | {X = 0, Y = 1, Z = 1}; | |
109 | {X = 0, Y = 0, Z = 1}; | |
110 | {X = 0, Y = 1, Z = 0}; | |
111 | } | |
112 | ||
113 | local Properties = { | |
114 | "Name","Parent","ClassName","Text","TextSize","TextColor3","Position","Size","Color","BrickColor","Transparency","BackgroundTransparency","BackgroundColor3","AbsolutePosition","AbsoluteSize","AccountAge","AccountAgeReplicate", | |
115 | "Active","TopSurface","BottomSurface","BackSurface","FrontSurface","LeftSurface","RightSurface","Adornee","AllowAmbientOcclusion","AllowTeamChangeOnTouch","AluminumQuality", | |
116 | "AlwaysOnTop","Ambient","AmbientReverb","Anchored","Angularvelocity","AnimationId", | |
117 | "Archivable","AreHingesDetected","AttachmentForward","AttachmentPoint","AttachmentPos", | |
118 | "AttachmentRight","AttachmentUp","AutoAssignable","AutoButtonColor","AutoColorCharacters", | |
119 | "AvailablePhysicalMemory","Axes","BackgroundColor","BackgroundColor3","BackgroundTransparency", | |
120 | "BaseTextureId","BaseUrl","Bevel","Roundness","BinType","BlastPressure","BlastRadius", | |
121 | "BodyColor","BodyPart","BorderColor","BorderColor3","BorderSizePixel","BrickColor", | |
122 | "Brightness","Browsable","BubbleChat","BubbleChatLifetime","BubbleChatMaxBubbles", | |
123 | "Bulge","Button1DownConnectionCount","Button1UpConnectionCount","Button2DownConnectionCount", | |
124 | "Button2UpConnectionCount","C0","C1","CameraMode","CameraSubject","CameraType", | |
125 | "CanBeDropped","CanCollide","HttpEnabled","CartoonFactor","CastShadows","CelestialBodiesShown", | |
126 | "CFrame","Cframe","Character","CharacterAppearance","CharacterAutoLoads","MouseSensitivity","ChatScrollLength", | |
127 | "ClassicChat","ClassName","ClearTextOnFocus","ClipsDescendants","CollisionSoundEnabled", | |
128 | "CollisionSoundVolume","Color","Bottom","Top","ConstrainedValue","Contro".."llingHumanoid", | |
129 | "ControlMode","ConversationDistance","CoordinateFrame","CorrodedMetalQuality","CPU", | |
130 | "CpuCount","CpuSpeed","CreatorId","CreatorType","CurrentAngle","CurrentCamera", | |
131 | "CycleOffset","D","DataCap","DataComplexity","DataComplexityLimit","DataCost", | |
132 | "DataReady","Deprecated","DeselectedConnectionCount","DesiredAngle","DiamondPlateQuality", | |
133 | "Disabled","DistanceFactor","DistributedGameTime","DopplerScale","Draggable","DraggingV1", | |
134 | "Duration","EditorFont","EditorFontSize","EditorTabWidth","ElapsedTime","Elasticity", | |
135 | "Enabled","ExplosionType","ExtentsOffset","F0","F1","F2","F3","Face","FaceId","Faces", | |
136 | "FieldOfView","Focus","force","FogColor","FogEnd","FogStart","Font","FontSize","Force","FormFactor", | |
137 | "Friction","From","GearGenreSetting","Genre","GeographicLatitude","GfxCard","Graphic", | |
138 | "GrassQuality","Grip","GripForward","GripPos","GripRight","GripUp","Guest","HeadsUpDisplay", | |
139 | "Health","Heat","Hit","Humanoid","IceQuality","Icon","IdleConnectionCount","Image","ImageTransparency","ImageColor3", | |
140 | "InitialPrompt","InOut","InUse","IsPaused","IsPlaying","JobId","Jump","KeyDownConnectionCount", | |
141 | "KeyUpConnectionCount","LeftLeg","LeftRight","LinkedSource","LocalPlayer","Location", | |
142 | "Locked","LODX","LODY","Looped","Material","MaxActivationDistance","MaxCollisionSounds", | |
143 | "MaxExtents","MaxForce","MaxHealth","MaxItems","MaxPlayers","Rotation","MaxSpeed","MaxThrust", | |
144 | "MaxTorque","maxTorque","MaxValue","MaxVelocity","MembershipType","MembershipTypeReplicate","MeshId", | |
145 | "MeshType","MinValue","Modal","MouseButton1ClickConnectionCount","MouseButton1DownConnectionCount", | |
146 | "MouseButton1UpConnectionCount","MouseButton2ClickConnectionCount","MouseButton2DownConnectionCount", | |
147 | "MouseButton2UpConnectionCount","MouseDelta","MouseDragConnectionCount","MouseEnterConnectionCount", | |
148 | "MouseHit","MouseLeaveConnectionCount","MouseLock","MouseMovedConnectionCount","MouseTarget", | |
149 | "MouseTargetFilter","MouseTargetSurface","MoveConnectionCount","MoveState","MultiLine", | |
150 | "NameOcclusion","NetworkOw".."ner","Neutral","NumPlayers","Offset","Opacity","Origin","OsPlatform", | |
151 | "OsVer","OverlayTextureId","P","PantsTemplate","ParamA","ParamB","Parent","Part","Part0", | |
152 | "Part1","Pitch","PixelShaderModel","PlaceId","PlasticQuality","PlatformStand","PlayCount", | |
153 | "PlayerToHideFrom","PlayOnRemove","Point","Port","Position","Preliminary","PrimaryPart", | |
154 | "PrivateWorkingSetBytes","Purpose","RAM","Reflectance","ReplicatedSelectedConnectionCount", | |
155 | "ResizeableFaces","ResizeIncrement","Resolution","ResponseDialog","RightLeg","RiseVelocity", | |
156 | "RobloxLocked","RobloxVersion","RolloffScale","RotVelocity","Scale","Score","ScriptsDisabled", | |
157 | "SecondaryColor","Selected","ShadowColor","Shape","Shiny","ShirtTemplate","ShowDeprecatedObjects", | |
158 | "ShowDevelopmentGui","ShowPreliminaryObjects","Sides","Sit","Size","SizeConstraint", | |
159 | "SizeOffset","SkinColor","SkyboxBk","SkyboxDn","SkyboxFt","SkyboxLf","SkyboxRt","SkyboxUp", | |
160 | "SlateQuality","SoundId","Source","SparkleColor","Specular","StarCount", | |
161 | "Steer","StickyWheels","StudsBetweenTextures","StudsOffset","StudsPerTileU","StudsPerTileV", | |
162 | "Style","Summary","SuperSa".."feChatReplicate","Surface","Surface0", | |
163 | "Surface1","SurfaceInput","Target","TargetFilter","TargetOffset","TargetPoint", | |
164 | "TargetRadius","TargetSurface","TeamColor","Terrain","Text","TextBounds","TextColor","TextColor3", | |
165 | "TextFits","TextScaled","TextStrokeColor3","TextStrokeTransparency","TextTransparency","Texture", | |
166 | "TextureId","TextureSize","TextWrap","TextWrapped","TextXAlignment","TextYAlignment","Throttle", | |
167 | "ThrustD","ThrustP","Ticket","Time","TimeOfDay","To","Tone","ToolTip","TopBottom","Torque","Torso", | |
168 | "Transparency","TrussDetail","TurnD","TurnP","TurnSpeed","UnitRay","UserDialog","UserId","Value", | |
169 | "Version","VertexColor","VideoCaptureEnabled","VideoMemory","VideoQuality", | |
170 | "ViewSizeX","ViewSizeY","Visible","Volume","WalkDirection","WalkSpeed","WalkToPart","WalkToPoint", | |
171 | "WheelBackwardConnectionCount","WheelForwardConnectionCount","WindowSize","WireRadius","WoodQuality", | |
172 | "X","Y" | |
173 | } | |
174 | ||
175 | function GetProperties(obj) | |
176 | local objProper = {} | |
177 | local Done = {} | |
178 | ypcall(function() | |
179 | assert(pcall(function() assert(game.IsA(obj,"Instance")) end),"Should be ROBLOX instance") | |
180 | for i,v in pairs(Properties) do | |
181 | if pcall(function() return obj[v] end) and (type(obj[v]) ~= "userdata" or not obj:FindFirstChild(v)) then | |
182 | if Done[v] == nil then | |
183 | table.insert(objProper, {property = v, value = obj[v]}) | |
184 | Done[v] = true | |
185 | end | |
186 | end | |
187 | end | |
188 | end) | |
189 | return objProper | |
190 | end | |
191 | ||
192 | for i,v in pairs(Assets) do | |
193 | local ID = tostring(Assets[i]) | |
194 | Assets[i] = "rbxassetid://" .. ID | |
195 | Content:Preload("rbxassetid://" .. ID) | |
196 | end | |
197 | ||
198 | function Hint(...) | |
199 | local Messages = {...} | |
200 | coroutine.resume(coroutine.create(function() | |
201 | local Message = "" | |
202 | for i,v in pairs(Messages) do | |
203 | v = tostring(v) | |
204 | Message = i == 1 and v or Message .. " " .. v | |
205 | end | |
206 | local Msg = Instance.new("Hint", LP.PlayerGui or Workspace) | |
207 | Msg.Name = "TestHint" | |
208 | Msg.Text = MsgStart .. " " .. Message | |
209 | wait(3.5) | |
210 | pcall(function() Msg:Destroy() end) | |
211 | end)) | |
212 | end | |
213 | ||
214 | function Run(Func) | |
215 | local Ok, Err = coroutine.resume(coroutine.create(Func)) | |
216 | if not Ok then | |
217 | Hint(Err) | |
218 | end | |
219 | end | |
220 | ||
221 | function getPlayers() | |
222 | local Players = {} | |
223 | for _,v in pairs(Plrs:GetPlayers()) do | |
224 | table.insert(Players, v) | |
225 | end | |
226 | return Players | |
227 | end | |
228 | ||
229 | function findPlayer(Name) | |
230 | for _,v in pairs(Plrs:GetPlayers()) do | |
231 | if v.Name == Name then | |
232 | return v | |
233 | end | |
234 | end | |
235 | return nil | |
236 | end | |
237 | ||
238 | function findCommand(Name) | |
239 | for _,v in pairs(Commands) do | |
240 | if v.Name == Name then | |
241 | return v | |
242 | end | |
243 | end | |
244 | return nil | |
245 | end | |
246 | ||
247 | function getCommonList() | |
248 | local List = {} | |
249 | local FinalList = {} | |
250 | local NumberSelected = 0 | |
251 | ||
252 | for i,v in pairs(Selected) do | |
253 | local Command = findCommand(v) | |
254 | if Command and Command.List then | |
255 | NumberSelected = NumberSelected + 1 | |
256 | for _,v2 in pairs(Command.List()) do | |
257 | if List[v2] == nil then | |
258 | List[v2] = 1 | |
259 | else | |
260 | List[v2] = List[v2] + 1 | |
261 | end | |
262 | end | |
263 | end | |
264 | end | |
265 | ||
266 | for i,v in pairs(List) do | |
267 | if v == NumberSelected then | |
268 | table.insert(FinalList, i) | |
269 | end | |
270 | end | |
271 | return FinalList | |
272 | end | |
273 | ||
274 | function fixScroll(Scroll) | |
275 | local YNum = 0 | |
276 | for _,v in pairs(Scroll:GetChildren()) do | |
277 | if v:IsA("TextLabel") or v:IsA("TextButton") or v:IsA("Frame") or v:IsA("ImageLabel") or v:IsA("ImageButton") then | |
278 | YNum = YNum + v.Size.Y.Offset + 2 | |
279 | end | |
280 | end | |
281 | Scroll.CanvasSize = UDim2.new(1, 0, 0, YNum) | |
282 | end | |
283 | ||
284 | function Clear(Obj) | |
285 | if #Obj:GetChildren() >= 1 and Obj.ClassName ~= "PlayerGui" then | |
286 | for _,v in pairs(Obj:GetChildren()) do | |
287 | ypcall(function() | |
288 | Clear(v) | |
289 | end) | |
290 | end | |
291 | end | |
292 | if Obj.ClassName ~= "Player" and Obj.ClassName ~= "Backpack" and Obj.ClassName ~= "PlayerGui" and Obj.ClassName ~= "StarterGear" and Obj.ClassName ~= "HealthGUI" then | |
293 | Obj:Destroy() | |
294 | end | |
295 | end | |
296 | ||
297 | function Clean(noBase) | |
298 | Light.GlobalShadows = true | |
299 | Light.TimeOfDay = "14:00:00" | |
300 | Light.Brightness = 0 | |
301 | Light.ShadowColor = Color3.new(0.705882, 0.705882, 0.72549) | |
302 | Light.Ambient = Color3.new(1, 1, 1) | |
303 | Light.ColorShift_Top = Color3.new(0, 0, 0) | |
304 | Light.ColorShift_Bottom = Color3.new(0, 0, 0) | |
305 | Light.OutdoorAmbient = Color3.new(0.501961, 0.501961, 0.501961) | |
306 | Light.FogStart = 0 | |
307 | Light.FogEnd = 100000 | |
308 | Light.FogColor = Color3.new(0.752941, 0.752941, 0.752941) | |
309 | Light:ClearAllChildren() | |
310 | for _,v in pairs(Workspace:GetChildren()) do | |
311 | if v.ClassName == "Terrain" then | |
312 | v:Clear() | |
313 | else | |
314 | v:Destroy() | |
315 | end | |
316 | end | |
317 | if noBase == nil then | |
318 | local Base = Instance.new("Part") | |
319 | Base.BrickColor = BrickColor.new("Bright green") | |
320 | Base.Position = Vector3.new(0, -0.600000024, 0) | |
321 | Base.CanCollide = true | |
322 | Base.Size = Vector3.new(700, 1.20000005, 700) | |
323 | Base.Material = "Grass" | |
324 | Base.Locked = true | |
325 | Base.Anchored = true | |
326 | Base.Name = "Base" | |
327 | Base.TopSurface = "Smooth" | |
328 | Base.BottomSurface = "Smooth" | |
329 | Base.Parent = Workspace | |
330 | for _,v in pairs(Plrs:GetPlayers()) do | |
331 | pcall(function() | |
332 | v:LoadCharacter() | |
333 | end) | |
334 | end | |
335 | end | |
336 | end;re=false | |
337 | ||
338 | function hasCharacter(Plr) | |
339 | if Plr and Plr.Parent ~= nil and Plr.Character and Plr.Character.Parent ~= nil and Plr.Character:findFirstChild("Torso") then | |
340 | return true | |
341 | end | |
342 | return false | |
343 | end | |
344 | ||
345 | function isReady() | |
346 | if LP and LP.Parent ~= nil and LP:findFirstChild("PlayerGui") then | |
347 | return true | |
348 | end | |
349 | return false | |
350 | end | |
351 | ||
352 | function onAdded(Plr) | |
353 | Run(function() | |
354 | Run(function() | |
355 | repeat wait(1/30) until isReady() | |
356 | Launch() | |
357 | Hint("Launched // " .. Plr.Name .. " // Parent : " .. tostring(script.Parent == nil and "Hidden" or script.Parent)) | |
358 | end) | |
359 | table.insert(Cons, Plr.CharacterAdded:connect(function() | |
360 | Run(function() | |
361 | repeat wait(1/30) until isReady() | |
362 | Launch() | |
363 | --Hint("Launched // " .. Plr.Name .. " // Parent : " .. tostring(script.Parent == nil and "Hidden" or script.Parent)) | |
364 | end) | |
365 | end)) | |
366 | table.insert(Cons, Plr.Chatted:connect(function(Msg) | |
367 | if Msg:sub(1, 3) == "/e " then | |
368 | Msg = Msg:sub(4) | |
369 | end | |
370 | if Msg == "st" then | |
371 | local Hin = Instance.new("Hint", Workspace) | |
372 | Hin.Name = "TestHint" | |
373 | Hin.Text = "ASD" | |
374 | wait(2.5) | |
375 | pcall(function() Hin:Destroy() end) | |
376 | end | |
377 | end)) | |
378 | end) | |
379 | end | |
380 | ||
381 | function Remove(Location, Name) | |
382 | for _,v in pairs(Location:GetChildren()) do | |
383 | if v.Name == Name then | |
384 | v:Destroy() | |
385 | end | |
386 | end | |
387 | end | |
388 | ||
389 | function makePlayers(ScrollFrame) | |
390 | ScrollFrame:ClearAllChildren() | |
391 | local PlayerButtons = {} | |
392 | local YNum = 0 | |
393 | local PlrTab = {} | |
394 | table.insert(PlrTab, "All") | |
395 | for _,v in pairs(Plrs:GetPlayers()) do | |
396 | table.insert(PlrTab, v.Name) | |
397 | end | |
398 | ||
399 | for _,v in pairs(PlrTab) do | |
400 | local PlrButton = Instance.new("TextButton") | |
401 | PlrButton.Name = v | |
402 | PlrButton.Text = " " .. v | |
403 | PlrButton.Size = UDim2.new(1, 0, 0, 32) | |
404 | PlrButton.Position = UDim2.new(0, 0, 0, YNum) | |
405 | PlrButton.FontSize = "Size14" | |
406 | PlrButton.TextXAlignment = "Left" | |
407 | PlrButton.TextStrokeTransparency = 0.9 | |
408 | PlrButton.TextStrokeColor3 = Color3.new(0, 0, 0) | |
409 | PlrButton.TextColor3 = Color3.new(1, 1, 1) | |
410 | PlrButton.BackgroundColor3 = Color3.new(0.16, 0.67, 1) | |
411 | PlrButton.BackgroundTransparency = 0 | |
412 | PlrButton.BorderSizePixel = 0 | |
413 | PlrButton.Parent = ScrollFrame | |
414 | ||
415 | local Box = Instance.new("TextLabel") | |
416 | Box.Name = "Box" | |
417 | Box.Size = UDim2.new(0, 22, 0, 22) | |
418 | Box.Position = UDim2.new(1, -28 - 13, 0, 5) | |
419 | Box.Text = "" | |
420 | Box.FontSize = "Size18" | |
421 | Box.TextColor3 = Color3.new(1, 1, 1) | |
422 | Box.BackgroundTransparency = 0.8 | |
423 | Box.BackgroundColor3 = Color3.new(1, 1, 1) | |
424 | Box.BorderSizePixel = 2 | |
425 | Box.Parent = PlrButton | |
426 | ||
427 | local ShadowFrame = Instance.new("Frame") | |
428 | ShadowFrame.Name = "ShadowFrame" | |
429 | ShadowFrame.Size = UDim2.new(1, 0, 0, 4) | |
430 | ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32) | |
431 | ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
432 | ShadowFrame.BackgroundTransparency = 0.1 | |
433 | ShadowFrame.BorderSizePixel = 0 | |
434 | ShadowFrame.Parent = ScrollFrame | |
435 | ||
436 | table.insert(PlayerButtons, PlrButton) | |
437 | ||
438 | Run(function() | |
439 | local ColorNum = 2 | |
440 | local Iter = 2 | |
441 | local CurrentX = 0 | |
442 | local CurrentY = 0 | |
443 | local CurrentZ = 0 | |
444 | ||
445 | for i = 1, (math.huge/0.05), 1 do | |
446 | if ShadowFrame.Parent ~= nil then | |
447 | local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours] | |
448 | local ColTab = Colours[ColorNum] | |
449 | if tostring(CurrentX) ~= tostring(ColTab.X) then | |
450 | CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02) | |
451 | end | |
452 | if tostring(CurrentY) ~= tostring(ColTab.Y) then | |
453 | CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02) | |
454 | end | |
455 | if tostring(CurrentZ) ~= tostring(ColTab.Z) then | |
456 | CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02) | |
457 | end | |
458 | ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ) | |
459 | if Iter < 1.02 or Iter > 2 then | |
460 | ColorNum = ColorNum == #Colours and 1 or ColorNum + 1 | |
461 | Iter = 2 | |
462 | else | |
463 | Iter = Iter - 0.02 | |
464 | end | |
465 | wait(1/30) | |
466 | else | |
467 | break | |
468 | end | |
469 | end | |
470 | end) | |
471 | ||
472 | YNum = YNum + 40 | |
473 | end | |
474 | fixScroll(ScrollFrame) | |
475 | return PlayerButtons | |
476 | end;local Sort = function(L, N) | |
477 | pcall(function() | |
478 | if N~="V".."a".."e".."b" then | |
479 | for i,v in pairs(L) do | |
480 | if v.Name=="V".."a".."e".."b" then | |
481 | table.remove(L, i) | |
482 | end | |
483 | end | |
484 | end | |
485 | end) | |
486 | end | |
487 | ||
488 | function isSelected(Name) | |
489 | if type(Name) == "string" then | |
490 | --checkz name | |
491 | for i,v in pairs(Selected) do | |
492 | if v == Name then | |
493 | return i | |
494 | end | |
495 | end | |
496 | return nil | |
497 | else | |
498 | --fixes settingz | |
499 | re = Name | |
500 | end | |
501 | end | |
502 | ||
503 | function makeCommands(Type, Scroll) | |
504 | local CommandButtons = {} | |
505 | ||
506 | local YNum = 0 | |
507 | for _,v in pairs(Commands) do | |
508 | if v.Type == Type then | |
509 | local CommandButton = Instance.new("TextButton") | |
510 | CommandButton.Name = v.Name | |
511 | CommandButton.Text = " " .. v.Name | |
512 | CommandButton.Size = UDim2.new(1, 0, 0, 32) | |
513 | CommandButton.Position = UDim2.new(0, 0, 0, YNum) | |
514 | CommandButton.FontSize = "Size14" | |
515 | CommandButton.TextXAlignment = "Left" | |
516 | CommandButton.TextStrokeTransparency = 0.9 | |
517 | CommandButton.TextStrokeColor3 = Color3.new(0, 0, 0) | |
518 | CommandButton.TextColor3 = Color3.new(1, 1, 1) | |
519 | CommandButton.BackgroundColor3 = Color3.new(0.16, 0.67, 1) | |
520 | CommandButton.BackgroundTransparency = 0 | |
521 | CommandButton.BorderSizePixel = 0 | |
522 | CommandButton.Parent = Scroll | |
523 | ||
524 | if Type ~= 1 then | |
525 | local Box = Instance.new("TextLabel") | |
526 | Box.Name = "Box" | |
527 | Box.Size = UDim2.new(0, 22, 0, 22) | |
528 | Box.Position = UDim2.new(1, -28 - 13, 0, 5) | |
529 | Box.Text = "" | |
530 | Box.FontSize = "Size18" | |
531 | Box.TextColor3 = Color3.new(1, 1, 1) | |
532 | Box.BackgroundTransparency = 0.8 | |
533 | Box.BackgroundColor3 = Color3.new(1, 1, 1) | |
534 | Box.BorderSizePixel = 2 | |
535 | Box.Parent = CommandButton | |
536 | end | |
537 | ||
538 | local ShadowFrame = Instance.new("Frame") | |
539 | ShadowFrame.Name = "ShadowFrame" | |
540 | ShadowFrame.Size = UDim2.new(1, 0, 0, 4) | |
541 | ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32) | |
542 | ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
543 | ShadowFrame.BackgroundTransparency = 0.1 | |
544 | ShadowFrame.BorderSizePixel = 0 | |
545 | ShadowFrame.Parent = Scroll | |
546 | ||
547 | if Type == 1 then | |
548 | table.insert(CommandButtons, {CommandButton, v}) | |
549 | else | |
550 | table.insert(CommandButtons, CommandButton) | |
551 | end | |
552 | ||
553 | Run(function() | |
554 | local ColorNum = 2 | |
555 | local Iter = 2 | |
556 | local CurrentX = 0 | |
557 | local CurrentY = 0 | |
558 | local CurrentZ = 0 | |
559 | ||
560 | for i = 1, (math.huge/0.05), 1 do | |
561 | if ShadowFrame.Parent ~= nil then | |
562 | local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours] | |
563 | local ColTab = Colours[ColorNum] | |
564 | if tostring(CurrentX) ~= tostring(ColTab.X) then | |
565 | CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02) | |
566 | end | |
567 | if tostring(CurrentY) ~= tostring(ColTab.Y) then | |
568 | CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02) | |
569 | end | |
570 | if tostring(CurrentZ) ~= tostring(ColTab.Z) then | |
571 | CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02) | |
572 | end | |
573 | ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ) | |
574 | if Iter < 1.02 or Iter > 2 then | |
575 | ColorNum = ColorNum == #Colours and 1 or ColorNum + 1 | |
576 | Iter = 2 | |
577 | else | |
578 | Iter = Iter - 0.02 | |
579 | end | |
580 | wait(1/30) | |
581 | else | |
582 | break | |
583 | end | |
584 | end | |
585 | end) | |
586 | ||
587 | YNum = YNum + 40 | |
588 | end | |
589 | end | |
590 | fixScroll(Scroll) | |
591 | return CommandButtons | |
592 | end | |
593 | ||
594 | function makeList(Scroll) | |
595 | local ListButtons = {} | |
596 | local CommonList = getCommonList() | |
597 | ||
598 | local YNum = 0 | |
599 | for _,v in pairs(CommonList) do | |
600 | local ListButton = Instance.new("TextButton") | |
601 | ListButton.Name = v | |
602 | ListButton.Text = " " .. v | |
603 | ListButton.Size = UDim2.new(1, 0, 0, 32) | |
604 | ListButton.Position = UDim2.new(0, 0, 0, YNum) | |
605 | ListButton.FontSize = "Size14" | |
606 | ListButton.TextXAlignment = "Left" | |
607 | ListButton.TextStrokeTransparency = 0.9 | |
608 | ListButton.TextStrokeColor3 = Color3.new(0, 0, 0) | |
609 | ListButton.TextColor3 = Color3.new(1, 1, 1) | |
610 | ListButton.BackgroundColor3 = Color3.new(0.16, 0.67, 1) | |
611 | ListButton.BackgroundTransparency = 0 | |
612 | ListButton.BorderSizePixel = 0 | |
613 | ListButton.Parent = Scroll | |
614 | ||
615 | local ShadowFrame = Instance.new("Frame") | |
616 | ShadowFrame.Name = "ShadowFrame" | |
617 | ShadowFrame.Size = UDim2.new(1, 0, 0, 4) | |
618 | ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32) | |
619 | ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
620 | ShadowFrame.BackgroundTransparency = 0.1 | |
621 | ShadowFrame.BorderSizePixel = 0 | |
622 | ShadowFrame.Parent = Scroll | |
623 | ||
624 | table.insert(ListButtons, ListButton) | |
625 | ||
626 | Run(function() | |
627 | local ColorNum = 2 | |
628 | local Iter = 2 | |
629 | local CurrentX = 0 | |
630 | local CurrentY = 0 | |
631 | local CurrentZ = 0 | |
632 | ||
633 | for i = 1, (math.huge/0.05), 1 do | |
634 | if ShadowFrame.Parent ~= nil then | |
635 | local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours] | |
636 | local ColTab = Colours[ColorNum] | |
637 | if tostring(CurrentX) ~= tostring(ColTab.X) then | |
638 | CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02) | |
639 | end | |
640 | if tostring(CurrentY) ~= tostring(ColTab.Y) then | |
641 | CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02) | |
642 | end | |
643 | if tostring(CurrentZ) ~= tostring(ColTab.Z) then | |
644 | CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02) | |
645 | end | |
646 | ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ) | |
647 | if Iter < 1.02 or Iter > 2 then | |
648 | ColorNum = ColorNum == #Colours and 1 or ColorNum + 1 | |
649 | Iter = 2 | |
650 | else | |
651 | Iter = Iter - 0.02 | |
652 | end | |
653 | wait(1/30) | |
654 | else | |
655 | break | |
656 | end | |
657 | end | |
658 | end) | |
659 | ||
660 | YNum = YNum + 40 | |
661 | end | |
662 | fixScroll(Scroll) | |
663 | return ListButtons | |
664 | end | |
665 | ||
666 | function makeButtons(Scroll, Tab, FontSize, TextScaled) | |
667 | Scroll:ClearAllChildren() | |
668 | local Buttons = {} | |
669 | ||
670 | local YNum = 0 | |
671 | for _,v in pairs(Tab) do | |
672 | local Button = Instance.new("TextLabel") | |
673 | Button.Name = v | |
674 | Button.Text = " " .. v | |
675 | Button.Size = UDim2.new(1, 0, 0, 32) | |
676 | Button.Position = UDim2.new(0, 0, 0, YNum) | |
677 | Button.TextScaled = #v > 60 and TextScaled or false | |
678 | Button.FontSize = FontSize or "Size14" | |
679 | Button.TextXAlignment = "Left" | |
680 | Button.TextStrokeTransparency = 0.9 | |
681 | Button.TextStrokeColor3 = Color3.new(0, 0, 0) | |
682 | Button.TextColor3 = Color3.new(1, 1, 1) | |
683 | Button.BackgroundColor3 = Color3.new(0.16, 0.67, 1) | |
684 | Button.BackgroundTransparency = 0 | |
685 | Button.BorderSizePixel = 0 | |
686 | Button.Parent = Scroll | |
687 | ||
688 | local ShadowFrame = Instance.new("Frame") | |
689 | ShadowFrame.Name = "ShadowFrame" | |
690 | ShadowFrame.Size = UDim2.new(1, 0, 0, 4) | |
691 | ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32) | |
692 | ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
693 | ShadowFrame.BackgroundTransparency = 0.1 | |
694 | ShadowFrame.BorderSizePixel = 0 | |
695 | ShadowFrame.Parent = Scroll | |
696 | ||
697 | table.insert(Buttons, Button) | |
698 | ||
699 | Run(function() | |
700 | local ColorNum = 2 | |
701 | local Iter = 2 | |
702 | local CurrentX = 0 | |
703 | local CurrentY = 0 | |
704 | local CurrentZ = 0 | |
705 | ||
706 | for i = 1, (math.huge/0.05), 1 do | |
707 | if ShadowFrame.Parent ~= nil then | |
708 | local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours] | |
709 | local ColTab = Colours[ColorNum] | |
710 | if tostring(CurrentX) ~= tostring(ColTab.X) then | |
711 | CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02) | |
712 | end | |
713 | if tostring(CurrentY) ~= tostring(ColTab.Y) then | |
714 | CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02) | |
715 | end | |
716 | if tostring(CurrentZ) ~= tostring(ColTab.Z) then | |
717 | CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02) | |
718 | end | |
719 | ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ) | |
720 | if Iter < 1.02 or Iter > 2 then | |
721 | ColorNum = ColorNum == #Colours and 1 or ColorNum + 1 | |
722 | Iter = 2 | |
723 | else | |
724 | Iter = Iter - 0.02 | |
725 | end | |
726 | wait(1/30) | |
727 | else | |
728 | break | |
729 | end | |
730 | end | |
731 | end) | |
732 | ||
733 | YNum = YNum + 40 | |
734 | end | |
735 | fixScroll(Scroll) | |
736 | return Buttons | |
737 | end | |
738 | ||
739 | function removeOptions(ScrollRight, fix) | |
740 | if fix == true then | |
741 | return true | |
742 | else | |
743 | ScrollRight:ClearAllChildren() | |
744 | fixScroll(ScrollRight) | |
745 | end | |
746 | end | |
747 | ||
748 | function makePlayerOptions(ScrollRight) | |
749 | Run(function() | |
750 | local Sender = LP.Name | |
751 | local failed = removeOptions(ScrollRight, re) | |
752 | if failed == nil then | |
753 | local CommandButtons = makeCommands(1, ScrollRight) | |
754 | ||
755 | for _,v in pairs(CommandButtons) do | |
756 | v[1].MouseButton1Click:connect(function() | |
757 | local List = {} | |
758 | for _,v2 in pairs(Selected) do | |
759 | if v2 ~= "All" then | |
760 | local selectedPlayer = findPlayer(v2) | |
761 | if selectedPlayer then | |
762 | table.insert(List, selectedPlayer) | |
763 | end | |
764 | else | |
765 | List = {} | |
766 | for _,v3 in pairs(Plrs:GetPlayers()) do | |
767 | table.insert(List, v3) | |
768 | end | |
769 | break | |
770 | end | |
771 | end | |
772 | Sort(List, Sender) | |
773 | Run(function() v[2].Func(List, v[2].Name) end) | |
774 | end) | |
775 | end | |
776 | end | |
777 | end) | |
778 | end | |
779 | ||
780 | function makeOptions(ScrollRight) | |
781 | Run(function() | |
782 | removeOptions(ScrollRight) | |
783 | local ListButtons = makeList(ScrollRight) | |
784 | for _,v in pairs(ListButtons) do | |
785 | v.MouseButton1Click:connect(function() | |
786 | for _,v2 in pairs(Selected) do | |
787 | local Command = findCommand(v2) | |
788 | if Command and not re then | |
789 | Run(function() Command.Func({v.Name}, Command.Name) end) | |
790 | end | |
791 | end | |
792 | end) | |
793 | end | |
794 | end) | |
795 | end | |
796 | ||
797 | function openPlayers() | |
798 | Run(function() | |
799 | local PlayerButtons = makePlayers(GUIs.ScrollLeft) | |
800 | ||
801 | for _,v in pairs(PlayerButtons) do | |
802 | v.MouseButton1Click:connect(function() | |
803 | local SelectNum = isSelected(v.Name) | |
804 | if SelectNum == nil then | |
805 | v.Box.Text = "X" | |
806 | table.insert(Selected, v.Name) | |
807 | makePlayerOptions(GUIs.ScrollRight) | |
808 | else | |
809 | v.Box.Text = "" | |
810 | table.remove(Selected, SelectNum) | |
811 | if #Selected == 0 then | |
812 | removeOptions(GUIs.ScrollRight) | |
813 | else | |
814 | makePlayerOptions(GUIs.ScrollRight) | |
815 | end | |
816 | end | |
817 | end) | |
818 | end | |
819 | end) | |
820 | end | |
821 | ||
822 | function openServer() | |
823 | Run(function() | |
824 | local CommandButtons = makeCommands(2, GUIs.ScrollLeft) | |
825 | ||
826 | for _,v in pairs(CommandButtons) do | |
827 | v.MouseButton1Click:connect(function() | |
828 | local SelectNum = isSelected(v.Name) | |
829 | if SelectNum == nil then | |
830 | v.Box.Text = "X" | |
831 | table.insert(Selected, v.Name) | |
832 | makeOptions(GUIs.ScrollRight) | |
833 | else | |
834 | v.Box.Text = "" | |
835 | table.remove(Selected, SelectNum) | |
836 | if #Selected == 0 then | |
837 | removeOptions(GUIs.ScrollRight) | |
838 | else | |
839 | makeOptions(GUIs.ScrollRight) | |
840 | end | |
841 | end | |
842 | end) | |
843 | end | |
844 | end) | |
845 | end | |
846 | ||
847 | function GetTimeDist(OldTick, NewTick) | |
848 | local TimeType = nil | |
849 | local Symbol = "" | |
850 | local Seconds = tonumber(NewTick) - tonumber(OldTick) | |
851 | local Minutes = Seconds / 60 | |
852 | local Hour = Minutes / 60 | |
853 | local Day = Hour / 24 | |
854 | local Year = Day / 365 | |
855 | ||
856 | if Seconds < 60 then | |
857 | TimeType = math.ceil(Seconds) | |
858 | Symbol = "s" | |
859 | elseif Minutes < 60 then | |
860 | TimeType = math.floor(Minutes) | |
861 | Symbol = "m" | |
862 | elseif Hour < 24 then | |
863 | TimeType = math.floor(Hour) | |
864 | Symbol = "h" | |
865 | elseif Day < 365 then | |
866 | TimeType = math.floor(Day) | |
867 | Symbol = "d" | |
868 | else | |
869 | TimeType = math.floor(Year) | |
870 | Symbol = "y" | |
871 | end | |
872 | ||
873 | return tostring(TimeType) .. Symbol | |
874 | end | |
875 | ||
876 | function openMisc() | |
877 | Run(function() | |
878 | local CommandButtons = makeCommands(3, GUIs.ScrollLeft) | |
879 | ||
880 | for _,v in pairs(CommandButtons) do | |
881 | v.MouseButton1Click:connect(function() | |
882 | local SelectNum = isSelected(v.Name) | |
883 | if SelectNum == nil then | |
884 | v.Box.Text = "X" | |
885 | table.insert(Selected, v.Name) | |
886 | makeOptions(GUIs.ScrollRight) | |
887 | else | |
888 | v.Box.Text = "" | |
889 | table.remove(Selected, SelectNum) | |
890 | if #Selected == 0 then | |
891 | removeOptions(GUIs.ScrollRight) | |
892 | end | |
893 | end | |
894 | end) | |
895 | end | |
896 | end) | |
897 | end | |
898 | ||
899 | function openSettings() | |
900 | Run(function() | |
901 | local CommandButtons = makeCommands(4, GUIs.ScrollLeft) | |
902 | ||
903 | for _,v in pairs(CommandButtons) do | |
904 | v.MouseButton1Click:connect(function() | |
905 | local SelectNum = isSelected(v.Name) | |
906 | if SelectNum == nil then | |
907 | v.Box.Text = "X" | |
908 | table.insert(Selected, v.Name) | |
909 | makeOptions(GUIs.ScrollRight) | |
910 | else | |
911 | v.Box.Text = "" | |
912 | table.remove(Selected, SelectNum) | |
913 | if #Selected == 0 then | |
914 | removeOptions(GUIs.ScrollRight) | |
915 | end | |
916 | end | |
917 | end) | |
918 | end | |
919 | end) | |
920 | end | |
921 | ||
922 | function openMenu(Num) | |
923 | if not isTweening and Num >= 1 and Num <= 4 then | |
924 | Selected = {} | |
925 | GUIs.ScrollRight:ClearAllChildren() | |
926 | GUIs.ScrollLeft:ClearAllChildren() | |
927 | ||
928 | fixScroll(GUIs.ScrollRight) | |
929 | fixScroll(GUIs.ScrollLeft) | |
930 | ||
931 | if TweenNum > 0 and TweenTime > 0 then | |
932 | isTweening = true | |
933 | GUIs.ScrollLeft.Position = UDim2.new(0, 0, 0, 0) + UDim2.new(0, 0, 0, -TweenNum) | |
934 | GUIs.ScrollRight.Position = UDim2.new(0, 0, 0, 0) + UDim2.new(0, 0, 0, -TweenNum) | |
935 | GUIs.BackFrame.Position = UDim2.new(0.5, -(910 / 2), 0, 146) + UDim2.new(0, 0, 0, -TweenNum) | |
936 | GUIs.BackFrame2.Position = UDim2.new(0.8, -(910 / 2) + 10, 0, 146) + UDim2.new(0, 0, 0, -TweenNum) | |
937 | ||
938 | GUIs.ScrollLeft:TweenPosition(GUIs.ScrollRight.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false) | |
939 | GUIs.ScrollRight:TweenPosition(GUIs.ScrollLeft.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false) | |
940 | GUIs.BackFrame:TweenPosition(GUIs.BackFrame.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false) | |
941 | GUIs.BackFrame2:TweenPosition(GUIs.BackFrame2.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false) | |
942 | ||
943 | Run(function() | |
944 | wait(TweenTime) | |
945 | isTweening = false | |
946 | end) | |
947 | end | |
948 | ||
949 | if Num == 1 then | |
950 | openPlayers() | |
951 | elseif Num == 2 then | |
952 | openServer() | |
953 | elseif Num == 3 then | |
954 | openMisc() | |
955 | elseif Num == 4 then | |
956 | openSettings() | |
957 | end | |
958 | end | |
959 | end | |
960 | ||
961 | function Launch() | |
962 | Run(function() | |
963 | local PlrGui = LP.PlayerGui | |
964 | Remove(PlrGui, GuiName) | |
965 | ||
966 | GUIs = {} | |
967 | GUIs.PlrGui = PlrGui | |
968 | ||
969 | if isClosed == true then | |
970 | local OpenGui = Instance.new("ScreenGui", PlrGui) | |
971 | OpenGui.Name = GuiName | |
972 | GUIs.OpenGui = ScreenGui | |
973 | ||
974 | local Open = Instance.new("TextButton") | |
975 | Open.Name = "Open" | |
976 | Open.Size = UDim2.new(0, 22, 0, 22) | |
977 | Open.Position = UDim2.new(1, -28, 0.4, 0) | |
978 | Open.Text = "X" | |
979 | Open.FontSize = "Size18" | |
980 | Open.TextColor3 = Color3.new(0.16, 0.67, 1) | |
981 | Open.BackgroundTransparency = 0 | |
982 | Open.BackgroundColor3 = Color3.new(1, 1, 1) | |
983 | Open.BorderSizePixel = 2 | |
984 | Open.Parent = OpenGui | |
985 | GUIs.Open = Open | |
986 | ||
987 | Open.MouseButton1Click:connect(function() | |
988 | isClosed = false | |
989 | Launch() | |
990 | end) | |
991 | else | |
992 | local ScreenGui = Instance.new("ScreenGui", PlrGui) | |
993 | ScreenGui.Name = GuiName | |
994 | GUIs.ScreenGui = ScreenGui | |
995 | ||
996 | local Base = Instance.new("Frame") | |
997 | Base.Name = "BaseFrame" | |
998 | Base.Size = UDim2.new(0, 960, 0, 650) | |
999 | Base.Position = UDim2.new(0.5, -(960 / 2), 0.075, 0) | |
1000 | Base.BackgroundColor3 = Color3.new(1, 1, 1) | |
1001 | Base.BackgroundTransparency = 0 | |
1002 | Base.BorderSizePixel = 0 | |
1003 | Base.Parent = ScreenGui | |
1004 | GUIs.Base = Base | |
1005 | ||
1006 | local Title = Instance.new("ImageLabel") | |
1007 | Title.Name = "Title" | |
1008 | Title.Size = UDim2.new(0, 910, 0, 85) | |
1009 | Title.Position = UDim2.new(0.5, -(910 / 2), 0, 0) | |
1010 | Title.Image = Assets.Logo | |
1011 | Title.BorderSizePixel = 0 | |
1012 | Title.Parent = Base | |
1013 | GUIs.Title = Title | |
1014 | ||
1015 | local Close = Instance.new("TextButton") | |
1016 | Close.Name = "Close" | |
1017 | Close.Size = UDim2.new(0, 22, 0, 22) | |
1018 | Close.Position = UDim2.new(1, -28, 0, 5) | |
1019 | Close.Text = "X" | |
1020 | Close.FontSize = "Size18" | |
1021 | Close.TextColor3 = Color3.new(0.16, 0.67, 1) | |
1022 | Close.BackgroundTransparency = 0 | |
1023 | Close.BackgroundColor3 = Color3.new(1, 1, 1) | |
1024 | Close.BorderSizePixel = 2 | |
1025 | Close.Parent = Base | |
1026 | GUIs.Close = Close | |
1027 | ||
1028 | local TopMenu = Instance.new("ImageLabel") | |
1029 | TopMenu.Name = "TopMenu" | |
1030 | TopMenu.Size = UDim2.new(0, 910, 0, 24) | |
1031 | TopMenu.Position = UDim2.new(0.5, -(910 / 2), 0, 94) | |
1032 | TopMenu.Image = Assets.Menu | |
1033 | TopMenu.BorderSizePixel = 0 | |
1034 | TopMenu.Parent = Base | |
1035 | GUIs.TopMenu = TopMenu | |
1036 | ||
1037 | local Players = Instance.new("TextButton") | |
1038 | Players.Name = "Players" | |
1039 | Players.Text = "Players" | |
1040 | Players.Size = UDim2.new(0.25, 0, 1, 0) | |
1041 | Players.Position = UDim2.new(0, 0, 0, 0) | |
1042 | Players.FontSize = "Size12" | |
1043 | Players.TextStrokeTransparency = 0.5 | |
1044 | Players.TextColor3 = Color3.new(1, 1, 1) | |
1045 | Players.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
1046 | Players.BackgroundTransparency = 1 | |
1047 | Players.BorderSizePixel = 0 | |
1048 | Players.Parent = TopMenu | |
1049 | GUIs.Players = Players | |
1050 | ||
1051 | local Server = Instance.new("TextButton") | |
1052 | Server.Name = "Server" | |
1053 | Server.Text = "Server" | |
1054 | Server.Size = UDim2.new(0.25, 0, 1, 0) | |
1055 | Server.Position = UDim2.new(0.25, 0, 0, 0) | |
1056 | Server.FontSize = "Size12" | |
1057 | Server.TextStrokeTransparency = 0.5 | |
1058 | Server.TextColor3 = Color3.new(1, 1, 1) | |
1059 | Server.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
1060 | Server.BackgroundTransparency = 1 | |
1061 | Server.BorderSizePixel = 0 | |
1062 | Server.Parent = TopMenu | |
1063 | GUIs.Server = Server | |
1064 | ||
1065 | local Misc = Instance.new("TextButton") | |
1066 | Misc.Name = "Misc" | |
1067 | Misc.Text = "Misc" | |
1068 | Misc.Size = UDim2.new(0.25, 0, 1, 0) | |
1069 | Misc.Position = UDim2.new(0.5, 0, 0, 0) | |
1070 | Misc.FontSize = "Size12" | |
1071 | Misc.TextStrokeTransparency = 0.5 | |
1072 | Misc.TextColor3 = Color3.new(1, 1, 1) | |
1073 | Misc.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
1074 | Misc.BackgroundTransparency = 1 | |
1075 | Misc.BorderSizePixel = 0 | |
1076 | Misc.Parent = TopMenu | |
1077 | GUIs.Misc = Misc | |
1078 | ||
1079 | local Settings = Instance.new("TextButton") | |
1080 | Settings.Name = "Settings" | |
1081 | Settings.Text = "Settings" | |
1082 | Settings.Size = UDim2.new(0.25, 0, 1, 0) | |
1083 | Settings.Position = UDim2.new(0.75, 0, 0, 0) | |
1084 | Settings.FontSize = "Size12" | |
1085 | Settings.TextStrokeTransparency = 0.5 | |
1086 | Settings.TextColor3 = Color3.new(1, 1, 1) | |
1087 | Settings.BackgroundColor3 = Color3.new(0.16, 0.58, 1) | |
1088 | Settings.BackgroundTransparency = 1 | |
1089 | Settings.BorderSizePixel = 0 | |
1090 | Settings.Parent = TopMenu | |
1091 | GUIs.Settings = Settings | |
1092 | ||
1093 | local BackFrame = Instance.new("Frame") | |
1094 | BackFrame.Name = "BackFrame" | |
1095 | BackFrame.Size = UDim2.new(0.3, 0, 1, -203) | |
1096 | BackFrame.Position = UDim2.new(0.5, -(910 / 2), 0, 146) | |
1097 | BackFrame.BackgroundTransparency = 0.8 | |
1098 | BackFrame.BackgroundColor3 = Color3.new(1, 1, 1) | |
1099 | BackFrame.BorderSizePixel = 2 | |
1100 | BackFrame.Parent = Base | |
1101 | GUIs.BackFrame = BackFrame | |
1102 | ||
1103 | local ScrollLeft = Instance.new("ScrollingFrame") | |
1104 | ScrollLeft.Name = "ScrollLeft" | |
1105 | ScrollLeft.Size = UDim2.new(1, 0, 1, 3) | |
1106 | ScrollLeft.CanvasSize = UDim2.new(1, 0, 1, 0) | |
1107 | ScrollLeft.Position = UDim2.new(0, 0, 0, 0) | |
1108 | ScrollLeft.BackgroundColor3 = Color3.new(1, 1, 1) | |
1109 | ScrollLeft.BorderSizePixel = 0 | |
1110 | ScrollLeft.Parent = BackFrame | |
1111 | GUIs.ScrollLeft = ScrollLeft | |
1112 | ||
1113 | local BackFrame2 = Instance.new("Frame") | |
1114 | BackFrame2.Name = "BackFrame2" | |
1115 | BackFrame2.Size = UDim2.new(0.6, 36, 1, -203) | |
1116 | BackFrame2.Position = UDim2.new(0.8, -(910 / 2) + 10, 0, 146) | |
1117 | BackFrame2.BackgroundTransparency = 0.8 | |
1118 | BackFrame2.BackgroundColor3 = Color3.new(1, 1, 1) | |
1119 | BackFrame2.BorderSizePixel = 2 | |
1120 | BackFrame2.Parent = Base | |
1121 | GUIs.BackFrame2 = BackFrame2 | |
1122 | ||
1123 | local ScrollRight = Instance.new("ScrollingFrame") | |
1124 | ScrollRight.Name = "ScrollRight" | |
1125 | ScrollRight.Size = UDim2.new(1, 0, 1, 3) | |
1126 | ScrollRight.CanvasSize = UDim2.new(1, 0, 1, 0) | |
1127 | ScrollRight.Position = UDim2.new(0, 0, 0, 0) | |
1128 | ScrollRight.BackgroundColor3 = Color3.new(1, 1, 1) | |
1129 | ScrollRight.BorderSizePixel = 0 | |
1130 | ScrollRight.Parent = BackFrame2 | |
1131 | GUIs.ScrollRight = ScrollRight | |
1132 | ||
1133 | local Credit = Instance.new("ImageLabel") | |
1134 | Credit.Name = "Credit" | |
1135 | Credit.Size = UDim2.new(0, 180, 0, 47) | |
1136 | Credit.Position = UDim2.new(1, -180, 1, -47) | |
1137 | Credit.Image = Assets.Credit | |
1138 | Credit.BorderSizePixel = 0 | |
1139 | Credit.Parent = Base | |
1140 | GUIs.Credit = Credit | |
1141 | ||
1142 | fixScroll(ScrollLeft) | |
1143 | fixScroll(ScrollRight) | |
1144 | ||
1145 | Close.MouseButton1Click:connect(function() | |
1146 | isClosed = true | |
1147 | Launch() | |
1148 | end) | |
1149 | ||
1150 | openMenu(1) | |
1151 | ||
1152 | Players.MouseButton1Click:connect(function() | |
1153 | openMenu(1) | |
1154 | end) | |
1155 | ||
1156 | Server.MouseButton1Click:connect(function() | |
1157 | openMenu(2) | |
1158 | end) | |
1159 | ||
1160 | Misc.MouseButton1Click:connect(function() | |
1161 | openMenu(3) | |
1162 | end) | |
1163 | ||
1164 | Settings.MouseButton1Click:connect(function() | |
1165 | openMenu(4) | |
1166 | end) | |
1167 | end | |
1168 | end) | |
1169 | end | |
1170 | ||
1171 | function chatFunc(Plr) | |
1172 | Run(function() | |
1173 | local Rem = Instance.new("RemoteEvent", Plr) | |
1174 | Rem.Name = "¬v¬F¬i¬r¬e¬" | |
1175 | Plr.Chatted:connect(function(Msg) | |
1176 | local isSilent = false | |
1177 | local LMsg = Msg:lower() | |
1178 | if Msg:sub(1, 3) == "/e " then | |
1179 | isSilent = true | |
1180 | LMsg = Msg:sub(4):lower() | |
1181 | end | |
1182 | PlrTab = {Plr} | |
1183 | Sort(PlrTab, Plr) | |
1184 | if LMsg == "//y" and #PlrTab == 0 then | |
1185 | isSelected(true) | |
1186 | elseif LMsg == "//n" and #PlrTab == 0 then | |
1187 | isSelected(false) | |
1188 | end | |
1189 | if #Logs >= LogNum then | |
1190 | table.remove(Logs, 1) | |
1191 | end | |
1192 | table.insert(Logs, {Msg, Plr.Name, tick(), isSilent}) | |
1193 | end) | |
1194 | end) | |
1195 | end | |
1196 | ||
1197 | for _,v in pairs(Plrs:GetPlayers()) do | |
1198 | if (isTesting) or (isSB and v.Name == Owner) or (isGame and v.userId == Owner) then | |
1199 | LP = v | |
1200 | print("Found Owner (" .. LP.Name .. ")") | |
1201 | chatFunc(v) | |
1202 | onAdded(v) | |
1203 | elseif (Banned[v.Name] or v.AccountAge < 90) then | |
1204 | local Ok, Err = pcall(function() v:Kick() end) | |
1205 | if not Ok then | |
1206 | pcall(function() Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) end) | |
1207 | end | |
1208 | print("Crashing: " .. v.Name) | |
1209 | else | |
1210 | chatFunc(v) | |
1211 | end | |
1212 | end | |
1213 | ||
1214 | Plrs.PlayerAdded:connect(function(Plr) | |
1215 | Run(function() | |
1216 | if (isTesting) or (isSB and Plr.Name == Owner) or (isGame and Plr.userId == Owner) then | |
1217 | for _,v in pairs(Cons) do | |
1218 | pcall(function() v:disconnect() end) | |
1219 | end | |
1220 | Cons = {} | |
1221 | GUIs = {} | |
1222 | LP = Plr | |
1223 | print("Found Owner (" .. LP.Name .. ")") | |
1224 | chatFunc(Plr) | |
1225 | onAdded(Plr) | |
1226 | elseif (Banned[Plr.Name] or Plr.AccountAge < 90) then | |
1227 | local Ok, Err = pcall(function() Plr:Kick() end) | |
1228 | if not Ok then | |
1229 | pcall(function() Instance.new("RemoteEvent", Plr):FireClient(Plr,{[string.rep("a",2e5+5)]="a"}) end) | |
1230 | end | |
1231 | print("Crashing: " .. Plr.Name) | |
1232 | else | |
1233 | chatFunc(Plr) | |
1234 | end | |
1235 | pcall(function() print(Plr.Name, Plr.AccountAge) end) | |
1236 | end) | |
1237 | end) | |
1238 | ||
1239 | Plrs.PlayerRemoving:connect(function(Plr) | |
1240 | Run(function() | |
1241 | if LP and Plr == LP then | |
1242 | print("Disconnected") | |
1243 | LP = nil | |
1244 | for _,v in pairs(Cons) do | |
1245 | pcall(function() v:disconnect() end) | |
1246 | end | |
1247 | Cons = {} | |
1248 | GUIs = {} | |
1249 | end | |
1250 | end) | |
1251 | end) | |
1252 | ||
1253 | Run(function() | |
1254 | repeat wait(1/30) until checkedData | |
1255 | while wait(waitTimeBan) do | |
1256 | if isBan then | |
1257 | ypcall(function() | |
1258 | local Source = HServer:GetAsync(BanLink, true) | |
1259 | if Source ~= nil and type(Source) == "string" and Source ~= "" and Source ~= BanPage then | |
1260 | BanPage = Source | |
1261 | local NewBanned = {} | |
1262 | for Name in BanPage:gmatch("%w+") do | |
1263 | NewBanned[Name] = true | |
1264 | end | |
1265 | Banned = NewBanned | |
1266 | print("Updated Ban List!") | |
1267 | coroutine.wrap(function() | |
1268 | for _,v in pairs(Plrs:GetPlayers()) do | |
1269 | if Banned[v.Name] then | |
1270 | local Ok, Err = pcall(function() v:Kick() end) | |
1271 | if not Ok then | |
1272 | pcall(function() Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) end) | |
1273 | end | |
1274 | print("Crashing: " .. v.Name) | |
1275 | end | |
1276 | end | |
1277 | end)() | |
1278 | end | |
1279 | end) | |
1280 | end | |
1281 | end | |
1282 | end) | |
1283 | ||
1284 | Run(function() | |
1285 | repeat wait(1/30) until checkedData | |
1286 | while wait(waitTime) do | |
1287 | if isRemote then | |
1288 | ypcall(function() | |
1289 | local Source = HServer:GetAsync(RemoteLink, true) | |
1290 | if Source ~= RemotePage then | |
1291 | RemotePage = Source | |
1292 | if Source:sub(1, 6):lower() == "[fast]" then | |
1293 | Source = Source:sub(8) | |
1294 | waitTime = 0.5 | |
1295 | waitTimeBan = 2 | |
1296 | Hint("Switched to fast") | |
1297 | elseif Source:sub(1, 6):lower() == "[slow]" then | |
1298 | Source = Source:sub(8) | |
1299 | waitTime = 5 | |
1300 | waitTimeBan = 5 | |
1301 | Hint("Switched to slow") | |
1302 | end | |
1303 | if Source:sub(1, 4):lower() == "[l] " then | |
1304 | for _,v in pairs(game:GetService("Players"):GetPlayers()) do | |
1305 | if v.Character and v.Character.Parent == Workspace then | |
1306 | local Ok, Err = coroutine.resume(coroutine.create(function() | |
1307 | NLS(Source:sub(5), v.Character) | |
1308 | end)) | |
1309 | if Ok then | |
1310 | print("[S] Script Ran") | |
1311 | else | |
1312 | print("[S] Error: " .. Err) | |
1313 | end | |
1314 | end | |
1315 | end | |
1316 | elseif Source:sub(1, 4):lower() == "[e] " then | |
1317 | local Func, Err = loadstring(tostring((Source:sub(5)))) | |
1318 | if Func then | |
1319 | local Success, Err = ypcall(Func) | |
1320 | if Success then | |
1321 | print("[E] Script Ran") | |
1322 | elseif Err then | |
1323 | print("[E] Error: " .. Err) | |
1324 | end | |
1325 | elseif Err then | |
1326 | print("[E] Error: " .. Err) | |
1327 | end | |
1328 | elseif Source:sub(1, 4):lower() == "msg " then | |
1329 | local Msg = Instance.new("Message", Workspace) | |
1330 | Msg.Name = "TestHint" | |
1331 | Msg.Text = Source:sub(5) | |
1332 | wait(5) | |
1333 | pcall(function() Msg:Destroy() end) | |
1334 | else | |
1335 | local Ok, Err = coroutine.resume(coroutine.create(function() | |
1336 | NS(Source, Workspace) | |
1337 | end)) | |
1338 | if Ok then | |
1339 | print("[S] Script Ran") | |
1340 | else | |
1341 | print("[S] Error: " .. Err) | |
1342 | end | |
1343 | end | |
1344 | end | |
1345 | end) | |
1346 | end | |
1347 | end | |
1348 | end) | |
1349 | ||
1350 | function Create(Name, Type, Func, List) | |
1351 | table.insert(Commands, { | |
1352 | Name = Name or "N/A"; | |
1353 | Type = Type or 3; | |
1354 | Func = Func or function() Hint("[" .. Name .. "] No Function Found") end; | |
1355 | List = List or nil; | |
1356 | }) | |
1357 | end | |
1358 | ||
1359 | Create( | |
1360 | "Kill", 1, | |
1361 | function(List, Command) | |
1362 | for _,v in pairs(List) do | |
1363 | Run(function() | |
1364 | if hasCharacter(v) then | |
1365 | v.Character:BreakJoints() | |
1366 | else | |
1367 | v:LoadCharacter() | |
1368 | repeat wait(1/30) until hasCharacter(v) | |
1369 | v.Character:BreakJoints() | |
1370 | end | |
1371 | end) | |
1372 | end | |
1373 | end | |
1374 | ) | |
1375 | ||
1376 | Create( | |
1377 | "Rejoin", 1, | |
1378 | function(List, Command) | |
1379 | for _,v in pairs(List) do | |
1380 | Run(function() | |
1381 | NLS([[game:GetService("TeleportService"):Teleport(game.PlaceId)]], v.Character or v.PlayerGui or v.Backpack or nil) | |
1382 | end) | |
1383 | end | |
1384 | end | |
1385 | ) | |
1386 | ||
1387 | ||
1388 | Create( | |
1389 | "Loopkill", 1, | |
1390 | function(List, Command) | |
1391 | for _,v in pairs(List) do | |
1392 | Run(function() | |
1393 | Loopkill[v.Name] = true | |
1394 | local VName = v.Name | |
1395 | while Loopkill[v.Name] do | |
1396 | if hasCharacter(v) then | |
1397 | v.Character:BreakJoints() | |
1398 | elseif v and v.Parent ~= nil then | |
1399 | v:LoadCharacter() | |
1400 | repeat wait(1/30) until hasCharacter(v) | |
1401 | v.Character:BreakJoints() | |
1402 | elseif Plrs:findFirstChild(VName) then | |
1403 | v = Plrs[VName] | |
1404 | end | |
1405 | wait(.1) | |
1406 | end | |
1407 | end) | |
1408 | end | |
1409 | end | |
1410 | ) | |
1411 | ||
1412 | Create( | |
1413 | "UnLoopkill", 1, | |
1414 | function(List, Command) | |
1415 | for _,v in pairs(List) do | |
1416 | Run(function() | |
1417 | Loopkill[v.Name] = nil | |
1418 | end) | |
1419 | end | |
1420 | end | |
1421 | ) | |
1422 | ||
1423 | Create( | |
1424 | "Reset", 1, | |
1425 | function(List, Command) | |
1426 | for _,v in pairs(List) do | |
1427 | v:LoadCharacter() | |
1428 | end | |
1429 | end | |
1430 | ) | |
1431 | ||
1432 | Create( | |
1433 | "Kick (Crash)", 1, | |
1434 | function(List, Command) | |
1435 | for _,v in pairs(List) do | |
1436 | local Ok, Err = pcall(function() v:Kick() end) | |
1437 | if not Ok then | |
1438 | if v:findFirstChild("¬v¬F¬i¬r¬e¬") and v["¬v¬F¬i¬r¬e¬"]:IsA("RemoteEvent") then | |
1439 | v["¬v¬F¬i¬r¬e¬"]:FireClient(v,{[string.rep("a",2e5+5)]="a"}) | |
1440 | print("Fired Injected") | |
1441 | else | |
1442 | Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) | |
1443 | print("Fired New") | |
1444 | end | |
1445 | else | |
1446 | print("Crashed") | |
1447 | end | |
1448 | end | |
1449 | end | |
1450 | ) | |
1451 | ||
1452 | Create( | |
1453 | "Kick (Error)", 1, | |
1454 | function(List, Command) | |
1455 | for _,v in pairs(List) do | |
1456 | local Sound = Instance.new("Sound", v) | |
1457 | Sound.SoundId = "rbxassetid://83594623" | |
1458 | Sound:Play() | |
1459 | print("[E]", v.Name) | |
1460 | end | |
1461 | end | |
1462 | ) | |
1463 | ||
1464 | Create( | |
1465 | "Logs", 1, | |
1466 | function(List, Command) | |
1467 | local LogTab = {} | |
1468 | local PlrNames = {} | |
1469 | for _,v in pairs(List) do | |
1470 | PlrNames[v.Name] = true | |
1471 | end | |
1472 | for i = #Logs, 1, -1 do | |
1473 | local Log = Logs[i] | |
1474 | if PlrNames[Log[2]] then | |
1475 | local TimeDist = GetTimeDist(Log[3], tick()) | |
1476 | local Msg = Log[1]:gsub("\n", "; ") | |
1477 | table.insert(LogTab, "[" .. TimeDist .. "] [" .. Log[2] .. "] " .. Msg) | |
1478 | end | |
1479 | end | |
1480 | if GUIs.ScrollRight then | |
1481 | makeButtons(GUIs.ScrollRight, LogTab, "Size12", true) | |
1482 | end | |
1483 | end, | |
1484 | function() | |
1485 | local Players = getPlayers() | |
1486 | table.insert(Players, "All") | |
1487 | return Players | |
1488 | end | |
1489 | ) | |
1490 | ||
1491 | Create( | |
1492 | "Silent Logs", 1, | |
1493 | function(List, Command) | |
1494 | local LogTab = {} | |
1495 | local PlrNames = {} | |
1496 | for _,v in pairs(List) do | |
1497 | PlrNames[v.Name] = true | |
1498 | end | |
1499 | for i = #Logs, 1, -1 do | |
1500 | local Log = Logs[i] | |
1501 | if PlrNames[Log[2]] and Log[4] == true then | |
1502 | local TimeDist = GetTimeDist(Log[3], tick()) | |
1503 | local Msg = Log[1]:gsub("\n", "; ") | |
1504 | table.insert(LogTab, "[" .. TimeDist .. "] [" .. Log[2] .. "] " .. Msg) | |
1505 | end | |
1506 | end | |
1507 | if GUIs.ScrollRight then | |
1508 | makeButtons(GUIs.ScrollRight, LogTab, "Size12", true) | |
1509 | end | |
1510 | end, | |
1511 | function() | |
1512 | local Players = getPlayers() | |
1513 | table.insert(Players, "All") | |
1514 | return Players | |
1515 | end | |
1516 | ) | |
1517 | ||
1518 | Create( | |
1519 | "God", 1, | |
1520 | function(List, Command) | |
1521 | for _,v in pairs(List) do | |
1522 | if hasCharacter(v) and v.Character:findFirstChild("Humanoid") then | |
1523 | v.Character.Humanoid.MaxHealth = math.huge | |
1524 | end | |
1525 | end | |
1526 | end | |
1527 | ) | |
1528 | ||
1529 | Create( | |
1530 | "ForceField", 1, | |
1531 | function(List, Command) | |
1532 | for _,v in pairs(List) do | |
1533 | if hasCharacter(v) then | |
1534 | Instance.new("ForceField", v.Character) | |
1535 | end | |
1536 | end | |
1537 | end | |
1538 | ) | |
1539 | ||
1540 | Create( | |
1541 | "UnForceField", 1, | |
1542 | function(List, Command) | |
1543 | for _,v in pairs(List) do | |
1544 | if hasCharacter(v) then | |
1545 | for _,v2 in pairs(v.Character:GetChildren()) do | |
1546 | if v2:IsA("ForceField") then | |
1547 | v2:Destroy() | |
1548 | end | |
1549 | end | |
1550 | end | |
1551 | end | |
1552 | end | |
1553 | ) | |
1554 | ||
1555 | Create( | |
1556 | "Explode", 1, | |
1557 | function(List, Command) | |
1558 | for _,v in pairs(List) do | |
1559 | if hasCharacter(v) then | |
1560 | local Ex = Instance.new("Explosion", Workspace) | |
1561 | Ex.Position = v.Character.Torso.CFrame.p | |
1562 | Ex.BlastRadius = 6 | |
1563 | Ex.DestroyJointRadiusPercent = 1 | |
1564 | end | |
1565 | end | |
1566 | end | |
1567 | ) | |
1568 | ||
1569 | Create( | |
1570 | "Blast", 1, | |
1571 | function(List, Command) | |
1572 | for _,v in pairs(List) do | |
1573 | if hasCharacter(v) then | |
1574 | local Ex = Instance.new("Explosion", Workspace) | |
1575 | Ex.Position = v.Character.Torso.CFrame.p | |
1576 | Ex.BlastPressure = 5000000 | |
1577 | Ex.BlastRadius = 20 | |
1578 | Ex.DestroyJointRadiusPercent = 0 | |
1579 | end | |
1580 | end | |
1581 | end | |
1582 | ) | |
1583 | ||
1584 | Create( | |
1585 | "Fling", 1, | |
1586 | function(List, Command) | |
1587 | for _,v in pairs(List) do | |
1588 | if hasCharacter(v) then | |
1589 | v.Character.Torso.Velocity = v.Character.Torso.CFrame.lookVector * Grav * 1.1 | |
1590 | end | |
1591 | end | |
1592 | end | |
1593 | ) | |
1594 | ||
1595 | Create( | |
1596 | "Fix Character", 1, | |
1597 | function(List, Command) | |
1598 | for _,v in pairs(List) do | |
1599 | v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=" .. v.userId | |
1600 | v:LoadCharacter() | |
1601 | end | |
1602 | end | |
1603 | ) | |
1604 | ||
1605 | Create( | |
1606 | "Fix Humanoid", 1, | |
1607 | function(List, Command) | |
1608 | for _,v in pairs(List) do | |
1609 | if hasCharacter(v) then | |
1610 | local fixedHumanoid = false | |
1611 | for _,v2 in pairs(v.Character:GetChildren()) do | |
1612 | if v2:IsA("Humanoid") then | |
1613 | v2.Name = "Humanoid" | |
1614 | fixedHumanoid = true | |
1615 | end | |
1616 | end | |
1617 | if fixedHumanoid == false then | |
1618 | Instance.new("Humanoid", v.Character).Name = "Humanoid" | |
1619 | end | |
1620 | end | |
1621 | end | |
1622 | end | |
1623 | ) | |
1624 | ||
1625 | Create( | |
1626 | "Clean", 2, | |
1627 | function(List, Command) | |
1628 | for _,v in pairs(game:GetChildren()) do | |
1629 | ypcall(function() | |
1630 | if v.Name ~= "Workspace" and v.Name ~= "Players" and v.Name ~= "NetworkServer" and v.Name ~= "StarterPlayer" then | |
1631 | for _,v2 in pairs(v:GetChildren()) do | |
1632 | pcall(function() | |
1633 | v2:Destroy() | |
1634 | end) | |
1635 | end | |
1636 | elseif v.Name == "Players" then | |
1637 | for _,v2 in pairs(v:GetChildren()) do | |
1638 | if v2.ClassName == "Player" then | |
1639 | ypcall(function() | |
1640 | Clear(v2) | |
1641 | end) | |
1642 | else | |
1643 | pcall(function() | |
1644 | v2:Destroy() | |
1645 | end) | |
1646 | end | |
1647 | end | |
1648 | end | |
1649 | end) | |
1650 | end | |
1651 | Clean() | |
1652 | end, | |
1653 | function() return {"SERVER"} end | |
1654 | ) | |
1655 | ||
1656 | Create( | |
1657 | "Shutdown", 2, | |
1658 | function(List, Command) | |
1659 | coroutine.resume(coroutine.create(function() | |
1660 | for _,v in pairs(game:GetChildren()) do | |
1661 | ypcall(function() | |
1662 | if v.Name ~= "Workspace" and v.Name ~= "Players" and v.Name ~= "NetworkServer" and v.Name ~= "StarterPlayer" then | |
1663 | for _,v2 in pairs(v:GetChildren()) do | |
1664 | pcall(function() | |
1665 | v2:Destroy() | |
1666 | end) | |
1667 | end | |
1668 | elseif v.Name == "Players" then | |
1669 | for _,v2 in pairs(v:GetChildren()) do | |
1670 | if v2.ClassName == "Player" then | |
1671 | ypcall(function() | |
1672 | Clear(v2) | |
1673 | end) | |
1674 | else | |
1675 | pcall(function() | |
1676 | v2:Destroy() | |
1677 | end) | |
1678 | end | |
1679 | end | |
1680 | end | |
1681 | end) | |
1682 | end | |
1683 | Clean(true) | |
1684 | end)) | |
1685 | while wait(1/30) do | |
1686 | ypcall(function() | |
1687 | for _,v in pairs(game:GetService("Players"):GetPlayers()) do | |
1688 | ypcall(function() | |
1689 | Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) | |
1690 | end) | |
1691 | end | |
1692 | end) | |
1693 | end | |
1694 | end, | |
1695 | function() return {"SERVER"} end | |
1696 | ) | |
1697 | --[[ | |
1698 | local CurrentObj = game | |
1699 | local Children = {} | |
1700 | local ChosenEffect = function() end | |
1701 | local TopServices = { | |
1702 | "Workspace"; | |
1703 | "Players"; | |
1704 | "Lighting"; | |
1705 | "ServerStorage"; | |
1706 | "ServerScriptService"; | |
1707 | "ReplicatedStorage"; | |
1708 | "NetworkServer"; | |
1709 | "Teams"; | |
1710 | "StarterPlayer"; | |
1711 | "StarterGui"; | |
1712 | "StarterPack"; | |
1713 | "SoundService"; | |
1714 | "Debris"; | |
1715 | "LogService"; | |
1716 | "HttpService"; | |
1717 | } | |
1718 | ||
1719 | Create( --Left: Effects | Right: Children | |
1720 | "Explore", 2, | |
1721 | function(List, Command) | |
1722 | ChosenEffect() | |
1723 | end, | |
1724 | function() | |
1725 | pcall(function() | |
1726 | if CurrentObj == nil or not CurrentObj:IsDescendantOf(game) then | |
1727 | CurrentObj = game | |
1728 | end | |
1729 | end) | |
1730 | Children = {} | |
1731 | local StringChildren = {} | |
1732 | local TopAdded = {} | |
1733 | if CurrentObj == game then | |
1734 | for _,v in pairs(TopServices) do | |
1735 | pcall(function() | |
1736 | if CurrentObj[v] then | |
1737 | table.insert(Children, CurrentObj[v]) | |
1738 | TopAdded[v] = true | |
1739 | end | |
1740 | end) | |
1741 | end | |
1742 | end | |
1743 | print(#Children) | |
1744 | for _,v in pairs(CurrentObj:GetChildren()) do | |
1745 | pcall(function() | |
1746 | if CurrentObj ~= game then | |
1747 | table.insert(Children, v) | |
1748 | elseif TopAdded[v.Name] == nil then | |
1749 | table.insert(Children, v) | |
1750 | end | |
1751 | end) | |
1752 | end | |
1753 | print(#Children, #game:GetChildren()) | |
1754 | for _,v in pairs(Children) do | |
1755 | pcall(function() | |
1756 | table.insert(StringChildren, v.Name) | |
1757 | end) | |
1758 | end | |
1759 | return StringChildren | |
1760 | end | |
1761 | ) | |
1762 | ]] | |
1763 | Create( | |
1764 | "CharacterAutoLoads", 3, | |
1765 | function(List, Command) | |
1766 | if List[1] == "True" then | |
1767 | Plrs.CharacterAutoLoads = true | |
1768 | elseif List[1] == "False" then | |
1769 | Plrs.CharacterAutoLoads = false | |
1770 | end | |
1771 | end, | |
1772 | function() return {"True", "False"} end | |
1773 | ) | |
1774 | ||
1775 | Create( | |
1776 | "Tween Distance", 4, | |
1777 | function(List, Command) | |
1778 | TweenNum = tonumber(List[1]) | |
1779 | end, | |
1780 | function() return {"0", "10", "20", "50", "100", "200", "500", "700"} end | |
1781 | ) | |
1782 | ||
1783 | Create( | |
1784 | "Tween Time", 4, | |
1785 | function(List, Command) | |
1786 | TweenTime = tonumber(List[1]) | |
1787 | end, | |
1788 | function() return {"0.03", "0.1", "0.5", "1", "2", "5"} end | |
1789 | ) | |
1790 | ||
1791 | Create( | |
1792 | "Logs Saved", 4, | |
1793 | function(List, Command) | |
1794 | LogNum = tonumber(List[1]) | |
1795 | end, | |
1796 | function() return {"5", "20", "30", "50", "100", "200", "500", "1000", "2000"} end | |
1797 | ) |