Advertisement
BigDaddy1978

All Scripts I use

Aug 6th, 2023
537
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 122.46 KB | None | 0 0
  1. --all the scripts that i use into one script
  2.  
  3. local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))()
  4. local MainWindow = OrionLib:MakeWindow({Name = "Scripts that i use", HidePremium = false, SaveConfig = true, ConfigFolder = "OrionTest"})
  5.  
  6. local Finished = ("Executed succesfully")
  7.  
  8. Wait (4)
  9. OrionLib:MakeNotification({
  10. Name = "WARNING",
  11. Content = "Most of the following scripts arent made by me",
  12. Image = "rbxassetid://4483345998",
  13. Time = 25
  14. })
  15.  
  16.  
  17. OrionLib:MakeNotification({
  18. Name = "Follow me",
  19. Content = " Follow me on Ig BigPwappy",
  20. Image = "rbxassetid://4483345998",
  21. Time = 5
  22. })
  23.  
  24. --[[
  25. Title = <string> - The title of the notification.
  26. Content = <string> - The content of the notification.
  27. Image = <string> - The icon of the notification.
  28. Time = <number> - The duration of the notfication.
  29. ]]
  30.  
  31. --[[
  32. Name = <string> - The name of the UI.
  33. HidePremium = <bool> - Whether or not the user details shows Premium status or not.
  34. SaveConfig = <bool> - Toggles the config saving in the UI.
  35. ConfigFolder = <string> - The name of the folder where the configs are saved.
  36. IntroEnabled = <bool> - Whether or not to show the intro animation.
  37. IntroText = <string> - Text to show in the intro animation.
  38. IntroIcon = <string> - URL to the image you want to use in the intro animation.
  39. Icon = <string> - URL to the image you want displayed on the window.
  40. CloseCallback = <function> - Function to execute when the window is closed.
  41. ]]
  42.  
  43. local mainTab = MainWindow:MakeTab({
  44. Name = "Any Game Scripts",
  45. Icon = "rbxassetid://4483345998",
  46. PremiumOnly = false
  47. })
  48.  
  49. --[[
  50. Name = <string> - The name of the tab.
  51. Icon = <string> - The icon of the tab.
  52. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  53. ]]
  54.  
  55. local mainSection = mainTab:AddSection({
  56. Name = "Scripts for any game"
  57. })
  58.  
  59. --[[
  60. Name = <string> - The name of the section.
  61. ]]
  62.  
  63. mainTab:AddButton({
  64. Name = "ESP",
  65. Callback = function()
  66. loadstring(game:HttpGet(('https://pastebin.com/raw/tBCk0ixj'),true))()
  67. Print(" ESP executed succesfully")
  68. end
  69. })
  70.  
  71. --[[
  72. Name = <string> - The name of the button.
  73. Callback = <function> - The function of the button.
  74. ]]
  75.  
  76. mainTab:AddButton({
  77. Name = "Fly in any game (Kinda detectable)",
  78. Callback = function()
  79. print(Finished)
  80.  
  81. game:GetService("StarterGui"):SetCore("SendNotification",{
  82. Title = "Credits";
  83. Text = "Modified By BigPwappy on ig";
  84. Duration = 7;
  85. })
  86. -- Gui to Lua
  87. -- Version: 3.2
  88.  
  89. -- Instances:
  90.  
  91. local main = Instance.new("ScreenGui")
  92. local Frame = Instance.new("Frame")
  93. local up = Instance.new("TextButton")
  94. local down = Instance.new("TextButton")
  95. local onof = Instance.new("TextButton")
  96. local TextLabel = Instance.new("TextLabel")
  97. local plus = Instance.new("TextButton")
  98. local speed = Instance.new("TextLabel")
  99. local mine = Instance.new("TextButton")
  100.  
  101. --Properties:
  102.  
  103. main.Name = "main"
  104. main.Parent = game.CoreGui
  105. main.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  106.  
  107. Frame.Parent = main
  108. Frame.BackgroundColor3 = Color3.fromRGB(163, 255, 137)
  109. Frame.BorderColor3 = Color3.fromRGB(103, 221, 213)
  110. Frame.Position = UDim2.new(0.100320168, 0, 0.379746825, 0)
  111. Frame.Size = UDim2.new(0, 190, 0, 57)
  112.  
  113. up.Name = "up"
  114. up.Parent = Frame
  115. up.BackgroundColor3 = Color3.fromRGB(79, 255, 152)
  116. up.Size = UDim2.new(0, 44, 0, 28)
  117. up.Font = Enum.Font.SourceSans
  118. up.Text = "UP"
  119. up.TextColor3 = Color3.fromRGB(0, 0, 0)
  120. up.TextSize = 14.000
  121.  
  122. down.Name = "down"
  123. down.Parent = Frame
  124. down.BackgroundColor3 = Color3.fromRGB(215, 255, 121)
  125. down.Position = UDim2.new(0, 0, 0.491228074, 0)
  126. down.Size = UDim2.new(0, 44, 0, 28)
  127. down.Font = Enum.Font.SourceSans
  128. down.Text = "DOWN"
  129. down.TextColor3 = Color3.fromRGB(0, 0, 0)
  130. down.TextSize = 14.000
  131.  
  132. onof.Name = "onof"
  133. onof.Parent = Frame
  134. onof.BackgroundColor3 = Color3.fromRGB(255, 249, 74)
  135. onof.Position = UDim2.new(0.702823281, 0, 0.491228074, 0)
  136. onof.Size = UDim2.new(0, 56, 0, 28)
  137. onof.Font = Enum.Font.SourceSans
  138. onof.Text = "fly"
  139. onof.TextColor3 = Color3.fromRGB(0, 0, 0)
  140. onof.TextSize = 14.000
  141.  
  142. TextLabel.Parent = Frame
  143. TextLabel.BackgroundColor3 = Color3.fromRGB(242, 60, 255)
  144. TextLabel.Position = UDim2.new(0.469327301, 0, 0, 0)
  145. TextLabel.Size = UDim2.new(0, 100, 0, 28)
  146. TextLabel.Font = Enum.Font.SourceSans
  147. TextLabel.Text = "Fly Gui V2"
  148. TextLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
  149. TextLabel.TextScaled = true
  150. TextLabel.TextSize = 14.000
  151. TextLabel.TextWrapped = true
  152.  
  153. plus.Name = "plus"
  154. plus.Parent = Frame
  155. plus.BackgroundColor3 = Color3.fromRGB(133, 145, 255)
  156. plus.Position = UDim2.new(0.231578946, 0, 0, 0)
  157. plus.Size = UDim2.new(0, 45, 0, 28)
  158. plus.Font = Enum.Font.SourceSans
  159. plus.Text = "+"
  160. plus.TextColor3 = Color3.fromRGB(0, 0, 0)
  161. plus.TextScaled = true
  162. plus.TextSize = 14.000
  163. plus.TextWrapped = true
  164.  
  165. speed.Name = "speed"
  166. speed.Parent = Frame
  167. speed.BackgroundColor3 = Color3.fromRGB(255, 85, 0)
  168. speed.Position = UDim2.new(0.468421042, 0, 0.491228074, 0)
  169. speed.Size = UDim2.new(0, 44, 0, 28)
  170. speed.Font = Enum.Font.SourceSans
  171. speed.Text = "1"
  172. speed.TextColor3 = Color3.fromRGB(0, 0, 0)
  173. speed.TextScaled = true
  174. speed.TextSize = 14.000
  175. speed.TextWrapped = true
  176.  
  177. mine.Name = "mine"
  178. mine.Parent = Frame
  179. mine.BackgroundColor3 = Color3.fromRGB(123, 255, 247)
  180. mine.Position = UDim2.new(0.231578946, 0, 0.491228074, 0)
  181. mine.Size = UDim2.new(0, 45, 0, 29)
  182. mine.Font = Enum.Font.SourceSans
  183. mine.Text = "-"
  184. mine.TextColor3 = Color3.fromRGB(0, 0, 0)
  185. mine.TextScaled = true
  186. mine.TextSize = 14.000
  187. mine.TextWrapped = true
  188.  
  189. speeds = 1
  190.  
  191. local speaker = game:GetService("Players").LocalPlayer
  192.  
  193. local chr = game.Players.LocalPlayer.Character
  194. local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
  195.  
  196. nowe = false
  197.  
  198. Frame.Active = true -- main = gui
  199. Frame.Draggable = true
  200.  
  201. onof.MouseButton1Down:connect(function()
  202.  
  203. if nowe == true then
  204. nowe = false
  205.  
  206. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing,true)
  207. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown,true)
  208. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Flying,true)
  209. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Freefall,true)
  210. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.GettingUp,true)
  211. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping,true)
  212. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Landed,true)
  213. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics,true)
  214. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding,true)
  215. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,true)
  216. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Running,true)
  217. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics,true)
  218. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated,true)
  219. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics,true)
  220. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Swimming,true)
  221. speaker.Character.Humanoid:ChangeState(Enum.HumanoidStateType.RunningNoPhysics)
  222. else
  223. nowe = true
  224.  
  225.  
  226.  
  227. for i = 1, speeds do
  228. spawn(function()
  229.  
  230. local hb = game:GetService("RunService").Heartbeat
  231.  
  232.  
  233. tpwalking = true
  234. local chr = game.Players.LocalPlayer.Character
  235. local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
  236. while tpwalking and hb:Wait() and chr and hum and hum.Parent do
  237. if hum.MoveDirection.Magnitude > 0 then
  238. chr:TranslateBy(hum.MoveDirection)
  239. end
  240. end
  241.  
  242. end)
  243. end
  244. game.Players.LocalPlayer.Character.Animate.Disabled = true
  245. local Char = game.Players.LocalPlayer.Character
  246. local Hum = Char:FindFirstChildOfClass("Humanoid") or Char:FindFirstChildOfClass("AnimationController")
  247.  
  248. for i,v in next, Hum:GetPlayingAnimationTracks() do
  249. v:AdjustSpeed(0)
  250. end
  251. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing,false)
  252. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown,false)
  253. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Flying,false)
  254. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Freefall,false)
  255. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.GettingUp,false)
  256. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping,false)
  257. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Landed,false)
  258. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Physics,false)
  259. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding,false)
  260. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,false)
  261. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Running,false)
  262. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics,false)
  263. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated,false)
  264. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics,false)
  265. speaker.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Swimming,false)
  266. speaker.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Swimming)
  267. end
  268.  
  269.  
  270.  
  271.  
  272.  
  273. local plr = game.Players.LocalPlayer
  274. local UpperTorso = plr.Character.LowerTorso
  275. local flying = true
  276. local deb = true
  277. local ctrl = {f = 0, b = 0, l = 0, r = 0}
  278. local lastctrl = {f = 0, b = 0, l = 0, r = 0}
  279. local maxspeed = 50
  280. local speed = 0
  281.  
  282.  
  283. local bg = Instance.new("BodyGyro", UpperTorso)
  284. bg.P = 9e4
  285. bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
  286. bg.cframe = UpperTorso.CFrame
  287. local bv = Instance.new("BodyVelocity", UpperTorso)
  288. bv.velocity = Vector3.new(0,0.1,0)
  289. bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
  290. if nowe == true then
  291. plr.Character.Humanoid.PlatformStand = true
  292. end
  293. while nowe == true or game:GetService("Players").LocalPlayer.Character.Humanoid.Health == 0 do
  294. wait()
  295.  
  296. if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
  297. speed = speed+.5+(speed/maxspeed)
  298. if speed > maxspeed then
  299. speed = maxspeed
  300. end
  301. elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then
  302. speed = speed-1
  303. if speed < 0 then
  304. speed = 0
  305. end
  306. end
  307. if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then
  308. bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
  309. lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
  310. elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then
  311. bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
  312. else
  313. bv.velocity = Vector3.new(0,0,0)
  314. end
  315.  
  316. bg.cframe = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*speed/maxspeed),0,0)
  317. end
  318. ctrl = {f = 0, b = 0, l = 0, r = 0}
  319. lastctrl = {f = 0, b = 0, l = 0, r = 0}
  320. speed = 0
  321. bg:Destroy()
  322. bv:Destroy()
  323. plr.Character.Humanoid.PlatformStand = false
  324. game.Players.LocalPlayer.Character.Animate.Disabled = false
  325. tpwalking = false
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335. end)
  336.  
  337.  
  338. up.MouseButton1Down:connect(function()
  339. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0,2,0)
  340.  
  341. end)
  342.  
  343.  
  344. down.MouseButton1Down:connect(function()
  345.  
  346. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0,-2,0)
  347.  
  348. end)
  349.  
  350.  
  351. game:GetService("Players").LocalPlayer.CharacterAdded:Connect(function(char)
  352. wait(0.7)
  353. game.Players.LocalPlayer.Character.Humanoid.PlatformStand = false
  354. game.Players.LocalPlayer.Character.Animate.Disabled = false
  355.  
  356. end)
  357.  
  358.  
  359. plus.MouseButton1Down:connect(function()
  360. speeds = speeds + 1
  361. speed.Text = speeds
  362. if nowe == true then
  363.  
  364.  
  365. tpwalking = false
  366. for i = 1, speeds do
  367. spawn(function()
  368.  
  369. local hb = game:GetService("RunService").Heartbeat
  370.  
  371.  
  372. tpwalking = true
  373. local chr = game.Players.LocalPlayer.Character
  374. local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
  375. while tpwalking and hb:Wait() and chr and hum and hum.Parent do
  376. if hum.MoveDirection.Magnitude > 0 then
  377. chr:TranslateBy(hum.MoveDirection)
  378. end
  379. end
  380.  
  381. end)
  382. end
  383. end
  384. end)
  385. mine.MouseButton1Down:connect(function()
  386. if speeds == 1 then
  387. speed.Text = 'DUMB BITCH HIGER'
  388. wait(2)
  389. speed.Text = speeds
  390. else
  391. speeds = speeds - 1
  392. speed.Text = speeds
  393. if nowe == true then
  394. tpwalking = false
  395. for i = 1, speeds do
  396. spawn(function()
  397.  
  398. local hb = game:GetService("RunService").Heartbeat
  399.  
  400.  
  401. tpwalking = true
  402. local chr = game.Players.LocalPlayer.Character
  403. local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
  404. while tpwalking and hb:Wait() and chr and hum and hum.Parent do
  405. if hum.MoveDirection.Magnitude > 0 then
  406. chr:TranslateBy(hum.MoveDirection)
  407. end
  408. end
  409.  
  410. end)
  411. end
  412. end
  413. end
  414. end)
  415.  
  416. end
  417. })
  418.  
  419. --[[
  420. Name = <string> - The name of the button.
  421. Callback = <function> - The function of the button.
  422. ]]
  423.  
  424. mainTab:AddButton({
  425. Name = "Anti-AFK ish",
  426. Callback = function()
  427. wait(0.5)local ba=Instance.new("ScreenGui")
  428. local ca=Instance.new("TextLabel")local da=Instance.new("Frame")
  429. local _b=Instance.new("TextLabel")local ab=Instance.new("TextLabel")ba.Parent=game.CoreGui
  430. ba.ZIndexBehavior=Enum.ZIndexBehavior.Sibling;ca.Parent=ba;ca.Active=true
  431. ca.BackgroundColor3=Color3.new(0.176471,0.176471,0.176471)ca.Draggable=true
  432. ca.Position=UDim2.new(0.698610067,0,0.098096624,0)ca.Size=UDim2.new(0,370,0,52)
  433. ca.Font=Enum.Font.SourceSansSemibold;ca.Text="Anti AFK Script"ca.TextColor3=Color3.new(0,1,1)
  434. ca.TextSize=22;da.Parent=ca
  435. da.BackgroundColor3=Color3.new(0.196078,0.196078,0.196078)da.Position=UDim2.new(0,0,1.0192306,0)
  436. da.Size=UDim2.new(0,370,0,107)_b.Parent=da
  437. _b.BackgroundColor3=Color3.new(0.176471,0.176471,0.176471)_b.Position=UDim2.new(0,0,0.800455689,0)
  438. _b.Size=UDim2.new(0,370,0,21)_b.Font=Enum.Font.Arial;_b.Text="made by someone that idk "
  439. _b.TextColor3=Color3.new(0,1,1)_b.TextSize=20;ab.Parent=da
  440. ab.BackgroundColor3=Color3.new(0.176471,0.176471,0.176471)ab.Position=UDim2.new(0,0,0.158377,0)
  441. ab.Size=UDim2.new(0,370,0,44)ab.Font=Enum.Font.ArialBold;ab.Text="Status: Active"
  442. ab.TextColor3=Color3.new(0,1,1)ab.TextSize=20;local bb=game:service'VirtualUser'
  443. game:service'Players'.LocalPlayer.Idled:connect(function()
  444. bb:CaptureController()bb:ClickButton2(Vector2.new())
  445. ab.Text="Roblox tried to kick u but i kicked him instead"wait(2)ab.Text="Status : Active"end)
  446. end
  447. })
  448.  
  449. --[[
  450. Name = <string> - The name of the button.
  451. Callback = <function> - The function of the button.
  452. ]]
  453. print(Finished)
  454.  
  455. mainTab:AddButton({
  456. Name = "SimpleSpy (to make your own scripts)",
  457. Callback = function()
  458. print(Finished)
  459. --[[
  460. SimpleSpy v2.2 SOURCE
  461.  
  462. Credits:
  463. exx - basically everything
  464. Frosty - GUI to Lua
  465. ]]
  466.  
  467. -- shuts down the previous instance of SimpleSpy
  468. if _G.SimpleSpyExecuted and type(_G.SimpleSpyShutdown) == "function" then
  469. _G.SimpleSpyShutdown()
  470. end
  471.  
  472. local Players = game:GetService("Players")
  473. local CoreGui = game:GetService("CoreGui")
  474. local Highlight = loadstring(game:HttpGet("https://github.com/exxtremestuffs/SimpleSpySource/raw/master/highlight.lua"))()
  475.  
  476. ---- GENERATED (kinda sorta mostly) BY GUI to LUA ----
  477.  
  478. -- Instances:
  479.  
  480. local SimpleSpy2 = Instance.new("ScreenGui")
  481. local Background = Instance.new("Frame")
  482. local LeftPanel = Instance.new("Frame")
  483. local LogList = Instance.new("ScrollingFrame")
  484. local UIListLayout = Instance.new("UIListLayout")
  485. local RemoteTemplate = Instance.new("Frame")
  486. local ColorBar = Instance.new("Frame")
  487. local Text = Instance.new("TextLabel")
  488. local Button = Instance.new("TextButton")
  489. local RightPanel = Instance.new("Frame")
  490. local CodeBox = Instance.new("Frame")
  491. local ScrollingFrame = Instance.new("ScrollingFrame")
  492. local UIGridLayout = Instance.new("UIGridLayout")
  493. local FunctionTemplate = Instance.new("Frame")
  494. local ColorBar_2 = Instance.new("Frame")
  495. local Text_2 = Instance.new("TextLabel")
  496. local Button_2 = Instance.new("TextButton")
  497. local TopBar = Instance.new("Frame")
  498. local Simple = Instance.new("TextButton")
  499. local CloseButton = Instance.new("TextButton")
  500. local ImageLabel = Instance.new("ImageLabel")
  501. local MaximizeButton = Instance.new("TextButton")
  502. local ImageLabel_2 = Instance.new("ImageLabel")
  503. local MinimizeButton = Instance.new("TextButton")
  504. local ImageLabel_3 = Instance.new("ImageLabel")
  505. local ToolTip = Instance.new("Frame")
  506. local TextLabel = Instance.new("TextLabel")
  507.  
  508. --Properties:
  509.  
  510. SimpleSpy2.Name = "SimpleSpy2"
  511. SimpleSpy2.ResetOnSpawn = false
  512.  
  513. Background.Name = "Background"
  514. Background.Parent = SimpleSpy2
  515. Background.BackgroundColor3 = Color3.new(1, 1, 1)
  516. Background.BackgroundTransparency = 1
  517. Background.Position = UDim2.new(0, 500, 0, 200)
  518. Background.Size = UDim2.new(0, 450, 0, 268)
  519.  
  520. LeftPanel.Name = "LeftPanel"
  521. LeftPanel.Parent = Background
  522. LeftPanel.BackgroundColor3 = Color3.new(0.207843, 0.203922, 0.215686)
  523. LeftPanel.BorderSizePixel = 0
  524. LeftPanel.Position = UDim2.new(0, 0, 0, 19)
  525. LeftPanel.Size = UDim2.new(0, 131, 0, 249)
  526.  
  527. LogList.Name = "LogList"
  528. LogList.Parent = LeftPanel
  529. LogList.Active = true
  530. LogList.BackgroundColor3 = Color3.new(1, 1, 1)
  531. LogList.BackgroundTransparency = 1
  532. LogList.BorderSizePixel = 0
  533. LogList.Position = UDim2.new(0, 0, 0, 9)
  534. LogList.Size = UDim2.new(0, 131, 0, 232)
  535. LogList.CanvasSize = UDim2.new(0, 0, 0, 0)
  536. LogList.ScrollBarThickness = 4
  537.  
  538. UIListLayout.Parent = LogList
  539. UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  540. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  541.  
  542. RemoteTemplate.Name = "RemoteTemplate"
  543. RemoteTemplate.Parent = LogList
  544. RemoteTemplate.BackgroundColor3 = Color3.new(1, 1, 1)
  545. RemoteTemplate.BackgroundTransparency = 1
  546. RemoteTemplate.Size = UDim2.new(0, 117, 0, 27)
  547.  
  548. ColorBar.Name = "ColorBar"
  549. ColorBar.Parent = RemoteTemplate
  550. ColorBar.BackgroundColor3 = Color3.new(1, 0.94902, 0)
  551. ColorBar.BorderSizePixel = 0
  552. ColorBar.Position = UDim2.new(0, 0, 0, 1)
  553. ColorBar.Size = UDim2.new(0, 7, 0, 18)
  554. ColorBar.ZIndex = 2
  555.  
  556. Text.Name = "Text"
  557. Text.Parent = RemoteTemplate
  558. Text.BackgroundColor3 = Color3.new(1, 1, 1)
  559. Text.BackgroundTransparency = 1
  560. Text.Position = UDim2.new(0, 12, 0, 1)
  561. Text.Size = UDim2.new(0, 105, 0, 18)
  562. Text.ZIndex = 2
  563. Text.Font = Enum.Font.SourceSans
  564. Text.Text = "TEXT"
  565. Text.TextColor3 = Color3.new(1, 1, 1)
  566. Text.TextSize = 14
  567. Text.TextXAlignment = Enum.TextXAlignment.Left
  568.  
  569. Button.Name = "Button"
  570. Button.Parent = RemoteTemplate
  571. Button.BackgroundColor3 = Color3.new(0, 0, 0)
  572. Button.BackgroundTransparency = 0.75
  573. Button.BorderColor3 = Color3.new(1, 1, 1)
  574. Button.Position = UDim2.new(0, 0, 0, 1)
  575. Button.Size = UDim2.new(0, 117, 0, 18)
  576. Button.AutoButtonColor = false
  577. Button.Font = Enum.Font.SourceSans
  578. Button.Text = ""
  579. Button.TextColor3 = Color3.new(0, 0, 0)
  580. Button.TextSize = 14
  581.  
  582. RightPanel.Name = "RightPanel"
  583. RightPanel.Parent = Background
  584. RightPanel.BackgroundColor3 = Color3.new(0.145098, 0.141176, 0.14902)
  585. RightPanel.BorderSizePixel = 0
  586. RightPanel.Position = UDim2.new(0, 131, 0, 19)
  587. RightPanel.Size = UDim2.new(0, 319, 0, 249)
  588.  
  589. CodeBox.Name = "CodeBox"
  590. CodeBox.Parent = RightPanel
  591. CodeBox.BackgroundColor3 = Color3.new(0.0823529, 0.0745098, 0.0784314)
  592. CodeBox.BorderSizePixel = 0
  593. CodeBox.Size = UDim2.new(0, 319, 0, 119)
  594.  
  595. ScrollingFrame.Parent = RightPanel
  596. ScrollingFrame.Active = true
  597. ScrollingFrame.BackgroundColor3 = Color3.new(1, 1, 1)
  598. ScrollingFrame.BackgroundTransparency = 1
  599. ScrollingFrame.Position = UDim2.new(0, 0, 0.5, 0)
  600. ScrollingFrame.Size = UDim2.new(1, 0, 0.5, -9)
  601. ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
  602. ScrollingFrame.ScrollBarThickness = 4
  603.  
  604. UIGridLayout.Parent = ScrollingFrame
  605. UIGridLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  606. UIGridLayout.SortOrder = Enum.SortOrder.LayoutOrder
  607. UIGridLayout.CellPadding = UDim2.new(0, 0, 0, 0)
  608. UIGridLayout.CellSize = UDim2.new(0, 94, 0, 27)
  609.  
  610. FunctionTemplate.Name = "FunctionTemplate"
  611. FunctionTemplate.Parent = ScrollingFrame
  612. FunctionTemplate.BackgroundColor3 = Color3.new(1, 1, 1)
  613. FunctionTemplate.BackgroundTransparency = 1
  614. FunctionTemplate.Size = UDim2.new(0, 117, 0, 23)
  615.  
  616. ColorBar_2.Name = "ColorBar"
  617. ColorBar_2.Parent = FunctionTemplate
  618. ColorBar_2.BackgroundColor3 = Color3.new(1, 1, 1)
  619. ColorBar_2.BorderSizePixel = 0
  620. ColorBar_2.Position = UDim2.new(0, 7, 0, 10)
  621. ColorBar_2.Size = UDim2.new(0, 7, 0, 18)
  622. ColorBar_2.ZIndex = 3
  623.  
  624. Text_2.Name = "Text"
  625. Text_2.Parent = FunctionTemplate
  626. Text_2.BackgroundColor3 = Color3.new(1, 1, 1)
  627. Text_2.BackgroundTransparency = 1
  628. Text_2.Position = UDim2.new(0, 19, 0, 10)
  629. Text_2.Size = UDim2.new(0, 69, 0, 18)
  630. Text_2.ZIndex = 2
  631. Text_2.Font = Enum.Font.SourceSans
  632. Text_2.Text = "TEXT"
  633. Text_2.TextColor3 = Color3.new(1, 1, 1)
  634. Text_2.TextSize = 14
  635. Text_2.TextStrokeColor3 = Color3.new(0.145098, 0.141176, 0.14902)
  636. Text_2.TextXAlignment = Enum.TextXAlignment.Left
  637.  
  638. Button_2.Name = "Button"
  639. Button_2.Parent = FunctionTemplate
  640. Button_2.BackgroundColor3 = Color3.new(0, 0, 0)
  641. Button_2.BackgroundTransparency = 0.69999998807907
  642. Button_2.BorderColor3 = Color3.new(1, 1, 1)
  643. Button_2.Position = UDim2.new(0, 7, 0, 10)
  644. Button_2.Size = UDim2.new(0, 80, 0, 18)
  645. Button_2.AutoButtonColor = false
  646. Button_2.Font = Enum.Font.SourceSans
  647. Button_2.Text = ""
  648. Button_2.TextColor3 = Color3.new(0, 0, 0)
  649. Button_2.TextSize = 14
  650.  
  651. TopBar.Name = "TopBar"
  652. TopBar.Parent = Background
  653. TopBar.BackgroundColor3 = Color3.new(0.145098, 0.141176, 0.14902)
  654. TopBar.BorderSizePixel = 0
  655. TopBar.Size = UDim2.new(0, 450, 0, 19)
  656.  
  657. Simple.Name = "Simple"
  658. Simple.Parent = TopBar
  659. Simple.BackgroundColor3 = Color3.new(1, 1, 1)
  660. Simple.AutoButtonColor = false
  661. Simple.BackgroundTransparency = 1
  662. Simple.Position = UDim2.new(0, 5, 0, 0)
  663. Simple.Size = UDim2.new(0, 57, 0, 18)
  664. Simple.Font = Enum.Font.SourceSansBold
  665. Simple.Text = "SimpleSpy"
  666. Simple.TextColor3 = Color3.new(1, 1, 1)
  667. Simple.TextSize = 14
  668. Simple.TextXAlignment = Enum.TextXAlignment.Left
  669.  
  670. CloseButton.Name = "CloseButton"
  671. CloseButton.Parent = TopBar
  672. CloseButton.BackgroundColor3 = Color3.new(0.145098, 0.141176, 0.14902)
  673. CloseButton.BorderSizePixel = 0
  674. CloseButton.Position = UDim2.new(1, -19, 0, 0)
  675. CloseButton.Size = UDim2.new(0, 19, 0, 19)
  676. CloseButton.Font = Enum.Font.SourceSans
  677. CloseButton.Text = ""
  678. CloseButton.TextColor3 = Color3.new(0, 0, 0)
  679. CloseButton.TextSize = 14
  680.  
  681. ImageLabel.Parent = CloseButton
  682. ImageLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  683. ImageLabel.BackgroundTransparency = 1
  684. ImageLabel.Position = UDim2.new(0, 5, 0, 5)
  685. ImageLabel.Size = UDim2.new(0, 9, 0, 9)
  686. ImageLabel.Image = "http://www.roblox.com/asset/?id=5597086202"
  687.  
  688. MaximizeButton.Name = "MaximizeButton"
  689. MaximizeButton.Parent = TopBar
  690. MaximizeButton.BackgroundColor3 = Color3.new(0.145098, 0.141176, 0.14902)
  691. MaximizeButton.BorderSizePixel = 0
  692. MaximizeButton.Position = UDim2.new(1, -38, 0, 0)
  693. MaximizeButton.Size = UDim2.new(0, 19, 0, 19)
  694. MaximizeButton.Font = Enum.Font.SourceSans
  695. MaximizeButton.Text = ""
  696. MaximizeButton.TextColor3 = Color3.new(0, 0, 0)
  697. MaximizeButton.TextSize = 14
  698.  
  699. ImageLabel_2.Parent = MaximizeButton
  700. ImageLabel_2.BackgroundColor3 = Color3.new(1, 1, 1)
  701. ImageLabel_2.BackgroundTransparency = 1
  702. ImageLabel_2.Position = UDim2.new(0, 5, 0, 5)
  703. ImageLabel_2.Size = UDim2.new(0, 9, 0, 9)
  704. ImageLabel_2.Image = "http://www.roblox.com/asset/?id=5597108117"
  705.  
  706. MinimizeButton.Name = "MinimizeButton"
  707. MinimizeButton.Parent = TopBar
  708. MinimizeButton.BackgroundColor3 = Color3.new(0.145098, 0.141176, 0.14902)
  709. MinimizeButton.BorderSizePixel = 0
  710. MinimizeButton.Position = UDim2.new(1, -57, 0, 0)
  711. MinimizeButton.Size = UDim2.new(0, 19, 0, 19)
  712. MinimizeButton.Font = Enum.Font.SourceSans
  713. MinimizeButton.Text = ""
  714. MinimizeButton.TextColor3 = Color3.new(0, 0, 0)
  715. MinimizeButton.TextSize = 14
  716.  
  717. ImageLabel_3.Parent = MinimizeButton
  718. ImageLabel_3.BackgroundColor3 = Color3.new(1, 1, 1)
  719. ImageLabel_3.BackgroundTransparency = 1
  720. ImageLabel_3.Position = UDim2.new(0, 5, 0, 5)
  721. ImageLabel_3.Size = UDim2.new(0, 9, 0, 9)
  722. ImageLabel_3.Image = "http://www.roblox.com/asset/?id=5597105827"
  723.  
  724. ToolTip.Name = "ToolTip"
  725. ToolTip.Parent = SimpleSpy2
  726. ToolTip.BackgroundColor3 = Color3.fromRGB(26, 26, 26)
  727. ToolTip.BackgroundTransparency = 0.1
  728. ToolTip.BorderColor3 = Color3.new(1, 1, 1)
  729. ToolTip.Size = UDim2.new(0, 200, 0, 50)
  730. ToolTip.ZIndex = 3
  731. ToolTip.Visible = false
  732.  
  733. TextLabel.Parent = ToolTip
  734. TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  735. TextLabel.BackgroundTransparency = 1
  736. TextLabel.Position = UDim2.new(0, 2, 0, 2)
  737. TextLabel.Size = UDim2.new(0, 196, 0, 46)
  738. TextLabel.ZIndex = 3
  739. TextLabel.Font = Enum.Font.SourceSans
  740. TextLabel.Text = "This is some slightly longer text."
  741. TextLabel.TextColor3 = Color3.new(1, 1, 1)
  742. TextLabel.TextSize = 14
  743. TextLabel.TextWrapped = true
  744. TextLabel.TextXAlignment = Enum.TextXAlignment.Left
  745. TextLabel.TextYAlignment = Enum.TextYAlignment.Top
  746.  
  747. -------------------------------------------------------------------------------
  748. -- init
  749. local RunService = game:GetService("RunService")
  750. local UserInputService = game:GetService("UserInputService")
  751. local TweenService = game:GetService("TweenService")
  752. local ContentProvider = game:GetService("ContentProvider")
  753. local TextService = game:GetService("TextService")
  754. local Mouse = game:GetService("Players").LocalPlayer:GetMouse()
  755.  
  756. local selectedColor = Color3.new(0.321569, 0.333333, 1)
  757. local deselectedColor = Color3.new(0.8, 0.8, 0.8)
  758. --- So things are descending
  759. local layoutOrderNum = 999999999
  760. --- Whether or not the gui is closing
  761. local mainClosing = false
  762. --- Whether or not the gui is closed (defaults to false)
  763. local closed = false
  764. --- Whether or not the sidebar is closing
  765. local sideClosing = false
  766. --- Whether or not the sidebar is closed (defaults to true but opens automatically on remote selection)
  767. local sideClosed = false
  768. --- Whether or not the code box is maximized (defaults to false)
  769. local maximized = false
  770. --- The event logs to be read from
  771. local logs = {}
  772. --- The event currently selected.Log (defaults to nil)
  773. local selected = nil
  774. --- The blacklist (can be a string name or the Remote Instance)
  775. local blacklist = {}
  776. --- The block list (can be a string name or the Remote Instance)
  777. local blocklist = {}
  778. --- Whether or not to add getNil function
  779. local getNil = false
  780. --- Array of remotes (and original functions) connected to
  781. local connectedRemotes = {}
  782. --- True = hookfunction, false = namecall
  783. local toggle = false
  784. local gm = getrawmetatable(game)
  785. local original = gm.__namecall
  786. setreadonly(gm, false)
  787. --- used to prevent recursives
  788. local prevTables = {}
  789. --- holds logs (for deletion)
  790. local remoteLogs = {}
  791. --- used for hookfunction
  792. local remoteEvent = Instance.new("RemoteEvent")
  793. --- used for hookfunction
  794. local remoteFunction = Instance.new("RemoteFunction")
  795. local originalEvent = remoteEvent.FireServer
  796. local originalFunction = remoteFunction.InvokeServer
  797. --- the maximum amount of remotes allowed in logs
  798. _G.SIMPLESPYCONFIG_MaxRemotes = 500
  799. --- how many spaces to indent
  800. local indent = 4
  801. --- used for task scheduler
  802. local scheduled = {}
  803. --- RBXScriptConnect of the task scheduler
  804. local schedulerconnect
  805. local SimpleSpy = {}
  806. local topstr = ""
  807. local bottomstr = ""
  808. local remotesFadeIn
  809. local rightFadeIn
  810. local codebox
  811. local p
  812. local getnilrequired = false
  813.  
  814. -- autoblock variables
  815. local autoblock = false
  816. local history = {}
  817. local excluding = {}
  818.  
  819. -- function info variables
  820. local funcEnabled = true
  821.  
  822. -- remote hooking/connecting api variables
  823. local remoteSignals = {}
  824. local remoteHooks = {}
  825.  
  826. -- original mouse icon
  827. local oldIcon = Mouse.Icon
  828.  
  829. -- if mouse inside gui
  830. local mouseInGui = false
  831.  
  832. -- handy array of RBXScriptConnections to disconnect on shutdown
  833. local connections = {}
  834.  
  835. -- whether or not SimpleSpy uses 'getcallingscript()' to get the script (default is false because detection)
  836. local useGetCallingScript = false
  837.  
  838. -- functions
  839.  
  840. --- Converts arguments to a string and generates code that calls the specified method with them, recommended to be used in conjunction with ValueToString (method must be a string, e.g. `game:GetService("ReplicatedStorage").Remote:FireServer`)
  841. --- @param method string
  842. --- @param args any[]
  843. --- @return string
  844. function SimpleSpy:ArgsToString(method, args)
  845. assert(typeof(method) == "string", "string expected, got " .. typeof(method))
  846. assert(typeof(args) == "table", "table expected, got " .. typeof(args))
  847. return v2v({args = args}) .. "\n\n" .. method .. "(unpack(args))"
  848. end
  849.  
  850. --- Converts a value to variables with the specified index as the variable name (if nil/invalid then the name will be assigned automatically)
  851. --- @param t any[]
  852. --- @return string
  853. function SimpleSpy:TableToVars(t)
  854. assert(typeof(t) == "table", "table expected, got " .. typeof(t))
  855. return v2v(t)
  856. end
  857.  
  858. --- Converts a value to a variable with the specified `variablename` (if nil/invalid then the name will be assigned automatically)
  859. --- @param value any
  860. --- @return string
  861. function SimpleSpy:ValueToVar(value, variablename)
  862. assert(variablename == nil or typeof(variablename) == "string", "string expected, got " .. typeof(variablename))
  863. if not variablename then
  864. variablename = 1
  865. end
  866. return v2v({[variablename] = value})
  867. end
  868.  
  869. --- Converts any value to a string, cannot preserve function contents
  870. --- @param value any
  871. --- @return string
  872. function SimpleSpy:ValueToString(value)
  873. return v2s(value)
  874. end
  875.  
  876. --- Generates the simplespy function info
  877. --- @param func function
  878. --- @return string
  879. function SimpleSpy:GetFunctionInfo(func)
  880. assert(typeof(func) == "function", "Instance expected, got " .. typeof(func))
  881. return v2v{functionInfo = {
  882. info = debug.getinfo(func),
  883. constants = debug.getconstants(func)
  884. }}
  885. end
  886.  
  887. --- Gets the ScriptSignal for a specified remote being fired
  888. --- @param remote Instance
  889. function SimpleSpy:GetRemoteFiredSignal(remote)
  890. assert(typeof(remote) == "Instance", "Instance expected, got " .. typeof(remote))
  891. if not remoteSignals[remote] then
  892. remoteSignals[remote] = newSignal()
  893. end
  894. return remoteSignals[remote]
  895. end
  896.  
  897. --- Allows for direct hooking of remotes **THIS CAN BE VERY DANGEROUS**
  898. --- @param remote Instance
  899. --- @param f function
  900. function SimpleSpy:HookRemote(remote, f)
  901. assert(typeof(remote) == "Instance", "Instance expected, got " .. typeof(remote))
  902. assert(typeof(f) == "function", "function expected, got " .. typeof(f))
  903. remoteHooks[remote] = f
  904. end
  905.  
  906. --- Blocks the specified remote instance/string
  907. --- @param remote any
  908. function SimpleSpy:BlockRemote(remote)
  909. assert(typeof(remote) == "Instance" or typeof(remote) == "string", "Instance | string expected, got " .. typeof(remote))
  910. blocklist[remote] = true
  911. end
  912.  
  913. --- Excludes the specified remote from logs (instance/string)
  914. --- @param remote any
  915. function SimpleSpy:ExcludeRemote(remote)
  916. assert(typeof(remote) == "Instance" or typeof(remote) == "string", "Instance | string expected, got " .. typeof(remote))
  917. blacklist[remote] = true
  918. end
  919.  
  920. --- Creates a new ScriptSignal that can be connected to and fired
  921. --- @return table
  922. function newSignal()
  923. local connected = {}
  924. return {
  925. Connect = function(self, f)
  926. assert(connected, "Signal is closed")
  927. connected[tostring(f)] = f
  928. return setmetatable({
  929. Connected = true,
  930. Disconnect = function(self)
  931. if not connected then
  932. warn("Signal is already closed")
  933. end
  934. self.Connected = false
  935. connected[tostring(f)] = nil
  936. end
  937. },
  938. {
  939. __index = function(self, i)
  940. if i == "Connected" then
  941. return not not connected[tostring(f)]
  942. end
  943. end
  944. })
  945. end,
  946. Fire = function(self, ...)
  947. for _, f in pairs(connected) do
  948. coroutine.wrap(f)(...)
  949. end
  950. end
  951. }
  952. end
  953.  
  954. --- Prevents remote spam from causing lag (clears logs after `_G.SIMPLESPYCONFIG_MaxRemotes` or 500 remotes)
  955. function clean()
  956. local max = _G.SIMPLESPYCONFIG_MaxRemotes
  957. if not typeof(max) == "number" and math.floor(max) ~= max then
  958. max = 500
  959. end
  960. if #remoteLogs > max then
  961. for i = 100, #remoteLogs do
  962. local v = remoteLogs[i]
  963. if typeof(v[1]) == "RBXScriptConnection" then
  964. v[1]:Disconnect()
  965. end
  966. if typeof(v[2]) == "Instance" then
  967. v[2]:Destroy()
  968. end
  969. end
  970. local newLogs = {}
  971. for i = 1, 100 do
  972. table.insert(newLogs, remoteLogs[i])
  973. end
  974. remoteLogs = newLogs
  975. end
  976. end
  977.  
  978. --- Scales the ToolTip to fit containing text
  979. function scaleToolTip()
  980. local size = TextService:GetTextSize(TextLabel.Text, TextLabel.TextSize, TextLabel.Font, Vector2.new(196, math.huge))
  981. TextLabel.Size = UDim2.new(0, size.X, 0, size.Y)
  982. ToolTip.Size = UDim2.new(0, size.X + 4, 0, size.Y + 4)
  983. end
  984.  
  985. --- Executed when the toggle button (the SimpleSpy logo) is hovered over
  986. function onToggleButtonHover()
  987. if not toggle then
  988. TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(252, 51, 51)}):Play()
  989. else
  990. TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(68, 206, 91)}):Play()
  991. end
  992. end
  993.  
  994. --- Executed when the toggle button is unhovered over
  995. function onToggleButtonUnhover()
  996. TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(255, 255, 255)}):Play()
  997. end
  998.  
  999. --- Executed when the X button is hovered over
  1000. function onXButtonHover()
  1001. TweenService:Create(CloseButton, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 60, 60)}):Play()
  1002. end
  1003.  
  1004. --- Executed when the X button is unhovered over
  1005. function onXButtonUnhover()
  1006. TweenService:Create(CloseButton, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(37, 36, 38)}):Play()
  1007. end
  1008.  
  1009. --- Toggles the remote spy method (when button clicked)
  1010. function onToggleButtonClick()
  1011. if toggle then
  1012. TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(252, 51, 51)}):Play()
  1013. else
  1014. TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(68, 206, 91)}):Play()
  1015. end
  1016. toggleSpyMethod()
  1017. end
  1018.  
  1019. --- Reconnects bringBackOnResize if the current viewport changes and also connects it initially
  1020. function connectResize()
  1021. local lastCam = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(bringBackOnResize)
  1022. workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function()
  1023. lastCam:Disconnect()
  1024. if workspace.CurrentCamera then
  1025. lastCam = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(bringBackOnResize)
  1026. end
  1027. end)
  1028. end
  1029.  
  1030. --- Brings gui back if it gets lost offscreen (connected to the camera viewport changing)
  1031. function bringBackOnResize()
  1032. local currentX = Background.AbsolutePosition.X
  1033. local currentY = Background.AbsolutePosition.Y
  1034. local viewportSize = workspace.CurrentCamera.ViewportSize
  1035. if (currentX < 0) or (currentX > (viewportSize.X - (sideClosed and 131 or TopBar.AbsoluteSize.X))) then
  1036. if currentX < 0 then
  1037. currentX = 0
  1038. else
  1039. currentX = viewportSize.X - (sideClosed and 131 or TopBar.AbsoluteSize.X)
  1040. end
  1041. end
  1042. if (currentY < 0) or (currentY > (viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36)) then
  1043. if currentY < 0 then
  1044. currentY = 0
  1045. else
  1046. currentY = viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36
  1047. end
  1048. end
  1049. TweenService.Create(TweenService, Background, TweenInfo.new(0.1), {Position = UDim2.new(0, currentX, 0, currentY)}):Play()
  1050. end
  1051.  
  1052. --- Drags gui (so long as mouse is held down)
  1053. function onBarInput(input)
  1054. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  1055. local lastPos = UserInputService.GetMouseLocation(UserInputService)
  1056. local mainPos = Background.AbsolutePosition
  1057. local offset = mainPos - lastPos
  1058. local currentPos = offset + lastPos
  1059. RunService.BindToRenderStep(RunService, "drag", 1,
  1060. function()
  1061. local newPos = UserInputService.GetMouseLocation(UserInputService)
  1062. if newPos ~= lastPos then
  1063. local currentX = (offset + newPos).X
  1064. local currentY = (offset + newPos).Y
  1065. local viewportSize = workspace.CurrentCamera.ViewportSize
  1066. if (currentX < 0 and currentX < currentPos.X) or (currentX > (viewportSize.X - (sideClosed and 131 or TopBar.AbsoluteSize.X)) and currentX > currentPos.X) then
  1067. if currentX < 0 then
  1068. currentX = 0
  1069. else
  1070. currentX = viewportSize.X - (sideClosed and 131 or TopBar.AbsoluteSize.X)
  1071. end
  1072. end
  1073. if (currentY < 0 and currentY < currentPos.Y) or (currentY > (viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36) and currentY > currentPos.Y) then
  1074. if currentY < 0 then
  1075. currentY = 0
  1076. else
  1077. currentY = viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36
  1078. end
  1079. end
  1080. currentPos = Vector2.new(currentX, currentY)
  1081. lastPos = newPos
  1082. TweenService.Create(TweenService, Background, TweenInfo.new(0.1), {Position = UDim2.new(0, currentPos.X, 0, currentPos.Y)}):Play()
  1083. end
  1084. if not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then
  1085. RunService.UnbindFromRenderStep(RunService, "drag")
  1086. end
  1087. end
  1088. )
  1089. end
  1090. end
  1091.  
  1092. --- Fades out the table of elements (and makes them invisible), returns a function to make them visible again
  1093. function fadeOut(elements)
  1094. local data = {}
  1095. for _, v in pairs(elements) do
  1096. if typeof(v) == "Instance" and v:IsA("GuiObject") and v.Visible then
  1097. coroutine.wrap(function()
  1098. data[v] = {
  1099. BackgroundTransparency = v.BackgroundTransparency
  1100. }
  1101. TweenService:Create(v, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
  1102. if v:IsA("TextBox") or v:IsA("TextButton") or v:IsA("TextLabel") then
  1103. data[v].TextTransparency = v.TextTransparency
  1104. TweenService:Create(v, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
  1105. elseif v:IsA("ImageButton") or v:IsA("ImageLabel") then
  1106. data[v].ImageTransparency = v.ImageTransparency
  1107. TweenService:Create(v, TweenInfo.new(0.5), {ImageTransparency = 1}):Play()
  1108. end
  1109. wait(0.5)
  1110. v.Visible = false
  1111. for i, x in pairs(data[v]) do
  1112. v[i] = x
  1113. end
  1114. data[v] = true
  1115. end)()
  1116. end
  1117. end
  1118. return function()
  1119. for i, _ in pairs(data) do
  1120. coroutine.wrap(function()
  1121. local properties = {
  1122. BackgroundTransparency = i.BackgroundTransparency
  1123. }
  1124. i.BackgroundTransparency = 1
  1125. TweenService:Create(i, TweenInfo.new(0.5), {BackgroundTransparency = properties.BackgroundTransparency}):Play()
  1126. if i:IsA("TextBox") or i:IsA("TextButton") or i:IsA("TextLabel") then
  1127. properties.TextTransparency = i.TextTransparency
  1128. i.TextTransparency = 1
  1129. TweenService:Create(i, TweenInfo.new(0.5), {TextTransparency = properties.TextTransparency}):Play()
  1130. elseif i:IsA("ImageButton") or i:IsA("ImageLabel") then
  1131. properties.ImageTransparency = i.ImageTransparency
  1132. i.ImageTransparency = 1
  1133. TweenService:Create(i, TweenInfo.new(0.5), {ImageTransparency = properties.ImageTransparency}):Play()
  1134. end
  1135. i.Visible = true
  1136. end)()
  1137. end
  1138. end
  1139. end
  1140.  
  1141. --- Expands and minimizes the gui (closed is the toggle boolean)
  1142. function toggleMinimize(override)
  1143. if mainClosing and not override or maximized then
  1144. return
  1145. end
  1146. mainClosing = true
  1147. closed = not closed
  1148. if closed then
  1149. if not sideClosed then
  1150. toggleSideTray(true)
  1151. end
  1152. LeftPanel.Visible = true
  1153. TweenService:Create(LeftPanel, TweenInfo.new(0.5), {Size = UDim2.new(0, 131, 0, 0)}):Play()
  1154. wait(0.5)
  1155. remotesFadeIn = fadeOut(LeftPanel:GetDescendants())
  1156. wait(0.5)
  1157. else
  1158. TweenService:Create(LeftPanel, TweenInfo.new(0.5), {Size = UDim2.new(0, 131, 0, 249)}):Play()
  1159. wait(0.5)
  1160. if remotesFadeIn then
  1161. remotesFadeIn()
  1162. remotesFadeIn = nil
  1163. end
  1164. bringBackOnResize()
  1165. end
  1166. mainClosing = false
  1167. end
  1168.  
  1169. --- Expands and minimizes the sidebar (sideClosed is the toggle boolean)
  1170. function toggleSideTray(override)
  1171. if sideClosing and not override or maximized then
  1172. return
  1173. end
  1174. sideClosing = true
  1175. sideClosed = not sideClosed
  1176. if sideClosed then
  1177. rightFadeIn = fadeOut(RightPanel:GetDescendants())
  1178. wait(0.5)
  1179. minimizeSize(0.5)
  1180. wait(0.5)
  1181. RightPanel.Visible = false
  1182. else
  1183. if closed then
  1184. toggleMinimize(true)
  1185. end
  1186. RightPanel.Visible = true
  1187. maximizeSize(0.5)
  1188. wait(0.5)
  1189. if rightFadeIn then
  1190. rightFadeIn()
  1191. end
  1192. bringBackOnResize()
  1193. end
  1194. sideClosing = false
  1195. end
  1196.  
  1197. --- Expands code box to fit screen for more convenient viewing
  1198. function toggleMaximize()
  1199. if not sideClosed and not maximized then
  1200. maximized = true
  1201. local disable = Instance.new("TextButton")
  1202. local prevSize = UDim2.new(0, CodeBox.AbsoluteSize.X, 0, CodeBox.AbsoluteSize.Y)
  1203. local prevPos = UDim2.new(0,CodeBox.AbsolutePosition.X, 0, CodeBox.AbsolutePosition.Y)
  1204. disable.Size = UDim2.new(1, 0, 1, 0)
  1205. disable.BackgroundColor3 = Color3.new()
  1206. disable.BorderSizePixel = 0
  1207. disable.Text = 0
  1208. disable.ZIndex = 3
  1209. disable.BackgroundTransparency = 1
  1210. disable.AutoButtonColor = false
  1211. CodeBox.ZIndex = 4
  1212. CodeBox.Position = prevPos
  1213. CodeBox.Size = prevSize
  1214. TweenService:Create(CodeBox, TweenInfo.new(0.5), {Size = UDim2.new(0.5, 0, 0.5, 0), Position = UDim2.new(0.25, 0, 0.25, 0)}):Play()
  1215. TweenService:Create(disable, TweenInfo.new(0.5), {BackgroundTransparency = 0.5}):Play()
  1216. disable.MouseButton1Click:Connect(function()
  1217. if UserInputService:GetMouseLocation().Y + 36 >= CodeBox.AbsolutePosition.Y and UserInputService:GetMouseLocation().Y + 36 <= CodeBox.AbsolutePosition.Y + CodeBox.AbsoluteSize.Y
  1218. and UserInputService:GetMouseLocation().X >= CodeBox.AbsolutePosition.X and UserInputService:GetMouseLocation().X <= CodeBox.AbsolutePosition.X + CodeBox.AbsoluteSize.X then
  1219. return
  1220. end
  1221. TweenService:Create(CodeBox, TweenInfo.new(0.5), {Size = prevSize, Position = prevPos}):Play()
  1222. TweenService:Create(disable, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
  1223. wait(0.5)
  1224. disable:Destroy()
  1225. CodeBox.Size = UDim2.new(1, 0, 0.5, 0)
  1226. CodeBox.Position = UDim2.new(0, 0, 0, 0)
  1227. CodeBox.ZIndex = 0
  1228. maximized = false
  1229. end)
  1230. end
  1231. end
  1232.  
  1233. --- Checks if cursor is within resize range
  1234. --- @param p Vector2
  1235. function isInResizeRange(p)
  1236. local relativeP = p - Background.AbsolutePosition
  1237. local range = 5
  1238. if relativeP.X >= TopBar.AbsoluteSize.X - range and relativeP.Y >= Background.AbsoluteSize.Y - range
  1239. and relativeP.X <= TopBar.AbsoluteSize.X and relativeP.Y <= Background.AbsoluteSize.Y then
  1240. return true, 'B'
  1241. elseif relativeP.X >= TopBar.AbsoluteSize.X - range and relativeP.X <= Background.AbsoluteSize.X then
  1242. return true, 'X'
  1243. elseif relativeP.Y >= Background.AbsoluteSize.Y - range and relativeP.Y <= Background.AbsoluteSize.Y then
  1244. return true, 'Y'
  1245. end
  1246. return false
  1247. end
  1248.  
  1249. --- Called when mouse enters SimpleSpy
  1250. function mouseEntered()
  1251. local customCursor = Instance.new("ImageLabel")
  1252. customCursor.Size = UDim2.fromOffset(200, 200)
  1253. customCursor.ZIndex = 1e5
  1254. customCursor.BackgroundTransparency = 1
  1255. customCursor.Image = ""
  1256. customCursor.Parent = SimpleSpy2
  1257. UserInputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.ForceHide
  1258. RunService:BindToRenderStep("SIMPLESPY_CURSOR", 1, function()
  1259. if mouseInGui and _G.SimpleSpyExecuted then
  1260. local mouseLocation = UserInputService:GetMouseLocation() - Vector2.new(0, 36)
  1261. customCursor.Position = UDim2.fromOffset(mouseLocation.X - customCursor.AbsoluteSize.X / 2, mouseLocation.Y - customCursor.AbsoluteSize.Y / 2)
  1262. local inRange, type = isInResizeRange(mouseLocation)
  1263. if inRange and not sideClosed and not closed then
  1264. customCursor.Image = type == 'B' and "rbxassetid://6065821980" or type == 'X' and "rbxassetid://6065821086" or type == 'Y' and "rbxassetid://6065821596"
  1265. elseif inRange and not closed and type == 'Y' or type == 'B' then
  1266. customCursor.Image = "rbxassetid://6065821596"
  1267. elseif customCursor.Image ~= "rbxassetid://6065775281" then
  1268. customCursor.Image = "rbxassetid://6065775281"
  1269. end
  1270. else
  1271. UserInputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.None
  1272. customCursor:Destroy()
  1273. RunService:UnbindFromRenderStep("SIMPLESPY_CURSOR")
  1274. end
  1275. end)
  1276. end
  1277.  
  1278. --- Called when mouse moves
  1279. function mouseMoved()
  1280. local mousePos = UserInputService:GetMouseLocation() - Vector2.new(0, 36)
  1281. if not closed
  1282. and mousePos.X >= TopBar.AbsolutePosition.X and mousePos.X <= TopBar.AbsolutePosition.X + TopBar.AbsoluteSize.X
  1283. and mousePos.Y >= Background.AbsolutePosition.Y and mousePos.Y <= Background.AbsolutePosition.Y + Background.AbsoluteSize.Y then
  1284. if not mouseInGui then
  1285. mouseInGui = true
  1286. mouseEntered()
  1287. end
  1288. else
  1289. mouseInGui = false
  1290. end
  1291. end
  1292.  
  1293. --- Adjusts the ui elements to the 'Maximized' size
  1294. function maximizeSize(speed)
  1295. if not speed then
  1296. speed = 0.05
  1297. end
  1298. TweenService:Create(LeftPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
  1299. TweenService:Create(RightPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X - LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
  1300. TweenService:Create(TopBar, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X, TopBar.AbsoluteSize.Y) }):Play()
  1301. TweenService:Create(ScrollingFrame, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X - LeftPanel.AbsoluteSize.X, 110), Position = UDim2.fromOffset(0, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
  1302. TweenService:Create(CodeBox, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X - LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
  1303. TweenService:Create(LogList, TweenInfo.new(speed), { Size = UDim2.fromOffset(LogList.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y - 18) }):Play()
  1304. end
  1305.  
  1306. --- Adjusts the ui elements to close the side
  1307. function minimizeSize(speed)
  1308. if not speed then
  1309. speed = 0.05
  1310. end
  1311. TweenService:Create(LeftPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
  1312. TweenService:Create(RightPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(0, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
  1313. TweenService:Create(TopBar, TweenInfo.new(speed), { Size = UDim2.fromOffset(LeftPanel.AbsoluteSize.X, TopBar.AbsoluteSize.Y) }):Play()
  1314. TweenService:Create(ScrollingFrame, TweenInfo.new(speed), { Size = UDim2.fromOffset(0, 119), Position = UDim2.fromOffset(0, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
  1315. TweenService:Create(CodeBox, TweenInfo.new(speed), { Size = UDim2.fromOffset(0, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
  1316. TweenService:Create(LogList, TweenInfo.new(speed), { Size = UDim2.fromOffset(LogList.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y - 18) }):Play()
  1317. end
  1318.  
  1319. --- Called on user input while mouse in 'Background' frame
  1320. --- @param input InputObject
  1321. function backgroundUserInput(input)
  1322. local inRange, type = isInResizeRange(UserInputService:GetMouseLocation() - Vector2.new(0, 36))
  1323. if input.UserInputType == Enum.UserInputType.MouseButton1 and inRange then
  1324. local lastPos = UserInputService:GetMouseLocation()
  1325. local offset = Background.AbsoluteSize - lastPos
  1326. local currentPos = lastPos + offset
  1327. RunService:BindToRenderStep("SIMPLESPY_RESIZE", 1, function()
  1328. local newPos = UserInputService:GetMouseLocation()
  1329. if newPos ~= lastPos then
  1330. local currentX = (newPos + offset).X
  1331. local currentY = (newPos + offset).Y
  1332. if currentX < 450 then
  1333. currentX = 450
  1334. end
  1335. if currentY < 268 then
  1336. currentY = 268
  1337. end
  1338. currentPos = Vector2.new(currentX, currentY)
  1339. Background.Size = UDim2.fromOffset((not sideClosed and not closed and (type == "X" or type == "B")) and currentPos.X or Background.AbsoluteSize.X, (--[[(not sideClosed or currentPos.X <= LeftPanel.AbsolutePosition.X + LeftPanel.AbsoluteSize.X) and]] not closed and (type == "Y" or type == "B")) and currentPos.Y or Background.AbsoluteSize.Y)
  1340. if sideClosed then
  1341. minimizeSize()
  1342. else
  1343. maximizeSize()
  1344. end
  1345. lastPos = newPos
  1346. end
  1347. end)
  1348. table.insert(connections, UserInputService.InputEnded:Connect(function(inputE)
  1349. if input == inputE then
  1350. RunService:UnbindFromRenderStep("SIMPLESPY_RESIZE")
  1351. end
  1352. end))
  1353. end
  1354. end
  1355.  
  1356. --- Gets the player an instance is descended from
  1357. function getPlayerFromInstance(instance)
  1358. for _, v in pairs(Players:GetPlayers()) do
  1359. if v.Character and (instance:IsDescendantOf(v.Character) or instance == v.Character) then
  1360. return v
  1361. end
  1362. end
  1363. end
  1364.  
  1365. --- Runs on MouseButton1Click of an event frame
  1366. function eventSelect(frame)
  1367. if selected and selected.Log then
  1368. TweenService:Create(selected.Log.Button, TweenInfo.new(0.5), {BackgroundColor3 = Color3.fromRGB(0, 0, 0)}):Play()
  1369. selected = nil
  1370. end
  1371. for _, v in pairs(logs) do
  1372. if frame == v.Log then
  1373. selected = v
  1374. end
  1375. end
  1376. if selected and selected.Log then
  1377. TweenService:Create(frame.Button, TweenInfo.new(0.5), {BackgroundColor3 = Color3.fromRGB(92, 126, 229)}):Play()
  1378. codebox:setRaw(selected.GenScript)
  1379. end
  1380. if sideClosed then
  1381. toggleSideTray()
  1382. end
  1383. end
  1384.  
  1385. --- Updates the canvas size to fit the current amount of function buttons
  1386. function updateFunctionCanvas()
  1387. ScrollingFrame.CanvasSize = UDim2.fromOffset(UIGridLayout.AbsoluteContentSize.X, UIGridLayout.AbsoluteContentSize.Y)
  1388. end
  1389.  
  1390. --- Updates the canvas size to fit the amount of current remotes
  1391. function updateRemoteCanvas()
  1392. LogList.CanvasSize = UDim2.fromOffset(UIListLayout.AbsoluteContentSize.X, UIListLayout.AbsoluteContentSize.Y)
  1393. end
  1394.  
  1395. --- Allows for toggling of the tooltip and easy setting of le description
  1396. --- @param enable boolean
  1397. --- @param text string
  1398. function makeToolTip(enable, text)
  1399. if enable then
  1400. if ToolTip.Visible then
  1401. ToolTip.Visible = false
  1402. RunService:UnbindFromRenderStep("ToolTip")
  1403. end
  1404. local first = true
  1405. RunService:BindToRenderStep("ToolTip", 1, function()
  1406. local topLeft = Vector2.new(Mouse.X + 20, Mouse.Y + 20)
  1407. local bottomRight = topLeft + ToolTip.AbsoluteSize
  1408. if topLeft.X < 0 then
  1409. topLeft = Vector2.new(0, topLeft.Y)
  1410. elseif bottomRight.X > workspace.CurrentCamera.ViewportSize.X then
  1411. topLeft = Vector2.new(workspace.CurrentCamera.ViewportSize.X - ToolTip.AbsoluteSize.X, topLeft.Y)
  1412. end
  1413. if topLeft.Y < 0 then
  1414. topLeft = Vector2.new(topLeft.X, 0)
  1415. elseif bottomRight.Y > workspace.CurrentCamera.ViewportSize.Y - 35 then
  1416. topLeft = Vector2.new(topLeft.X, workspace.CurrentCamera.ViewportSize.Y - ToolTip.AbsoluteSize.Y - 35)
  1417. end
  1418. if topLeft.X <= Mouse.X and topLeft.Y <= Mouse.Y then
  1419. topLeft = Vector2.new(Mouse.X - ToolTip.AbsoluteSize.X - 2, Mouse.Y - ToolTip.AbsoluteSize.Y - 2)
  1420. end
  1421. if first then
  1422. ToolTip.Position = UDim2.fromOffset(topLeft.X, topLeft.Y)
  1423. first = false
  1424. else
  1425. ToolTip:TweenPosition(UDim2.fromOffset(topLeft.X, topLeft.Y), "Out", "Linear", 0.1)
  1426. end
  1427. end)
  1428. TextLabel.Text = text
  1429. ToolTip.Visible = true
  1430. else
  1431. if ToolTip.Visible then
  1432. ToolTip.Visible = false
  1433. RunService:UnbindFromRenderStep("ToolTip")
  1434. end
  1435. end
  1436. end
  1437.  
  1438. --- Creates new function button (below codebox)
  1439. --- @param name string
  1440. ---@param description function
  1441. ---@param onClick function
  1442. function newButton(name, description, onClick)
  1443. local button = FunctionTemplate:Clone()
  1444. button.Text.Text = name
  1445. button.Button.MouseEnter:Connect(function()
  1446. makeToolTip(true, description())
  1447. end)
  1448. button.Button.MouseLeave:Connect(function()
  1449. makeToolTip(false)
  1450. end)
  1451. button.AncestryChanged:Connect(function()
  1452. makeToolTip(false)
  1453. end)
  1454. button.Button.MouseButton1Click:Connect(function(...)
  1455. onClick(button, ...)
  1456. end)
  1457. button.Parent = ScrollingFrame
  1458. updateFunctionCanvas()
  1459. end
  1460.  
  1461. --- Adds new Remote to logs
  1462. --- @param name string The name of the remote being logged
  1463. --- @param type string The type of the remote being logged (either 'function' or 'event')
  1464. --- @param gen_script any
  1465. --- @param remote any
  1466. --- @param function_info string
  1467. --- @param blocked any
  1468. function newRemote(type, name, gen_script, remote, function_info, blocked, src)
  1469. local remoteFrame = RemoteTemplate:Clone()
  1470. remoteFrame.Text.Text = name
  1471. remoteFrame.ColorBar.BackgroundColor3 = type == "event" and Color3.new(255, 242, 0) or Color3.fromRGB(99, 86, 245)
  1472. local id = Instance.new("IntValue")
  1473. id.Name = "ID"
  1474. id.Value = #logs + 1
  1475. id.Parent = remoteFrame
  1476. logs[#logs + 1] = {
  1477. Name = name,
  1478. GenScript = gen_script,
  1479. Function = function_info,
  1480. Remote = remote,
  1481. Log = remoteFrame,
  1482. Blocked = blocked,
  1483. Source = src
  1484. }
  1485. if blocked then
  1486. logs[#logs].GenScript = "-- THIS REMOTE WAS PREVENTED FROM FIRING THE SERVER BY SIMPLESPY\n\n" .. logs[#logs].GenScript
  1487. end
  1488. local connect = remoteFrame.Button.MouseButton1Click:Connect(function()
  1489. eventSelect(remoteFrame)
  1490. end)
  1491. if layoutOrderNum < 1 then
  1492. layoutOrderNum = 999999999
  1493. end
  1494. remoteFrame.LayoutOrder = layoutOrderNum
  1495. layoutOrderNum = layoutOrderNum - 1
  1496. remoteFrame.Parent = LogList
  1497. table.insert(remoteLogs, 1, {connect, remoteFrame})
  1498. clean()
  1499. updateRemoteCanvas()
  1500. end
  1501.  
  1502. --- Generates a script from the provided arguments (first has to be remote path)
  1503. function genScript(remote, ...)
  1504. prevTables = {}
  1505. local gen = ""
  1506. local args = {...}
  1507. if #args > 0 then
  1508. if not pcall(function()
  1509. gen = v2v({args = args}) .. "\n"
  1510. end)
  1511. then
  1512. gen = gen .. "-- TableToString failure! Reverting to legacy functionality (results may vary)\nlocal args = {"
  1513. if
  1514. not pcall(
  1515. function()
  1516. for i, v in pairs(args) do
  1517. if type(i) ~= "Instance" and type(i) ~= "userdata" then
  1518. gen = gen .. "\n [" .. tostring(i) .. "] = "
  1519. elseif type(i) == "string" then
  1520. gen = gen .. '\n ["' .. tostring(i) .. '"] = '
  1521. elseif type(i) == "userdata" and typeof(i) ~= "Instance" then
  1522. gen = gen .. "\n [" .. typeof(i) .. ".new(" .. tostring(i) .. ")] = "
  1523. elseif type(i) == "userdata" then
  1524. gen = gen .. "\n [game." .. i:GetFullName() .. ")] = "
  1525. end
  1526. if type(v) ~= "Instance" and type(v) ~= "userdata" then
  1527. gen = gen .. tostring(v)
  1528. elseif type(v) == "string" then
  1529. gen = gen .. '"' .. tostring(v) .. '"'
  1530. elseif type(v) == "userdata" and typeof(v) ~= "Instance" then
  1531. gen = gen .. typeof(v) .. ".new(" .. tostring(v) .. ")"
  1532. elseif type(v) == "userdata" then
  1533. gen = gen .. "game." .. v:GetFullName()
  1534. end
  1535. end
  1536. gen = gen .. "\n}\n\n"
  1537. end
  1538. )
  1539. then
  1540. gen = gen .. "}\n-- Legacy tableToString failure! Unable to decompile."
  1541. end
  1542. end
  1543. if not remote:IsDescendantOf(game) and not getnilrequired then
  1544. gen = "function getNil(name,class) for _,v in pairs(getnilinstances())do if v.ClassName==class and v.Name==name then return v;end end end\n\n" .. gen
  1545. end
  1546. if remote:IsA("RemoteEvent") then
  1547. gen = gen .. v2s(remote) .. ":FireServer(unpack(args))"
  1548. elseif remote:IsA("RemoteFunction") then
  1549. gen = gen .. v2s(remote) .. ":InvokeServer(unpack(args))"
  1550. end
  1551. else
  1552. if remote:IsA("RemoteEvent") then
  1553. gen = gen .. v2s(remote) .. ":FireServer()"
  1554. elseif remote:IsA("RemoteFunction") then
  1555. gen = gen .. v2s(remote) .. ":InvokeServer()"
  1556. end
  1557. end
  1558. gen = "" .. gen
  1559. prevTables = {}
  1560. return gen
  1561. end
  1562.  
  1563. --- value-to-string: value, string (out), level (indentation), parent table, var name, is from tovar
  1564. function v2s(v, l, p, n, vtv, i, pt, path, tables)
  1565. if typeof(v) == "number" then
  1566. if v == math.huge then
  1567. return "math.huge"
  1568. elseif tostring(v):match("nan") then
  1569. return "0/0 --[[NaN]]"
  1570. end
  1571. return tostring(v)
  1572. elseif typeof(v) == "boolean" then
  1573. return tostring(v)
  1574. elseif typeof(v) == "string" then
  1575. return formatstr(v)
  1576. elseif typeof(v) == "function" then
  1577. return f2s(v)
  1578. elseif typeof(v) == "table" then
  1579. return t2s(v, l, p, n, vtv, i, pt, path, tables)
  1580. elseif typeof(v) == "Instance" then
  1581. return i2p(v)
  1582. elseif typeof(v) == "userdata" then
  1583. return "newproxy(true)"
  1584. elseif type(v) == "userdata" then
  1585. return u2s(v)
  1586. else
  1587. return "nil --[[" .. typeof(v) .. "]]"
  1588. end
  1589. end
  1590.  
  1591. --- value-to-variable
  1592. --- @param t any
  1593. function v2v(t)
  1594. topstr = ""
  1595. bottomstr = ""
  1596. getnilrequired = false
  1597. local ret = ""
  1598. local count = 1
  1599. for i, v in pairs(t) do
  1600. if type(i) == "string" and i:match("^[%a_]+[%w_]*$") then
  1601. ret = ret .. "local " .. i .. " = " .. v2s(v, nil, nil, i, true) .. "\n"
  1602. elseif tostring(i):match("^[%a_]+[%w_]*$") then
  1603. ret = ret .. "local " .. tostring(i):lower() .. "_" .. tostring(count) .. " = " .. v2s(v, nil, nil, tostring(i):lower() .. "_" .. tostring(count), true) .. "\n"
  1604. else
  1605. ret = ret .. "local " .. type(v) .. "_" .. tostring(count) .. " = " .. v2s(v, nil, nil, type(v) .. "_" .. tostring(count), true) .. "\n"
  1606. end
  1607. count = count + 1
  1608. end
  1609. if getnilrequired then
  1610. topstr = "function getNil(name,class) for _,v in pairs(getnilinstances())do if v.ClassName==class and v.Name==name then return v;end end end\n" .. topstr
  1611. end
  1612. if #topstr > 0 then
  1613. ret = topstr .. "\n" .. ret
  1614. end
  1615. if #bottomstr > 0 then
  1616. ret = ret .. bottomstr
  1617. end
  1618. return ret
  1619. end
  1620.  
  1621. --- table-to-string
  1622. --- @param t table
  1623. --- @param l number
  1624. --- @param p table
  1625. --- @param n string
  1626. --- @param vtv boolean
  1627. --- @param i any
  1628. --- @param pt table
  1629. --- @param path string
  1630. --- @param tables table
  1631. function t2s(t, l, p, n, vtv, i, pt, path, tables)
  1632. for k, x in pairs(getrenv()) do
  1633. local isgucci, gpath
  1634. if rawequal(x, t) then
  1635. isgucci, gpath = true, ""
  1636. elseif type(x) == "table" then
  1637. isgucci, gpath = v2p(t, x)
  1638. end
  1639. if isgucci then
  1640. if type(k) == "string" and k:match("^[%a_]+[%w_]*$") then
  1641. return k .. gpath
  1642. else
  1643. return "getrenv()[" .. v2s(k) .. "]" .. gpath
  1644. end
  1645. end
  1646. end
  1647. if not path then
  1648. path = ""
  1649. end
  1650. if not l then
  1651. l = 0
  1652. tables = {}
  1653. end
  1654. if not p then
  1655. p = t
  1656. end
  1657. for _, v in pairs(tables) do
  1658. if n and rawequal(v, t) then
  1659. bottomstr = bottomstr .. "\n" .. tostring(n) .. tostring(path) .. " = " .. tostring(n) .. tostring(({v2p(v, p)})[2])
  1660. return "{} --[[DUPLICATE]]"
  1661. end
  1662. end
  1663. table.insert(tables, t)
  1664. local s = "{"
  1665. local size = 0
  1666. l = l + indent
  1667. for k, v in pairs(t) do
  1668. size = size + 1
  1669. if size > (_G.SimpleSpyMaxTableSize and _G.SimpleSpyMaxTableSize or 1000) then
  1670. break
  1671. end
  1672. if rawequal(k, t) then
  1673. bottomstr = bottomstr .. "\n" .. tostring(n) .. tostring(path) .. "[" .. tostring(n) .. tostring(path) .. "]" .. " = " .. (v == k and tostring(n) .. tostring(path) or v2s(v, l, p, n, vtv, k, t, path .. "[" .. tostring(n) .. tostring(path) .. "]", tables))
  1674. size -= 1
  1675. continue
  1676. end
  1677. local currentPath = ""
  1678. if type(k) == "string" and k:match("^[%a_]+[%w_]*$") then
  1679. currentPath = "." .. k
  1680. else
  1681. currentPath = "[" .. v2s(k, nil, p, n, vtv, i, pt, path) .. "]"
  1682. end
  1683. s = s .. "\n" .. string.rep(" ", l) .. "[" .. v2s(k, l, p, n, vtv, k, t, path .. currentPath, tables) .. "] = " .. v2s(v, l, p, n, vtv, k, t, path .. currentPath, tables) .. ","
  1684. end
  1685. if #s > 1 then
  1686. s = s:sub(1, #s - 1)
  1687. end
  1688. if size > 0 then
  1689. s = s .. "\n" .. string.rep(" ", l - indent)
  1690. end
  1691. return s .. "}"
  1692. end
  1693.  
  1694. --- function-to-string
  1695. function f2s(f)
  1696. for k, x in pairs(getgenv()) do
  1697. local isgucci, gpath
  1698. if rawequal(x, f) then
  1699. isgucci, gpath = true, ""
  1700. elseif type(x) == "table" then
  1701. isgucci, gpath = v2p(f, x)
  1702. end
  1703. if isgucci then
  1704. if type(k) == "string" and k:match("^[%a_]+[%w_]*$") then
  1705. return k .. gpath
  1706. else
  1707. return "getgenv()[" .. v2s(k) .. "]" .. gpath
  1708. end
  1709. end
  1710. end
  1711. -- uwu some cool stuff here once bork finishes up
  1712. -- if SimpleSpy.GetExternalLoader then
  1713. -- local ExternalLoader = SimpleSpy:GetExternalLoader()
  1714. -- local loaded, path = pcall(function() ExternalLoader:LoadAsset("Bork_Functions") end)
  1715. -- if loaded then
  1716. -- local functions = loadfile(path .. "functions.lua")
  1717. -- local out = functions[f]
  1718. -- if out then
  1719. -- return out
  1720. -- end
  1721. -- end
  1722. -- end
  1723. -- local isgucci, gpath = v2p(f, getgc())
  1724. -- if isgucci then
  1725. -- return "getgc()" .. gpath
  1726. -- end
  1727. if debug.getinfo(f).name:match("^[%a_]+[%w_]*$") then
  1728. return "function()end --[[" .. debug.getinfo(f).name .. "]]"
  1729. end
  1730. return "function()end --[[" .. tostring(f) .. "]]"
  1731. end
  1732.  
  1733. --- instance-to-path
  1734. --- @param i userdata
  1735. function i2p(i)
  1736. local player = getplayer(i)
  1737. local parent = i
  1738. local out = ""
  1739. if parent == nil then
  1740. return "nil"
  1741. elseif player then
  1742. while true do
  1743. if parent and parent == player.Character then
  1744. if player == Players.LocalPlayer then
  1745. return 'game:GetService("Players").LocalPlayer.Character' .. out
  1746. else
  1747. return i2p(player) .. ".Character" .. out
  1748. end
  1749. else
  1750. if parent.Name:match("[%a_]+[%w+]*") ~= parent.Name then
  1751. out = '[' .. formatstr(parent.Name) .. ']' .. out
  1752. else
  1753. out = "." .. parent.Name .. out
  1754. end
  1755. end
  1756. parent = parent.Parent
  1757. end
  1758. elseif parent ~= game then
  1759. while true do
  1760. if parent and parent.Parent == game then
  1761. if game:GetService(parent.ClassName) then
  1762. if parent.ClassName == "Workspace" then
  1763. return "workspace" .. out
  1764. else
  1765. return 'game:GetService("' .. parent.ClassName .. '")' .. out
  1766. end
  1767. else
  1768. if parent.Name:match("[%a_]+[%w_]*") then
  1769. return "game." .. parent.Name .. out
  1770. else
  1771. return 'game[' .. formatstr(parent.Name) .. ']' .. out
  1772. end
  1773. end
  1774. elseif parent.Parent == nil then
  1775. getnilrequired = true
  1776. return 'getNil(' .. formatstr(parent.Name) .. ', "' .. parent.ClassName .. '")' .. out
  1777. elseif parent == Players.LocalPlayer then
  1778. out = ".LocalPlayer" .. out
  1779. else
  1780. if parent.Name:match("[%a_]+[%w_]*") ~= parent.Name then
  1781. out = '[' .. formatstr(parent.Name) .. ']' .. out
  1782. else
  1783. out = "." .. parent.Name .. out
  1784. end
  1785. end
  1786. parent = parent.Parent
  1787. end
  1788. else
  1789. return "game"
  1790. end
  1791. end
  1792.  
  1793. --- userdata-to-string: userdata
  1794. --- @param u userdata
  1795. function u2s(u)
  1796. if typeof(u) == "TweenInfo" then
  1797. -- TweenInfo
  1798. return "TweenInfo.new(" ..tostring(u.Time) .. ", Enum.EasingStyle." .. tostring(u.EasingStyle) .. ", Enum.EasingDirection." .. tostring(u.EasingDirection) .. ", " .. tostring(u.RepeatCount) .. ", " .. tostring(u.Reverses) .. ", " .. tostring(u.DelayTime) .. ")"
  1799. elseif typeof(u) == "Ray" then
  1800. -- Ray
  1801. return "Ray.new(" .. u2s(u.Origin) .. ", " .. u2s(u.Direction) .. ")"
  1802. elseif typeof(u) == "NumberSequence" then
  1803. -- NumberSequence
  1804. local ret = "NumberSequence.new("
  1805. for i, v in pairs(u.KeyPoints) do
  1806. ret = ret .. tostring(v)
  1807. if i < #u.Keypoints then
  1808. ret = ret .. ", "
  1809. end
  1810. end
  1811. return ret .. ")"
  1812. elseif typeof(u) == "DockWidgetPluginGuiInfo" then
  1813. -- DockWidgetPluginGuiInfo
  1814. return "DockWidgetPluginGuiInfo.new(Enum.InitialDockState" .. tostring(u) .. ")"
  1815. elseif typeof(u) == "ColorSequence" then
  1816. -- ColorSequence
  1817. local ret = "ColorSequence.new("
  1818. for i, v in pairs(u.KeyPoints) do
  1819. ret = ret .. "Color3.new(" .. tostring(v) .. ")"
  1820. if i < #u.Keypoints then
  1821. ret = ret .. ", "
  1822. end
  1823. end
  1824. return ret .. ")"
  1825. elseif typeof(u) == "BrickColor" then
  1826. -- BrickColor
  1827. return "BrickColor.new(" .. tostring(u.Number) .. ")"
  1828. elseif typeof(u) == "NumberRange" then
  1829. -- NumberRange
  1830. return "NumberRange.new(" .. tostring(u.Min) .. ", " .. tostring(u.Max) .. ")"
  1831. elseif typeof(u) == "Region3" then
  1832. -- Region3
  1833. local center = u.CFrame.Position
  1834. local size = u.CFrame.Size
  1835. local vector1 = center - size / 2
  1836. local vector2 = center + size / 2
  1837. return "Region3.new(" .. u2s(vector1) .. ", " .. u2s(vector2) .. ")"
  1838. elseif typeof(u) == "Faces" then
  1839. -- Faces
  1840. local faces = {}
  1841. if u.Top then
  1842. table.insert(faces, "Enum.NormalId.Top")
  1843. end
  1844. if u.Bottom then
  1845. table.insert(faces, "Enum.NormalId.Bottom")
  1846. end
  1847. if u.Left then
  1848. table.insert(faces, "Enum.NormalId.Left")
  1849. end
  1850. if u.Right then
  1851. table.insert(faces, "Enum.NormalId.Right")
  1852. end
  1853. if u.Back then
  1854. table.insert(faces, "Enum.NormalId.Back")
  1855. end
  1856. if u.Front then
  1857. table.insert(faces, "Enum.NormalId.Front")
  1858. end
  1859. return "Faces.new(" .. table.concat(faces, ", ") .. ")"
  1860. elseif typeof(u) == "EnumItem" then
  1861. return tostring(u)
  1862. elseif typeof(u) == "Enums" then
  1863. return "Enum"
  1864. elseif typeof(u) == "Enum" then
  1865. return "Enum." .. tostring(u)
  1866. elseif typeof(u) == "RBXScriptSignal" then
  1867. return "nil --[[RBXScriptSignal]]"
  1868. elseif typeof(u) == "Vector3" then
  1869. return string.format("Vector3.new(%s, %s, %s)", v2s(u.X), v2s(u.Y), v2s(u.Z))
  1870. elseif typeof(u) == "CFrame" then
  1871. return string.format("CFrame.new(%s, %s)", v2s(u.Position), v2s(u.LookVector))
  1872. elseif typeof(u) == "DockWidgetPluginGuiInfo" then
  1873. return string.format("DockWidgetPluginGuiInfo(%s, %s, %s, %s, %s, %s, %s)", "Enum.InitialDockState.Right", v2s(u.InitialEnabled), v2s(u.InitialEnabledShouldOverrideRestore), v2s(u.FloatingXSize), v2s(u.FloatingYSize), v2s(u.MinWidth), v2s(u.MinHeight))
  1874. elseif typeof(u) == "RBXScriptConnection" then
  1875. return "nil --[[RBXScriptConnection " .. tostring(u) .. "]]"
  1876. elseif typeof(u) == "RaycastResult" then
  1877. return "nil --[[RaycastResult " .. tostring(u) .. "]]"
  1878. elseif typeof(u) == "PathWaypoint" then
  1879. return string.format("PathWaypoint.new(%s, %s)", v2s(u.Position), v2s(u.Action))
  1880. else
  1881. return typeof(u) .. ".new(" .. tostring(u) .. ")"
  1882. end
  1883. end
  1884.  
  1885. --- Gets the player an instance is descended from
  1886. function getplayer(instance)
  1887. for _, v in pairs(Players:GetPlayers()) do
  1888. if v.Character and (instance:IsDescendantOf(v.Character) or instance == v.Character) then
  1889. return v
  1890. end
  1891. end
  1892. end
  1893.  
  1894. --- value-to-path (in table)
  1895. function v2p(x, t, path, prev)
  1896. if not path then
  1897. path = ""
  1898. end
  1899. if not prev then
  1900. prev = {}
  1901. end
  1902. if rawequal(x, t) then
  1903. return true, ""
  1904. end
  1905. for i, v in pairs(t) do
  1906. if rawequal(v, x) then
  1907. if type(i) == "string" and i:match("^[%a_]+[%w_]*$") then
  1908. return true, (path .. "." .. i)
  1909. else
  1910. return true, (path .. "[" .. v2s(i) .. "]")
  1911. end
  1912. end
  1913. if type(v) == "table" then
  1914. local duplicate = false
  1915. for _, y in pairs(prev) do
  1916. if rawequal(y, v) then
  1917. duplicate = true
  1918. end
  1919. end
  1920. if not duplicate then
  1921. table.insert(prev, t)
  1922. local found
  1923. found, p = v2p(x, v, path, prev)
  1924. if found then
  1925. if type(i) == "string" and i:match("^[%a_]+[%w_]*$") then
  1926. return true, "." .. i .. p
  1927. else
  1928. return true, "[" .. v2s(i) .. "]" .. p
  1929. end
  1930. end
  1931. end
  1932. end
  1933. end
  1934. return false, ""
  1935. end
  1936.  
  1937. --- format s: string, byte encrypt (for weird symbols)
  1938. function formatstr(s)
  1939. return '"' .. handlespecials(s) .. '"'
  1940. end
  1941.  
  1942. --- Adds \'s to the text as a replacement to whitespace chars and other things because string.format can't yayeet
  1943. function handlespecials(s)
  1944. local i = 0
  1945. repeat
  1946. i = i + 1
  1947. local char = s:sub(i, i)
  1948. if string.byte(char) then
  1949. if char == "\n" then
  1950. s = s:sub(0, i - 1) .. "\\n" .. s:sub(i + 1, -1)
  1951. i = i + 1
  1952. elseif char == "\t" then
  1953. s = s:sub(0, i - 1) .. "\\t" .. s:sub(i + 1, -1)
  1954. i = i + 1
  1955. elseif char == "\\" then
  1956. s = s:sub(0, i - 1) .. "\\\\" .. s:sub(i + 1, -1)
  1957. i = i + 1
  1958. elseif char == '"' then
  1959. s = s:sub(0, i - 1) .. '\\"' .. s:sub(i + 1, -1)
  1960. i = i + 1
  1961. elseif string.byte(char) > 126 or string.byte(char) < 32 then
  1962. s = s:sub(0, i - 1) .. "\\" .. string.byte(char) .. s:sub(i + 1, -1)
  1963. i = i + #tostring(string.byte(char))
  1964. end
  1965. end
  1966. until char == ""
  1967. return s
  1968. end
  1969.  
  1970. --- finds script from 'src' from getinfo, returns nil if not found
  1971. --- @param src string
  1972. function getScriptFromSrc(src)
  1973. local realPath
  1974. local runningTest
  1975. --- @type number
  1976. local s, e
  1977. local match = false
  1978. if src:sub(1, 1) == "=" then
  1979. realPath = game
  1980. s = 2
  1981. else
  1982. runningTest = src:sub(2, e and e - 1 or -1)
  1983. for _, v in pairs(getnilinstances()) do
  1984. if v.Name == runningTest then
  1985. realPath = v
  1986. break
  1987. end
  1988. end
  1989. s = #runningTest + 1
  1990. end
  1991. if realPath then
  1992. e = src:sub(s, -1):find("%.")
  1993. local i = 0
  1994. repeat
  1995. i += 1
  1996. if not e then
  1997. runningTest = src:sub(s, -1)
  1998. local test = realPath.FindFirstChild(realPath, runningTest)
  1999. if test then
  2000. realPath = test
  2001. end
  2002. match = true
  2003. else
  2004. runningTest = src:sub(s, e)
  2005. local test = realPath.FindFirstChild(realPath, runningTest)
  2006. local yeOld = e
  2007. if test then
  2008. realPath = test
  2009. s = e + 2
  2010. e = src:sub(e + 2, -1):find("%.")
  2011. e = e and e + yeOld or e
  2012. else
  2013. e = src:sub(e + 2, -1):find("%.")
  2014. e = e and e + yeOld or e
  2015. end
  2016. end
  2017. until match or i >= 50
  2018. end
  2019. return realPath
  2020. end
  2021.  
  2022. --- schedules the provided function (and calls it with any args after)
  2023. function schedule(f, ...)
  2024. table.insert(scheduled, {f, ...})
  2025. end
  2026.  
  2027. --- the big (well tbh small now) boi task scheduler himself, handles p much anything as quicc as possible
  2028. function taskscheduler()
  2029. if not toggle then
  2030. scheduled = {}
  2031. return
  2032. end
  2033. if #scheduled > 1000 then
  2034. table.remove(scheduled, #scheduled)
  2035. end
  2036. if #scheduled > 0 then
  2037. local currentf = scheduled[1]
  2038. table.remove(scheduled, 1)
  2039. if type(currentf) == "table" and type(currentf[1]) == "function" then
  2040. pcall(unpack(currentf))
  2041. end
  2042. end
  2043. end
  2044.  
  2045. --- Handles remote logs
  2046. function remoteHandler(hookfunction, methodName, remote, args, func, calling)
  2047. if remote:IsA("RemoteEvent") or remote:IsA("RemoteFunction") then
  2048. if funcEnabled and not calling then
  2049. _, calling = pcall(getScriptFromSrc, debug.getinfo(func).source)
  2050. end
  2051. coroutine.wrap(function()
  2052. if remoteSignals[remote] then
  2053. remoteSignals[remote]:Fire(args)
  2054. end
  2055. end)()
  2056. if autoblock then
  2057. if excluding[remote] then
  2058. return
  2059. end
  2060. if not history[remote] then
  2061. history[remote] = {badOccurances = 0, lastCall = tick()}
  2062. end
  2063. if tick() - history[remote].lastCall < 1 then
  2064. history[remote].badOccurances += 1
  2065. return
  2066. else
  2067. history[remote].badOccurances = 0
  2068. end
  2069. if history[remote].badOccurances > 3 then
  2070. excluding[remote] = true
  2071. return
  2072. end
  2073. history[remote].lastCall = tick()
  2074. end
  2075. local functionInfoStr
  2076. local src
  2077. if func and islclosure(func) then
  2078. local functionInfo = {}
  2079. pcall(function() functionInfo.info = debug.getinfo(func) end)
  2080. pcall(function() functionInfo.constants = debug.getconstants(func) end)
  2081. pcall(function() functionInfoStr = v2v{functionInfo = functionInfo} end)
  2082. pcall(function() if type(calling) == "userdata" then src = calling end end)
  2083. end
  2084. if methodName:lower() == "fireserver" then
  2085. newRemote("event", remote.Name, genScript(remote, table.unpack(args)), remote, functionInfoStr, (blocklist[remote] or blocklist[remote.Name]), src)
  2086. elseif methodName:lower() == "invokeserver" then
  2087. newRemote("function", remote.Name, genScript(remote, table.unpack(args)), remote, functionInfoStr, (blocklist[remote] or blocklist[remote.Name]), src)
  2088. end
  2089. end
  2090. end
  2091.  
  2092. --- Used for hookfunction
  2093. function hookRemote(remoteType, remote, ...)
  2094. local args = {...}
  2095. if remoteHooks[remote] then
  2096. args = remoteHooks[remote](args)
  2097. end
  2098. if typeof(remote) == "Instance" and not (blacklist[remote] or blacklist[remote.Name]) then
  2099. local func
  2100. local calling
  2101. if funcEnabled then
  2102. func = debug.getinfo(4).func
  2103. calling = useGetCallingScript and getcallingscript() or nil
  2104. end
  2105. schedule(remoteHandler, true, remoteType == "RemoteEvent" and "fireserver" or "invokeserver", remote, args, func, calling)
  2106. if (blocklist[remote] or blocklist[remote.Name]) then
  2107. return
  2108. end
  2109. end
  2110. if remoteType == "RemoteEvent" then
  2111. if remoteHooks[remote] then
  2112. return originalEvent(remote, unpack(args))
  2113. end
  2114. return originalEvent(remote, ...)
  2115. else
  2116. if remoteHooks[remote] then
  2117. return originalFunction(remote, unpack(args))
  2118. end
  2119. return originalFunction(remote, ...)
  2120. end
  2121. end
  2122.  
  2123. local newnamecall = newcclosure(function(...)
  2124. local args = {...}
  2125. local methodName = getnamecallmethod()
  2126. local remote = args[1]
  2127. if (methodName:lower() == "invokeserver" or methodName:lower() == "fireserver") and not (blacklist[remote] or blacklist[remote.Name]) then
  2128. if remoteHooks[remote] then
  2129. args = remoteHooks[remote]({args, unpack(args, 2)})
  2130. end
  2131. local func
  2132. local calling
  2133. if funcEnabled then
  2134. func = debug.getinfo(3).func
  2135. calling = useGetCallingScript and getcallingscript() or nil
  2136. end
  2137. coroutine.wrap(function()
  2138. schedule(remoteHandler, false, methodName, remote, {unpack(args, 2)}, func, calling)
  2139. end)()
  2140. end
  2141. if typeof(remote) == "Instance" and (methodName:lower() == "invokeserver" or methodName:lower() == "fireserver") and (blocklist[remote] or blocklist[remote.Name]) then
  2142. return nil
  2143. elseif (methodName:lower() == "invokeserver" or methodName:lower() == "fireserver") and remoteHooks[remote] then
  2144. return original(unpack(args))
  2145. else
  2146. return original(...)
  2147. end
  2148. end)
  2149.  
  2150. local newFireServer = newcclosure(function(...) return hookRemote("RemoteEvent", ...) end)
  2151.  
  2152. local newInvokeServer = newcclosure(function(...) return hookRemote("RemoteFunction", ...) end)
  2153.  
  2154. --- Toggles on and off the remote spy
  2155. function toggleSpy()
  2156. if not toggle then
  2157. setreadonly(gm, false)
  2158. if not original then
  2159. original = gm.__namecall
  2160. if not original then
  2161. warn("SimpleSpy: namecall method not found!\n")
  2162. onToggleButtonClick()
  2163. return
  2164. end
  2165. end
  2166. gm.__namecall = newnamecall
  2167. originalEvent = hookfunction(remoteEvent.FireServer, newFireServer)
  2168. originalFunction = hookfunction(remoteFunction.InvokeServer, newInvokeServer)
  2169. else
  2170. setreadonly(gm, false)
  2171. gm.__namecall = original
  2172. hookfunction(remoteEvent.FireServer, originalEvent)
  2173. hookfunction(remoteFunction.InvokeServer, originalFunction)
  2174. end
  2175. end
  2176.  
  2177. --- Toggles between the two remotespy methods (hookfunction currently = disabled)
  2178. function toggleSpyMethod()
  2179. toggleSpy()
  2180. toggle = not toggle
  2181. end
  2182.  
  2183. --- Shuts down the remote spy
  2184. function shutdown()
  2185. if schedulerconnect then
  2186. schedulerconnect:Disconnect()
  2187. end
  2188. for _, connection in pairs(connections) do
  2189. coroutine.wrap(function()
  2190. connection:Disconnect()
  2191. end)()
  2192. end
  2193. setreadonly(gm, false)
  2194. SimpleSpy2:Destroy()
  2195. hookfunction(remoteEvent.FireServer, originalEvent)
  2196. hookfunction(remoteFunction.InvokeServer, originalFunction)
  2197. gm.__namecall = original
  2198. _G.SimpleSpyExecuted = false
  2199. end
  2200.  
  2201. -- main
  2202. if not _G.SimpleSpyExecuted then
  2203. local succeeded, err = pcall(function()
  2204. _G.SimpleSpyShutdown = shutdown
  2205. ContentProvider:PreloadAsync({"rbxassetid://6065821980", "rbxassetid://6065774948", "rbxassetid://6065821086", "rbxassetid://6065821596", ImageLabel, ImageLabel_2, ImageLabel_3})
  2206. onToggleButtonClick()
  2207. RemoteTemplate.Parent = nil
  2208. FunctionTemplate.Parent = nil
  2209. codebox = Highlight.new(CodeBox)
  2210. codebox:setRaw("")
  2211. getgenv().SimpleSpy = SimpleSpy
  2212. TextLabel:GetPropertyChangedSignal("Text"):Connect(scaleToolTip)
  2213. TopBar.InputBegan:Connect(onBarInput)
  2214. MinimizeButton.MouseButton1Click:Connect(toggleMinimize)
  2215. MaximizeButton.MouseButton1Click:Connect(toggleSideTray)
  2216. Simple.MouseButton1Click:Connect(onToggleButtonClick)
  2217. CloseButton.MouseEnter:Connect(onXButtonHover)
  2218. CloseButton.MouseLeave:Connect(onXButtonUnhover)
  2219. Simple.MouseEnter:Connect(onToggleButtonHover)
  2220. Simple.MouseLeave:Connect(onToggleButtonUnhover)
  2221. CloseButton.MouseButton1Click:Connect(shutdown)
  2222. table.insert(connections, UserInputService.InputBegan:Connect(backgroundUserInput))
  2223. table.insert(connections, Mouse.Move:Connect(mouseMoved))
  2224. connectResize()
  2225. SimpleSpy2.Enabled = true
  2226. coroutine.wrap(function()
  2227. wait(1)
  2228. onToggleButtonUnhover()
  2229. end)()
  2230. schedulerconnect = RunService.Heartbeat:Connect(taskscheduler)
  2231. if syn and syn.protect_gui then pcall(syn.protect_gui, SimpleSpy2) end
  2232. SimpleSpy2.Parent = gethui and gethui() or CoreGui
  2233. end)
  2234. if succeeded then
  2235. _G.SimpleSpyExecuted = true
  2236. else
  2237. warn("A fatal error has occured, SimpleSpy was unable to launch properly.\nPlease DM this error message to @exx#9394:\n\n" .. tostring(err))
  2238. SimpleSpy2:Destroy()
  2239. hookfunction(remoteEvent.FireServer, originalEvent)
  2240. hookfunction(remoteFunction.InvokeServer, originalFunction)
  2241. gm.__namecall = original
  2242. return
  2243. end
  2244. else
  2245. SimpleSpy2:Destroy()
  2246. return
  2247. end
  2248.  
  2249. ----- ADD ONS ----- (easily add or remove additonal functionality to the RemoteSpy!)
  2250. --[[
  2251. Some helpful things:
  2252. - add your function in here, and create buttons for them through the 'newButton' function
  2253. - the first argument provided is the TextButton the player clicks to run the function
  2254. - generated scripts are generated when the namecall is initially fired and saved in remoteFrame objects
  2255. - blacklisted remotes will be ignored directly in namecall (less lag)
  2256. - the properties of a 'remoteFrame' object:
  2257. {
  2258. Name: (string) The name of the Remote
  2259. GenScript: (string) The generated script that appears in the codebox (generated when namecall fired)
  2260. Source: (Instance (LocalScript)) The script that fired/invoked the remote
  2261. Remote: (Instance (RemoteEvent) | Instance (RemoteFunction)) The remote that was fired/invoked
  2262. Log: (Instance (TextButton)) The button being used for the remote (same as 'selected.Log')
  2263. }
  2264. - globals list: (contact @exx#9394 for more information or if you have suggestions for more to be added)
  2265. - closed: (boolean) whether or not the GUI is currently minimized
  2266. - logs: (table[remoteFrame]) full of remoteFrame objects (properties listed above)
  2267. - selected: (remoteFrame) the currently selected remoteFrame (properties listed above)
  2268. - blacklist: (string[] | Instance[] (RemoteEvent) | Instance[] (RemoteFunction)) an array of blacklisted names and remotes
  2269. - codebox: (Instance (TextBox)) the textbox that holds all the code- cleared often
  2270. ]]
  2271. -- Copies the contents of the codebox
  2272. newButton(
  2273. "Copy Code",
  2274. function() return "Click to copy code" end,
  2275. function()
  2276. setclipboard(codebox:getString())
  2277. TextLabel.Text = "Copied successfully!"
  2278. end
  2279. )
  2280.  
  2281. --- Copies the source script (that fired the remote)
  2282. newButton(
  2283. "Copy Remote",
  2284. function() return "Click to copy the path of the remote" end,
  2285. function()
  2286. if selected then
  2287. setclipboard(v2s(selected.Remote))
  2288. TextLabel.Text = "Copied!"
  2289. end
  2290. end
  2291. )
  2292.  
  2293. -- Executes the contents of the codebox through loadstring
  2294. newButton(
  2295. "Run Code",
  2296. function() return "Click to execute code" end,
  2297. function()
  2298. local orText = "Click to execute code"
  2299. TextLabel.Text = "Executing..."
  2300. local succeeded = pcall(function() return loadstring(codebox:getString())() end)
  2301. if succeeded then
  2302. TextLabel.Text = "Executed successfully!"
  2303. else
  2304. TextLabel.Text = "Execution error!"
  2305. end
  2306. end
  2307. )
  2308.  
  2309. --- Gets the calling script (not super reliable but w/e)
  2310. newButton(
  2311. "Get Script",
  2312. function() return "Click to copy calling script to clipboard\nWARNING: Not super reliable, nil == could not find" end,
  2313. function()
  2314. if selected then
  2315. setclipboard(SimpleSpy:ValueToString(selected.Source))
  2316. TextLabel.Text = "Done!"
  2317. end
  2318. end
  2319. )
  2320.  
  2321. --- Decompiles the script that fired the remote and puts it in the code box
  2322. newButton(
  2323. "Function Info",
  2324. function() return "Click to view calling function information" end,
  2325. function()
  2326. if selected then
  2327. if selected.Function then
  2328. codebox:setRaw("-- Calling function info\n-- Generated by the SimpleSpy serializer\n\n" .. tostring(selected.Function))
  2329. end
  2330. TextLabel.Text = "Done! Function info generated by the SimpleSpy Serializer."
  2331. end
  2332. end
  2333. )
  2334.  
  2335. --- Clears the Remote logs
  2336. newButton(
  2337. "Clr Logs",
  2338. function() return "Click to clear logs" end,
  2339. function()
  2340. TextLabel.Text = "Clearing..."
  2341. logs = {}
  2342. for _, v in pairs(LogList:GetChildren()) do
  2343. if not v:IsA("UIListLayout") then
  2344. v:Destroy()
  2345. end
  2346. end
  2347. codebox:setRaw("")
  2348. selected = nil
  2349. TextLabel.Text = "Logs cleared!"
  2350. end
  2351. )
  2352.  
  2353. --- Excludes the selected.Log Remote from the RemoteSpy
  2354. newButton(
  2355. "Exclude (i)",
  2356. function() return "Click to exclude this Remote" end,
  2357. function()
  2358. if selected then
  2359. blacklist[selected.Remote] = true
  2360. TextLabel.Text = "Excluded!"
  2361. end
  2362. end
  2363. )
  2364.  
  2365. --- Excludes all Remotes that share the same name as the selected.Log remote from the RemoteSpy
  2366. newButton(
  2367. "Exclude (n)",
  2368. function() return "Click to exclude all remotes with this name" end,
  2369. function()
  2370. if selected then
  2371. blacklist[selected.Name] = true
  2372. TextLabel.Text = "Excluded!"
  2373. end
  2374. end
  2375. )
  2376.  
  2377. --- clears blacklist
  2378. newButton(
  2379. "Clr Blacklist",
  2380. function() return "Click to clear the blacklist" end,
  2381. function()
  2382. blacklist = {}
  2383. TextLabel.Text = "Blacklist cleared!"
  2384. end
  2385. )
  2386.  
  2387. --- Prevents the selected.Log Remote from firing the server (still logged)
  2388. newButton(
  2389. "Block (i)",
  2390. function() return "Click to stop this remote from firing" end,
  2391. function()
  2392. if selected then
  2393. blocklist[selected.Remote] = true
  2394. TextLabel.Text = "Excluded!"
  2395. end
  2396. end
  2397. )
  2398.  
  2399. --- Prevents all remotes from firing that share the same name as the selected.Log remote from the RemoteSpy (still logged)
  2400. newButton(
  2401. "Block (n)",
  2402. function() return "Click to stop remotes with this name from firing" end,
  2403. function()
  2404. if selected then
  2405. blocklist[selected.Name] = true
  2406. TextLabel.Text = "Excluded!"
  2407. end
  2408. end
  2409. )
  2410.  
  2411. --- clears blacklist
  2412. newButton(
  2413. "Clr Blocklist",
  2414. function() return "Click to stop blocking remotes" end,
  2415. function()
  2416. blocklist = {}
  2417. TextLabel.Text = "Blocklist cleared!"
  2418. end
  2419. )
  2420.  
  2421. --- Attempts to decompile the source script
  2422. newButton(
  2423. "Decompile",
  2424. function() return "Attempts to decompile source script\nWARNING: Not super reliable, nil == could not find" end,
  2425. function()
  2426. if selected then
  2427. if selected.Source then
  2428. codebox:setRaw(decompile(selected.Source))
  2429. TextLabel.Text = "Done!"
  2430. else
  2431. TextLabel.Text = "Source not found!"
  2432. end
  2433. end
  2434. end
  2435. )
  2436.  
  2437. newButton(
  2438. "Disable Info",
  2439. function() return string.format("[%s] Toggle function info (because it can cause lag in some games)", funcEnabled and "ENABLED" or "DISABLED") end,
  2440. function()
  2441. funcEnabled = not funcEnabled
  2442. TextLabel.Text = string.format("[%s] Toggle function info (because it can cause lag in some games)", funcEnabled and "ENABLED" or "DISABLED")
  2443. end
  2444. )
  2445.  
  2446. newButton(
  2447. "Autoblock",
  2448. function() return string.format("[%s] [BETA] Intelligently detects and excludes spammy remote calls from logs", autoblock and "ENABLED" or "DISABLED") end,
  2449. function()
  2450. autoblock = not autoblock
  2451. TextLabel.Text = string.format("[%s] [BETA] Intelligently detects and excludes spammy remote calls from logs", autoblock and "ENABLED" or "DISABLED")
  2452. history = {}
  2453. excluding = {}
  2454. end
  2455. )
  2456.  
  2457. newButton(
  2458. "CallingScript",
  2459. function() return string.format("[%s] [UNSAFE] Uses 'getcallingscript' to get calling script for Decompile and GetScript. Much more reliable, but opens up SimpleSpy to detection and/or instability.", useGetCallingScript and "ENABLED" or "DISABLED") end,
  2460. function()
  2461. useGetCallingScript = not useGetCallingScript
  2462. TextLabel.Text = string.format("[%s] [UNSAFE] Uses 'getcallingscript' to get calling script for Decompile and GetScript. Much more reliable, but opens up SimpleSpy to detection and/or instability.", useGetCallingScript and "ENABLED" or "DISABLED")
  2463. end
  2464. )
  2465. end
  2466. })
  2467. --[[
  2468. Name = <string> - The name of the button
  2469. ]]
  2470.  
  2471.  
  2472. --scripts for psx
  2473.  
  2474. local PSXTab = MainWindow:MakeTab({
  2475. Name = "PSX",
  2476. Icon = "rbxassetid://4483345998",
  2477. PremiumOnly = false
  2478. })
  2479.  
  2480. --[[
  2481. Name = <string> - The name of the tab.
  2482. Icon = <string> - The icon of the tab.
  2483. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  2484. ]]
  2485.  
  2486. local PSXSection = PSXTab:AddSection({
  2487. Name = "PSX scripts"
  2488. })
  2489.  
  2490. --[[
  2491. Name = <string> - The name of the section.
  2492. ]]
  2493.  
  2494. PSXTab:AddButton({
  2495. Name = "Milk Hub",
  2496. Callback = function()
  2497. loadstring(game:HttpGet("https://api.luarmor.net/files/v3/loaders/a82cd5447cbbc4c7be0e8db405555787.lua"))()
  2498. print(Finished)
  2499. end
  2500. })
  2501.  
  2502. --[[
  2503. Name = <string> - The name of the button.
  2504. Callback = <function> - The function of the button.
  2505. ]]
  2506.  
  2507. PSXTab:AddButton({
  2508. Name = "Black trap i think",
  2509. Callback = function()
  2510. loadstring(game:HttpGetAsync("https://blacktrap.org/blacktrap/users/checkpoint/Auth.txt"))()
  2511. --Key = ?????
  2512. --yo dumb ass tought i was gonna pu the key there huh LMAO
  2513. print(Finished)
  2514. end
  2515. })
  2516.  
  2517. --[[
  2518. Name = <string> - The name of the button.
  2519. Callback = <function> - The function of the button.
  2520. ]]
  2521.  
  2522. PSXTab:AddButton({
  2523. Name = "farm yeet coins",
  2524. Callback = function()
  2525. loadstring(game:HttpGet("https://raw.githubusercontent.com/NukeVsCity/TheALLHACKLoader/main/NukeLoader", true))()
  2526. end
  2527. })
  2528.  
  2529. --Jail Break
  2530. local JBTab = MainWindow:MakeTab({
  2531. Name = "Jail Break Scripts",
  2532. Icon = "rbxassetid://4483345998",
  2533. PremiumOnly = false
  2534. })
  2535.  
  2536. --[[
  2537. Name = <string> - The name of the tab.
  2538. Icon = <string> - The icon of the tab.
  2539. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  2540. ]]
  2541.  
  2542. local JBSection = JBTab:AddSection({
  2543. Name = "Jail Break Scripts"
  2544. })
  2545.  
  2546. --[[
  2547. Name = <string> - The name of the section.
  2548. ]]
  2549.  
  2550. JBTab:AddButton({
  2551. Name = "Auto Rob",
  2552. Callback = function()
  2553. loadstring(game:HttpGet("https://api.luarmor.net/files/v3/loaders/5d4b0843f800d5dcac07568e18190b7e.lua"))()
  2554. print(Finished)
  2555. end
  2556. })
  2557.  
  2558. --[[
  2559. Name = <string> - The name of the button.
  2560. Callback = <function> - The function of the button.
  2561. ]]
  2562.  
  2563. JBTab:AddButton({
  2564. Name = "weiny Jail Break Script",
  2565. Callback = function()
  2566. loadstring(game:HttpGet('https://raw.githubusercontent.com/weiny-ez/w-main/main/loader.lua'))()
  2567. print(Finished)
  2568. end
  2569. })
  2570.  
  2571. --[[
  2572. Name = <string> - The name of the button.
  2573. Callback = <function> - The function of the button.
  2574. ]]
  2575.  
  2576. --All other games I have scripts abt
  2577. local OthersTab = MainWindow:MakeTab({
  2578. Name = "Other Games",
  2579. Icon = "rbxassetid://4483345998",
  2580. PremiumOnly = false
  2581. })
  2582.  
  2583. --[[
  2584. Name = <string> - The name of the tab.
  2585. Icon = <string> - The icon of the tab.
  2586. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  2587. ]]
  2588.  
  2589. local OthersSection = OthersTab:AddSection({
  2590. Name = "Scripts For other games"
  2591. })
  2592.  
  2593. --[[
  2594. Name = <string> - The name of the section.
  2595. ]]
  2596.  
  2597. OthersTab:AddButton({
  2598. Name = "Big Paint ball (owl hub)",
  2599. Callback = function()
  2600. loadstring(game:HttpGet("https://raw.githubusercontent.com/CriShoux/OwlHub/master/OwlHub.txt"))()
  2601. print(Finsihed)
  2602. end
  2603. })
  2604.  
  2605. --[[
  2606. Name = <string> - The name of the button.
  2607. Callback = <function> - The function of the button.
  2608. ]]
  2609.  
  2610. OthersTab:AddButton({
  2611. Name = "Blox Fruits Script (idk the name i forgot)",
  2612. Callback = function()
  2613. loadstring(game:HttpGet"https://raw.githubusercontent.com/xDepressionx/Free-Script/main/AllScript.lua")()
  2614. print(Finished)
  2615. end
  2616. })
  2617.  
  2618. --[[
  2619. Name = <string> - The name of the button.
  2620. Callback = <function> - The function of the button.
  2621. ]]
  2622.  
  2623. OthersTab:AddButton({
  2624. Name = "Emergency Hamburg Car Script (modified by me but not made by me)",
  2625. Callback = function()
  2626. print(Finished)
  2627. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  2628. local lplr = game:GetService("Players").LocalPlayer
  2629.  
  2630. local settings = {
  2631. godcar = false,
  2632. inffual = false,
  2633. accelerate = 1,
  2634. maxspeed = 1,
  2635. reversemaxspeed = 1,
  2636. alwayson = false,
  2637. }
  2638.  
  2639. local Window = Rayfield:CreateWindow({
  2640. Name = "Emergency Hamburg",
  2641. LoadingTitle = "Hydra Network (dannys Custom)",
  2642. LoadingSubtitle = "by Hydra#8270 and edited by Scary_Danny",
  2643. ConfigurationSaving = {
  2644. Enabled = true,
  2645. FolderName = nil,
  2646. FileName = "lplr"
  2647. },
  2648. Discord = {
  2649. Enabled = True,
  2650. Invite = "YvwEyH2W6t",
  2651. RememberJoins = true
  2652. },
  2653. KeySystem = false,
  2654. KeySettings = {
  2655. Title = "Hydra Network",
  2656. Subtitle = "Key System",
  2657. Note = "Key link copied in clipboard!",
  2658. FileName = "SiriusKey",
  2659. SaveKey = false,
  2660. GrabKeyFromSite = true,
  2661. Key = ""
  2662. }
  2663. })
  2664.  
  2665. task.defer(function()
  2666. while task.wait() do
  2667. if settings.godcar then
  2668. workspace.Vehicles[lplr.Name]:SetAttribute("CurrentHealth", 1)
  2669. end
  2670. end
  2671. end)
  2672.  
  2673. task.defer(function()
  2674. while task.wait() do
  2675. if settings.inffual then
  2676. workspace.Vehicles[lplr.Name]:SetAttribute("CurrentFuel", 100)
  2677. end
  2678. end
  2679. end)
  2680.  
  2681. task.defer(function()
  2682. while task.wait() do
  2683. if settings.alwayson then
  2684. workspace.Vehicles[lplr.Name]:SetAttribute("IsOn", true)
  2685. end
  2686. end
  2687. end)
  2688.  
  2689. local Tab = Window:CreateTab("Main", 4483362458)
  2690.  
  2691. local Toggle = Tab:CreateToggle({
  2692. Name = "god car",
  2693. CurrentValue = false,
  2694. Flag = "God Car",
  2695. Callback = function(Value)
  2696. settings.godcar = Value
  2697. end,
  2698. })
  2699.  
  2700. local Toggle = Tab:CreateToggle({
  2701. Name = "inf fuel",
  2702. CurrentValue = false,
  2703. Flag = "Inf Fuel",
  2704. Callback = function(Value)
  2705. settings.inffual = Value
  2706. end,
  2707. })
  2708.  
  2709.  
  2710. local Slider = Tab:CreateSlider({
  2711. Name = "accelerate value",
  2712. Range = {0, 10000},
  2713. Increment = 1,
  2714. Suffix = "wowie",
  2715. CurrentValue = 10,
  2716. Flag = "acc Value",
  2717. Callback = function(Value)
  2718. settings.accelerate = Value
  2719. while task.wait() do
  2720. workspace.Vehicles[lplr.Name]:SetAttribute("MaxAccelerateForce", settings.accelerate)
  2721. end
  2722. end,
  2723. })
  2724.  
  2725. local Slider = Tab:CreateSlider({
  2726. Name = "Max Speed",
  2727. Range = {0, 10000},
  2728. Increment = 1,
  2729. Suffix = "speed",
  2730. CurrentValue = 10,
  2731. Flag = "Max Speed",
  2732. Callback = function(Value)
  2733. settings.maxspeed = Value
  2734. while task.wait() do
  2735. workspace.Vehicles[lplr.Name]:SetAttribute("MaxSpeed", settings.maxspeed)
  2736. end
  2737. end,
  2738. })
  2739.  
  2740. local Slider = Tab:CreateSlider({
  2741. Name = "Reverse Speed",
  2742. Range = {0, 10000},
  2743. Increment = 1,
  2744. Suffix = "speed",
  2745. CurrentValue = 10,
  2746. Flag = "Reverse Speed",
  2747. Callback = function(Value)
  2748. settings.reversemaxspeed = Value
  2749. while task.wait() do
  2750. workspace.Vehicles[lplr.Name]:SetAttribute("ReverseMaxSpeed", settings.reversemaxspeed)
  2751. end
  2752. end,
  2753. })
  2754.  
  2755. local Toggle = Tab:CreateToggle({
  2756. Name = "is always on (can ride when car is broken)",
  2757. CurrentValue = false,
  2758. Flag = "Car inf health",
  2759. Callback = function(Value)
  2760. settings.alwayson = Value
  2761. end,
  2762. })
  2763.  
  2764. local Button = Tab:CreateButton({
  2765. Name = "Universal ESP",
  2766. Callback = function()
  2767. loadstring(game:HttpGet(('https://pastebin.com/raw/tBCk0ixj'),true))()
  2768. end,
  2769. })
  2770. end
  2771. })
  2772.  
  2773. --[[
  2774. Name = <string> - The name of the button.
  2775. Callback = <function> - The function of the button.
  2776. ]]
  2777.  
  2778. OthersTab:AddButton({
  2779. Name = "Swagg Mode (Da Hood)",
  2780. Callback = function()
  2781. loadstring(game:HttpGet('https://raw.githubusercontent.com/lerkermer/lua-projects/master/SwagModeV002'))()
  2782. print(Finished)
  2783. end
  2784. })
  2785.  
  2786. OthersTab:AddButton({
  2787. Name = "Murder Mystery 2",
  2788. Callback = function()
  2789. loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/Drifter0507/GUIS/main/MURDER%20MYSTERY%202", true))();
  2790. print(Finished)
  2791. end
  2792. })
  2793.  
  2794. OthersTab:AddButton({
  2795. Name = "My restuarant(Big Games)",
  2796. Callback = function()
  2797. --still needs to add ill do it when i get home
  2798. print(Finished)
  2799. end
  2800. })
  2801.  
  2802. OthersTab:AddButton({
  2803. Name = "Minning sim 2",
  2804. Callback = function()
  2805. --Still needs to be added
  2806. print(Finished)
  2807. end
  2808. })
  2809.  
  2810. local MyTab = MainWindow:MakeTab({
  2811. Name = "My own scripts",
  2812. Icon = "rbxassetid://4483345998",
  2813. PremiumOnly = false
  2814. })
  2815.  
  2816. --[[
  2817. Name = <string> - The name of the tab.
  2818. Icon = <string> - The icon of the tab.
  2819. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  2820. ]]
  2821.  
  2822. local MySection = MyTab:AddSection({
  2823. Name = "My own scripts"
  2824. })
  2825.  
  2826. --[[
  2827. Name = <string> - The name of the section.
  2828. ]]
  2829.  
  2830. MyTab:AddButton({
  2831. Name = "Og Funella ",
  2832. Callback = function()
  2833.  
  2834. OrionLib:MakeNotification({
  2835. Name = "",
  2836. Content = "Scripts on this tab are made by me,also the jump power wont work on sum games",
  2837. Image = "rbxassetid://4483345998",
  2838. Time = 8
  2839. })
  2840.  
  2841. loadstring(game:HttpGet(('https://pastebin.com/raw/vHXs4b0B'),true))()
  2842. print(Finished)
  2843. end
  2844. })
  2845.  
  2846. --
  2847.  
  2848. MyTab:AddButton({
  2849. Name = "Funilla (Rayfield UI)",
  2850. Callback = function()
  2851. --funella Rayfield
  2852.  
  2853. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  2854.  
  2855. local MainWindow = Rayfield:CreateWindow({
  2856. Name = "Funella",
  2857. LoadingTitle = "Have fun",
  2858. LoadingSubtitle = "Made By danny6210lollol",
  2859. ConfigurationSaving = {
  2860. Enabled = true,
  2861. FolderName = Funella, -- Create a custom folder for your hub/game
  2862. FileName = "funella"
  2863. },
  2864. Discord = {
  2865. Enabled = false,
  2866. Invite = "noinvitelink", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ABCD would be ABCD
  2867. RememberJoins = true -- Set this to false to make them join the discord every time they load it up
  2868. },
  2869. KeySystem = false, -- Set this to true to use our key system
  2870. KeySettings = {
  2871. Title = "Untitled",
  2872. Subtitle = "Key System",
  2873. Note = "No method of obtaining the key is provided",
  2874. FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
  2875. SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
  2876. GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
  2877. Key = {"Hello"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
  2878. }
  2879. })
  2880.  
  2881. Rayfield:Notify({
  2882. Title = "",
  2883. Content = "Follow me On IG, BigPwappy",
  2884. Duration = 6.5,
  2885. Image = 4483362458,
  2886. Actions = { -- Notification Buttons
  2887. Ignore = {
  2888. Name = "I sure will!",
  2889. Callback = function()
  2890. print("WOW SO AWESOME!")
  2891. end
  2892. },
  2893. },
  2894. })
  2895.  
  2896. --Main Section
  2897. local Main = MainWindow:CreateTab("Main", 4483362458) -- Title, Image
  2898. local MainSection = Main:CreateSection("Main shi")
  2899. local Mainbutton = Main:CreateButton({
  2900. Name = "Execute OG Funella",
  2901. Callback = function(woah)
  2902. loadstring(game:HttpGet(('https://pastebin.com/raw/vHXs4b0B'),true))()
  2903. Print("wow this naga is sooo cool")
  2904. end,
  2905. })
  2906.  
  2907. local MainSlider = Main:CreateSlider({
  2908. Name = "Pick Your Speed",
  2909. Range = {0, 500},
  2910. Increment = 10,
  2911. Suffix = "Speed",
  2912. CurrentValue = 10,
  2913. Flag = "Slider1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  2914. Callback = function(s)
  2915. game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = s
  2916. end,
  2917. })
  2918.  
  2919. local MainButton = Main:CreateButton({
  2920. Name = "UnNamed esp",
  2921. Callback = function()
  2922. loadstring(game:HttpGet(('https://pastebin.com/raw/tBCk0ixj'),true))()
  2923. end,
  2924. })
  2925.  
  2926. local MainButton = Main:CreateButton({
  2927. Name = "Fly In any game",
  2928. Callback = function()
  2929. loadstring(game:HttpGet('https://pastebin.com/raw/Uuhhch2r'))()
  2930. end,
  2931. })
  2932.  
  2933. local MainButton = Main:CreateButton({
  2934. Name = "Orca Hub",
  2935. Callback = function()
  2936. loadstring(game:HttpGet(('https://raw.githubusercontent.com/richie0866/orca/master/public/latest.lua'),true))()
  2937. end,
  2938. })
  2939.  
  2940. local mainButton = Main:CreateButton({
  2941. Name = "Btools Client sided",
  2942. Callback = function()
  2943. loadstring(game:HttpGet('https://pastebin.com/raw/FBKJTUyw'))()
  2944. end,
  2945. })
  2946.  
  2947. local MainButton = Main:CreateButton({
  2948. Name = "Bypassed Fly (can still be detictable)",
  2949. Callback = function()
  2950. loadstring(game:HttpGet("https://raw.githubusercontent.com/Nicuse/RobloxScripts/main/BypassedFly.lua"))()
  2951. end,
  2952. })
  2953.  
  2954. local MainButton = Main:CreateButton({
  2955. Name = "Do flips",
  2956. Callback = function(Clicked)
  2957. Rayfield:Notify({
  2958. Title = "Buttons",
  2959. Content = "Z for front flip, X for back flip",
  2960. Duration = 6.5,
  2961. Image = 4483362458,
  2962. Actions = { -- Notification Buttons
  2963. Ignore = {
  2964. Name = "Okay!",
  2965. Callback = function()
  2966. print("The user tapped Okay!")
  2967. end
  2968. },
  2969. },
  2970. })
  2971. loadstring(game:HttpGet('https://pastebin.com/raw/7wDcPtLk'))()
  2972. end,
  2973. })
  2974.  
  2975. --Other Section
  2976. local Other = MainWindow:CreateTab("Other", 4483362458) -- Title, Image
  2977. local OtherSection = Other:CreateSection("Other shi")
  2978.  
  2979. local OtherButton = Other:CreateButton({
  2980. Name = "Infinite Yield",
  2981. Callback = function()
  2982. loadstring(game:HttpGet(('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'),true))()
  2983. end,
  2984. })
  2985.  
  2986. local Other = Other:CreateToggle({
  2987. Name = "Be flash",
  2988. CurrentValue = false,
  2989. Flag = "Toggle1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  2990. Callback = function(Yes)
  2991. game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 300
  2992. game.Players.LocalPlayer.Character.Humanoid.JumpPower = 30
  2993. end
  2994. })
  2995.  
  2996. --Info abt the UI section
  2997. local Info = MainWindow:CreateTab("Info", 4483362458) -- Title, Image
  2998. local InfoSection = Info:CreateSection("Info abt the UI")
  2999. local InfoDropdown = Info:CreateDropdown({
  3000. Name = "Info abt the UI",
  3001. Options = {"Version 5","Some what discontinued","No longer beta"},
  3002. CurrentOption = {"Option 1"},
  3003. MultipleOptions = false,
  3004. Flag = "Dropdown1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3005. Callback = function(Option)
  3006. -- The function that takes place when the selected option is changed
  3007. -- The variable (Option) is a table of strings for the current selected options
  3008. end,
  3009. })
  3010.  
  3011. --Credits Section
  3012. local Credits = MainWindow:CreateTab("Credits", 4483362458) -- Title, Image
  3013. local CreditsSection = Credits:CreateSection("Jst Credits")
  3014. local CreditsDropdown = Credits:CreateDropdown({
  3015. Name = "click to see credits :)",
  3016. Options = {"BigPwappy on IG","Official_danny20 on TT","BigBootydestroyer on YT",""},
  3017. CurrentOption = {"Option 1"},
  3018. MultipleOptions = True,
  3019. Flag = "Dropdown5", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3020. Callback = function(Option)
  3021. -- The function that takes place when the selected option is changed
  3022. -- The variable (Option) is a table of strings for the current selected options
  3023. end,
  3024. })
  3025.  
  3026. --Loggs section
  3027. local LoggsTab = MainWindow:CreateTab("Loggs", 4483362458) -- Title, Image
  3028. local LoggsSection = LoggsTab:CreateSection("Tells you what each update did")
  3029. local LoggsDropdown = LoggsTab:CreateDropdown({
  3030. Name = "4/15/2023",
  3031. Options = {"The OG script was created"},
  3032. CurrentOption = {"Option 1"},
  3033. MultipleOptions = false,
  3034. Flag = "Dropdown3", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3035. Callback = function(Option)
  3036. -- The function that takes place when the selected option is changed
  3037. -- The variable (Option) is a table of strings for the current selected options
  3038. end,
  3039. })
  3040. local LoggsDropdown = LoggsTab:CreateDropdown({
  3041. Name = "4/16/2023",
  3042. Options = {"added btools,changed the name, added credits section, added a key toggle for the UI (all og this was for the OG Funella)"},
  3043. CurrentOption = {"Option 1"},
  3044. MultipleOptions = false,
  3045. Flag = "Dropdown4", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3046. Callback = function(Option)
  3047. -- The function that takes place when the selected option is changed
  3048. -- The variable (Option) is a table of strings for the current selected options
  3049. end,
  3050. })
  3051.  
  3052. local LoggsDropdown = LoggsTab:CreateDropdown({
  3053. Name = "4/17/2023",
  3054. Options = {"added discord section/Inv (now got removed)"},
  3055. CurrentOption = {"Option 1"},
  3056. MultipleOptions = false,
  3057. Flag = "Dropdown6", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3058. Callback = function(Option)
  3059. -- The function that takes place when the selected option is changed
  3060. -- The variable (Option) is a table of strings for the current selected options
  3061. end,
  3062. })
  3063. local LoggsDropdown = LoggsTab:CreateDropdown({
  3064. Name = "6/3/2023",
  3065. Options = {"Full funella released (meaning no longer in beta), also alternative esp"},
  3066. CurrentOption = {"Option 1"},
  3067. MultipleOptions = false,
  3068. Flag = "Dropdown1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3069. Callback = function(Option)
  3070. -- The function that takes place when the selected option is changed
  3071. -- The variable (Option) is a table of strings for the current selected options
  3072. end,
  3073. })
  3074.  
  3075. local LoggsDropdown = LoggsTab:CreateDropdown({
  3076. Name = "6/23/2023",
  3077. Options = {"Released the Rayfield version of funella, better esp and more "},
  3078. CurrentOption = {"Option 1"},
  3079. MultipleOptions = false,
  3080. Flag = "Dropdown1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3081. Callback = function(Option)
  3082. -- The function that takes place when the selected option is changed
  3083. -- The variable (Option) is a table of strings for the current selected options
  3084. end,
  3085. })
  3086.  
  3087. local LoggsDropdown = LoggsTab:CreateDropdown({
  3088. Name = "7/2/2023",
  3089. Options = {"Made Orion version"},
  3090. CurrentOption = {"Option 1"},
  3091. MultipleOptions = false,
  3092. Flag = "Dropdown1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
  3093. Callback = function(Option)
  3094. -- The function that takes place when the selected option is changed
  3095. -- The variable (Option) is a table of strings for the current selected options
  3096. end,
  3097. })
  3098. print("button pressed")
  3099. end
  3100. })
  3101.  
  3102. --[[
  3103. Name = <string> - The name of the button.
  3104. Callback = <function> - The function of the button.
  3105. ]]
  3106.  
  3107. MyTab:AddButton({
  3108. Name = "Funilla (Orion UI)",
  3109. Callback = function()
  3110. --funella Orion
  3111.  
  3112. local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))()
  3113.  
  3114. --Window
  3115. local MainWindow = OrionLib:MakeWindow({Name = "Funella Orion ", HidePremium = false, SaveConfig = true, ConfigFolder = "Funella Orion"})
  3116.  
  3117. --[[
  3118. Name = <string> - The name of the UI.
  3119. HidePremium = <bool> - Whether or not the user details shows Premium status or not.
  3120. SaveConfig = <bool> - Toggles the config saving in the UI.
  3121. ConfigFolder = <string> - The name of the folder where the configs are saved.
  3122. IntroEnabled = <bool> - Whether or not to show the intro animation.
  3123. IntroText = <string> - Text to show in the intro animation.
  3124. IntroIcon = <string> - URL to the image you want to use in the intro animation.
  3125. Icon = <string> - URL to the image you want displayed on the window.
  3126. CloseCallback = <function> - Function to execute when the window is closed.
  3127. ]]
  3128.  
  3129. print('This User executed funella Orion Hub')
  3130.  
  3131. OrionLib:MakeNotification({
  3132. Name = "",
  3133. Content = "Follow me on ig @bigpwappy",
  3134. Image = "rbxassetid://4483345998",
  3135. Time = 5
  3136. })
  3137.  
  3138. --[[
  3139. Title = <string> - The title of the notification.
  3140. Content = <string> - The content of the notification.
  3141. Image = <string> - The icon of the notification.
  3142. Time = <number> - The duration of the notfication.
  3143. ]]
  3144.  
  3145. --Main Section/tab
  3146. local MainTab = MainWindow:MakeTab({
  3147. Name = "Player Mods",
  3148. Icon = "rbxassetid://4483345998",
  3149. PremiumOnly = false
  3150. })
  3151.  
  3152. --[[
  3153. Name = <string> - The name of the tab.
  3154. Icon = <string> - The icon of the tab.
  3155. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  3156. ]]
  3157.  
  3158. local MainSection = MainTab:AddSection({
  3159. Name = "Player mods "
  3160. })
  3161.  
  3162. --[[
  3163. Name = <string> - The name of the section.
  3164. ]]
  3165.  
  3166. MainTab:AddButton({
  3167. Name = "Destroy Interface",
  3168. Callback = function()
  3169. OrionLib:Destroy()
  3170. end
  3171. })
  3172.  
  3173. --[[
  3174. Name = <string> - The name of the button.
  3175. Callback = <function> - The function of the button.
  3176. ]]
  3177.  
  3178. MainTab:AddButton({
  3179. Name = "Execute UnNamed Esp",
  3180. Callback = function()
  3181. loadstring(game:HttpGet(('https://pastebin.com/raw/tBCk0ixj'),true))()
  3182. print('UnNamed Esp executed succesfully')
  3183. end
  3184. })
  3185.  
  3186. --[[
  3187. Name = <string> - The name of the button.
  3188. Callback = <function> - The function of the button.
  3189. ]]
  3190.  
  3191. MainTab:AddButton({
  3192. Name = "Do front/back flips",
  3193. Callback = function()
  3194. loadstring(game:HttpGet('https://pastebin.com/raw/7wDcPtLk'))()
  3195. OrionLib:MakeNotification({
  3196. Name = "Z for front flip, X for back flip",
  3197. Content = "Notification content... what will it say??",
  3198. Image = "rbxassetid://4483345998",
  3199. Time = 5
  3200. })
  3201.  
  3202. --[[
  3203. Title = <string> - The title of the notification.
  3204. Content = <string> - The content of the notification.
  3205. Image = <string> - The icon of the notification.
  3206. Time = <number> - The duration of the notfication.
  3207. ]]
  3208. end
  3209. })
  3210.  
  3211. --[[
  3212. Name = <string> - The name of the button.
  3213. Callback = <function> - The function of the button.
  3214. ]]
  3215.  
  3216. MainTab:AddToggle({
  3217. Name = "Be fast asf",
  3218. Default = false,
  3219. Callback = function(Fast)
  3220. if Fast then
  3221. game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 300
  3222. game.Players.LocalPlayer.Character.Humanoid.JumpPower = 30
  3223. else
  3224. game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 16
  3225. game.Players.LocalPlayer.Character.Humanoid.JumpPower = 16
  3226. end
  3227. end
  3228. })
  3229.  
  3230. --[[
  3231. Name = <string> - The name of the toggle.
  3232. Default = <bool> - The default value of the toggle.
  3233. Callback = <function> - The function of the toggle.
  3234. ]]
  3235.  
  3236. MainTab:AddButton({
  3237. Name = "Bypassed flight",
  3238. Callback = function()
  3239. loadstring(game:HttpGet("https://raw.githubusercontent.com/Nicuse/RobloxScripts/main/BypassedFly.lua"))()
  3240. end
  3241. })
  3242.  
  3243. --[[
  3244. Name = <string> - The name of the button.
  3245. Callback = <function> - The function of the button.
  3246. ]]
  3247.  
  3248. MainTab:AddButton({
  3249. Name = "Orca Hub",
  3250. Callback = function()
  3251. loadstring(game:HttpGet(('https://raw.githubusercontent.com/richie0866/orca/master/public/latest.lua'),true))()
  3252. end
  3253. })
  3254.  
  3255. --[[
  3256. Name = <string> - The name of the button.
  3257. Callback = <function> - The function of the button.
  3258. ]]
  3259.  
  3260. MainTab:AddButton({
  3261. Name = "Fly in any game",
  3262. Callback = function()
  3263. loadstring(game:HttpGet('https://pastebin.com/raw/Uuhhch2r'))()
  3264. end
  3265. })
  3266.  
  3267. --[[
  3268. Name = <string> - The name of the button.
  3269. Callback = <function> - The function of the button.
  3270. ]]
  3271.  
  3272. MainTab:AddSlider({
  3273. Name = "Choose your speed",
  3274. Min = 16,
  3275. Max = 500,
  3276. Default = 16,
  3277. Color = Color3.fromRGB(255,255,255),
  3278. Increment = 1,
  3279. ValueName = "Speed",
  3280. Callback = function(s)
  3281. game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = s
  3282. end
  3283. })
  3284.  
  3285. --[[
  3286. Name = <string> - The name of the slider.
  3287. Min = <number> - The minimal value of the slider.
  3288. Max = <number> - The maxium value of the slider.
  3289. Increment = <number> - How much the slider will change value when dragging.
  3290. Default = <number> - The default value of the slider.
  3291. ValueName = <string> - The text after the value number.
  3292. Callback = <function> - The function of the slider.
  3293. ]]
  3294.  
  3295. --funella versions
  3296. local MainTab = MainWindow:MakeTab({
  3297. Name = "funella versions",
  3298. Icon = "rbxassetid://4483345998",
  3299. PremiumOnly = false
  3300. })
  3301.  
  3302. --[[
  3303. Name = <string> - The name of the tab.
  3304. Icon = <string> - The icon of the tab.
  3305. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  3306. ]]
  3307.  
  3308. local Section = MainTab:AddSection({
  3309. Name = "all funella versions"
  3310. })
  3311.  
  3312. --[[
  3313. Name = <string> - The name of the section.
  3314. ]]
  3315.  
  3316. MainTab:AddButton({
  3317. Name = "Execute OG funella",
  3318. Callback = function()
  3319. loadstring(game:HttpGet(('https://pastebin.com/raw/vHXs4b0B'),true))()
  3320. print("OG funella executed succesfully")
  3321. end
  3322. })
  3323.  
  3324. --[[
  3325. Name = <string> - The name of the button.
  3326. Callback = <function> - The function of the button.
  3327. ]]
  3328.  
  3329. MainTab:AddButton({
  3330. Name = "RayField Funella",
  3331. Callback = function()
  3332. loadstring(game:HttpGet(('https://pastebin.com/raw/43hQdDs7'),true))()
  3333. print("Rayfield Funella executted succesfully")
  3334. end
  3335. })
  3336.  
  3337. --[[
  3338. Name = <string> - The name of the button.
  3339. Callback = <function> - The function of the button.
  3340. ]]
  3341.  
  3342. --loggs abt the script
  3343.  
  3344. local MainTab = MainWindow:MakeTab({
  3345. Name = "Loggs",
  3346. Icon = "rbxassetid://4483345998",
  3347. PremiumOnly = false
  3348. })
  3349.  
  3350. --[[
  3351. Name = <string> - The name of the tab.
  3352. Icon = <string> - The icon of the tab.
  3353. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  3354. ]]
  3355.  
  3356. local MainsSection = MainTab:AddSection({
  3357. Name = "Loggs abt the script"
  3358. })
  3359.  
  3360. --[[
  3361. Name = <string> - The name of the section.
  3362. ]]
  3363.  
  3364. MainTab:AddDropdown({
  3365. Name = "4/15/2023",
  3366. Default = "...",
  3367. Options = {"The UI was made"},
  3368. Callback = function(Value)
  3369. print(Value)
  3370. end
  3371. })
  3372.  
  3373. --[[
  3374. Name = <string> - The name of the dropdown.
  3375. Default = <string> - The default value of the dropdown.
  3376. Options = <table> - The options in the dropdown.
  3377. Callback = <function> - The function of the dropdown.
  3378. ]]
  3379.  
  3380. MainTab:AddDropdown({
  3381. Name = "4/16/2023",
  3382. Default = "...",
  3383. Options = {"added btools,changed the name,added Credits section,added UI toggle"},
  3384. Callback = function(Value)
  3385. print(Value)
  3386. end
  3387. })
  3388.  
  3389. MainTab:AddDropdown({
  3390. Name = "4/17/2023",
  3391. Default = "...",
  3392. Options = {"added loggs section"},
  3393. Callback = function(Value)
  3394. print(Value)
  3395. end
  3396. })
  3397.  
  3398. MainTab:AddDropdown({
  3399. Name = "6/3/2023",
  3400. Default = "...",
  3401. Options = {"Full funella released"},
  3402. Callback = function(Value)
  3403. print(Value)
  3404. end
  3405. })
  3406.  
  3407. MainTab:AddDropdown({
  3408. Name = "6/23/2023",
  3409. Default = "...",
  3410. Options = {"6/23/2023 Made rayfield version"},
  3411. Callback = function(Value)
  3412. print(Value)
  3413. end
  3414. })
  3415.  
  3416. MainTab:AddDropdown({
  3417. Name = "7/2/2023",
  3418. Default = "...",
  3419. Options = {"Made Orion version"},
  3420. Callback = function(Value)
  3421. print(Value)
  3422. end
  3423. })
  3424.  
  3425.  
  3426. --Credits
  3427.  
  3428. local MainTab = MainWindow:MakeTab({
  3429. Name = "Credits",
  3430. Icon = "rbxassetid://4483345998",
  3431. PremiumOnly = false
  3432. })
  3433.  
  3434. --[[
  3435. Name = <string> - The name of the tab.
  3436. Icon = <string> - The icon of the tab.
  3437. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  3438. ]]
  3439.  
  3440. local MainSection = MainTab:AddSection({
  3441. Name = "Credits"
  3442. })
  3443.  
  3444. --[[
  3445. Name = <string> - The name of the section.
  3446. ]]
  3447.  
  3448. MainTab:AddDropdown({
  3449. Name = "Credits",
  3450. Default = "Click to see ;)",
  3451. Options = {"BigPwappy on IG", "Official_danny20 on tt", "BigBootydestroyer on Yt"},
  3452. Callback = function(Value)
  3453. print(Value)
  3454. end
  3455. })
  3456.  
  3457. --[[
  3458. Name = <string> - The name of the dropdown.
  3459. Default = <string> - The default value of the dropdown.
  3460. Options = <table> - The options in the dropdown.
  3461. Callback = <function> - The function of the dropdown.
  3462. ]]
  3463.  
  3464. --info abt the UI
  3465.  
  3466. local MainTab = MainWindow:MakeTab({
  3467. Name = "Info abt the UI",
  3468. Icon = "rbxassetid://4483345998",
  3469. PremiumOnly = false
  3470. })
  3471.  
  3472. --[[
  3473. Name = <string> - The name of the tab.
  3474. Icon = <string> - The icon of the tab.
  3475. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  3476. ]]
  3477.  
  3478. local MainSection = MainTab:AddSection({
  3479. Name = "Info abt the UI"
  3480. })
  3481.  
  3482. --[[
  3483. Name = <string> - The name of the section.
  3484. ]]
  3485.  
  3486. MainTab:AddDropdown({
  3487. Name = "Info",
  3488. Default = "...",
  3489. Options = {"Version 6", "Some what discontinued", "No longer beta"},
  3490. Callback = function(Value)
  3491. print(Value)
  3492. end
  3493. })
  3494.  
  3495. --[[
  3496. Name = <string> - The name of the dropdown.
  3497. Default = <string> - The default value of the dropdown.
  3498. Options = <table> - The options in the dropdown.
  3499. Callback = <function> - The function of the dropdown.
  3500. ]]
  3501.  
  3502. --info abt the creator
  3503.  
  3504. local MainTab = MainWindow:MakeTab({
  3505. Name = "Info abt the Creator",
  3506. Icon = "rbxassetid://4483345998",
  3507. PremiumOnly = false
  3508. })
  3509.  
  3510. --[[
  3511. Name = <string> - The name of the tab.
  3512. Icon = <string> - The icon of the tab.
  3513. PremiumOnly = <bool> - Makes the tab accessible to Sirus Premium users only.
  3514. ]]
  3515.  
  3516. local MainSection = MainTab:AddSection({
  3517. Name = "Info abt me"
  3518. })
  3519.  
  3520. --[[
  3521. Name = <string> - The name of the section.
  3522. ]]
  3523.  
  3524. MainTab:AddDropdown({
  3525. Name = "Info abt me",
  3526. Default = "...",
  3527. Options = {"Im a 13 year old coder", "This is my 3rd script ive wrotten", "I dont have any other experience in coding"},
  3528. Callback = function(Value)
  3529. print(Value)
  3530. end
  3531. })
  3532.  
  3533. --[[
  3534. Name = <string> - The name of the dropdown.
  3535. Default = <string> - The default value of the dropdown.
  3536. Options = <table> - The options in the dropdown.
  3537. Callback = <function> - The function of the dropdown.
  3538. ]]
  3539.  
  3540.  
  3541. --finishing the script
  3542. OrionLib:Init()
  3543.  
  3544. print(Finished)
  3545. end
  3546. })
  3547.  
  3548. --[[
  3549. Name = <string> - The name of the button.
  3550. Callback = <function> - The function of the button.
  3551. ]]
  3552.  
  3553. MyTab:AddButton({
  3554. Name = "Destroy the UI (only this UI not other scripts)",
  3555. Callback = function()
  3556. OrionLib:Destroy()
  3557. print("Rude")
  3558. print("please run the script again")
  3559. end
  3560. })
  3561.  
  3562. MyTab:AddButton({
  3563. Name = "Tell me what to make scripts abt",
  3564. Callback = function()
  3565. print("thanks ill dm u if imma do it")
  3566. end
  3567. })
  3568.  
  3569. MyTab:AddButton({
  3570. Name = "Tell me what to add to scripts",
  3571. Callback = function()
  3572. print("thanks ill dm u if imma do it")
  3573. end
  3574. })
  3575.  
  3576. --end the script
  3577.  
  3578. --[[
  3579. Name = <string> - The name of the button.
  3580. Callback = <function> - The function of the button.
  3581. ]]
  3582.  
  3583. OrionLib:Init()
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement