Advertisement
Thecodeeasar

Untitled

Oct 15th, 2024
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.17 KB | None | 0 0
  1. local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))()
  2. local Window = OrionLib:MakeWindow({Name = "Universal Hub by wutdahell510 on Roblox", HidePremium = false, SaveConfig = true, ConfigFolder = "SaveConfig"})
  3.  
  4. -- Initialize global user database if it doesn't exist
  5. if not _G.users then
  6. _G.users = {}
  7. end
  8.  
  9. local function isOwner()
  10. return game.Players.LocalPlayer.Name:lower() == "wutdahell510"
  11. end
  12.  
  13. local function getUserRank(player)
  14. local playerName = typeof(player) == "string" and player or player.Name
  15. if isOwner() then
  16. return "Owner"
  17. elseif _G.users[playerName] then
  18. return _G.users[playerName].rank
  19. else
  20. return "No Rank"
  21. end
  22. end
  23.  
  24. local function hasAccess(requiredRank)
  25. local playerRank = getUserRank(game.Players.LocalPlayer)
  26. return isOwner() or playerRank == requiredRank or (requiredRank == "Premium" and playerRank == "Content Creator")
  27. end
  28.  
  29. -- Function to add new user or update existing user
  30. local function addOrUpdateUser(username, rank)
  31. if not isOwner() then
  32. _G.users[username] = {
  33. rank = rank or (_G.users[username] and _G.users[username].rank) or "No Rank",
  34. joinTime = _G.users[username] and _G.users[username].joinTime or os.date("%Y-%m-%d %H:%M:%S"),
  35. inDiscord = _G.users[username] and _G.users[username].inDiscord or false
  36. }
  37. end
  38. end
  39.  
  40. -- Add current player to users when script is executed
  41. addOrUpdateUser(game.Players.LocalPlayer.Name)
  42.  
  43. -- Function to check if a player is online
  44. local function isPlayerOnline(username)
  45. for _, player in pairs(game.Players:GetPlayers()) do
  46. if player.Name == username then
  47. return true
  48. end
  49. end
  50. return false
  51. end
  52.  
  53. -- Main Tab
  54. local MainTab = Window:MakeTab({
  55. Name = "Main",
  56. Icon = "rbxassetid://4483345998",
  57. PremiumOnly = false
  58. })
  59.  
  60. MainTab:AddButton({
  61. Name = "Show My Rank",
  62. Callback = function()
  63. local currentRank = getUserRank(game.Players.LocalPlayer)
  64. OrionLib:MakeNotification({
  65. Name = "Current Rank",
  66. Content = "Your current rank is: " .. currentRank,
  67. Image = "rbxassetid://4483345998",
  68. Time = 5
  69. })
  70. end
  71. })
  72.  
  73. -- No Rank Tab
  74. local NoRankTab = Window:MakeTab({
  75. Name = "No Rank Scripts",
  76. Icon = "rbxassetid://4483345998",
  77. PremiumOnly = false
  78. })
  79.  
  80. NoRankTab:AddButton({
  81. Name = "Anti-AFK",
  82. Callback = function()
  83. loadstring(game:HttpGet("https://raw.githubusercontent.com/NoTwistedHere/Roblox/main/AntiAFK.lua"))()
  84. OrionLib:MakeNotification({
  85. Name = "Anti-AFK",
  86. Content = "Anti-AFK script has been activated",
  87. Image = "rbxassetid://4483345998",
  88. Time = 5
  89. })
  90. end
  91. })
  92.  
  93. NoRankTab:AddButton({
  94. Name = "RemoteSpy",
  95. Callback = function()
  96. loadstring(game:HttpGet("https://github.com/exxtremestuffs/SimpleSpySource/raw/master/SimpleSpy.lua"))()
  97. OrionLib:MakeNotification({
  98. Name = "RemoteSpy",
  99. Content = "RemoteSpy has been activated",
  100. Image = "rbxassetid://4483345998",
  101. Time = 5
  102. })
  103. end
  104. })
  105.  
  106. -- Premium Tab
  107. local PremiumTab = Window:MakeTab({
  108. Name = "Premium Scripts",
  109. Icon = "rbxassetid://4483345998",
  110. PremiumOnly = false
  111. })
  112.  
  113. PremiumTab:AddButton({
  114. Name = "AntiKick",
  115. Callback = function()
  116. if hasAccess("Premium") then
  117. loadstring(game:HttpGet("https://raw.githubusercontent.com/Exunys/Anti-Kick/main/Anti-Kick.lua"))()
  118. OrionLib:MakeNotification({
  119. Name = "AntiKick",
  120. Content = "AntiKick script has been activated",
  121. Image = "rbxassetid://4483345998",
  122. Time = 5
  123. })
  124. else
  125. OrionLib:MakeNotification({
  126. Name = "Access Denied",
  127. Content = "This feature is for Premium users only.",
  128. Image = "rbxassetid://4483345998",
  129. Time = 5
  130. })
  131. end
  132. end
  133. })
  134.  
  135. -- Content Creator Tab
  136. local ContentCreatorTab = Window:MakeTab({
  137. Name = "Content Creator Scripts",
  138. Icon = "rbxassetid://4483345998",
  139. PremiumOnly = false
  140. })
  141.  
  142. ContentCreatorTab:AddButton({
  143. Name = "Coming Soon...",
  144. Callback = function()
  145. OrionLib:MakeNotification({
  146. Name = "Coming Soon",
  147. Content = "Content Creator features are coming soon!",
  148. Image = "rbxassetid://4483345998",
  149. Time = 5
  150. })
  151. end
  152. })
  153.  
  154. -- Databases Tab (Only for owner)
  155. if isOwner() then
  156. local DatabasesTab = Window:MakeTab({
  157. Name = "Databases",
  158. Icon = "rbxassetid://4483345998",
  159. PremiumOnly = false
  160. })
  161.  
  162. DatabasesTab:AddTextbox({
  163. Name = "Add/Update User Rank",
  164. Default = "",
  165. TextDisappear = false,
  166. Callback = function(username)
  167. DatabasesTab:AddDropdown({
  168. Name = "Select Rank",
  169. Default = "No Rank",
  170. Options = {"No Rank", "Premium", "Content Creator"},
  171. Callback = function(rank)
  172. addOrUpdateUser(username, rank)
  173. OrionLib:MakeNotification({
  174. Name = "Rank Updated",
  175. Content = username .. " rank set to: " .. rank,
  176. Image = "rbxassetid://4483345998",
  177. Time = 5
  178. })
  179. end
  180. })
  181. end
  182. })
  183.  
  184. -- Function to get all usernames
  185. local function getUsernames()
  186. local usernames = {}
  187. for username, _ in pairs(_G.users) do
  188. table.insert(usernames, username)
  189. end
  190. return usernames
  191. end
  192.  
  193. -- Dropdown to select and view user information
  194. DatabasesTab:AddDropdown({
  195. Name = "Select User to View",
  196. Default = "",
  197. Options = getUsernames(),
  198. Callback = function(selectedUser)
  199. if _G.users[selectedUser] then
  200. local userInfo = _G.users[selectedUser]
  201. local onlineStatus = isPlayerOnline(selectedUser) and "🟢 Online" or "⚫ Offline"
  202. OrionLib:MakeNotification({
  203. Name = "User Information",
  204. Content = string.format("%s\nUser: %s\nRank: %s\nJoin Time: %s\nIn Discord: %s",
  205. onlineStatus, selectedUser, userInfo.rank, userInfo.joinTime, tostring(userInfo.inDiscord)),
  206. Image = "rbxassetid://4483345998",
  207. Time = 10
  208. })
  209. else
  210. OrionLib:MakeNotification({
  211. Name = "User Not Found",
  212. Content = "No information available for " .. selectedUser,
  213. Image = "rbxassetid://4483345998",
  214. Time = 5
  215. })
  216. end
  217. end
  218. })
  219.  
  220. -- Button to view all users
  221. DatabasesTab:AddButton({
  222. Name = "View All Users",
  223. Callback = function()
  224. local allUsersInfo = "All Users:\n\n"
  225. for username, data in pairs(_G.users) do
  226. local onlineStatus = isPlayerOnline(username) and "🟢" or "⚫"
  227. allUsersInfo = allUsersInfo .. string.format("%s %s - Rank: %s\n", onlineStatus, username, data.rank)
  228. end
  229. OrionLib:MakeNotification({
  230. Name = "All Users",
  231. Content = allUsersInfo,
  232. Image = "rbxassetid://4483345998",
  233. Time = 15
  234. })
  235. end
  236. })
  237.  
  238. -- Button to refresh user list
  239. DatabasesTab:AddButton({
  240. Name = "Refresh User List",
  241. Callback = function()
  242. DatabasesTab:UpdateDropdown("Select User to View", getUsernames(), "")
  243. OrionLib:MakeNotification({
  244. Name = "User List Refreshed",
  245. Content = "The user list has been updated.",
  246. Image = "rbxassetid://4483345998",
  247. Time = 5
  248. })
  249. end
  250. })
  251. end
  252.  
  253. OrionLib:Init()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement