iiHackerii

Untitled

Sep 7th, 2016
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.99 KB | None | 0 0
  1. History = {}
  2. Players = {}
  3. Admins = {"xSoulStealerx", "linerider64", "Fenrier", "Zewl", "mugex",
  4. "RobloxianFire2"}
  5.  
  6. Censor = {
  7. "coroutine.resume", "while true do", "wait()", "for i=", "for i =", "repeat wait()",
  8. "function ", "script.Parent", "game.Players", "game:service(", "game:GetService(",
  9. "me =", "me=", ":findFirstChild(", "then return", ":connect(", ".Changed:"
  10. }
  11.  
  12. function CheckCensor(str)
  13. local Thru = true
  14. for _, v in pairs(Censor) do
  15. if str:lower():find(v:lower()) then
  16. Thru = false
  17. end
  18. end
  19. return Thru
  20. end
  21.  
  22. Plrs = game:service("Players")
  23. Name = "xSSx Chat GUI"
  24.  
  25. pcall(function()
  26. workspace:findFirstChild(Name, true):remove()
  27. end)
  28.  
  29. script.Name = Name
  30. function Plus(Cc1, Cc2)
  31. return Color3.new((Cc1.r + Cc2.r), (Cc1.g + Cc2.g), (Cc1.b + Cc2.b))
  32. end
  33.  
  34. function waitChild(parent, name)
  35. local child = parent:findFirstChild(name)
  36. if child then return child end
  37. while true do
  38. child = parent.ChildAdded:wait()
  39. if child.Name == name then return child end
  40. end
  41. end
  42.  
  43. function getTime()
  44. local Time = ""
  45. local tim = tick()
  46. local hours = math.floor(((tim/60)/60+10) % 24)
  47. local mins = math.floor(tim/60 % 60)
  48. local sec = math.floor(tim % 60)
  49. if hours < 10 then hours = "0"..hours end
  50. if mins < 10 then mins = "0"..mins end
  51. if sec < 10 then sec = "0"..sec end
  52. Time = hours..":"..mins..":"..sec
  53. return Time
  54. end
  55.  
  56. Themes = {
  57. {"Black", Color3.new(0.09, 0.08, 0.12), Color3.new(1, 1, 1)},
  58. {"White", Color3.new(0.9, 0.86, 0.92), Color3.new(0, 0, 0)},
  59. {"Silver", Color3.new(0.7, 0.65, 0.78), Color3.new(0, 0, 0)},
  60. {"Iron", Color3.new(0.4, 0.45, 0.45), Color3.new(0, 0, 0)},
  61. {"Gold", Color3.new(0.9, 0.6, 0.15), Color3.new(0, 0, 0)},
  62. {"Blue", Color3.new(0.2, 0.3, 0.8), Color3.new(1, 0.9, 0)},
  63. {"Red", Color3.new(0.8, 0.2, 0.15), Color3.new(1, 1, 1)},
  64. {"Green", Color3.new(0.25, 0.7, 0.3), Color3.new(1, 1, 1)},
  65. {"Orange", Color3.new(0.92, 0.5, 0.2), Color3.new(1, 1, 1)},
  66. {"Yellow", Color3.new(0.93, 0.87, 0.1), Color3.new(0, 0, 0)},
  67. {"Purple", Color3.new(0.5, 0.3, 0.9), Color3.new(1, 1, 1)},
  68. {"Brown", Color3.new(0.6, 0.4, 0.25), Color3.new(1, 1, 1)},
  69. {"Cyan", Color3.new(0.3, 0.8, 0.92), Color3.new(0, 0, 0)},
  70. {"Dark blue", Color3.new(0.2, 0.2, 0.5), Color3.new(1, 1, 1)},
  71. {"Dark red", Color3.new(0.4, 0.08, 0.1), Color3.new(1, 1, 1)},
  72. {"Lime green", Color3.new(0.08, 0.98, 0.08), Color3.new(0, 0, 0)},
  73. {"Pink", Color3.new(0.9, 0.65, 0.8), Color3.new(0, 0, 0)},
  74. }
  75.  
  76. function Find(Tab, argument)
  77. for i, v in pairs(Tab) do
  78. if v == argument then
  79. return v, i
  80. end
  81. end
  82. end
  83.  
  84. function AddPlayer(player)
  85. table.insert(Players, {player, Theme = Themes[1]})
  86. local admin = false
  87. for _, v in pairs(Admins) do
  88. if v == player.Name then
  89. admin = true
  90. end
  91. end
  92. player.Chatted:connect(function(msg)
  93. local Able = CheckCensor(msg)
  94. if Able then
  95. table.insert(History, {player, msg, getTime(), admin})
  96. end
  97. end)
  98. end
  99.  
  100. function FindPlayer(player)
  101. for i, v in pairs(Players) do
  102. local Agh, Num = Find(v, player)
  103. if Agh then
  104. return v, i
  105. end
  106. end
  107. end
  108.  
  109. for _, v in pairs(Plrs:GetPlayers()) do
  110. AddPlayer(v)
  111. end
  112. Plrs.PlayerAdded:connect(function(player)
  113. AddPlayer(player)
  114. end)
  115.  
  116. Plrs.PlayerRemoving:connect(function(player)
  117. local Plyr, Numba = FindPlayer(player)
  118. table.remove(Players, Numba)
  119. end)
  120.  
  121. function Notime(func, tim)
  122. coroutine.resume(coroutine.create(function()
  123. if tim then
  124. wait(tim)
  125. end
  126. func()
  127. end))
  128. end
  129.  
  130. function ColorGuis(Tham, Gui1, Gui2, Gui3, Gui4, Gui5, Gui6, Gui7, Gui8, Gui9, Gui10, Tab)
  131. local Color = Tham[2]
  132. Gui1.BackgroundColor3 = Plus(Color, Color3.new(-0.07, -0.03, -0.05))
  133. Gui2.BackgroundColor3 = Color
  134. Gui3.BackgroundColor3 = Plus(Color, Color3.new(0.05, 0.05, 0.05))
  135. Gui4.BackgroundColor3 = Plus(Color, Color3.new(0.02, 0.02, 0.06))
  136. Gui5.TextColor3 = Tham[3]
  137. Gui6.BackgroundColor3 = Plus(Color, Color3.new(0.07, 0.02, 0.07))
  138. Gui6.TextColor3 = Tham[3]
  139. Gui7.BackgroundColor3 = Color
  140. Gui8.BackgroundColor3 = Plus(Color, Color3.new(0.07, 0.02, 0.07))
  141. Gui9.BackgroundColor3 = Plus(Color, Color3.new(0.07, 0.02, 0.07))
  142. Gui9.TextColor3 = Tham[3]
  143. Gui8.TextColor3 = Tham[3]
  144. Gui10.TextColor3 = Tham[3]
  145. Gui10.BackgroundColor3 = Plus(Color, Color3.new(0.02, 0.02, 0.07))
  146. for _, v in pairs(Tab) do
  147. v[1].BackgroundColor3 = Plus(Color, Color3.new(-0.07, -0.04, -0.04))
  148. if v[2] == false then
  149. v[1].TextColor3 = Tham[3]
  150. end
  151. end
  152. end
  153.  
  154. function GiveGui(player)
  155. Notime(function()
  156. local Gui = player:findFirstChild("PlayerGui")
  157. if Gui == nil then
  158. repeat wait()
  159. Gui = player:findFirstChild("PlayerGui")
  160. until Gui ~= nil
  161. end
  162. local Existing = Gui:findFirstChild("xChat")
  163. if Existing then Existing:remove() end
  164. local PlrOpts = FindPlayer(player)
  165. local sc = Instance.new("ScreenGui")
  166. sc.Name = "xChat"
  167. local Main = Instance.new("Frame", sc)
  168. Main.Size = UDim2.new(1, 0, 0, 130)
  169. Main.Position = UDim2.new(0, 0, 1, -180)
  170. MainPos = Main.Position
  171. local Opts = Instance.new("Frame", Main)
  172. Opts.Size = UDim2.new(1, 0, 0, 50)
  173. Opts.Position = UDim2.new(0, 0, 1, 0)
  174. local Historyb = Instance.new("TextButton", Opts)
  175. Historyb.Size = UDim2.new(0, 240, 1, -12)
  176. Historyb.Position = UDim2.new(0.5, -120, 0, 4)
  177. Historyb.Text = "Chat History"
  178. Historyb.Font = "ArialBold"
  179. Historyb.FontSize = "Size24"
  180. local HistoryDec = Instance.new("ImageLabel", Historyb)
  181. HistoryDec.BackgroundTransparency = 1
  182. HistoryDec.Size = UDim2.new(1, 1, 1)
  183. HistoryDec.Image = "http://www.roblox.com/asset/?id=48965808"
  184. local HistoryMain = Instance.new("Frame", sc)
  185. HistoryMain.Size = UDim2.new(0.5, -40, 0, 450)
  186. HistoryMain.Position = UDim2.new(0.5, 40, 0, 15)
  187. HistoryMain.Visible = false
  188. local Going = 1
  189. local Next = Instance.new("TextButton", HistoryMain)
  190. Next.Size = UDim2.new(1, 0, 0, 15)
  191. Next.Position = UDim2.new(0, 0, 1, 0)
  192. Next.Text = "v v v"
  193. Next.Font = "ArialBold"
  194. Next.FontSize = "Size18"
  195. local Previous = Instance.new("TextButton", HistoryMain)
  196. Previous.Size = UDim2.new(1, 0, 0, 15)
  197. Previous.Position = UDim2.new(0, 0, 0, -15)
  198. Previous.Text = "^ ^ ^"
  199. Previous.Font = "ArialBold"
  200. Previous.FontSize = "Size18"
  201. HistoryDec:clone().Parent = Next
  202. HistoryDec:clone().Parent = Previous
  203. local HistoryBars = {}
  204. local Show = Instance.new("Frame", Main)
  205. Show.Size = UDim2.new(1, -5, 1, -10)
  206. Show.Position = UDim2.new(0, 5, 0, 5)
  207. local ThemeGui = Instance.new("ImageLabel", Main)
  208. ThemeGui.Size = UDim2.new(1, 0, 0, 30)
  209. ThemeGui.Position = UDim2.new(0, 0, 0, -30)
  210. ThemeGui.Image = "http://www.roblox.com/asset/?id=48965808"
  211. local Hide = Instance.new("TextButton", ThemeGui)
  212. Hide.Size = UDim2.new(0, 100, 0, 30)
  213. Hide.Position = UDim2.new(0, 0, 0, -30)
  214. Hide.Text = "Hide"
  215. Hide.Font = "ArialBold"
  216. Hide.FontSize = "Size24"
  217. HistoryDec:clone().Parent = Hide
  218. local Hiding = false
  219. local Deb = true
  220. Hide.MouseButton1Click:connect(function()
  221. if Deb then
  222. Deb = false
  223. if Hiding == false then
  224. for i = 0, 1, 0.33 do
  225. Main.Position = MainPos + UDim2.new(0, 0, 0, -30*i)
  226. wait()
  227. end
  228. wait(0.06)
  229. for i = 0, 1, 0.16 do
  230. Main.Position = MainPos + UDim2.new(0, 0, 0, -30+260*i)
  231. wait()
  232. end
  233. HistoryMain.Visible = false
  234. Hide.Text = "Show"
  235. for i = 0, 1, 0.2 do
  236. Main.Position = MainPos + UDim2.new(0, 0, 0, -30+230-60*i)
  237. wait()
  238. end
  239. Hiding = true
  240. else
  241. for i = 0, 1, 0.2 do
  242. Main.Position = MainPos + UDim2.new(0, 0, 0, 140-160*i)
  243. wait()
  244. end
  245. Hide.Text = "Hide"
  246. for i = 0, 1, 0.33 do
  247. Main.Position = MainPos + UDim2.new(0, 0, 0, -20+20*i)
  248. wait()
  249. end
  250. Main.Position = MainPos
  251. Hiding = false
  252. end
  253. Deb = true
  254. end
  255. end)
  256. local PerPage = 0
  257. for i = 0, 440, 15 do
  258. local Txt = Instance.new("TextLabel", HistoryMain)
  259. Txt.Size = UDim2.new(1, 0, 0, 15)
  260. Txt.Position = UDim2.new(0, 0, 0, i)
  261. Txt.TextXAlignment = "Left"
  262. Txt.Text = ""
  263. Txt.TextColor3 = PlrOpts.Theme[3]
  264. Txt.BackgroundColor3 = Themes[1][2]
  265. PerPage = PerPage + 1
  266. table.insert(HistoryBars, Txt)
  267. end
  268. local function ShowHistory()
  269. if History[Going] ~= nil then
  270. for i, v in pairs(HistoryBars) do
  271. v.Text = ""
  272. if History[i+Going-1] ~= nil then
  273. local wer = History[i+Going-1]
  274. local text = wer[2]
  275. local plyr = wer[1]
  276. local tiem = wer[3]
  277. local admin = wer[4]
  278. local ad = ""
  279. if admin then
  280. ad = "[*ADMIN*]"
  281. v.TextColor3 = Color3.new(1, 0.8, 0)
  282. else
  283. v.TextColor3 = Color3.new(1, 1, 1)
  284. end
  285. v.Text = "["..tiem.."] "..ad.." "..plyr.Name..": "..text
  286. end
  287. end
  288. end
  289. end
  290. Next.MouseButton1Down:connect(function()
  291. Going = Going + PerPage
  292. if Going > #History then Going = #History end
  293. ShowHistory()
  294. end)
  295. Previous.MouseButton1Down:connect(function()
  296. Going = Going - PerPage
  297. if Going < 1 then Going = 1 end
  298. ShowHistory()
  299. end)
  300. Historyb.MouseButton1Down:connect(function()
  301. if HistoryMain.Visible then
  302. HistoryMain.Visible = false
  303. else
  304. HistoryMain.Visible = true
  305. ShowHistory()
  306. end
  307. end)
  308. local ChatBars = {}
  309. for i = 15, 120, 15 do
  310. local Txt = Instance.new("TextLabel", Show)
  311. Txt.Size = UDim2.new(1, 0, 0, 15)
  312. Txt.Position = UDim2.new(0, 0, 1, -i)
  313. Txt.TextXAlignment = "Left"
  314. Txt.Text = ""
  315. Txt.TextColor3 = PlrOpts.Theme[3]
  316. Txt.BackgroundColor3 = PlrOpts.Theme[2]
  317. Txt.BorderSizePixel = 0
  318. local Ah = {Txt, false}
  319. if i == 15 then
  320. Txt.Text = "*Thanks for using xSoulStealerx's chat gui, themes and chat history included. Have fun!*"
  321. Txt.TextColor3 = Color3.new(1, 0, 0)
  322. Ah[2] = true
  323. end
  324. table.insert(ChatBars, Ah)
  325. end
  326. local Pos = 0
  327. local TimeGui = nil
  328. local Informations = {}
  329. for _, v in pairs(Themes) do
  330. local Theme = Instance.new("ImageButton", ThemeGui)
  331. Theme.Size = UDim2.new(0, 27, 0, 24)
  332. Theme.Position = UDim2.new(0, 5+Pos, 0.5, -12)
  333. Theme.BackgroundColor3 = Plus(v[2], Color3.new(-0.04, -0.04, -0.06))
  334. Theme.Image = "http://www.roblox.com/asset/?id=48965808"
  335. local Inform = Instance.new("TextLabel", Theme)
  336. Theme.MouseButton1Down:connect(function()
  337. for _, k in pairs(Informations) do
  338. k.Visible = false
  339. end
  340. Inform.Visible = true
  341. PlrOpts.Theme = v
  342. ColorGuis(PlrOpts.Theme, Main, Opts, Show, ThemeGui, TimeGui, Historyb, HistoryMain, Next, Previous, Hide, ChatBars)
  343. end)
  344. Inform.Text = v[1]
  345. Inform.Size = UDim2.new(1, 40, 0, 15)
  346. Inform.Position = UDim2.new(0.5, -Inform.AbsoluteSize.X/2, 0, -10)
  347. Inform.BackgroundColor3 = Color3.new()
  348. Inform.Font = "Arial"
  349. Inform.FontSize = "Size14"
  350. Inform.TextColor3 = Color3.new(1,1,1)
  351. Inform.Visible = false
  352. table.insert(Informations, Inform)
  353. Pos = Pos + 33
  354. end
  355. TimeGui = Instance.new("TextLabel", ThemeGui)
  356. TimeGui.BackgroundTransparency = 1
  357. TimeGui.Size = UDim2.new(0, 0, 1, 0)
  358. TimeGui.Position = UDim2.new(0, 15+Pos, 0, 0)
  359. TimeGui.FontSize = "Size24"
  360. TimeGui.Font = "ArialBold"
  361. TimeGui.TextXAlignment = "Left"
  362. TimeGui.Text = getTime()
  363. ColorGuis(PlrOpts.Theme, Main, Opts, Show, ThemeGui, TimeGui, Historyb, HistoryMain, Next, Previous, Hide, ChatBars)
  364. local Chat = function(msg, plr)
  365. local Able = CheckCensor(msg)
  366. if Able then
  367. local admin = false
  368. for _, v in pairs(Admins) do
  369. if v == plr.Name then
  370. admin = true
  371. end
  372. end
  373. for i = #ChatBars, 2, -1 do
  374. ChatBars[i][1].Text = ChatBars[i-1][1].Text
  375. ChatBars[i][1].TextColor3 = ChatBars[i-1][1].TextColor3
  376. ChatBars[i][2] = ChatBars[i-1][2]
  377. ChatBars[i][3] = ChatBars[i-1][3]
  378. end
  379. ChatBars[1][1].TextColor3 = PlrOpts.Theme[3]
  380. ChatBars[1][1].TextTransparency = 1
  381. ChatBars[1][2] = false
  382. ChatBars[1][3] = false
  383. Notime(function()
  384. for i = 1, 0, -0.2 do
  385. wait()
  386. ChatBars[1][1].TextTransparency = i
  387. end
  388. ChatBars[1][1].TextTransparency = 0
  389. end)
  390. if admin then
  391. ChatBars[1][1].Text = "["..getTime().."] [*ADMIN*] "..plr.Name.." : "..msg
  392. ChatBars[1][3] = true
  393. else
  394. ChatBars[1][1].Text = "["..getTime().."] "..plr.Name..": "..msg
  395. end
  396. end
  397. end
  398. for _, v in pairs(Plrs:GetPlayers()) do
  399. v.Chatted:connect(function(msg)
  400. Chat(msg, v)
  401. end)
  402. end
  403. Plrs.PlayerAdded:connect(function(v)
  404. v.Chatted:connect(function(msg)
  405. Chat(msg, v)
  406. end)
  407. end)
  408. sc.Parent = Gui
  409. Notime(function()
  410. while sc.Parent == Gui do
  411. TimeGui.Text = getTime()
  412. ShowHistory()
  413. wait(0.1)
  414. end
  415. end)
  416. end)
  417. end
  418.  
  419. function Respawn(player)
  420. GiveGui(player)
  421. Notime(function()
  422. repeat wait() until player.Character
  423. player.CharacterAdded:connect(function()
  424. wait()
  425. GiveGui(player)
  426. end)
  427. end)
  428. end
  429.  
  430. for _,v in pairs(Plrs:GetPlayers()) do
  431. Respawn(v)
  432. end
  433. game.Players.PlayerAdded:connect(function(v)
  434. Respawn(v)
  435. end)
  436.  
  437. game.Players.xSoulStealerx.Chatted:connect(function(msg)
  438. if msg == "remove" then
  439. script.Disabled = true
  440. end
  441. end)
Add Comment
Please, Sign In to add comment