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