Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Further documented commands:
- `megaskid add [name] --> Adds the targeted player to the megaskid list.
- `megaskid remove [name] --> Removes the targeted player from the megaskid list.
- `megaskid loopkill --> Loopkills all players within the megaskid list.
- `settings [name] [value] --> Changes the value of something in the ScriptSettings table.
- > Currently, only 'firerate' is supported.
- > E.G. `settings firerate 3000
- ]]
- local CUR_VERS = '2.0.1';
- local CREATION_DATE = '~ February 10 2018';
- local CREATOR = 'Classy';
- local CREDITS = {'Memcorrupt', 'Dysekt'};
- local ScriptSettings = {
- ['firerate'] = 1500
- };
- InitTime = tick();
- local CurrentTexts = {};
- do
- ScreenGui = Instance.new("ScreenGui")
- Frame = Instance.new("Frame")
- VirgoLabel = Instance.new("TextLabel")
- MadeByLabel = Instance.new("TextLabel")
- ScreenGui.Parent = game:GetService'CoreGui'
- Frame.Parent = ScreenGui
- Frame.BackgroundColor3 = Color3.new(0, 0, 0)
- Frame.BackgroundTransparency = 1
- Frame.BorderSizePixel = 0
- Frame.Position = UDim2.new(0.87000012, 0, 0.800000024, 0)
- Frame.Size = UDim2.new(0.150000006, 0, 0.200000003, 0)
- Frame.ZIndex = 10
- VirgoLabel.Name = "VirgoLabel"
- VirgoLabel.Parent = Frame
- VirgoLabel.BackgroundColor3 = Color3.new(1, 1, 1)
- VirgoLabel.BackgroundTransparency = 1
- VirgoLabel.BorderSizePixel = 0
- VirgoLabel.Size = UDim2.new(1, 0, 0.25, 0)
- VirgoLabel.Font = Enum.Font.Code
- VirgoLabel.Text = "VIRGO 2.0"
- table.insert(CurrentTexts, VirgoLabel)
- --VirgoLabel.TextColor3 = Color3.fromRGB(255, 100, 0)
- VirgoLabel.TextSize = 45
- VirgoLabel.ZIndex = 10
- MadeByLabel.Name = "MadeByLabel"
- MadeByLabel.Parent = Frame
- MadeByLabel.BackgroundColor3 = Color3.new(1, 1, 1)
- MadeByLabel.BackgroundTransparency = 1
- MadeByLabel.BorderSizePixel = 0
- MadeByLabel.Position = UDim2.new(0, 0, 0, 35)
- MadeByLabel.Size = UDim2.new(1, 0, 0.25, 0)
- MadeByLabel.Font = Enum.Font.Code
- MadeByLabel.Text = "By Classy"
- MadeByLabel.TextColor3 = Color3.new(1, 1, 1)
- MadeByLabel.TextSize = 20
- MadeByLabel.TextWrapped = true
- MadeByLabel.ZIndex = 10
- end;
- local DebugMode = false;
- local P = game:GetService'Players'.LocalPlayer;
- local Misc = game:GetService'ReplicatedStorage'.Misc;
- local PGUI = P.PlayerGui;
- local ChatGui = PGUI.ChatGame;
- local C = Color3.fromRGB(100, 100, 255);
- local function Console(String, Color)
- local Msg = Misc.Msger;
- local Message = Msg:Clone();
- local MTag = Message.Tag;
- local Offset = 5;
- Message.Parent = ChatGui.GlobalChat;
- Message.Text = '[VIRGO]: ';
- table.insert(CurrentTexts, Message);
- Message.Msg.Text = String;
- Message.Msg.Position = UDim2.new(0, Message.TextBounds.x, 0, 0);
- if Color then
- Message.Msg.TextColor3 = Color;
- end;
- Message.Visible = true;
- Message.Msg.Visible = true;
- end;
- spawn(function()
- repeat wait();
- for H = 0, 1, 1/300 do wait();
- for i, v in next, CurrentTexts do
- if v and v.Visible then
- v.TextColor3 = Color3.fromHSV(H, 1, 1);
- else
- table.remove(CurrentTexts, i);
- end;
- end;
- end;
- until nil;
- end);
- local secret953 = secret953 or debug.getupvalues;
- local secret500 = secret500 or debug.setupvalue;
- local getreg = getreg or debug.getregistry;
- --[[do
- spawn(loadstring(game:HttpGet('https://pastebin.com/raw/2yLa6Xhe',true))); -- Racist Dolphin's ESP GUI
- end;]]
- local Client;
- local Functions;
- do
- for i, v in next, getreg() do
- if type(v) == 'function' then
- local Upvalues = secret953(v);
- if not Client and Upvalues and Upvalues.network and Upvalues.char and Upvalues.gamelogic then
- Console'Accessed Client.';
- Client = Upvalues;
- elseif not Functions and Upvalues and Upvalues.funcs and Upvalues.funcs['updatemoney'] and Upvalues.funcs['purchasegunconfirm'] and Upvalues.funcs['purchaseattachment'] then
- Console'Accessed Functions.';
- Functions = Upvalues.funcs;
- end;
- end;
- end;
- end;
- if not Client or not Functions then
- Console'Could not access Framework.';
- error'Stop using skidsploits without the debug library.';
- end;
- local BlacklistedArguments = {
- ['closeconnection'] = true,
- ['logmessage'] = true
- };
- do
- secret500(Client.network.send, 'settings', error);
- end;
- local Toggles = {};
- local function AddBool(Name)
- Toggles[Name] = false;
- end;
- local function FlipBool(Name)
- Toggles[Name] = not Toggles[Name];
- Console(string.format('%s - %s', Name:upper(), tostring(Toggles[Name]):upper()), C);
- end;
- local Commands = {}; -- Commands *not* to be printed.
- local PrintCommands = {}; -- Commands to be printed.
- local function AddCommand(Prefix, Function, Usage, PrintBool)
- Commands[Prefix] = Function;
- if PrintBool then
- PrintCommands[Prefix] = Usage;
- end;
- end;
- local function SplitString(String)
- local Table = {};
- for i in String:gmatch'%S+' do
- table.insert(Table, i);
- end;
- return Table;
- end;
- local Prefix = '`';
- do
- local Network = Client.network;
- local Char = Client.char;
- local GameLogic = Client.gamelogic;
- local Send = Network.send;
- local G = Char.loadgun;
- local GR = Char.loadgrenade;
- local V = Vector3.new();
- Network.send = function(self, ...)
- local Args = {...};
- if #Args > 0 then
- local Name = Args[1];
- --if not Name:find'ping' then for i, v in next, Args do warn(i, v, typeof(v)) end end
- if Name == 'changehealthx' then
- if #Args > 4 and type(Args[5]) == 'string' and Args[5] == 'Falling' and Toggles['nofall'] then
- Console'Nofall! Watch your legs next time :)';
- return;
- elseif Toggles['instakill'] and #Args > 3 and Args[2] and Args[2] ~= P and Args[4] > -100 then
- Console(string.format("Instakilling: %s", tostring(Args[2])));
- Args[4] = -100;
- return Send(self, unpack(Args));
- end;
- elseif Name == 'chatted' and #Args > 1 then
- local Msg = Args[2]:sub(2); -- Phantom Forces adds a " " to the start of each message... Lazy string parsing?
- if Msg:sub(1, 1) == Prefix then
- local CommandArgs = SplitString(Msg);
- local Command = CommandArgs[1]:sub(2):lower'';
- if Commands[Command] then
- Commands[Command](CommandArgs);
- else
- Console(string.format('%s is not a recognised command.', Command));
- end;
- return;
- end;
- end;
- end;
- return Send(self, ...);
- end;
- Char.loadgun = function(...) -- TODO: implement a self arg to make things look more tidy.
- if Toggles['gunmod'] then
- local Args = {...}; if #Args == 0 then return G(...); end;
- local GunData = Args[2];
- Console(string.format('Modding %s (%s)', GunData.name, GunData.type));
- GunData.hideflash = true;
- GunData.hideminimap = true;
- GunData.hiderange = 0;
- GunData.sparerounds = 9999;
- GunData.magsize = 9999;
- GunData.camkickmin = V;
- GunData.camkickmax = V;
- GunData.aimcamkickmin = V;
- GunData.aimcamkickmax = V;
- GunData.aimtranskickmin = V;
- GunData.aimtranskickmax = V;
- GunData.transkickmin = V;
- GunData.transkickmax = V;
- GunData.rotkickmin = V;
- GunData.rotkickmax = V;
- GunData.aimrotkickmin = V;
- GunData.aimrotkickmax = V;
- GunData.hipfirespread = 0;
- GunData.hipfirestability = 0;
- GunData.swayamp = 0;
- GunData.swayspeed = 0;
- GunData.steadyspeed = 0;
- GunData.breathspeed = 0;
- GunData.hipfirespreadrecover = 100;
- GunData.hipfirespreadrecover = 100;
- GunData.bulletspeed = 5000;
- GunData.crosssize = 2;
- GunData.crossexpansion = 0;
- GunData.firerate = ScriptSettings['firerate'];
- GunData.variablefirerate = false;
- GunData.range0 = 1000;
- GunData.range1 = 1000;
- GunData.penetrationdepth = 100;
- GunData.firemodes = {true, 3, 1};
- GunData.requirechamber = false;
- GunData.animations.onfire = {};
- Args[2] = GunData;
- return G(unpack(Args));
- end;
- return G(...);
- end;
- Char.loadgrenade = function(...) -- TODO: implement a self arg to make things look more tidy.
- if Toggles['nademod'] then
- Console'Throwing grenade(s).';
- GameLogic.gammo=math.huge;
- local Args = {...};
- local Grenade = Args[2];
- Grenade.animations.pull = {};
- Grenade.animations.throw = {};
- Args[2] = Grenade;
- Args[3][Grenade.mainpart].CFrame = P.Character.HumanoidRootPart.CFrame * CFrame.new(2,0,0);
- local ThrownGrenade = GR(unpack(Args));
- ThrownGrenade:pull();
- ThrownGrenade:throw();
- Char.grenadehold = false;
- repeat wait(1000) until nil;
- return;
- end;
- return GR(...);
- end;
- AddCommand('cmds', function()
- local CommandCount = 0;
- local CommandAmount = 0; for i, v in next, PrintCommands do CommandAmount = CommandAmount + 1; end; -- Just gets the total amount of commands.
- for i,v in next, PrintCommands do
- CommandCount = CommandCount + 1;
- Console(string.format('%s/%s: %s - %s', tostring(CommandCount), tostring(CommandAmount), i:upper(), v)); -- Format: CurIndex/HighestIndex: CommandName - CommandDescription
- end;
- end, nil, nil);
- AddCommand('credits', function()
- Functions['updatemoney'](math.huge);
- Console('Gave infinite credits, these cannot be used to buy cases/keys.', C);
- end, 'Gives infinite credits, does not save.', true);
- AddCommand('unlockall', function()
- for i, v in next, game:GetService'ReplicatedStorage'.GunModules:GetChildren'' do
- Functions['purchasegunconfirm'](v.Name);
- for i2, v2 in next, game:GetService'ReplicatedStorage'.AttachmentModels:GetChildren'' do
- pcall(Functions['purchaseattachment'], v.Name, v2.Name);
- end;
- end;
- Console('Unlocked weapons and attachments.', C);
- end, 'Unlocks every gun & attachment, does not save, but can be used ingame.', true);
- AddBool'instakill';
- AddCommand('instakill', function()
- FlipBool'instakill';
- end, 'Makes your weapon instantly kill enemies (self-explanatory.)', true);
- AddBool'nofall';
- AddCommand('nofall', function()
- FlipBool'nofall';
- end, 'Grants immunity to fall damage.', true);
- AddBool'nademod';
- AddCommand('nademod', function()
- FlipBool'nademod';
- end, 'Grants infinite grenades and removes the throwing cooldown.', true);
- AddBool'gunmod';
- AddCommand('gunmod', function()
- FlipBool'gunmod';
- end, 'Grants infinite ammo, norecoil, increased fire-rate ( fully auto too! ) and more.', true);
- AddCommand('settings', function(Args)
- if #Args > 2 then
- for i, v in next, ScriptSettings do
- if Args[2]:lower() == i:lower() then
- if type(v) == 'number' then
- if tonumber(Args[3]) then
- ScriptSettings[i] = tonumber(Args[3]);
- else
- Console('Not a number...', Color3.fromRGB(255, 40, 40));
- return;
- end;
- end;
- Console(string.format('Updated %s: %s to %s', i, tostring(v), Args[3]), C);
- end;
- end;
- end;
- end, nil, nil);
- AddBool'globalesp';
- local ESPRoutine = coroutine.wrap(function()
- repeat wait(1)
- if Toggles['globalesp'] then
- local Spotted = {};
- for i, v in next, game:GetService'Players':GetPlayers'' do
- if v.TeamColor ~= P.TeamColor then
- table.insert(Spotted, v);
- end;
- end;
- Network:send('spotplayers', Spotted);
- end;
- until nil;
- end)();
- AddCommand('globalesp', function()
- FlipBool'globalesp';
- end, 'Permanently spots the enemy team ( shows for teammates too! )', true);
- AddBool'killgame';
- AddCommand('killgame', function()
- FlipBool'killgame';
- if Toggles['killgame'] then
- spawn(function()
- repeat wait() -- This is the most cancerous scripting I've ever done, but it works, so hecc y'all.
- local Enemies = {};
- local Team;
- for i, v in next, game.Teams:GetChildren'' do
- if v.TeamColor == P.TeamColor then
- if i == 1 then
- Team = game.Teams:GetChildren''[2].Name;
- else
- Team = game.Teams:GetChildren''[1].Name;
- end;
- end;
- end;
- for i, v in next, game:GetService'Players':GetPlayers'' do
- if v ~= game:GetService'Players'.LocalPlayer then
- if v.TeamColor ~= P.TeamColor then
- table.insert(Enemies, v);
- end
- end;
- end;
- for i, v in next, Enemies do wait();
- pcall(function()
- Network:send('changehealthx', v, tick(), -100, GameLogic.currentgun.name, v.Character.Head, v.Character.Head.Position, {}, {});
- end);
- end;
- Network:send('changeteam', game.Teams[Team]);
- until not Toggles['killgame'];
- end);
- end;
- end, 'Kills the entire game repeatedly.', true);
- local MegaskidCommands = {};
- function MegaskidCommands:Add(Name, Func) -- Switch up the functions every once in a while xd.
- MegaskidCommands[Name] = Func;
- end;
- -- sub-commands
- local Megaskids = {};
- MegaskidCommands:Add('add', function(Args)
- if #Args > 1 then
- local PlrToAdd = Args[2]
- for i, v in next, game:GetService'Players':GetPlayers'' do
- if v.Name:lower'':find(PlrToAdd:lower()) and v ~= P then
- table.insert(Megaskids, v);
- Console(string.format('Added: %s', v.Name), Color3.fromRGB(40, 255, 40));
- return;
- end;
- end;
- Console(string.format('Could not find: %s', PlrToAdd), Color3.fromRGB(255, 40, 40));
- else
- Console'Invalid parameters.';
- end;
- end);
- MegaskidCommands:Add('remove', function(Args)
- if #Args > 1 then
- local PlrToRemove = Args[2];
- for i, v in next, Megaskids do
- if v.Name:lower'':find(PlrToRemove:lower()) then
- table.remove(Megaskids, i);
- Console(string.format('Removed: %s', v.Name), Color3.fromRGB(40, 255, 40));
- return;
- end;
- end;
- Console(string.format('Could not find: %s', PlrToRemove), Color3.fromRGB(255, 40, 40));
- else
- Console'Invalid parameters.';
- end;
- end);
- AddBool'megaskid_loopkill';
- MegaskidCommands:Add('loopkill', function()
- FlipBool'megaskid_loopkill';
- if Toggles['megaskid_loopkill'] then
- spawn(function()
- repeat wait(.25);
- for i, v in next, Megaskids do
- pcall(function()
- Network:send('changehealthx', v, tick(), -100, GameLogic.currentgun.name, v.Character.Head, v.Character.Head.Position, {}, {});
- end);
- end;
- until not Toggles['megaskid_loopkill'];
- end);
- end;
- end);
- -- main command
- AddCommand('megaskid', function(Args)
- if #Args > 1 then
- if MegaskidCommands[Args[2]] then
- table.remove(Args, 1);
- MegaskidCommands[Args[1]](Args);
- end;
- end;
- end, nil, nil);
- end;
- Console(string.format('Fully loaded VIRGO! Init time: %s seconds', tostring(tick() - InitTime)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement