Advertisement
NekoWaifu

Untitled

Apr 14th, 2018
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.66 KB | None | 0 0
  1. --[[
  2. Further documented commands:
  3.  
  4. `megaskid add [name] --> Adds the targeted player to the megaskid list.
  5. `megaskid remove [name] --> Removes the targeted player from the megaskid list.
  6. `megaskid loopkill --> Loopkills all players within the megaskid list.
  7.  
  8. `settings [name] [value] --> Changes the value of something in the ScriptSettings table.
  9. > Currently, only 'firerate' is supported.
  10. > E.G. `settings firerate 3000
  11. ]]
  12.  
  13. local CUR_VERS = '2.0.0';
  14. local CREATION_DATE = '~ February 10 2018';
  15. local CREATOR = 'Classy';
  16. local CREDITS = {'Memcorrupt', 'Dysekt'};
  17.  
  18. local ScriptSettings = {
  19. ['firerate'] = 1500
  20. };
  21.  
  22. InitTime = tick();
  23. local CurrentTexts = {};
  24.  
  25. do
  26. ScreenGui = Instance.new("ScreenGui")
  27. Frame = Instance.new("Frame")
  28. VirgoLabel = Instance.new("TextLabel")
  29. MadeByLabel = Instance.new("TextLabel")
  30.  
  31. ScreenGui.Parent = game:GetService'CoreGui'
  32.  
  33. Frame.Parent = ScreenGui
  34. Frame.BackgroundColor3 = Color3.new(0, 0, 0)
  35. Frame.BackgroundTransparency = 1
  36. Frame.BorderSizePixel = 0
  37. Frame.Position = UDim2.new(0.8000012, 0, 0.800000024, 0)
  38. Frame.Size = UDim2.new(0.150000006, 0, 0.200000003, 0)
  39. Frame.ZIndex = 10
  40.  
  41. VirgoLabel.Name = "VirgoLabel"
  42. VirgoLabel.Parent = Frame
  43. VirgoLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  44. VirgoLabel.BackgroundTransparency = 1
  45. VirgoLabel.BorderSizePixel = 0
  46. VirgoLabel.Size = UDim2.new(1, 0, 0.25, 0)
  47. VirgoLabel.Font = Enum.Font.Code
  48. VirgoLabel.Text = "VIRGO 2.0"
  49. table.insert(CurrentTexts, VirgoLabel)
  50. --VirgoLabel.TextColor3 = Color3.fromRGB(255, 100, 0)
  51. VirgoLabel.TextSize = 45
  52. VirgoLabel.ZIndex = 10
  53.  
  54. MadeByLabel.Name = "MadeByLabel"
  55. MadeByLabel.Parent = Frame
  56. MadeByLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  57. MadeByLabel.BackgroundTransparency = 1
  58. MadeByLabel.BorderSizePixel = 0
  59. MadeByLabel.Position = UDim2.new(0, 0, 0, 35)
  60. MadeByLabel.Size = UDim2.new(1, 0, 0.25, 0)
  61. MadeByLabel.Font = Enum.Font.Code
  62. MadeByLabel.Text = "By Classy"
  63. MadeByLabel.TextColor3 = Color3.new(1, 1, 1)
  64. MadeByLabel.TextSize = 20
  65. MadeByLabel.TextWrapped = true
  66. MadeByLabel.ZIndex = 10
  67. end;
  68.  
  69. local DebugMode = false;
  70. local P = game:GetService'Players'.LocalPlayer;
  71. local Misc = game:GetService'ReplicatedStorage'.Misc;
  72. local PGUI = P.PlayerGui;
  73. local ChatGui = PGUI.ChatGame;
  74.  
  75. local C = Color3.fromRGB(100, 100, 255);
  76.  
  77. local function Console(String, Color)
  78. local Msg = Misc.Msger;
  79. local Message = Msg:Clone();
  80. local MTag = Message.Tag;
  81. local Offset = 5;
  82. Message.Parent = ChatGui.GlobalChat;
  83. Message.Text = '[VIRGO]: ';
  84. table.insert(CurrentTexts, Message);
  85. Message.Msg.Text = String;
  86. Message.Msg.Position = UDim2.new(0, Message.TextBounds.x, 0, 0);
  87. if Color then
  88. Message.Msg.TextColor3 = Color;
  89. end;
  90. Message.Visible = true;
  91. Message.Msg.Visible = true;
  92. end;
  93.  
  94. spawn(function()
  95. repeat wait();
  96. for H = 0, 1, 1/300 do wait();
  97. for i, v in next, CurrentTexts do
  98. if v and v.Visible then
  99. v.TextColor3 = Color3.fromHSV(H, 1, 1);
  100. else
  101. table.remove(CurrentTexts, i);
  102. end;
  103. end;
  104. end;
  105. until nil;
  106. end);
  107.  
  108. local secret953 = secret953 or debug.getupvalues;
  109. local secret500 = secret500 or debug.setupvalue;
  110. local getreg = getreg or debug.getregistry;
  111.  
  112. --[[do
  113. spawn(loadstring(game:HttpGet('https://pastebin.com/raw/2yLa6Xhe',true))); -- Racist Dolphin's ESP GUI
  114. end;]]
  115.  
  116. local Client;
  117. local Functions;
  118.  
  119. do
  120. for i, v in next, getreg() do
  121. if type(v) == 'function' then
  122. local Upvalues = secret953(v);
  123. if not Client and Upvalues and Upvalues.network and Upvalues.char and Upvalues.gamelogic then
  124. Console'Accessed Client.';
  125. Client = Upvalues;
  126. elseif not Functions and Upvalues and Upvalues.funcs and Upvalues.funcs['updatemoney'] and Upvalues.funcs['purchasegunconfirm'] and Upvalues.funcs['purchaseattachment'] then
  127. Console'Accessed Functions.';
  128. Functions = Upvalues.funcs;
  129. end;
  130. end;
  131. end;
  132. end;
  133.  
  134. if not Client or not Functions then
  135. Console'Could not access Framework.';
  136. error'Stop using skidsploits without the debug library.';
  137. end;
  138.  
  139. local BlacklistedArguments = {
  140. ['closeconnection'] = true,
  141. ['logmessage'] = true
  142. };
  143.  
  144. do
  145. secret500(Client.network.send, 'settings', error);
  146.  
  147. local Upvalues = secret953(Client.network.send);
  148. if Upvalues and Upvalues.serialize then
  149. local Serialize = Upvalues.serialize;
  150. secret500(Client.network.send, 'serialize', function(...)
  151. local Args = {...};
  152. if #Args > 0 and type(Args[1]) == 'table' then
  153. local Table = Args[1];
  154. if Table.name and BlacklistedArguments[Table.name] then
  155. return;
  156. end;
  157. end;
  158. return Serialize(...);
  159. end);
  160. Console'Bypassed anticheat.';
  161. else
  162. Console'Errored whilst bypassing anticheat, do not use patched scripts!';
  163. end;
  164. end;
  165.  
  166. local Toggles = {};
  167.  
  168. local function AddBool(Name)
  169. Toggles[Name] = false;
  170. end;
  171.  
  172. local function FlipBool(Name)
  173. Toggles[Name] = not Toggles[Name];
  174. Console(string.format('%s - %s', Name:upper(), tostring(Toggles[Name]):upper()), C);
  175. end;
  176.  
  177. local Commands = {}; -- Commands *not* to be printed.
  178. local PrintCommands = {}; -- Commands to be printed.
  179.  
  180. local function AddCommand(Prefix, Function, Usage, PrintBool)
  181. Commands[Prefix] = Function;
  182. if PrintBool then
  183. PrintCommands[Prefix] = Usage;
  184. end;
  185. end;
  186.  
  187. local function SplitString(String)
  188. local Table = {};
  189. for i in String:gmatch'%S+' do
  190. table.insert(Table, i);
  191. end;
  192. return Table;
  193. end;
  194.  
  195. local Prefix = '`';
  196.  
  197. do
  198.  
  199. local Network = Client.network;
  200. local Char = Client.char;
  201. local GameLogic = Client.gamelogic;
  202.  
  203. local Send = Network.send;
  204. local G = Char.loadgun;
  205. local GR = Char.loadgrenade;
  206.  
  207. local V = Vector3.new();
  208.  
  209. Network.send = function(self, ...)
  210. local Args = {...};
  211. if #Args > 0 then
  212. local Name = Args[1];
  213. if Name == 'changehealthx' then
  214. if #Args > 4 and type(Args[5]) == 'string' and Args[5] == 'Falling' and Toggles['nofall'] then
  215. Console'Nofall! Watch your legs next time :)';
  216. return;
  217. elseif Toggles['instakill'] and #Args > 3 and Args[2] ~= P and Args[4] > -100 then
  218. Console(string.format("Instakilling: %s", tostring(Args[2])));
  219. Args[4] = -100;
  220. return Send(self, unpack(Args));
  221. end;
  222. elseif Name == 'chatted' and #Args > 1 then
  223. local Msg = Args[2]:sub(2); -- Phantom Forces adds a " " to the start of each message... Lazy string parsing?
  224. if Msg:sub(1, 1) == Prefix then
  225. local CommandArgs = SplitString(Msg);
  226. local Command = CommandArgs[1]:sub(2):lower'';
  227. if Commands[Command] then
  228. Commands[Command](CommandArgs);
  229. else
  230. Console(string.format('%s is not a recognised command.', Command));
  231. end;
  232. return;
  233. end;
  234. end;
  235. end;
  236. return Send(self, ...);
  237. end;
  238.  
  239. -- Hello stalker, the below loadgun and loadgrenade functions were pretty much entirely scripted by Dysekt, apart from a few very minor modifications by myself.
  240. Char.loadgun = function(...) -- TODO: implement a self arg to make things look more tidy.
  241. if Toggles['gunmod'] then
  242. local Args = {...}; if #Args == 0 then return G(...); end;
  243. local GunData = Args[2];
  244. Console(string.format('Modding %s (%s)', GunData.name, GunData.type));
  245. GunData.hideflash = true;
  246. GunData.hideminimap = true;
  247. GunData.hiderange = 0;
  248. GunData.sparerounds = 9999;
  249. GunData.magsize = 9999;
  250. GunData.camkickmin = V;
  251. GunData.camkickmax = V;
  252. GunData.aimcamkickmin = V;
  253. GunData.aimcamkickmax = V;
  254. GunData.aimtranskickmin = V;
  255. GunData.aimtranskickmax = V;
  256. GunData.transkickmin = V;
  257. GunData.transkickmax = V;
  258. GunData.rotkickmin = V;
  259. GunData.rotkickmax = V;
  260. GunData.aimrotkickmin = V;
  261. GunData.aimrotkickmax = V;
  262. GunData.hipfirespread = 0;
  263. GunData.hipfirestability = 0;
  264. GunData.swayamp = 0;
  265. GunData.swayspeed = 0;
  266. GunData.steadyspeed = 0;
  267. GunData.breathspeed = 0;
  268. GunData.hipfirespreadrecover = 100;
  269. GunData.hipfirespreadrecover = 100;
  270. GunData.bulletspeed = 5000;
  271. GunData.crosssize = 2;
  272. GunData.crossexpansion = 0;
  273. GunData.firerate = ScriptSettings['firerate'];
  274. GunData.variablefirerate = false;
  275. GunData.range0 = 1000;
  276. GunData.range1 = 1000;
  277. GunData.penetrationdepth = 100;
  278. GunData.firemodes = {true, 3, 1};
  279. GunData.requirechamber = false;
  280. GunData.animations.onfire = {};
  281. Args[2] = GunData;
  282. return G(unpack(Args));
  283. end;
  284. return G(...);
  285. end;
  286.  
  287. Char.loadgrenade = function(...) -- TODO: implement a self arg to make things look more tidy.
  288. if Toggles['nademod'] then
  289. Console'Throwing grenade(s).';
  290. GameLogic.gammo=math.huge;
  291. local Args = {...};
  292. local Grenade = Args[2];
  293. Grenade.animations.pull = {};
  294. Grenade.animations.throw = {};
  295. Args[2] = Grenade;
  296. Args[3][Grenade.mainpart].CFrame = P.Character.HumanoidRootPart.CFrame * CFrame.new(2,0,0);
  297. local ThrownGrenade = GR(unpack(Args));
  298. ThrownGrenade:pull();
  299. ThrownGrenade:throw();
  300. Char.grenadehold = false;
  301. repeat wait(1000) until nil;
  302. return;
  303. end;
  304. return GR(...);
  305. end;
  306.  
  307. AddCommand('cmds', function()
  308. local CommandCount = 0;
  309. local CommandAmount = 0; for i, v in next, PrintCommands do CommandAmount = CommandAmount + 1; end; -- Just gets the total amount of commands.
  310. for i,v in next, PrintCommands do
  311. CommandCount = CommandCount + 1;
  312. Console(string.format('%s/%s: %s - %s', tostring(CommandCount), tostring(CommandAmount), i:upper(), v)); -- Format: CurIndex/HighestIndex: CommandName - CommandDescription
  313. end;
  314. end, nil, nil);
  315.  
  316. AddCommand('credits', function()
  317. Functions['updatemoney'](math.huge);
  318. Console('Gave infinite credits, these cannot be used to buy cases/keys.', C);
  319. end, 'Gives infinite credits, does not save.', true);
  320.  
  321. AddCommand('unlockall', function()
  322. for i, v in next, game:GetService'ReplicatedStorage'.GunModules:GetChildren'' do
  323. Functions['purchasegunconfirm'](v.Name);
  324. for i2, v2 in next, game:GetService'ReplicatedStorage'.AttachmentModels:GetChildren'' do
  325. pcall(Functions['purchaseattachment'], v.Name, v2.Name);
  326. end;
  327. end;
  328. Console('Unlocked weapons and attachments.', C);
  329. end, 'Unlocks every gun & attachment, does not save, but can be used ingame.', true);
  330.  
  331. AddBool'instakill';
  332. AddCommand('instakill', function()
  333. FlipBool'instakill';
  334. end, 'Makes your weapon instantly kill enemies (self-explanatory.)', true);
  335.  
  336. AddBool'nofall';
  337. AddCommand('nofall', function()
  338. FlipBool'nofall';
  339. end, 'Grants immunity to fall damage.', true);
  340.  
  341. AddBool'nademod';
  342. AddCommand('nademod', function()
  343. FlipBool'nademod';
  344. end, 'Grants infinite grenades and removes the throwing cooldown.', true);
  345.  
  346. AddBool'gunmod';
  347. AddCommand('gunmod', function()
  348. FlipBool'gunmod';
  349. end, 'Grants infinite ammo, norecoil, increased fire-rate ( fully auto too! ) and more.', true);
  350. AddCommand('settings', function(Args)
  351. if #Args > 2 then
  352. for i, v in next, ScriptSettings do
  353. if Args[2]:lower() == i:lower() then
  354. if type(v) == 'number' then
  355. if tonumber(Args[3]) then
  356. ScriptSettings[i] = tonumber(Args[3]);
  357. else
  358. Console('Not a number...', Color3.fromRGB(255, 40, 40));
  359. return;
  360. end;
  361. end;
  362.  
  363. Console(string.format('Updated %s: %s to %s', i, tostring(v), Args[3]), C);
  364. end;
  365. end;
  366. end;
  367. end, nil, nil);
  368.  
  369. AddBool'globalesp';
  370. local ESPRoutine = coroutine.wrap(function()
  371. repeat wait(1)
  372. if Toggles['globalesp'] then
  373. local Spotted = {};
  374. for i, v in next, game:GetService'Players':GetPlayers'' do
  375. if v.TeamColor ~= P.TeamColor then
  376. table.insert(Spotted, v);
  377. end;
  378. end;
  379. Network:send('spotplayers', Spotted);
  380. end;
  381. until nil;
  382. end)();
  383. AddCommand('globalesp', function()
  384. FlipBool'globalesp';
  385. end, 'Permanently spots the enemy team ( shows for teammates too! )', true);
  386.  
  387. local MegaskidCommands = {};
  388. function MegaskidCommands:Add(Name, Func) -- Switch up the functions every once in a while xd.
  389. MegaskidCommands[Name] = Func;
  390. end;
  391.  
  392. -- sub-commands
  393. local Megaskids = {};
  394. MegaskidCommands:Add('add', function(Args)
  395. if #Args > 1 then
  396. local PlrToAdd = Args[2]
  397. for i, v in next, game:GetService'Players':GetPlayers'' do
  398. if v.Name:lower'':find(PlrToAdd:lower()) and v ~= P then
  399. table.insert(Megaskids, v);
  400. Console(string.format('Added: %s', v.Name), Color3.fromRGB(40, 255, 40));
  401. return;
  402. end;
  403. end;
  404. Console(string.format('Could not find: %s', PlrToAdd), Color3.fromRGB(255, 40, 40));
  405. else
  406. Console'Invalid parameters.';
  407. end;
  408. end);
  409.  
  410. MegaskidCommands:Add('remove', function(Args)
  411. if #Args > 1 then
  412. local PlrToRemove = Args[2];
  413. for i, v in next, Megaskids do
  414. if v.Name:lower'':find(PlrToRemove:lower()) then
  415. table.remove(Megaskids, i);
  416. Console(string.format('Removed: %s', v.Name), Color3.fromRGB(40, 255, 40));
  417. return;
  418. end;
  419. end;
  420. Console(string.format('Could not find: %s', PlrToRemove), Color3.fromRGB(255, 40, 40));
  421. else
  422. Console'Invalid parameters.';
  423. end;
  424. end);
  425.  
  426. AddBool'megaskid_loopkill';
  427. MegaskidCommands:Add('loopkill', function()
  428. FlipBool'megaskid_loopkill';
  429. if Toggles['megaskid_loopkill'] then
  430. spawn(function()
  431. repeat wait(.25);
  432. for i, v in next, Megaskids do
  433. pcall(function()
  434. Network:send('changehealthx', v, tick(), -100, GameLogic.currentgun.name, v.Character.Head, v.Character.Head.Position, {}, {});
  435. end);
  436. end;
  437. until not Toggles['megaskid_loopkill'];
  438. end);
  439. end;
  440. end);
  441.  
  442. -- main command
  443. AddCommand('megaskid', function(Args)
  444. if #Args > 1 then
  445. if MegaskidCommands[Args[2]] then
  446. table.remove(Args, 1);
  447. MegaskidCommands[Args[1]](Args);
  448. end;
  449. end;
  450. end, nil, nil);
  451.  
  452. end;
  453.  
  454. Console(string.format('Fully loaded VIRGO! Init time: %s seconds', tostring(tick() - InitTime)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement