Advertisement
TheMadWally

Virgo 3.0 unpatched

Jun 5th, 2018
43,111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 14.59 KB | None | 0 0
  1. local Settings={
  2.     UIName='Phantom Forces';
  3.     MainColor=Color3.fromRGB(255,100,100);
  4.     ToggleKey='RightControl';
  5. };
  6.  
  7. local Storage=Instance.new'ScreenGui';
  8. Storage.Parent=game:GetService'RunService':IsStudio()and (wait(2/3)and game:GetService'Players'.LocalPlayer.PlayerGui or nil) or game:GetService'CoreGui';
  9. local OptionsForColors={
  10.     TEXT_='TextColor3';
  11.     BACKGROUND='BackgroundColor3';
  12. };
  13. local function Colorize(I) -- Great var name!
  14.     for i,v in next,OptionsForColors do
  15.         if I.Name:find(i) and I[v]then
  16.             I[v]=Settings.MainColor;
  17.         else
  18.             -- print(I.Name, 'noped', i);
  19.         end;
  20.     end;
  21.     I.ChildAdded:Connect(Colorize);
  22. end;
  23. Storage.ChildAdded:Connect(Colorize);
  24.  
  25. local Main=Instance.new'Frame';Main.Name='MainFrame';
  26. Main.BackgroundTransparency=1;Main.BorderSizePixel=0;
  27. Main.Size=UDim2.new(1,0,1,0);
  28. Main.Parent=Storage;Main.Visible=false;
  29. local HUD=Main:Clone();
  30. HUD.Name='HUD';
  31. HUD.Parent=Storage;
  32. HUD.Visible=true;
  33.  
  34. local UILabel=Instance.new'TextLabel';
  35. UILabel.Name='TEXT_UILabel';
  36. UILabel.BackgroundTransparency=1;UILabel.BorderSizePixel=0;
  37. UILabel.Position=UDim2.new(0.05,0,0.85,0);
  38. UILabel.Size=UDim2.new(0.15,0,0.1,0);
  39. UILabel.Text=Settings.UIName;
  40. UILabel.TextScaled=true;
  41. UILabel.Font=Enum.Font.SourceSansLight;
  42. UILabel.Parent=Main;
  43.  
  44. local Tabs={};
  45. local Toggles={};
  46. local ToggleSettings={};
  47. local X=10;
  48.  
  49. local function UpdateArrayList()
  50.     local Y=0;
  51.     for i,v in ipairs(HUD:GetChildren())do
  52.         if v.Name:find'ARR_' then
  53.             v:Destroy();
  54.         end;
  55.     end;
  56.     for i,v in ipairs(Main:GetDescendants())do
  57.         if v.Name:find'TOGGLE_' then
  58.             local P1,P2=v.Name:find'TOGGLE_';
  59.             local Name=v.Name:sub(P2+1);
  60.             v.TextColor3=Toggles[Name]and Settings.MainColor or Color3.new(1,1,1);
  61.         end;
  62.     end;
  63.     for i,v in next,Toggles do
  64.         if v then
  65.             local Label=Instance.new'TextLabel';
  66.             Label.Name='TEXT_ARR_'..i;
  67.             Label.BackgroundTransparency=1;Label.BorderSizePixel=0;
  68.             Label.Position=UDim2.new(0.1,-5,0,Y);
  69.             Label.Size=UDim2.new(0.9,0,0,30);
  70.             Label.Text=i;
  71.             Label.TextScaled=true;
  72.             Label.Font=Enum.Font.SourceSansLight;
  73.             Label.TextXAlignment=Enum.TextXAlignment.Right;
  74.             Label.Parent=HUD;
  75.             Y=Y+30
  76.         end;
  77.     end;
  78. end;
  79.  
  80. local function CreateTab(TabName)
  81.     Tabs[TabName]={};
  82.     Tabs[TabName].Toggles={};
  83.     local Frame=Instance.new'TextLabel';
  84.     Frame.Name='BACKGROUND_'..TabName;
  85.     Frame.BorderSizePixel=0;
  86.     Frame.Position=UDim2.new(0,X,0,10);
  87.     Frame.Active=true;
  88.     Frame.Draggable=true;
  89.     Frame.Size=UDim2.new(0,250,0,30);
  90.     Frame.TextColor3=Color3.fromRGB(84,84,84);
  91.     Frame.TextSize=18;
  92.     Frame.Font=Enum.Font.SourceSansLight;
  93.     Frame.Text=TabName;
  94.     Frame.Parent=Main;
  95.     local Toggle=Instance.new'TextButton';
  96.     Toggle.Name=TabName..'Toggle';
  97.     Toggle.BackgroundTransparency=1;
  98.     Toggle.BorderSizePixel=0;
  99.     Toggle.Position=UDim2.new(0,220,0,0);
  100.     Toggle.Size=UDim2.new(0,30,0,30);
  101.     Toggle.TextColor3=Color3.fromRGB(84,84,84)
  102.     Toggle.TextSize=16
  103.     Toggle.Text='-';
  104.     Toggle.Font=Enum.Font.SciFi;
  105.     Toggle.Parent=Frame;
  106.     local Y=0;
  107.     local Frame2=Instance.new'Frame';
  108.     Frame2.Name=TabName..'Dropdown';
  109.     Frame2.BackgroundColor3=Color3.new(0,0,0);
  110.     Frame2.BackgroundTransparency=0.5;
  111.     Frame2.BorderSizePixel=0;
  112.     Frame2.Position=UDim2.new(0,0,0,30);
  113.     Frame2.Size=UDim2.new(0,250,0,0);
  114.     Frame2.ClipsDescendants=true;
  115.     Frame2.Parent=Frame;
  116.  
  117.     Tabs[TabName].OpenClose=function()
  118.         if Frame2.Size==UDim2.new(0,250,0,Y)or Frame2.Size==UDim2.new(0,250,0,0)then
  119.             Frame2:TweenSize(Toggle.Text=='+' and UDim2.new(0,250,0,Y)or UDim2.new(0,250,0,0), 'Out', 'Quad', 1/3);
  120.             Toggle.Text=Toggle.Text=='-' and '+' or '-'
  121.         end;
  122.     end;Toggle.MouseButton1Click:Connect(Tabs[TabName].OpenClose);
  123.     Tabs[TabName].AddToggle=function(ToggleName,Optional)
  124.         if Tabs[TabName].ToggleName==nil then
  125.             local Button=Instance.new'TextButton';
  126.             Button.Name='TOGGLE_'..ToggleName
  127.             Button.BackgroundTransparency=1;
  128.             Button.BorderSizePixel=0;
  129.             Button.Position=UDim2.new(0,5,0,Y);
  130.             Y=Y+25;
  131.             Frame2.Size=Frame2.Size+UDim2.new(0,0,0,25);
  132.             Button.Size=UDim2.new(0,245,0,25);
  133.             Button.Text='> '..ToggleName;
  134.             Button.TextColor3=Color3.new(1,1,1);
  135.             Button.TextSize=16;
  136.             Button.Font=Enum.Font.SourceSansSemibold
  137.             Button.TextXAlignment=Enum.TextXAlignment.Left;
  138.             Button.Parent=Frame2;
  139.             Toggles[ToggleName]=false;
  140.             ToggleSettings[ToggleName]=Optional;
  141.             Button.MouseButton1Click:Connect(function()
  142.                 Toggles[ToggleName]=not Toggles[ToggleName];
  143.                 UpdateArrayList();
  144.             end);
  145.             return Button;
  146.         end;
  147.     end;
  148.  
  149.  
  150.     X=X+300
  151. end;
  152.  
  153. game:GetService'UserInputService'.InputBegan:Connect(function(IO,GPE)
  154.     if IO.KeyCode==Enum.KeyCode[Settings.ToggleKey]then
  155.         Main.Visible=not Main.Visible;
  156.     end;
  157. end);
  158.  
  159. --------------------------------------------------------------
  160.  
  161. CreateTab'Tools';
  162. Tabs.Tools.AddToggle'GunMod';
  163. Tabs.Tools.AddToggle'InstaKill';
  164. Tabs.Tools.AddToggle'NadeMod';
  165. CreateTab'Render';
  166. Tabs.Render.AddToggle'GlobalESP';
  167. CreateTab'Utilities';
  168. Tabs.Utilities.AddToggle'Credits';
  169. Tabs.Utilities.AddToggle'UnlockAll';
  170. Tabs.Utilities.AddToggle'NoFall';
  171.  
  172.  
  173. local P = game:GetService'Players'.LocalPlayer;
  174. local Misc = game:GetService'ReplicatedStorage'.Misc;
  175. local PGUI = P.PlayerGui;
  176. local ChatGui = PGUI.ChatGame;
  177.  
  178. local C = Color3.fromRGB(100, 100, 255);
  179. local CurrentTexts={};
  180.  
  181. local function Console(String, Color)
  182.     local Msg = Misc.Msger;
  183.     local Message = Msg:Clone();
  184.     local MTag = Message.Tag;
  185.     local Offset = 5;
  186.     Message.Parent = ChatGui.GlobalChat;
  187.     Message.Text = '[VIRGO]: ';
  188.     table.insert(CurrentTexts, Message);
  189.     Message.Msg.Text = String;
  190.     Message.Msg.Position = UDim2.new(0, Message.TextBounds.x, 0, 0);
  191.     if Color then
  192.         Message.Msg.TextColor3 = Color;
  193.     end;
  194.     Message.Visible = true;
  195.     Message.Msg.Visible = true;
  196. end;
  197.  
  198. if PROTOSMASHER_LOADED and (not shared.repair) then
  199.     Console('[0/3] Detected ProtoSmasher, loading DebugRepair')
  200.     coroutine.wrap(function()
  201.         pcall(function()
  202.             loadstring(game:HttpGet("https://pastebin.com/raw/m8zyuQMv", true))()
  203.         end)
  204.     end)()
  205.     repeat wait() until shared.repair
  206. end
  207.  
  208. local secret953 = secret953 or debug.getupvalues;
  209. local secret500 = secret500 or debug.setupvalue;
  210. local getreg = getreg or debug.getregistry;
  211.  
  212. local ScriptSettings = {
  213.     ['firerate'] = 1500
  214. };
  215. local InitTime = tick();
  216.  
  217. local Client;
  218. local Functions;
  219. local Bypassed;
  220. local Railgun;
  221.  
  222. do
  223.     for i, v in next, getreg() do
  224.         if type(v) == 'function' then
  225.             local Upvalues = secret953(v);
  226.             if not Client and Upvalues and Upvalues.network and Upvalues.char and Upvalues.gamelogic then
  227.                 Client = Upvalues;
  228.             elseif not Bypassed and Upvalues and Upvalues.netkick then
  229.                 secret500(v, 'netkick', function() end);
  230.                 Bypassed = true;
  231.             end;
  232.  
  233.             if getfenv(v).genwepbuttons then
  234.                 local upv = secret953(getfenv(v).genwepbuttons)
  235.                 if upv and not Railgun then
  236.                     Railgun = true
  237.                     table.insert(upv.weplist['ASSAULT RIFLE'], 'RAILGUN')
  238.                 end
  239.             end
  240.         end;
  241.     end;
  242. end;
  243.  
  244. if Client then
  245.     Console('[1/3] Hooked client' .. (Bypassed and ' and bypassed PF\'s anticheat.' or ' but failed to bypass PF\'s anticheat.'));
  246. else
  247.     Console'[1/3] Could not access Framework.';
  248.     error'Stop using skidsploits without the debug library.';
  249. end;
  250.  
  251. local BlacklistedArguments = {
  252.     ['closeconnection'] = true,
  253.     ['logmessage'] = true
  254. };
  255.  
  256. do
  257.     if Synapse then
  258.         Console'[2/3] SIP detected, no need to bypass contextlevel check.';
  259.         Console'(Note: If you get a \'nice network\' ban it\'s not my fault, it\'s 3dsbob\'s. Complain to him not me.)';
  260.     elseif not secret500(Client.network.send, 'settings', error) then
  261.         Console'[2/3] Failed to bypass contextlevel check, aborting for security purposes.';
  262.         P:Kick'Rejoin! (If this kick hadn\'t have happened you would have been banned so be grateful. -Classy.)';
  263.     else
  264.         Console'[2/3] Bypassed contextlevel check.';
  265.     end;
  266.    
  267.     local Upvalues = secret953(Client.network.add);
  268.     if Upvalues and Upvalues.funcs then
  269.         Functions = Upvalues.funcs;
  270.         Console'[3/3] Got functions.';
  271.     else
  272.         Console'[3/3] Failed to init some dependencies, some features may not work as intended.';
  273.     end;
  274. end;
  275.  
  276. local gun = {
  277.     Name = "AK12",
  278.     Camo = {
  279.         Slot1 = {
  280.             BrickProperties = {
  281.                 Material = "SmoothPlastic",
  282.                 DefaultColor = false,
  283.                 BrckColor = "Black"
  284.             },
  285.             Name = "",
  286.             TextureProperties = {
  287.                 TextureId = 0,
  288.                 Transparency = 0,
  289.                 StudsPerTileV = 1,
  290.                 StudsPerTileU = 1,
  291.             }
  292.         },
  293.  
  294.         Slot2 = {
  295.             BrickProperties = {
  296.                 Material = "SmoothPlastic",
  297.                 DefaultColor = false,
  298.                 BrckColor = "Black"
  299.             },
  300.             Name = "",
  301.             TextureProperties = {
  302.                 TextureId = 0,
  303.                 Transparency = 0,
  304.                 StudsPerTileV = 1,
  305.                 StudsPerTileU = 1,
  306.             }
  307.         }
  308.     },
  309.  
  310.     Attachments = {
  311.         Optics = "",
  312.         Barrel = "",
  313.         Other = "",
  314.         Underbarrel = "",
  315.     }
  316. }
  317.  
  318. local gun2 = {
  319.     Name = "M9",
  320.     Camo = {
  321.         Slot1 = {
  322.             BrickProperties = {
  323.                 Material = "SmoothPlastic",
  324.                 DefaultColor = false,
  325.                 BrckColor = "Black"
  326.             },
  327.             Name = "",
  328.             TextureProperties = {
  329.                 TextureId = 0,
  330.                 Transparency = 0,
  331.                 StudsPerTileV = 1,
  332.                 StudsPerTileU = 1,
  333.             }
  334.         },
  335.  
  336.         Slot2 = {
  337.             BrickProperties = {
  338.                 Material = "SmoothPlastic",
  339.                 DefaultColor = false,
  340.                 BrckColor = "Black"
  341.             },
  342.             Name = "",
  343.             TextureProperties = {
  344.                 TextureId = 0,
  345.                 Transparency = 0,
  346.                 StudsPerTileV = 1,
  347.                 StudsPerTileU = 1,
  348.             }
  349.         }
  350.     },
  351.  
  352.     Attachments = {
  353.         Optics = "",
  354.         Barrel = "",
  355.         Other = "",
  356.     }
  357. }
  358.  
  359. local knife = {
  360.     Name = "KNIFE",
  361.     Camo = {
  362.         Slot1 = {
  363.             BrickProperties = {
  364.                 Material = "SmoothPlastic",
  365.                 DefaultColor = false,
  366.                 BrckColor = "Black"
  367.             },
  368.             Name = "",
  369.             TextureProperties = {
  370.                 TextureId = 0,
  371.                 Transparency = 0,
  372.                 StudsPerTileV = 1,
  373.                 StudsPerTileU = 1,
  374.             }
  375.         },
  376.  
  377.         Slot2 = {
  378.             BrickProperties = {
  379.                 Material = "SmoothPlastic",
  380.                 DefaultColor = false,
  381.                 BrckColor = "Black"
  382.             },
  383.             Name = "",
  384.             TextureProperties = {
  385.                 TextureId = 0,
  386.                 Transparency = 0,
  387.                 StudsPerTileV = 1,
  388.                 StudsPerTileU = 1,
  389.             }
  390.         }
  391.     },
  392.  
  393.     Attachments = {}
  394. }
  395.  
  396. local Succ, NoSucc = pcall(function()
  397.  
  398.     local Network = Client.network;
  399.     local Char = Client.char;
  400.     local GameLogic = Client.gamelogic;
  401.  
  402.     local Send = Network.send;
  403.     local G = Char.loadgun;
  404.     local GR = Char.loadgrenade;
  405.  
  406.     local V = Vector3.new();
  407.    
  408.     Network.send = function(self, ...)
  409.         local Args = {...};
  410.         if #Args > 0 then
  411.             local Name = Args[1];
  412.             if Name == 'changehealthx' then
  413.                 if #Args > 4 and type(Args[5]) == 'string' and Args[5] == 'Falling' and Toggles.NoFall then
  414.                     Console'Nofall! Watch your legs next time :)';
  415.                     return;
  416.                 end
  417.             elseif Toggles.InstaKill and Name == 'bullethit' then
  418.                 if type(Args[3]) == 'number' and Args[3] > -100 then
  419.                     Args[3] = -100;
  420.                     return Send(self, unpack(Args));
  421.                 end;
  422.             elseif Name == "spawn" then
  423.                 Args[5] = gun;
  424.                 Args[6] = gun2;
  425.                 Args[7] = knife;
  426.                
  427.                 return Send(self, unpack(Args))
  428.             elseif Name == 'logmessage' or Name == 'deploycheck' or Name == 'changewep' or Name == 'changeatt' then
  429.                 return
  430.             end;
  431.         end;
  432.         return Send(self, ...);
  433.     end;
  434.  
  435.    
  436.     -- Dysekts kewl function
  437.     Char.loadgun = function(...) -- TODO: implement a self arg to make things look more tidy.
  438.         if Toggles.GunMod then
  439.             local Args = {...}; if #Args == 0 then return G(...); end;
  440.             local GunData = Args[2];
  441.             Console(string.format('Modding %s (%s)', GunData.name, GunData.type));
  442.             GunData.hideflash = true;
  443.             GunData.hideminimap = true;
  444.             GunData.hiderange = 0;
  445.             GunData.sparerounds = 9999;
  446.             GunData.magsize = 9999;
  447.             GunData.camkickmin = V;
  448.             GunData.camkickmax = V;
  449.             GunData.aimcamkickmin = V;
  450.             GunData.aimcamkickmax = V;
  451.             GunData.aimtranskickmin = V;
  452.             GunData.aimtranskickmax = V;
  453.             GunData.transkickmin = V;
  454.             GunData.transkickmax = V;
  455.             GunData.rotkickmin = V;
  456.             GunData.rotkickmax = V;
  457.             GunData.aimrotkickmin = V;
  458.             GunData.aimrotkickmax = V;
  459.             GunData.hipfirespread = 0;
  460.             GunData.hipfirestability = 0;
  461.             GunData.swayamp = 0;
  462.             GunData.swayspeed = 0;
  463.             GunData.steadyspeed = 0;
  464.             GunData.breathspeed = 0;
  465.             GunData.hipfirespreadrecover = 100;
  466.             GunData.hipfirespreadrecover = 100;
  467.             GunData.bulletspeed = 5000;
  468.             GunData.crosssize = 2;
  469.             GunData.crossexpansion = 0;
  470.             GunData.firerate = ScriptSettings['firerate'];
  471.             GunData.variablefirerate = false;
  472.             GunData.range0 = 1000;
  473.             GunData.range1 = 1000;
  474.             GunData.penetrationdepth = 100;
  475.             GunData.firemodes = {true, 3, 1};
  476.             GunData.requirechamber = false;
  477.             GunData.animations.onfire = {};
  478.             Args[2] = GunData;
  479.             return G(unpack(Args));
  480.         end;
  481.         return G(...);
  482.     end;
  483.  
  484.     -- Dysekts kewl function 2.0
  485.     Char.loadgrenade = function(...) -- TODO: implement a self arg to make things look more tidy.
  486.         if Toggles.NadeMod then
  487.             Console'Throwing grenade(s).';
  488.             GameLogic.gammo = math.huge;
  489.             local Args = {...};
  490.             local Grenade = Args[2];
  491.             Grenade.animations.pull = {};
  492.             Grenade.animations.throw = {};
  493.             Args[2] = Grenade;
  494.             Args[3][Grenade.mainpart].CFrame = P.Character.HumanoidRootPart.CFrame * CFrame.new(2,0,0);
  495.             local ThrownGrenade = GR(unpack(Args));
  496.             ThrownGrenade:pull();
  497.             ThrownGrenade:throw();
  498.             Char.grenadehold = false;
  499.             repeat wait(1000) until nil;
  500.             return;
  501.         end;
  502.         return GR(...);
  503.     end;
  504.  
  505.     local function ESP()
  506.         local Spotted = {};
  507.         for i, v in ipairs(game:GetService'Players':GetPlayers'') do
  508.             if v.TeamColor ~= P.TeamColor then
  509.                 table.insert(Spotted, v);
  510.             end;
  511.         end;
  512.         Network:send('spotplayers', Spotted);
  513.     end;
  514.  
  515.     spawn(function()
  516.         repeat wait(1);
  517.             if Toggles.GlobalESP then
  518.                 ESP();
  519.             end;
  520.         until nil;
  521.     end);
  522.  
  523.     spawn(function()
  524.         repeat wait(.5);
  525.             if Toggles.Credits then
  526.                 spawn(function()
  527.                     Toggles.Credits = false;
  528.                     UpdateArrayList();
  529.                     Console('Giving infinite credits, these cannot be used to buy cases/keys.', C);
  530.                     Functions['updatemoney'](math.huge);
  531.                 end);
  532.             end;
  533.                
  534.             if Toggles.UnlockAll then
  535.                 spawn(function()
  536.                     Toggles.UnlockAll=false;
  537.                     UpdateArrayList();
  538.                     Console('Unlocking weapons and attachments.', C);
  539.  
  540.                     local add = Network.add
  541.                     local funcs = secret953(add).funcs
  542.                     local data = secret953(funcs.loadplayerdata).cache
  543.  
  544.                     for k, v in next, game.ReplicatedStorage.GunModels:GetChildren() do
  545.                         data.unlocks[v.Name] = data.unlocks[v.Name] or {}
  546.                         data.unlocks[v.Name]['paid'] = true
  547.                         for i, a in next, game.ReplicatedStorage.AttachmentModels:GetChildren() do
  548.                             data.unlocks[v.Name][a.Name] = true
  549.                         end
  550.                     end
  551.                 end);
  552.             end;
  553.  
  554.         until nil;
  555.     end);
  556.  
  557. end);
  558.  
  559. if not Succ then
  560.     Console(NoSucc);
  561. end;
  562.  
  563. Console(string.format('Fully loaded VIRGO! Init time: %s seconds', tostring(tick() - InitTime)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement