scriptingtales

a

Jun 28th, 2022 (edited)
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.24 KB | None | 0 0
  1. -- Gui to Lua
  2. -- Version: 3.2
  3.  
  4. -- Instances:
  5.  
  6. local Info = Instance.new("ScreenGui")
  7. local Frame = Instance.new("Frame")
  8. local UICorner = Instance.new("UICorner")
  9. local NameInfo = Instance.new("Frame")
  10. local displayName = Instance.new("TextLabel")
  11. local UIPadding = Instance.new("UIPadding")
  12. local userName_ID = Instance.new("TextLabel")
  13. local UIPadding_2 = Instance.new("UIPadding")
  14. local UIListLayout = Instance.new("UIListLayout")
  15. local line = Instance.new("Frame")
  16. local UIGradient = Instance.new("UIGradient")
  17. local Info_2 = Instance.new("Frame")
  18. local Country = Instance.new("TextLabel")
  19. local UIPadding_3 = Instance.new("UIPadding")
  20. local ImageLabel = Instance.new("ImageLabel")
  21. local UICorner_2 = Instance.new("UICorner")
  22. local UIListLayout_2 = Instance.new("UIListLayout")
  23. local Ping = Instance.new("TextLabel")
  24. local UIPadding_4 = Instance.new("UIPadding")
  25. local SafeChat = Instance.new("TextLabel")
  26. local UIPadding_5 = Instance.new("UIPadding")
  27. local note = Instance.new("TextLabel")
  28. local UIPadding_6 = Instance.new("UIPadding")
  29. local JoinDate = Instance.new("TextLabel")
  30. local UIPadding_7 = Instance.new("UIPadding")
  31. local UIGradient_2 = Instance.new("UIGradient")
  32. local Modules = Instance.new("Folder")
  33. local TextLabel = Instance.new("TextLabel")
  34. local TextLabel_2 = Instance.new("TextLabel")
  35. local UIPadding_8 = Instance.new("UIPadding")
  36. local UIGradient_3 = Instance.new("UIGradient")
  37.  
  38. --Properties:
  39.  
  40. Info.Name = "Info"
  41. Info.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
  42. Info.DisplayOrder = 50
  43. Info.ResetOnSpawn = false
  44.  
  45. Frame.Parent = Info
  46. Frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  47. Frame.BackgroundTransparency = 0.500
  48. Frame.Size = UDim2.new(0, 300, 0, 150)
  49. Frame.Visible = false
  50.  
  51. UICorner.CornerRadius = UDim.new(0, 4)
  52. UICorner.Parent = Frame
  53.  
  54. NameInfo.Name = "NameInfo"
  55. NameInfo.Parent = Frame
  56. NameInfo.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  57. NameInfo.BackgroundTransparency = 1.000
  58. NameInfo.Size = UDim2.new(0, 100, 0, 39)
  59.  
  60. displayName.Name = "displayName"
  61. displayName.Parent = NameInfo
  62. displayName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  63. displayName.BackgroundTransparency = 1.000
  64. displayName.Size = UDim2.new(0, 300, 0, 25)
  65. displayName.Font = Enum.Font.Sarpanch
  66. displayName.Text = "displayName"
  67. displayName.TextColor3 = Color3.fromRGB(255, 255, 255)
  68. displayName.TextSize = 17.000
  69. displayName.TextXAlignment = Enum.TextXAlignment.Left
  70. displayName.TextYAlignment = Enum.TextYAlignment.Top
  71.  
  72. UIPadding.Parent = displayName
  73. UIPadding.PaddingLeft = UDim.new(0, 10)
  74. UIPadding.PaddingTop = UDim.new(0, 10)
  75.  
  76. userName_ID.Name = "userName_ID"
  77. userName_ID.Parent = NameInfo
  78. userName_ID.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  79. userName_ID.BackgroundTransparency = 1.000
  80. userName_ID.Position = UDim2.new(0, 0, 0.25, 0)
  81. userName_ID.Size = UDim2.new(0, 300, 0, 14)
  82. userName_ID.Font = Enum.Font.Sarpanch
  83. userName_ID.Text = "@userName (userId)"
  84. userName_ID.TextColor3 = Color3.fromRGB(255, 255, 255)
  85. userName_ID.TextSize = 12.000
  86. userName_ID.TextWrapped = true
  87. userName_ID.TextXAlignment = Enum.TextXAlignment.Left
  88. userName_ID.TextYAlignment = Enum.TextYAlignment.Top
  89.  
  90. UIPadding_2.Parent = userName_ID
  91. UIPadding_2.PaddingLeft = UDim.new(0, 10)
  92.  
  93. UIListLayout.Parent = NameInfo
  94. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  95.  
  96. line.Name = "line"
  97. line.Parent = Frame
  98. line.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  99. line.BorderSizePixel = 0
  100. line.Position = UDim2.new(0, 10, 0, 40)
  101. line.Size = UDim2.new(0, 280, 0, 1)
  102.  
  103. UIGradient.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0.00, 0.00), NumberSequenceKeypoint.new(1.00, 1.00)}
  104. UIGradient.Parent = line
  105.  
  106. Info_2.Name = "Info"
  107. Info_2.Parent = Frame
  108. Info_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  109. Info_2.BackgroundTransparency = 1.000
  110. Info_2.Position = UDim2.new(0, 0, 0, 45)
  111. Info_2.Size = UDim2.new(0, 100, 0, 39)
  112.  
  113. Country.Name = "Country"
  114. Country.Parent = Info_2
  115. Country.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  116. Country.BackgroundTransparency = 1.000
  117. Country.Position = UDim2.new(0, 0, 0.25, 0)
  118. Country.Size = UDim2.new(0, 300, 0, 14)
  119. Country.Font = Enum.Font.Sarpanch
  120. Country.Text = "Country -"
  121. Country.TextColor3 = Color3.fromRGB(255, 255, 255)
  122. Country.TextSize = 12.000
  123. Country.TextWrapped = true
  124. Country.TextXAlignment = Enum.TextXAlignment.Left
  125. Country.TextYAlignment = Enum.TextYAlignment.Top
  126.  
  127. UIPadding_3.Parent = Country
  128. UIPadding_3.PaddingLeft = UDim.new(0, 10)
  129.  
  130. ImageLabel.Parent = Country
  131. ImageLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  132. ImageLabel.BackgroundTransparency = 1.000
  133. ImageLabel.Position = UDim2.new(1, -24, 0, 0)
  134. ImageLabel.Size = UDim2.new(0.0655172393, 0, 1, 0)
  135. ImageLabel.Image = "rbxasset://textures/ui/GuiImagePlaceholder.png"
  136.  
  137. UICorner_2.CornerRadius = UDim.new(0, 4)
  138. UICorner_2.Parent = ImageLabel
  139.  
  140. UIListLayout_2.Parent = Info_2
  141. UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
  142.  
  143. Ping.Name = "Ping"
  144. Ping.Parent = Info_2
  145. Ping.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  146. Ping.BackgroundTransparency = 1.000
  147. Ping.Position = UDim2.new(0, 0, 0.25, 0)
  148. Ping.Size = UDim2.new(0, 300, 0, 14)
  149. Ping.Font = Enum.Font.Sarpanch
  150. Ping.Text = "Ping -"
  151. Ping.TextColor3 = Color3.fromRGB(255, 255, 255)
  152. Ping.TextSize = 12.000
  153. Ping.TextWrapped = true
  154. Ping.TextXAlignment = Enum.TextXAlignment.Left
  155. Ping.TextYAlignment = Enum.TextYAlignment.Top
  156.  
  157. UIPadding_4.Parent = Ping
  158. UIPadding_4.PaddingLeft = UDim.new(0, 10)
  159.  
  160. SafeChat.Name = "SafeChat"
  161. SafeChat.Parent = Info_2
  162. SafeChat.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  163. SafeChat.BackgroundTransparency = 1.000
  164. SafeChat.Position = UDim2.new(0, 0, 0.25, 0)
  165. SafeChat.Size = UDim2.new(0, 300, 0, 14)
  166. SafeChat.Font = Enum.Font.Sarpanch
  167. SafeChat.Text = "SafeChat -"
  168. SafeChat.TextColor3 = Color3.fromRGB(255, 255, 255)
  169. SafeChat.TextSize = 12.000
  170. SafeChat.TextWrapped = true
  171. SafeChat.TextXAlignment = Enum.TextXAlignment.Left
  172. SafeChat.TextYAlignment = Enum.TextYAlignment.Top
  173.  
  174. UIPadding_5.Parent = SafeChat
  175. UIPadding_5.PaddingLeft = UDim.new(0, 10)
  176.  
  177. note.Name = "note"
  178. note.Parent = SafeChat
  179. note.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  180. note.BackgroundTransparency = 1.000
  181. note.Size = UDim2.new(0, 300, 0, 14)
  182. note.Font = Enum.Font.SourceSansBold
  183. note.Text = "Does not determine age!"
  184. note.TextColor3 = Color3.fromRGB(255, 55, 55)
  185. note.TextSize = 10.000
  186. note.TextWrapped = true
  187. note.TextXAlignment = Enum.TextXAlignment.Right
  188. note.TextYAlignment = Enum.TextYAlignment.Top
  189.  
  190. UIPadding_6.Parent = note
  191. UIPadding_6.PaddingRight = UDim.new(0, 15)
  192.  
  193. JoinDate.Name = "JoinDate"
  194. JoinDate.Parent = Info_2
  195. JoinDate.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  196. JoinDate.BackgroundTransparency = 1.000
  197. JoinDate.Position = UDim2.new(0, 0, 0.25, 0)
  198. JoinDate.Size = UDim2.new(0, 300, 0, 14)
  199. JoinDate.Font = Enum.Font.Sarpanch
  200. JoinDate.Text = "Join Date -"
  201. JoinDate.TextColor3 = Color3.fromRGB(255, 255, 255)
  202. JoinDate.TextSize = 12.000
  203. JoinDate.TextXAlignment = Enum.TextXAlignment.Left
  204. JoinDate.TextYAlignment = Enum.TextYAlignment.Top
  205.  
  206. UIPadding_7.Parent = JoinDate
  207. UIPadding_7.PaddingLeft = UDim.new(0, 10)
  208.  
  209. UIGradient_2.Rotation = 90
  210. UIGradient_2.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0.00, 0.00), NumberSequenceKeypoint.new(0.38, 0.00), NumberSequenceKeypoint.new(0.69, 0.00), NumberSequenceKeypoint.new(1.00, 1.00)}
  211. UIGradient_2.Parent = Frame
  212.  
  213. Modules.Name = "Modules"
  214. Modules.Parent = game.PlayerGui.Info
  215.  
  216. TextLabel.Parent = Info
  217. TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  218. TextLabel.BackgroundTransparency = 1.000
  219. TextLabel.Position = UDim2.new(0, 5, 1, -55)
  220. TextLabel.Size = UDim2.new(0, 50, 0, 50)
  221. TextLabel.Font = Enum.Font.SciFi
  222. TextLabel.Text = "P"
  223. TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  224. TextLabel.TextSize = 50.000
  225. TextLabel.TextWrapped = true
  226.  
  227. TextLabel_2.Parent = TextLabel
  228. TextLabel_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  229. TextLabel_2.BackgroundTransparency = 1.000
  230. TextLabel_2.Position = UDim2.new(0, 0, -1, -5)
  231. TextLabel_2.Size = UDim2.new(1, 0, 1, 0)
  232. TextLabel_2.Font = Enum.Font.SourceSansBold
  233. TextLabel_2.Text = "to toggle press"
  234. TextLabel_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  235. TextLabel_2.TextSize = 11.000
  236. TextLabel_2.TextWrapped = true
  237. TextLabel_2.TextYAlignment = Enum.TextYAlignment.Bottom
  238.  
  239. UIPadding_8.Parent = TextLabel_2
  240. UIPadding_8.PaddingBottom = UDim.new(0, 5)
  241.  
  242. UIGradient_3.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(0.25, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 0, 0)), ColorSequenceKeypoint.new(0.75, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 255, 255))}
  243. UIGradient_3.Offset = Vector2.new(-0.5, 0)
  244. UIGradient_3.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0.00, 0.00), NumberSequenceKeypoint.new(0.25, 0.00), NumberSequenceKeypoint.new(0.50, 1.00), NumberSequenceKeypoint.new(0.75, 0.00), NumberSequenceKeypoint.new(1.00, 0.00)}
  245. UIGradient_3.Parent = TextLabel
  246.  
  247. -- Module Scripts:
  248.  
  249. local fake_module_scripts = {}
  250.  
  251. do -- Modules.countries
  252. local script = Instance.new('ModuleScript', Modules)
  253. script.Name = "countries"
  254. local function module_script()
  255.  
  256. local countries = {
  257. ['US'] = { name = 'United States', decal = 'rbxassetid://6764359716' },
  258. ['GB'] = { name = 'United Kingdom', decal = 'rbxassetid://6764345672' },
  259. ['CA'] = { name = 'Canada', decal = 'rbxassetid://6764337760' },
  260. ['AF'] = { name = 'Afghanistan', decal = 'rbxassetid://6882819845' },
  261. ['AX'] = { name = 'Aland Islands', decal = 'rbxassetid://6882819880' },
  262. ['AL'] = { name = 'Albania', decal = 'rbxassetid://6763730547' },
  263. ['DZ'] = { name = 'Algeria', decal = 'rbxassetid://6763744041' },
  264. ['AS'] = { name = 'American Samoa', decal = 'rbxassetid://6882819853' },
  265. ['AD'] = { name = 'Andorra', decal = 'rbxassetid://6882819843' },
  266. ['AO'] = { name = 'Angola', decal = 'rbxassetid://6882819852' },
  267. ['AI'] = { name = 'Anguilla', decal = 'rbxassetid://6882819846' },
  268. ['AQ'] = { name = 'Antarctica', decal = 'rbxassetid://6882819858' },
  269. ['AG'] = { name = 'Antigua and Barbuda', decal = 'rbxassetid://6882819871' },
  270. ['AR'] = { name = 'Argentina', decal = 'rbxassetid://6882819949' },
  271. ['AM'] = { name = 'Armenia', decal = 'rbxassetid://6763829736' },
  272. ['AW'] = { name = 'Aruba', decal = 'rbxassetid://6882819905' },
  273. ['AU'] = { name = 'Australia', decal = 'rbxassetid://6764334502' },
  274. ['AT'] = { name = 'Austria', decal = 'rbxassetid://6764386265' },
  275. ['AZ'] = { name = 'Azerbaijan', decal = 'rbxassetid://6763821734' },
  276. ['BS'] = { name = 'Bahamas', decal = 'rbxassetid://6882819872' },
  277. ['BH'] = { name = 'Bahrain', decal = 'rbxassetid://6883287140' },
  278. ['BD'] = { name = 'Bangladesh', decal = 'rbxassetid://6763865775' },
  279. ['BB'] = { name = 'Barbados', decal = 'rbxassetid://6882819930' },
  280. ['BY'] = { name = 'Belarus', decal = 'rbxassetid://6763863746' },
  281. ['BE'] = { name = 'Belgium', decal = 'rbxassetid://6764330905' },
  282. ['BZ'] = { name = 'Belize', decal = 'rbxassetid://6764336206' },
  283. ['BJ'] = { name = 'Benin', decal = 'http://www.roblox.com/asset/?id=6883394870' },
  284. ['BM'] = { name = 'Bermuda', decal = 'rbxassetid://6882819860' },
  285. ['BT'] = { name = 'Bhutan', decal = 'rbxassetid://6882819931' },
  286. ['BO'] = { name = 'Bolivia', decal = 'rbxassetid://6882819850' },
  287. ['BQ'] = { name = 'Bonaire, Saint Eustatius and Saba', decal = 'rbxassetid://6764343453' },
  288. ['BA'] = { name = 'Bosnia and Herzegovina', decal = 'rbxassetid://6763869498' },
  289. ['BW'] = { name = 'Botswana', decal = 'rbxassetid://6882819856' },
  290. ['BV'] = { name = 'Bouvet Island', decal = 'rbxassetid://6882819854' },
  291. ['BR'] = { name = 'Brazil', decal = 'rbxassetid://6882819874' },
  292. ['IO'] = { name = 'British Indian Ocean Territory', decal = 'rbxassetid://6882819898' },
  293. ['BN'] = { name = 'Brunei Darussalam', decal = 'rbxassetid://6882819950' },
  294. ['BG'] = { name = 'Bulgaria', decal = 'rbxassetid://6763874213' },
  295. ['BF'] = { name = 'Burkina Faso', decal = 'http://www.roblox.com/asset/?id=6883387659' },
  296. ['BI'] = { name = 'Burundi', decal = 'rbxassetid://6882819851' },
  297. ['KH'] = { name = 'Cambodia', decal = 'rbxassetid://6882819959' },
  298. ['CM'] = { name = 'Cameroon', decal = 'rbxassetid://6882819868' },
  299. ['CV'] = { name = 'Cape Verde', decal = 'rbxassetid://6882819876' },
  300. ['KY'] = { name = 'Cayman Islands', decal = 'rbxassetid://6882819912' },
  301. ['CF'] = { name = 'Central African Republic', decal = 'rbxassetid://6882819875' },
  302. ['TD'] = { name = 'Chad', decal = 'rbxassetid://6883078733' },
  303. ['CL'] = { name = 'Chile', decal = 'rbxassetid://6882819900' },
  304. ['CN'] = { name = 'China', decal = 'rbxassetid://6763887664' },
  305. ['CX'] = { name = 'Christmas Island', decal = 'rbxassetid://6882819863' },
  306. ['CC'] = { name = 'Cocos Islands', decal = 'rbxassetid://6882819893' },
  307. ['CO'] = { name = 'Colombia', decal = 'rbxassetid://6882819855' },
  308. ['KM'] = { name = 'Comoros', decal = 'rbxassetid://6882819908' },
  309. ['CG'] = { name = 'Congo', decal = 'rbxassetid://6882819864' },
  310. ['CD'] = { name = 'Congo (DRC)', decal = 'rbxassetid://6882819859' },
  311. ['CK'] = { name = 'Cook Islands', decal = 'rbxassetid://6882819867' },
  312. ['CR'] = { name = 'Costa Rica', decal = 'rbxassetid://6882819866' },
  313. ['CI'] = { name = 'Ivory Coast', decal = 'rbxassetid://6883449244' },
  314. ['HR'] = { name = 'Croatia', decal = 'rbxassetid://6764319789' },
  315. ['CW'] = { name = 'Curaçao', decal = 'rbxassetid://6882819870' },
  316. ['CY'] = { name = 'Cyprus', decal = 'rbxassetid://6882819889' },
  317. ['CZ'] = { name = 'Czech Republic', decal = 'rbxassetid://6764323270' },
  318. ['DK'] = { name = 'Denmark', decal = 'rbxassetid://6764325301' },
  319. ['DJ'] = { name = 'Djibouti', decal = 'rbxassetid://6882819903' },
  320. ['DM'] = { name = 'Dominica', decal = 'rbxassetid://6882819861' },
  321. ['DO'] = { name = 'Dominican Republic', decal = 'rbxassetid://6882819886' },
  322. ['EC'] = { name = 'Ecuador', decal = 'rbxassetid://6882819935' },
  323. ['EG'] = { name = 'Egypt', decal = 'rbxassetid://6763767978' },
  324. ['SV'] = { name = 'El Salvador', decal = 'rbxassetid://6883078883' },
  325. ['GQ'] = { name = 'Equatorial Guinea', decal = 'rbxassetid://6882819958' },
  326. ['ER'] = { name = 'Eritrea', decal = 'rbxassetid://6882819884' },
  327. ['EE'] = { name = 'Estonia', decal = 'rbxassetid://6764361690' },
  328. ['ET'] = { name = 'Ethiopia', decal = 'rbxassetid://6763735707' },
  329. ['FK'] = { name = 'Falkland Islands (Malvinas)', decal = 'rbxassetid://6882819922' },
  330. ['FO'] = { name = 'Faroe Islands', decal = 'rbxassetid://6764366878' },
  331. ['FJ'] = { name = 'Fiji', decal = 'rbxassetid://6882819887' },
  332. ['FI'] = { name = 'Finland', decal = 'rbxassetid://6764375340' },
  333. ['FR'] = { name = 'France', decal = 'rbxassetid://6764378677' },
  334. ['GF'] = { name = 'French Guiana', decal = 'http://www.roblox.com/asset/?id=6883398444' },
  335. ['PF'] = { name = 'French Polynesia', decal = 'rbxassetid://6883078751' },
  336. ['TF'] = { name = 'French Southern Territories', decal = 'rbxassetid://6883287143' },
  337. ['GA'] = { name = 'Gabon', decal = 'rbxassetid://6882819915' },
  338. ['GM'] = { name = 'Gambia', decal = 'rbxassetid://6882819869' },
  339. ['GE'] = { name = 'Georgia', decal = 'rbxassetid://6882819897' },
  340. ['DE'] = { name = 'Germany', decal = 'rbxassetid://6764388493' },
  341. ['GH'] = { name = 'Ghana', decal = 'rbxassetid://6882819917' },
  342. ['GI'] = { name = 'Gibraltar', decal = 'rbxassetid://6882819913' },
  343. ['GR'] = { name = 'Greece', decal = 'rbxassetid://6882819891' },
  344. ['GL'] = { name = 'Greenland', decal = 'rbxassetid://6882819939' },
  345. ['GD'] = { name = 'Grenada', decal = 'rbxassetid://6882819879' },
  346. ['GP'] = { name = 'Guadeloupe', decal = 'rbxassetid://6882819927' },
  347. ['GU'] = { name = 'Guam', decal = 'rbxassetid://6882819911' },
  348. ['GT'] = { name = 'Guatemala', decal = 'rbxassetid://6882819925' },
  349. ['GG'] = { name = 'Guernsey', decal = 'rbxassetid://6882819920' },
  350. ['GN'] = { name = 'Guinea', decal = 'rbxassetid://6882819888' },
  351. ['GW'] = { name = 'Guinea-Bissau', decal = 'rbxassetid://6882819948' },
  352. ['GY'] = { name = 'Guyana', decal = 'rbxassetid://6882819881' },
  353. ['HT'] = { name = 'Haiti', decal = 'rbxassetid://6882819916' },
  354. ['HM'] = { name = 'Heard Island and the McDonald Islands', decal = 'rbxassetid://6882819894' },
  355. ['VA'] = { name = 'Holy See', decal = 'rbxassetid://6883078805' },
  356. ['HN'] = { name = 'Honduras', decal = 'rbxassetid://6882819895' },
  357. ['HK'] = { name = 'Hong Kong', decal = 'rbxassetid://6763892416' },
  358. ['HU'] = { name = 'Hungary', decal = 'http://www.roblox.com/asset/?id=6883401545' },
  359. ['IS'] = { name = 'Iceland', decal = 'rbxassetid://6882819902' },
  360. ['IN'] = { name = 'India', decal = 'rbxassetid://6763825405' },
  361. ['ID'] = { name = 'Indonesia', decal = 'rbxassetid://6882819883' },
  362. ['IQ'] = { name = 'Iraq', decal = 'rbxassetid://6883287152' },
  363. ['IE'] = { name = 'Ireland', decal = 'rbxassetid://6764348841' },
  364. ['IM'] = { name = 'Isle of Man', decal = 'rbxassetid://6882819919' },
  365. ['IL'] = { name = 'Israel', decal = 'rbxassetid://6882819922' },
  366. ['IT'] = { name = 'Italy', decal = 'rbxassetid://6882819890' },
  367. ['JM'] = { name = 'Jamaica', decal = 'rbxassetid://6764350522' },
  368. ['JP'] = { name = 'Japan', decal = 'rbxassetid://6882819910' },
  369. ['JE'] = { name = 'Jersey', decal = 'rbxassetid://6882819918' },
  370. ['JO'] = { name = 'Jordan', decal = 'rbxassetid://6763778342' },
  371. ['KZ'] = { name = 'Kazakhstan', decal = 'http://www.roblox.com/asset/?id=6883405050' },
  372. ['KE'] = { name = 'Kenya', decal = 'rbxassetid://6882819924' },
  373. ['KI'] = { name = 'Kiribati', decal = 'rbxassetid://6882819933' },
  374. ['KR'] = { name = 'Korea', decal = 'rbxassetid://6882819896' },
  375. ['KW'] = { name = 'Kuwait', decal = 'rbxassetid://6763783022' },
  376. ['KG'] = { name = 'Kyrgyzstan', decal = 'rbxassetid://6882819936' },
  377. ['LA'] = { name = 'Laos', decal = 'rbxassetid://6882819932' },
  378. ['LV'] = { name = 'Latvia', decal = 'rbxassetid://6882819926' },
  379. ['LB'] = { name = 'Lebanon', decal = 'rbxassetid://6763785606' },
  380. ['LS'] = { name = 'Lesotho', decal = 'rbxassetid://6882819960' },
  381. ['LR'] = { name = 'Liberia', decal = 'rbxassetid://6883448815' },
  382. ['LY'] = { name = 'Libya', decal = 'rbxassetid://6763789785' },
  383. ['LI'] = { name = 'Liechtenstein', decal = 'http://www.roblox.com/asset/?id=6883431715' },
  384. ['LT'] = { name = 'Lithuania', decal = 'rbxassetid://6882819899' },
  385. ['LU'] = { name = 'Luxembourg', decal = 'rbxassetid://6764380743' },
  386. ['MO'] = { name = 'Macao', decal = 'rbxassetid://6763894285' },
  387. ['MK'] = { name = 'Macedonia', decal = 'rbxassetid://6764364751' },
  388. ['MG'] = { name = 'Madagascar', decal = 'rbxassetid://6883449535' },
  389. ['MW'] = { name = 'Malawi', decal = 'rbxassetid://6883078754' },
  390. ['MY'] = { name = 'Malaysia', decal = 'rbxassetid://6883078679' },
  391. ['MV'] = { name = 'Maldives', decal = 'rbxassetid://6764328580' },
  392. ['ML'] = { name = 'Mali', decal = 'rbxassetid://6882819956' },
  393. ['MT'] = { name = 'Malta', decal = 'rbxassetid://6883078690' },
  394. ['MH'] = { name = 'Marshall Islands', decal = 'rbxassetid://6882819962' },
  395. ['MQ'] = { name = 'Martinique', decal = 'rbxassetid://6883078704' },
  396. ['MR'] = { name = 'Mauritania', decal = 'rbxassetid://6883078882' },
  397. ['MU'] = { name = 'Mauritius', decal = 'rbxassetid://6883078728' },
  398. ['YT'] = { name = 'Mayotte', decal = 'rbxassetid://6883078714' },
  399. ['MX'] = { name = 'Mexico', decal = 'rbxassetid://6883078747' },
  400. ['FM'] = { name = 'Micronesia', decal = 'rbxassetid://6882819878' },
  401. ['MD'] = { name = 'Moldova', decal = 'rbxassetid://6882819928' },
  402. ['MC'] = { name = 'Monaco', decal = 'rbxassetid://6882819953' },
  403. ['MN'] = { name = 'Mongolia', decal = 'rbxassetid://6882819973' },
  404. ['ME'] = { name = 'Montenegro', decal = 'rbxassetid://6882819923' },
  405. ['MS'] = { name = 'Montserrat', decal = 'rbxassetid://6883078694' },
  406. ['MA'] = { name = 'Morocco', decal = 'rbxassetid://6763792275' },
  407. ['MZ'] = { name = 'Mozambique', decal = 'rbxassetid://6883078713' },
  408. ['MM'] = { name = 'Myanmar', decal = 'rbxassetid://6763879470' },
  409. ['NA'] = { name = 'Namibia', decal = 'rbxassetid://6883078723' },
  410. ['NR'] = { name = 'Nauru', decal = 'rbxassetid://6883078712' },
  411. ['NP'] = { name = 'Nepal', decal = 'rbxassetid://6883078671' },
  412. ['NL'] = { name = 'Netherlands', decal = 'rbxassetid://6764332889' },
  413. ['AN'] = { name = 'Netherlands Antilles', decal = 'rbxassetid://6882819964' },
  414. ['NC'] = { name = 'New Caledonia', decal = 'rbxassetid://6883078669' },
  415. ['NZ'] = { name = 'New Zealand', decal = 'rbxassetid://6764352076' },
  416. ['NI'] = { name = 'Nicaragua', decal = 'rbxassetid://6883078681' },
  417. ['NE'] = { name = 'Niger', decal = 'rbxassetid://6883078691' },
  418. ['NG'] = { name = 'Nigeria', decal = 'http://www.roblox.com/asset/?id=6883410343' },
  419. ['NU'] = { name = 'Niue', decal = 'rbxassetid://6883287141' },
  420. ['NF'] = { name = 'Norfolk Island', decal = 'rbxassetid://6883078877' },
  421. ['MP'] = { name = 'Northern Mariana Islands', decal = 'rbxassetid://6882819966' },
  422. ['NO'] = { name = 'Norway', decal = 'rbxassetid://6883078675' },
  423. ['OM'] = { name = 'Oman', decal = 'rbxassetid://6763795413' },
  424. ['PK'] = { name = 'Pakistan', decal = 'rbxassetid://6883078700' },
  425. ['PW'] = { name = 'Palau', decal = 'rbxassetid://6883078829' },
  426. ['PS'] = { name = 'Palestine', decal = 'rbxassetid://6883078670' },
  427. ['PA'] = { name = 'Panama', decal = 'rbxassetid://6883078686' },
  428. ['PG'] = { name = 'Papua New Guinea', decal = 'rbxassetid://6883078677' },
  429. ['PY'] = { name = 'Paraguay', decal = 'rbxassetid://6883078748' },
  430. ['PE'] = { name = 'Peru', decal = 'rbxassetid://6883078663' },
  431. ['PH'] = { name = 'Philippines', decal = 'rbxassetid://6764353797' },
  432. ['PN'] = { name = 'Pitcairn Islands', decal = 'http://www.roblox.com/asset/?id=6883414508' },
  433. ['PL'] = { name = 'Poland', decal = 'rbxassetid://6883078678' },
  434. ['PT'] = { name = 'Portugal', decal = 'rbxassetid://6883078731' },
  435. ['PR'] = { name = 'Puerto Rico', decal = 'rbxassetid://6883078689' },
  436. ['QA'] = { name = 'Qatar', decal = 'rbxassetid://6763797775' },
  437. ['RE'] = { name = 'Reunion', decal = 'rbxassetid://6883078746' },
  438. ['RO'] = { name = 'Romania', decal = 'rbxassetid://6883287147' },
  439. ['RU'] = { name = 'Russian Federation', decal = 'rbxassetid://6883078685' },
  440. ['RW'] = { name = 'Rwanda', decal = 'rbxassetid://6883078717' },
  441. ['BL'] = { name = 'Saint Barthelemy', decal = 'rbxassetid://6882819914' },
  442. ['SH'] = { name = 'Saint Helena, Ascension and Tristan da Cunha', decal = 'rbxassetid://6883078697' },
  443. ['KN'] = { name = 'Saint Kitts and Nevis', decal = 'rbxassetid://6882819934' },
  444. ['LC'] = { name = 'Saint Lucia', decal = 'rbxassetid://6882819907' },
  445. ['MF'] = { name = 'Saint Martin', decal = 'rbxassetid://6882819955' },
  446. ['PM'] = { name = 'Saint Pierre and Miquelon', decal = 'rbxassetid://6883078833' },
  447. ['VC'] = { name = 'Saint Vincent and the Grenadines', decal = 'rbxassetid://6883078699' },
  448. ['WS'] = { name = 'Samoa', decal = 'rbxassetid://6883078729' },
  449. ['SM'] = { name = 'San Marino', decal = 'rbxassetid://6883078727' },
  450. ['ST'] = { name = 'Sao Tome and Principe', decal = 'rbxassetid://6883078730' },
  451. ['SA'] = { name = 'Saudi Arabia', decal = 'rbxassetid://6763800080' },
  452. ['SN'] = { name = 'Senegal', decal = 'rbxassetid://6883078684' },
  453. ['RS'] = { name = 'Serbia', decal = 'rbxassetid://6883078793' },
  454. ['SC'] = { name = 'Seychelles', decal = 'rbxassetid://6883078696' },
  455. ['SL'] = { name = 'Sierra Leone', decal = 'rbxassetid://6883078695' },
  456. ['SG'] = { name = 'Singapore', decal = 'rbxassetid://6763897444' },
  457. ['SX'] = { name = 'Sint Maarten', decal = 'http://www.roblox.com/asset/?id=6883427132' },
  458. ['SK'] = { name = 'Slovakia', decal = 'rbxassetid://6883078693' },
  459. ['SI'] = { name = 'Slovenia', decal = 'rbxassetid://6883078715' },
  460. ['SB'] = { name = 'Solomon Islands', decal = 'rbxassetid://6883078710' },
  461. ['SO'] = { name = 'Somalia', decal = 'rbxassetid://6883078711' },
  462. ['ZA'] = { name = 'South Africa', decal = 'rbxassetid://6763719636' },
  463. ['GS'] = { name = 'South Georgia and the South Sandwich Islands', decal = 'rbxassetid://6882819882' },
  464. ['SS'] = { name = 'South Sudan', decal = 'rbxassetid://6883078688' },
  465. ['ES'] = { name = 'Spain', decal = 'rbxassetid://6882819969' },
  466. ['LK'] = { name = 'Sri Lanka', decal = 'rbxassetid://6882819906' },
  467. ['SR'] = { name = 'Suriname', decal = 'rbxassetid://6883078741' },
  468. ['SJ'] = { name = 'Svalbard and Jan Mayen', decal = 'rbxassetid://6883078698' },
  469. ['SZ'] = { name = 'Swaziland', decal = 'rbxassetid://6883078743' },
  470. ['SE'] = { name = 'Sweden', decal = 'rbxassetid://6883078722' },
  471. ['CH'] = { name = 'Switzerland', decal = 'rbxassetid://6764382165' },
  472. ['TW'] = { name = 'Taiwan', decal = 'rbxassetid://6764317688' },
  473. ['TJ'] = { name = 'Tajikistan', decal = 'rbxassetid://6883078680' },
  474. ['TZ'] = { name = 'Tanzania', decal = 'rbxassetid://6883078724' },
  475. ['TH'] = { name = 'Thailand', decal = 'rbxassetid://6883078687' },
  476. ['TL'] = { name = 'Timor-leste', decal = 'rbxassetid://6883078683' },
  477. ['TG'] = { name = 'Togo', decal = 'rbxassetid://6883287150' },
  478. ['TK'] = { name = 'Tokelau', decal = 'rbxassetid://6883078706' },
  479. ['TO'] = { name = 'Tonga', decal = 'rbxassetid://6883078735' },
  480. ['TT'] = { name = 'Trinidad and Tobago', decal = 'rbxassetid://6764357869' },
  481. ['TN'] = { name = 'Tunisia', decal = 'rbxassetid://6763805123' },
  482. ['TR'] = { name = 'Turkey', decal = 'rbxassetid://6883078716' },
  483. ['TM'] = { name = 'Turkmenistan', decal = 'rbxassetid://6883078839' },
  484. ['TC'] = { name = 'Turks and Caicos Islands', decal = 'rbxassetid://6883078725' },
  485. ['TV'] = { name = 'Tuvalu', decal = 'rbxassetid://6883287169' },
  486. ['UG'] = { name = 'Uganda', decal = 'rbxassetid://6883078742' },
  487. ['UA'] = { name = 'Ukraine', decal = 'rbxassetid://6883078709' },
  488. ['AE'] = { name = 'United Arab Emirates', decal = 'rbxassetid://6763807529' },
  489. ['UM'] = { name = 'United States Minor Outlying Islands', decal = 'rbxassetid://6764359716' },
  490. ['UY'] = { name = 'Uruguay', decal = 'rbxassetid://6883078736' },
  491. ['UZ'] = { name = 'Uzbekistan', decal = 'rbxassetid://6763818309' },
  492. ['VU'] = { name = 'Vanuatu', decal = 'rbxassetid://6883078745' },
  493. ['VE'] = { name = 'Venezuela', decal = 'rbxassetid://6883078740' },
  494. ['VN'] = { name = 'Vietnam', decal = 'rbxassetid://75973907' },
  495. ['VG'] = { name = 'Virgin Islands (British)', decal = 'rbxassetid://6883078737' },
  496. ['VI'] = { name = 'Virgin Islands (US)', decal = 'rbxassetid://6883078718' },
  497. ['WF'] = { name = 'Wallis and Futuna', decal = 'rbxassetid://6883078702' },
  498. ['EH'] = { name = 'Western Sahara', decal = 'rbxassetid://6882819921' },
  499. ['YE'] = { name = 'Yemen', decal = 'rbxassetid://6763809612' },
  500. ['ZM'] = { name = 'Zambia', decal = 'rbxassetid://6883078721' },
  501. ['ZW'] = { name = 'Zimbabwe', decal = 'rbxassetid://6883078720' },
  502. ['CU'] = { name = 'Cuba', decal = 'rbxassetid://6882819901' },
  503. ['IR'] = { name = 'Iran', decal = 'rbxassetid://6764372481' },
  504. ['SY'] = { name = 'Syria', decal = 'rbxassetid://6763802796' },
  505. ['KP'] = { name = 'North Korea', decal = 'rbxassetid://6882819904' },
  506. }
  507.  
  508. local getCountry = function(code)
  509. return countries[code]
  510. end
  511.  
  512. return {
  513. countries = countries,
  514. getCountry = getCountry
  515. }
  516. end
  517. fake_module_scripts[script] = module_script
  518. end
  519. do -- Modules.ObjectHighlighter
  520. local script = Instance.new('ModuleScript', Modules)
  521. script.Name = "ObjectHighlighter"
  522. local function module_script()
  523. return {
  524. createFromTarget = require(script.createFromTarget),
  525. createRenderer = require(script.createRenderer),
  526. Implementations = require(script.Implementations),
  527. }
  528. end
  529. fake_module_scripts[script] = module_script
  530. end
  531. do -- nil.ObjectRefMap
  532. local script = Instance.new('ModuleScript', nil)
  533. script.Name = "ObjectRefMap"
  534. local function module_script()
  535. local createInstanceCopy = require(script.Parent.createInstanceCopy)
  536.  
  537. local ObjectRefMap = {}
  538.  
  539. function ObjectRefMap.fromModel(model)
  540. local newModel = Instance.new("Model")
  541.  
  542. local alreadyHasAHumanoid = false
  543. local clonedPrimaryPart
  544. local dataModel = {}
  545. local map = {}
  546. for _, object in ipairs(model:GetDescendants()) do
  547. local clone = createInstanceCopy(object)
  548. if clone then
  549. clone.Parent = newModel
  550.  
  551. if clone:IsA("BasePart") then
  552. map[object] = clone
  553. if not clonedPrimaryPart and object == model.PrimaryPart then
  554. clonedPrimaryPart = clone
  555. end
  556. elseif object:IsA("Humanoid") then
  557. if alreadyHasAHumanoid then
  558. clone:Destroy()
  559. else
  560. alreadyHasAHumanoid = true
  561. end
  562. end
  563. end
  564. end
  565. newModel.PrimaryPart = clonedPrimaryPart
  566.  
  567. dataModel.map = map
  568. dataModel.rbx = newModel
  569. dataModel.worldModel = model
  570.  
  571. return dataModel
  572. end
  573.  
  574. return ObjectRefMap
  575. end
  576. fake_module_scripts[script] = module_script
  577. end
  578. do -- nil.Implementations
  579. local script = Instance.new('ModuleScript', nil)
  580. script.Name = "Implementations"
  581. local function module_script()
  582. return {
  583. worldColor = require(script.worldColor),
  584. highlightColor = require(script.highlightColor),
  585. }
  586. end
  587. fake_module_scripts[script] = module_script
  588. end
  589. do -- nil.worldColor
  590. local script = Instance.new('ModuleScript', nil)
  591. script.Name = "worldColor"
  592. local function module_script()
  593. return function()
  594. local connections = {}
  595.  
  596. return {
  597. onBeforeRender = function(_, _)
  598. return true
  599. end,
  600.  
  601. onRender = function(_, worldPart, viewportPart, _)
  602. viewportPart.CFrame = worldPart.CFrame
  603. end,
  604.  
  605. onAdded = function(worldPart, viewportPart, _)
  606. viewportPart.Color = worldPart.Color
  607.  
  608. connections[worldPart] = worldPart:GetPropertyChangedSignal("Color"):Connect(function()
  609. viewportPart.Color = worldPart.Color
  610. end)
  611. end,
  612.  
  613. onRemoved = function(worldPart, _, _)
  614. if connections[worldPart] then
  615. connections[worldPart]:Disconnect()
  616. connections[worldPart] = nil
  617. end
  618. end,
  619. }
  620. end
  621. end
  622. fake_module_scripts[script] = module_script
  623. end
  624. do -- nil.highlightColor
  625. local script = Instance.new('ModuleScript', nil)
  626. script.Name = "highlightColor"
  627. local function module_script()
  628. return function()
  629. return {
  630. onBeforeRender = function(_, _)
  631. return true
  632. end,
  633.  
  634. onRender = function(_, worldPart, viewportPart, highlight)
  635. viewportPart.CFrame = worldPart.CFrame
  636. viewportPart.Color = highlight.color
  637. end,
  638.  
  639. onAdded = function(_, viewportPart, highlight)
  640. local function clearTextures(instance)
  641. if instance:IsA("MeshPart") then
  642. instance.TextureID = ""
  643. elseif instance:IsA("UnionOperation") then
  644. instance.UsePartColor = true
  645. elseif instance:IsA("SpecialMesh") then
  646. instance.TextureId = ""
  647. end
  648. end
  649.  
  650. local function colorObject(instance)
  651. if instance:IsA("BasePart") then
  652. instance.Color = highlight.color
  653. end
  654. end
  655.  
  656. for _, object in pairs(viewportPart:GetDescendants()) do
  657. clearTextures(object)
  658. colorObject(object)
  659. end
  660. clearTextures(viewportPart)
  661. colorObject(viewportPart)
  662. end,
  663. }
  664. end
  665. end
  666. fake_module_scripts[script] = module_script
  667. end
  668. do -- nil.Highlight
  669. local script = Instance.new('ModuleScript', nil)
  670. script.Name = "Highlight"
  671. local function module_script()
  672. local DEFAULT_PROPS = {
  673. target = nil,
  674. color = Color3.fromRGB(255, 255, 255),
  675. transparency = 0,
  676. }
  677.  
  678. local Highlight = {}
  679.  
  680. function Highlight.new(props)
  681. assert(type(props) == "table", "Highlight.new expects a table of props.")
  682. assert(props.target, "Highlight requires a target to be set!")
  683. assert(props.target:IsA("Model"), "Highlight requires target to be a Model!")
  684.  
  685. local state = {
  686. target = props.target,
  687. color = props.color or DEFAULT_PROPS.color,
  688. transparency = props.transparency or DEFAULT_PROPS.transparency,
  689. }
  690.  
  691. return setmetatable(state, Highlight)
  692. end
  693.  
  694. function Highlight.fromTarget(target)
  695. assert(target and target:IsA("Model"), "Highlight.fromTarget requires a Model target to be set!")
  696.  
  697. return Highlight.new({
  698. target = target,
  699. })
  700. end
  701.  
  702. return Highlight
  703. end
  704. fake_module_scripts[script] = module_script
  705. end
  706. do -- nil.createFromTarget
  707. local script = Instance.new('ModuleScript', nil)
  708. script.Name = "createFromTarget"
  709. local function module_script()
  710. local Highlight = require(script.Parent.Highlight)
  711.  
  712. return function(targetModel)
  713. return Highlight.fromTarget(targetModel)
  714. end
  715. end
  716. fake_module_scripts[script] = module_script
  717. end
  718. do -- nil.createRenderer
  719. local script = Instance.new('ModuleScript', nil)
  720. script.Name = "createRenderer"
  721. local function module_script()
  722. local Renderer = require(script.Parent.Renderer)
  723.  
  724. return function(screenGui)
  725. return Renderer.new(screenGui)
  726. end
  727. end
  728. fake_module_scripts[script] = module_script
  729. end
  730. do -- nil.createInstanceCopy
  731. local script = Instance.new('ModuleScript', nil)
  732. script.Name = "createInstanceCopy"
  733. local function module_script()
  734. local createBasePartCopy = require(script.createBasePartCopy)
  735.  
  736. return function(instance)
  737. if instance:IsA("BasePart") then
  738. return createBasePartCopy(instance)
  739. elseif instance:IsA("Humanoid") then
  740. local humanoid = Instance.new("Humanoid")
  741. humanoid:ChangeState(Enum.HumanoidStateType.Physics)
  742. humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  743. return humanoid
  744. elseif instance:IsA("Shirt") or instance:IsA("Pants") or instance:IsA("CharacterMesh") then
  745. return instance:Clone()
  746. end
  747. end
  748. end
  749. fake_module_scripts[script] = module_script
  750. end
  751. do -- nil.createBasePartCopy
  752. local script = Instance.new('ModuleScript', nil)
  753. script.Name = "createBasePartCopy"
  754. local function module_script()
  755. return function(basePart)
  756. assert(basePart:IsA("BasePart"), "createBasePartCopy must only receive a basePart!")
  757.  
  758. local result
  759. if basePart:IsA("MeshPart") or basePart:IsA("UnionOperation") then
  760. result = basePart:Clone()
  761. else
  762. -- TODO: Manually clone simple BaseParts
  763. result = basePart:Clone()
  764. end
  765.  
  766. -- TODO: Consider whitelisting children applicable to rendering instead
  767. for _, object in pairs(result:GetDescendants()) do
  768. if object:IsA("BasePart") then
  769. object:Destroy()
  770. end
  771. end
  772.  
  773. return result
  774. end
  775. end
  776. fake_module_scripts[script] = module_script
  777. end
  778. do -- nil.ViewportFrame
  779. local script = Instance.new('ModuleScript', nil)
  780. script.Name = "ViewportFrame"
  781. local function module_script()
  782. local Workspace = game:GetService("Workspace")
  783.  
  784. local ViewportFrame = {}
  785. ViewportFrame.__index = ViewportFrame
  786.  
  787. function ViewportFrame.withReferences(objectRef)
  788. local state = {
  789. objectRef = objectRef,
  790. rbx = nil,
  791. }
  792. local self = setmetatable(state, ViewportFrame)
  793.  
  794. local rbx = Instance.new("ViewportFrame")
  795. rbx.CurrentCamera = Workspace.CurrentCamera
  796. rbx.BackgroundTransparency = 1
  797. rbx.Size = UDim2.new(1, 0, 1, 0)
  798. self.rbx = rbx
  799.  
  800. objectRef.rbx.Parent = self.rbx
  801.  
  802. return self
  803. end
  804.  
  805. function ViewportFrame:getReference()
  806. return self.objectRef
  807. end
  808.  
  809. function ViewportFrame:requestParent(newParent)
  810. return pcall(function()
  811. self.rbx.Parent = newParent
  812. end)
  813. end
  814.  
  815. function ViewportFrame:destruct()
  816. self.rbx:Destroy()
  817. end
  818.  
  819. return ViewportFrame
  820. end
  821. fake_module_scripts[script] = module_script
  822. end
  823. do -- nil.Renderer
  824. local script = Instance.new('ModuleScript', nil)
  825. script.Name = "Renderer"
  826. local function module_script()
  827. local ViewportFrame = require(script.Parent.ViewportFrame)
  828. local ObjectRefMap = require(script.Parent.ObjectRefMap)
  829.  
  830. local DEFAULT_IMPLEMENTATION = require(script.Parent.Implementations.worldColor)
  831.  
  832. local Renderer = {}
  833. Renderer.__index = Renderer
  834.  
  835. local function onAddedToStack(self, highlight)
  836. local objectRef = ObjectRefMap.fromModel(highlight.target)
  837. local viewport = ViewportFrame.withReferences(objectRef)
  838.  
  839. if self.onAddedImpl then
  840. for worldPart, viewportPart in pairs(objectRef.map) do
  841. self.onAddedImpl(worldPart, viewportPart, highlight)
  842. end
  843. end
  844.  
  845. viewport:requestParent(self.targetScreenGui)
  846. self._viewportMap[highlight] = viewport
  847. end
  848.  
  849. local function onRemovedFromStack(self, highlight)
  850. if self.onRemovedImpl then
  851. local viewport = self._viewportMap[highlight]
  852. local objectRef = viewport:getReference()
  853. for worldPart, viewportPart in pairs(objectRef.map) do
  854. self.onRemovedImpl(worldPart, viewportPart, highlight)
  855. end
  856. end
  857.  
  858. local viewport = self._viewportMap[highlight]
  859. viewport:requestParent(nil)
  860. viewport:destruct()
  861. self._viewportMap[highlight] = nil
  862. end
  863.  
  864. function Renderer.new(targetScreenGui)
  865. assert(targetScreenGui, "Renderer.new must be provided with a targetScreenGui.")
  866.  
  867. local state = {
  868. _stack = {},
  869. _viewportMap = {},
  870. targetScreenGui = targetScreenGui,
  871. }
  872. setmetatable(state, Renderer)
  873.  
  874. targetScreenGui.IgnoreGuiInset = true
  875.  
  876. return state:withRenderImpl(DEFAULT_IMPLEMENTATION)
  877. end
  878.  
  879. function Renderer:withRenderImpl(implementationFunc)
  880. local resultImpl = implementationFunc()
  881.  
  882. self.onAddedImpl = resultImpl.onAdded
  883. self.onRemovedImpl = resultImpl.onRemoved
  884. self.onBeforeRenderImpl = resultImpl.onBeforeRender
  885. self.onRenderImpl = resultImpl.onRender
  886.  
  887. return self
  888. end
  889.  
  890. function Renderer:addToStack(highlight)
  891. if self._viewportMap[highlight] then
  892. return
  893. end
  894.  
  895. table.insert(self._stack, highlight)
  896. onAddedToStack(self, highlight)
  897. end
  898.  
  899. function Renderer:removeFromStack(highlight)
  900. local wasRemovedSuccessfully = false
  901.  
  902. for index = #self._stack, 1, -1 do
  903. if highlight == self._stack[index] then
  904. table.remove(self._stack, index)
  905. wasRemovedSuccessfully = true
  906. break
  907. end
  908. end
  909.  
  910. if wasRemovedSuccessfully then
  911. onRemovedFromStack(self, highlight)
  912. end
  913. end
  914.  
  915. function Renderer:step(dt)
  916. if not self.onRenderImpl then
  917. return
  918. end
  919.  
  920. for index = #self._stack, 1, -1 do
  921. local highlight = self._stack[index]
  922. local viewport = self._viewportMap[highlight]
  923. local objectRef = viewport:getReference()
  924.  
  925. if self.onBeforeRenderImpl then
  926. local beforeRenderResult = self.onBeforeRenderImpl(dt, objectRef.worldModel)
  927. if beforeRenderResult == false then
  928. viewport.rbx.Visible = false
  929. return
  930. end
  931. end
  932. for worldPart, viewportPart in pairs(objectRef.map) do
  933. self.onRenderImpl(dt, worldPart, viewportPart, highlight)
  934. end
  935. viewport.rbx.Visible = true
  936.  
  937. end
  938. end
  939.  
  940. return Renderer
  941. end
  942. fake_module_scripts[script] = module_script
  943. end
  944. do -- Modules.linkCheck
  945. local script = Instance.new('ModuleScript', Modules)
  946. script.Name = "linkCheck"
  947. local function module_script()
  948. local module = {}
  949. local PolicyService = game:GetService("PolicyService")
  950. function module.IsUnderage(PlayerObject)
  951. if PlayerObject:IsA("Player") then
  952. local result, policyInfo = pcall(function()
  953. return PolicyService:GetPolicyInfoForPlayerAsync(PlayerObject)
  954. end)
  955.  
  956. if policyInfo.AllowedExternalLinkReferences[1] == "Discord" then
  957. return false
  958. else
  959. return true
  960. end
  961. else
  962. return warn("Can't find Player / Not Local Player")
  963. end
  964. end
  965. return module
  966. end
  967. fake_module_scripts[script] = module_script
  968. end
  969.  
  970.  
  971. -- Scripts:
  972.  
  973. local function ZKHWJ_fake_script() -- Info.Client
  974. local script = Instance.new('LocalScript', Info)
  975. local req = require
  976. local require = function(obj)
  977. local fake = fake_module_scripts[obj]
  978. if fake then
  979. return fake()
  980. end
  981. return req(obj)
  982. end
  983.  
  984. local LocalizationService = game:GetService("LocalizationService")
  985. local Players = game:GetService("Players")
  986.  
  987. local TweenService = game:GetService("TweenService")
  988.  
  989.  
  990.  
  991. local remoteFunction = script.Parent.Handler:WaitForChild("remote")
  992.  
  993. local modules = script:WaitForChild("Modules")
  994.  
  995. local countries = require(modules:WaitForChild("countries"))
  996. local ObjectHighlighter = require(modules:WaitForChild("ObjectHighlighter"))
  997.  
  998. local plr = game.Players.LocalPlayer;
  999. local mouse = plr:GetMouse();
  1000.  
  1001. local function getPlayerFromCharacter(...)
  1002. return Players:GetPlayerFromCharacter(...)
  1003. end
  1004.  
  1005. local ENABLED = true
  1006.  
  1007. local infoTable = {
  1008. displayName = "nil";
  1009. userName = "nil";
  1010. userID = "nil";
  1011. country = "nil";
  1012. ping = "nil";
  1013. safeChat = "nil";
  1014. joinDate = "nil";
  1015. }
  1016.  
  1017. local Frame = script.Parent:WaitForChild("Frame")
  1018. local nameInfo = Frame.NameInfo
  1019. local Info = Frame.Info
  1020.  
  1021. local myScreenGui = Instance.new("ScreenGui")
  1022. myScreenGui.Name = "ObjectHighlighter"
  1023. myScreenGui.Parent = plr.PlayerGui
  1024. myScreenGui.ResetOnSpawn = false
  1025. myScreenGui.DisplayOrder = -1
  1026.  
  1027. local myRenderer = ObjectHighlighter.createRenderer(myScreenGui)
  1028.  
  1029. local highlightedObject = nil
  1030.  
  1031. local function update()
  1032. nameInfo.displayName.Text = infoTable.displayName;
  1033. nameInfo.userName_ID.Text = "@" .. infoTable.userName .. " (" .. infoTable.userID .. ")";
  1034.  
  1035. Info.Country.Text = "Country - " .. infoTable.country["name"];
  1036. Info.Country.ImageLabel.Image = infoTable.country["decal"];
  1037.  
  1038. Info.Ping.Text = "Ping - " .. infoTable.ping .. "ms";
  1039. Info.SafeChat.Text = "SafeChat - " .. infoTable.safeChat;
  1040. Info.JoinDate.Text = "Join Date - " .. infoTable.joinDate;
  1041. end
  1042.  
  1043. mouse.KeyDown:Connect(function(key)
  1044. if key == "p" then
  1045. ENABLED = not ENABLED
  1046. print(ENABLED)
  1047. if highlightedObject then
  1048. myRenderer:removeFromStack(highlightedObject)
  1049. highlightedObject = nil
  1050. Frame.Visible = false
  1051. end
  1052. end
  1053. end)
  1054.  
  1055. mouse.Move:connect(function()
  1056.  
  1057.  
  1058. if mouse.Target and ENABLED then
  1059. local selectedPlayer = getPlayerFromCharacter(mouse.Target.Parent)
  1060. if selectedPlayer then
  1061. Frame.Position = UDim2.new(0, mouse.X, 0, mouse.Y)
  1062. Frame.Visible = true
  1063. infoTable.displayName = selectedPlayer.DisplayName
  1064. infoTable.userName = selectedPlayer.Name
  1065. infoTable.userID = selectedPlayer.UserId
  1066. infoTable.country = remoteFunction:InvokeServer("country",selectedPlayer)
  1067. infoTable.ping = remoteFunction:InvokeServer("ping",selectedPlayer)*2
  1068. local bool = remoteFunction:InvokeServer("linkCheck",selectedPlayer)
  1069. if bool then
  1070. infoTable.safeChat = "true"
  1071. else
  1072. infoTable.safeChat = "false"
  1073. end
  1074. pcall(function()
  1075. infoTable.joinDate = remoteFunction:InvokeServer("joindate",selectedPlayer)
  1076. end)
  1077. if not highlightedObject then
  1078. highlightedObject = ObjectHighlighter.createFromTarget(selectedPlayer.Character)
  1079. myRenderer:addToStack(highlightedObject)
  1080. end
  1081. update()
  1082. else
  1083. Frame.Visible = false
  1084. if highlightedObject then
  1085. myRenderer:removeFromStack(highlightedObject)
  1086. highlightedObject = nil
  1087. end
  1088. end
  1089. end
  1090.  
  1091.  
  1092. end)
  1093.  
  1094. game:GetService("RunService").RenderStepped:Connect(function(dt)
  1095. myRenderer:step(dt)
  1096. end)
  1097. end
  1098. coroutine.wrap(ZKHWJ_fake_script)()
  1099. local function KYWWCEK_fake_script() -- Info.Handler
  1100. local script = Instance.new('Script', Info)
  1101. local req = require
  1102. local require = function(obj)
  1103. local fake = fake_module_scripts[obj]
  1104. if fake then
  1105. return fake()
  1106. end
  1107. return req(obj)
  1108. end
  1109.  
  1110. local LocalizationService = game:GetService("LocalizationService")
  1111. local gui = script.Parent
  1112. local client = gui.Client
  1113.  
  1114. local remoteFunction = script:WaitForChild("remote")
  1115.  
  1116. local modules = client:WaitForChild("Modules")
  1117. local countries = require(modules:WaitForChild("countries"))
  1118. local linkCheck = require(modules:WaitForChild("linkCheck"))
  1119.  
  1120. local function checkCountry(player)
  1121. local result, code = pcall(function()
  1122. --Get the country code
  1123. return LocalizationService:GetCountryRegionForPlayerAsync(player)
  1124. end)
  1125.  
  1126. if result and code ~= nil then
  1127.  
  1128. --Get the information about this count (both name and flag)
  1129. local countryData = countries.getCountry(code)
  1130. return countryData
  1131. else
  1132. warn("Couldn't proccess players country")
  1133. end
  1134. end
  1135.  
  1136. local function getJoinDate(player)
  1137. local joinTime = os.time() - (player.AccountAge*86400)
  1138. local joinDate = os.date("!*t", joinTime)
  1139. return joinDate.day .. "/" .. joinDate.month .. "/" .. joinDate.year
  1140. end
  1141.  
  1142. remoteFunction.OnServerInvoke = function(player,code,plr)
  1143. if code == "country" then
  1144. return checkCountry(plr)
  1145. end
  1146. if code == "ping" then
  1147. return plr:GetNetworkPing()*1000
  1148. end
  1149. if code == "linkCheck" then
  1150. return linkCheck.IsUnderage(plr)
  1151. end
  1152. if code == "joindate" then
  1153. return getJoinDate(plr)
  1154. end
  1155. end
  1156. end
  1157. coroutine.wrap(KYWWCEK_fake_script)()
  1158. local function UWKX_fake_script() -- TextLabel.Animate
  1159. local script = Instance.new('LocalScript', TextLabel)
  1160. local req = require
  1161. local require = function(obj)
  1162. local fake = fake_module_scripts[obj]
  1163. if fake then
  1164. return fake()
  1165. end
  1166. return req(obj)
  1167. end
  1168.  
  1169. local TweenService = game:GetService("TweenService")
  1170.  
  1171. TweenService:Create(script.Parent.UIGradient,TweenInfo.new(5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut,-1),{Offset = Vector2.new(.5,0)}):Play()
  1172. end
  1173. coroutine.wrap(UWKX_fake_script)()
  1174.  
Add Comment
Please, Sign In to add comment