Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.88 KB | None | 0 0
  1. local accuracy = 100
  2. local aimkey = "f" --Disable/Enable AimWorks
  3. local toggle_teamcheck = "h" --Ez-Pz Fix so people don't have to rejoin on FFA/TDM Games.
  4. local lassokey = "q" --Disable/Enable Lasso Rendering
  5. local control = "p" --Hide/UnHide Gui
  6. local headshot = 35
  7. local ignoreFOV = true
  8. local ignoreWalls = true
  9. local perfect_aim = true
  10. local perfect_aim_firstperson_distance = 28
  11. local rage_triggers = false --Elysian Only
  12. local RenderLassos = true
  13. local ShootingTeam = false -- will target neutral people anyways XDDD
  14. local SpreadControlRadius = Vector3.new(25, 25, 15) -- the larger you make those numbers the more likely your bullet is to hit. anything above 25, 25, 25 is a bit much. try 15, 15, 5
  15. local trigger_speed = 0.1
  16. local triggers = false --Elysian Only
  17. local Chams = true --Works now!??!!?
  18.  
  19. --Player Whitelist(People who don't get shot at.)
  20. local Whitelist = {"ihanks", "Lua_Environment", "like_clockwork", "Gin_Freecs", "AimWorks"}
  21. for i,v in pairs(game.Players:GetChildren()) do --Adds anyone in-game who's friends with the Currenet player into the list.
  22. if game.Players.LocalPlayer:IsFriendsWith(v.userId) then
  23. table.insert(Whitelist, v.Name)
  24. end
  25. end
  26.  
  27. game.Players.PlayerAdded:connect(function(player) --Adds friends to whitelist if they're just joining the game.
  28. if game.Players.LocalPlayer:IsFriendsWith(player.userId) then
  29. table.insert(Whitelist, player.Name)
  30. end
  31. end)
  32.  
  33. -- todo --
  34. _G.SwordFightMode = false -- stuff that i am testing goes in _G. so i can toggle it
  35.  
  36. -- aim engine vars
  37. -- todo: more priorities
  38. -- prune dead vars
  39. local aim_through_list = {nil, nil, nil}
  40. local bone_name
  41. local camera = workspace.CurrentCamera
  42. local closest_distance
  43. local deathBlock
  44. local distance
  45. local FilteringEnabled = workspace.FilteringEnabled
  46. local huge = math.huge
  47. local in_fov
  48. local lasso
  49. local localplayer = game:GetService("Players").LocalPlayer
  50. local most_viable_player
  51. local mouse = localplayer:GetMouse()
  52. local CreatorId = game.CreatorId
  53. local players_service = game:GetService("Players")
  54. local position
  55. local random = math.random
  56. local ray = Ray.new
  57. local ray_start
  58. local running = true
  59. local sleeping
  60. local target
  61. local tele_bone
  62. local targ_bone
  63. local ticksslept = 0
  64. local trigger_debounce
  65. local vector
  66. local viableplayers = {}
  67.  
  68. local function FindInstance(instance_className, search_directory) -- i can inline this in a LOT of places... plus i can very very easily make this return a table of all found parts if a certain parameter is passed... might add that feature to my boilerplate
  69.  
  70. if not search_directory then return end
  71.  
  72. for i, v in pairs(search_directory:GetChildren()) do
  73. if v.className == instance_className then
  74. return(v)
  75. end
  76. end
  77.  
  78. end
  79.  
  80. local function CreateBlockOfDeath()
  81.  
  82. if deathBlock then deathBlock:Destroy() end
  83.  
  84. deathBlock = Instance.new("Part", workspace)
  85. deathBlock.CanCollide = false
  86. deathBlock.Size = SpreadControlRadius
  87. deathBlock.Locked = true
  88. mouse.TargetFilter = deathBlock
  89. return deathBlock -- unnecessary
  90.  
  91. end -- Finished
  92.  
  93. local function ReturnsScreenCoordinatesAsVectorAndFOVChecksAsBool(player, bone) -- note: figure out what i wanted to do with datas in here
  94.  
  95. if not bone then
  96. return {_, false}
  97. end
  98.  
  99. return camera:WorldToScreenPoint(player.Character[bone].Position)
  100.  
  101. end
  102.  
  103. local function ReturnsPlayerCheckResults(player)
  104.  
  105. -- Checks teams. If we won't shoot teammates and they're a teammate when we're not neutral, target them. We do this now because it can save a lot of FPS.
  106. if not ShootingTeam then -- if not shooting teammates
  107. if player.TeamColor == localplayer.TeamColor then -- if we're not shooting teammates and they're teammates
  108. if not (player.Neutral and localplayer.Neutral) then -- if we're not shooting teammates and they're teammates and they're not neutral
  109. return false
  110. end
  111. end
  112. end
  113.  
  114. --Read through player 'Whitelist'
  115. for i,v in pairs(Whitelist) do
  116. if player.Name == v then
  117. return false
  118. end
  119. end
  120.  
  121. -- Checks if person is yourself.
  122. if player == localplayer then
  123. return false
  124. end
  125.  
  126. -- Checks if the player can be hurt.
  127. if FindInstance("ForceField", player.Character) or FindInstance("Humanoid", player.Character, true).MaxHealth == huge then
  128. return false
  129. end
  130.  
  131. -- Checks if they're dead.
  132. if FindInstance("Humanoid", player.Character, true).Health == 0 then
  133. return false
  134. end
  135.  
  136. -- Checks if person is in FOV.
  137. local screen_position, in_fov = ReturnsScreenCoordinatesAsVectorAndFOVChecksAsBool(player, "Torso")
  138. if not (in_fov or ignoreFOV) then
  139. return false
  140. else
  141. return player, screen_position
  142. end
  143.  
  144. end
  145.  
  146. local function ReturnsBoneOrFalse(player)
  147.  
  148. if perfect_aim then
  149. return (FilteringEnabled and "Head" or "Left Arm") -- should be Head or left arm
  150. end
  151.  
  152. if not (random(1, 100) <= accuracy) then
  153. return false
  154. end
  155.  
  156. if (random(1, 100) <= headshot) and FilteringEnabled then
  157. return "Head"
  158. end
  159.  
  160. return "Left Arm" -- should be left arm
  161.  
  162. end
  163.  
  164.  
  165. -- rewrite for cursor distance checks then optimize
  166. local function ReturnsViablePlayerOrNil() -- this is a clusterfuck i should probably branch this off into more functions... especially one for raycasting
  167. aim_through_list[1], aim_through_list[2] = deathBlock, localplayer.Character
  168. local distance = 1000
  169. local closest_distance = 1000
  170. local most_viable_player = nil
  171.  
  172. -- FPS optimizations for shitty pcs... should more than double FPS in some situations. not really necessary for me :D..
  173. -- if sleeping and ticksslept ~= 15 then
  174. -- ticksslept = ticksslept + 1
  175. -- return target
  176. -- end
  177.  
  178. local your_character = localplayer.Character
  179. local your_head = your_character and your_character:FindFirstChild "Head"
  180.  
  181. for i, player_being_checked in pairs(players_service:GetPlayers()) do -- getplayers is underrated
  182.  
  183. local player_or_false, targets_coordinates = ReturnsPlayerCheckResults(player_being_checked)
  184.  
  185. if player_or_false then
  186.  
  187. local char = player_being_checked.Character
  188. local target_torso = char and char:FindFirstChild "Torso" -- where the ray will aim/shoot for
  189.  
  190. if target_torso then
  191.  
  192. -- phantom fuckery tbh
  193. -- aim ahead (why arent we just taking advantage of ignorerays austin tf) of gun sights... Swag :O
  194. if (camera.Focus.p - camera.CoordinateFrame.p).magnitude <= 1 then
  195. ray_start = your_head.Position + your_head.CFrame.lookVector * 10 + Vector3.new(0, 3, 0)
  196. else
  197. ray_start = your_head.Position + Vector3.new(0, 2, 0)
  198. end
  199.  
  200. -- ray_start = your_head.Position + your_head.CFrame.lookVector * 10 + Vector3.new(0, 3, 0) -- doododoo do DOODODOododoDoERFAhaagr
  201.  
  202. if not targets_coordinates then -- unnecessary rn
  203. distance = (Vector2.new(targets_coordinates.X, targets_coordinates.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude -- broken
  204. else
  205. distance = (Vector2.new(targets_coordinates.X, targets_coordinates.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude
  206. end
  207. vector = (target_torso.Position - ray_start)
  208.  
  209. -- distance = vector -- bug
  210.  
  211. if (not targets_coordinates) or (distance <= closest_distance) then
  212.  
  213. -- create ray that starts at 'ray_start' and points towards the target
  214. local new_ray = ray(ray_start, vector.unit * 1000) -- "fire" ray and make sure to ignore our own character
  215. local hit, position = workspace:FindPartOnRayWithIgnoreList(new_ray, aim_through_list) -- check if the ray hit anything and if it's a descendant of the target's character
  216.  
  217. if (hit and hit:isDescendantOf(char)) or ignoreWalls then
  218. -- only change closest_distance if the target character is visible
  219. closest_distance = distance
  220. most_viable_player = player_being_checked
  221. end -- hit or ignore walls
  222.  
  223. end -- meets distance or no priority
  224.  
  225. end -- closes player_or_false
  226.  
  227. end -- closes player_or_false check
  228. end -- closes table loop
  229.  
  230. blockName = ReturnsBoneOrFalse(most_viable_player)
  231. sleeping = true
  232. return most_viable_player
  233.  
  234. end -- closes function
  235.  
  236.  
  237. function CreateChams()
  238. if Chams then
  239. for _,q in pairs(camera:GetChildren()) do
  240. if q:IsA("BoxHandleAdornment") then
  241. q:Destroy()
  242. end
  243. end
  244. for _,v in pairs(game.Players:GetChildren()) do
  245. if v.Name ~= game.Players.LocalPlayer.Name and v.Character then
  246. for _,c in pairs(v.Character:GetChildren()) do
  247. if c.Name ~= "Head" and c:IsA("BasePart") then
  248. for _,p in pairs(Whitelist) do
  249. if v.TeamColor == game.Players.LocalPlayer.TeamColor or v.Name == p then
  250. local esp = Instance.new("BoxHandleAdornment", camera)
  251. esp.Color3 = Color3.new(0, 255, 0)
  252. esp.Size = c.Size
  253. esp.AlwaysOnTop = true
  254. esp.ZIndex = 1
  255. esp.Adornee = c
  256. elseif v.TeamColor ~= game.Players.LocalPlayer.TeamColor then
  257. local esp = Instance.new("BoxHandleAdornment", camera)
  258. esp.Color3 = Color3.new(255, 0, 0)
  259. esp.Size = c.Size
  260. esp.AlwaysOnTop = true
  261. esp.ZIndex = 1
  262. esp.Adornee = c
  263. end
  264. end
  265. end
  266. end
  267. end
  268. end
  269. end
  270. end
  271.  
  272. CreateChams()
  273.  
  274. game.Workspace.ChildAdded:connect(function(child)
  275. if child:IsA("Model") or child:IsA("Folder") then
  276. CreateChams()
  277. end
  278. end)
  279.  
  280. game.Workspace.ChildRemoved:connect(function(child)
  281. if child:IsA("Model") or child:IsA("Folder") then
  282. CreateChams()
  283. end
  284. end)
  285.  
  286. game.Players.LocalPlayer.Changed:connect(function()
  287. CreateChams()
  288. end)
  289.  
  290. local function TargetPlayer(player) -- this needs to be refactored
  291.  
  292. -- not needed anymore unless you want sticky aim (this can be a good thing) or the aimbot lags you
  293. -- sticky aim would be defined as "wont instantly target another guy if they enter the screen"
  294.  
  295. -- if ticksslept == 15 then -- ok
  296. -- ticksslept = 0
  297. -- sleeping = false
  298. -- end
  299.  
  300. if aim_through_list[3] then
  301. aim_through_list[3].Position = aim_through_list[3].Position + Vector3.new(0,200,0)
  302. table.remove(aim_through_list, 3)
  303. end
  304.  
  305. if not player then -- i see this and i pretty much give up on rewriting
  306. if lasso then lasso:Destroy() lasso = nil end -- this feels wrong. i cant stand reusing code outside functions >:(
  307. target = nil
  308. lasso = Instance.new("SelectionPointLasso", camera)
  309. lasso.Humanoid, lasso.Point = FindInstance("Humanoid", localplayer.Character, true), mouse.Hit.p
  310. lasso.Color3 = Color3.new(0,255,0)
  311. return -- this one line here determines a surprising amount about how the aimbot works XD
  312. -- thats not a good thing :(
  313. end
  314.  
  315. if RenderLassos then -- should be snaplassos... always gon be lassos tbh
  316. if lasso then lasso:Destroy() lasso = nil end
  317. lasso = Instance.new("SelectionPartLasso", camera)
  318. lasso.Humanoid, lasso.Part = FindInstance("Humanoid", player.Character, true), game.Players.LocalPlayer.Character.Torso
  319. lasso.Color3 = Color3.new(0,255,0)
  320. end
  321.  
  322. bone_name = ReturnsBoneOrFalse(player)
  323.  
  324. if player.Character.Head and bone_name then
  325. -- this lets us force headshots :D
  326. tele_bone = player.Character[bone_name]
  327. tele_bone.Parent = player.Character
  328. tele_bone.Size = SpreadControlRadius
  329. tele_bone.CanCollide = false
  330. tele_bone.CFrame = CFrame.new(workspace.CurrentCamera.CoordinateFrame.p + workspace.CurrentCamera.CoordinateFrame.lookVector * perfect_aim_firstperson_distance, workspace.CurrentCamera.CoordinateFrame.p) -- // thx to my main man safazi,,,, for this and for showing me the magic of coordinateframe <3
  331. tele_bone.Transparency=1
  332. tele_bone:ClearAllChildren()
  333. table.insert(aim_through_list, 3, tele_bone)
  334. -- swager
  335. target = player
  336. return player
  337.  
  338. end
  339.  
  340. if bone_name then
  341. deathBlock.Parent = player.Character
  342. deathBlock.CanCollide = false
  343. deathBlock.Name = bone_name
  344. else
  345. return
  346. end
  347.  
  348. target = player
  349. return player
  350.  
  351. end
  352.  
  353.  
  354. --[[
  355.  
  356. INIT PROCESS DOCUMENTATION:
  357.  
  358. 1] CREATE DEATHBLOCK
  359. 2] MAKE DEATHBLOCK REGENERATE
  360. 3] USE BINDTORENDERSTEP TO START AIMBOT LOOP
  361. 4] DETECT KEY INPUT (WITHOUT USERINPUTSERVICE. I KNOW THAT IM LAME)
  362.  
  363. ]]--
  364.  
  365.  
  366. CreateBlockOfDeath()
  367. workspace.DescendantRemoving:connect(function(instance)
  368. if instance == deathBlock then CreateBlockOfDeath() end
  369. end)
  370. -- Keeps blockie safe :33 XD
  371.  
  372. -- test? havent tried
  373. local function shoot() -- elysian only :33333 XDd. bother jordan, not mememememe.
  374.  
  375. if not mouse1press then return end
  376.  
  377. if trigger_debounce then return end
  378.  
  379. trigger_debounce = true
  380.  
  381. if rage_triggers and mouse1press() then
  382.  
  383. mouse1press()
  384. wait(0.1)
  385. mouse1release()
  386.  
  387. elseif mouse1press then
  388.  
  389. mouse1press()
  390. wait(0)
  391. mouse1release()
  392. wait(trigger_speed)
  393.  
  394. end
  395.  
  396. trigger_debounce = false
  397.  
  398. end
  399.  
  400. -- refaactorrrr
  401. game:GetService("RunService"):BindToRenderStep("First", Enum.RenderPriority.First.Value, function() -- another clusterfuck
  402.  
  403. if running then
  404. if localplayer.Character then -- pretty sure i do this in getviableplayer lmao tbh
  405. TargetPlayer(ReturnsViablePlayerOrNil())
  406. if target and target.Character then
  407. if localplayer:GetMouse().Target == deathBlock then return end -- praise targetfilter!
  408. -- later
  409. -- deathBlock.CFrame = CFrame.new(localplayer.Character.Head.Position + (mouse.Hit.p + localplayer.Character.Head.Position).unit * 16)
  410. -- print(deathBlock)
  411. if triggers then shoot() end
  412. else
  413. deathBlock.Parent = workspace
  414. end
  415. end
  416. end
  417.  
  418. end)
  419.  
  420. local Keys = Instance.new("ScreenGui", game.Players.LocalPlayer.PlayerGui)
  421. Keys.Name = "AimWorks Container"
  422. local Frame = Instance.new("Frame", Keys)
  423. Frame.Name = "Holder"
  424. Frame.BackgroundColor3 = Color3.new(62/255, 62/255, 62/255)
  425. Frame.BackgroundTransparency = 0.3
  426. Frame.BorderSizePixel = 2
  427. Frame.BorderColor3 = Color3.new(255,255,255)
  428. Frame.Size = UDim2.new(0, 200, 0, 300)
  429. Frame.Position = UDim2.new(0, 0, 0.5, 0)
  430. local Aim = Instance.new("TextLabel", Frame)
  431. Aim.BackgroundTransparency = 1
  432. Aim.Size = UDim2.new(0, 200, 0, 100)
  433. Aim.FontSize = "Size32"
  434. Aim.Font = "SourceSans"
  435. Aim.Text = " Rendering Lassos: "..tostring(RenderLassos).." \n Key: "..lassokey
  436. Aim.TextColor3 = Color3.new(255, 255, 255)
  437. Aim.TextXAlignment = "Left"
  438. Aim.TextStrokeTransparency = 0
  439. Aim.TextYAlignment = "Top"
  440. Aim.TextWrapped = true
  441. local Team = Instance.new("TextLabel", Frame)
  442. Team.Position = UDim2.new(0, 0, 0, 100)
  443. Team.BackgroundTransparency = 1
  444. Team.Size = UDim2.new(0, 200, 0, 100)
  445. Team.FontSize = "Size32"
  446. Team.Font = "SourceSans"
  447. Team.Text = " Team Check: \n "..tostring(ShootingTeam).." \n Key: "..toggle_teamcheck
  448. Team.TextColor3 = Color3.new(255, 255, 255)
  449. Team.TextXAlignment = "Left"
  450. Team.TextStrokeTransparency = 0
  451. Team.TextYAlignment = "Top"
  452. Team.TextWrapped = true
  453. local Run = Instance.new("TextLabel", Frame)
  454. Run.Position = UDim2.new(0, 0, 0, 200)
  455. Run.BackgroundTransparency = 1
  456. Run.Size = UDim2.new(0, 200, 0, 100)
  457. Run.FontSize = "Size32"
  458. Run.Font = "SourceSans"
  459. Run.Text = " Running: "..tostring(running).." \n Key: "..aimkey
  460. Run.TextColor3 = Color3.new(255, 255, 255)
  461. Run.TextXAlignment = "Left"
  462. Run.TextStrokeTransparency = 0
  463. Run.TextYAlignment = "Top"
  464. Run.TextWrapped = true
  465.  
  466. local keydown = mouse.KeyDown:connect(function(keys)
  467. if (keys == aimkey) then
  468. running = not running
  469. if (running) then
  470. print("[SILENTAIM] activated.")
  471. Run.Text = " Running: "..tostring(running).." \n Key: "..aimkey
  472. else
  473. print("[SILENTAIM] deactivated.")
  474. Run.Text = " Running: "..tostring(running).." \n Key: "..aimkey
  475. end
  476. end
  477. end)
  478.  
  479. local keydowns = mouse.KeyDown:connect(function(keys)
  480. if (keys == toggle_teamcheck) then
  481. if (ShootingTeam) then
  482. print("[SILENTAIM] Team Shooting deactivated")
  483. ShootingTeam = false
  484. Team.Text = " Team Check: \n "..tostring(ShootingTeam).." \n Key: "..toggle_teamcheck
  485. else
  486. print("[SILENTAIM] Team Shooting activated")
  487. ShootingTeam = true
  488. Team.Text = " Team Check: \n "..tostring(ShootingTeam).." \n Key: "..toggle_teamcheck
  489. end
  490. end
  491. end)
  492.  
  493. local keydowns = mouse.KeyDown:connect(function(keys)
  494. if (keys == lassokey) then
  495. if (RenderLassos) then
  496. print("[SILENTAIM] No Longer Rendering Lassos")
  497. RenderLassos = false
  498. Aim.Text = " Rendering Lassos: "..tostring(RenderLassos).." \n Key: "..lassokey
  499. else
  500. print("[SILENTAIM] Rendering Lassos")
  501. RenderLassos = true
  502. Aim.Text = " Rendering Lassos: "..tostring(RenderLassos).." \n Key: "..lassokey
  503. end
  504. end
  505. end)
  506.  
  507. local keydowns = mouse.KeyDown:connect(function(keys)
  508. if (keys == control) then
  509. if (Frame.Visible == true) then
  510. Frame.Visible = false
  511. else
  512. Frame.Visible = true
  513. end
  514. end
  515. end)
  516. local Settings={
  517. UIName='Phantom Forces';
  518. MainColor=Color3.fromRGB(255,100,100);
  519. ToggleKey='RightControl';
  520. };
  521.  
  522. local Storage=Instance.new'ScreenGui';
  523. Storage.Parent=game:GetService'RunService':IsStudio()and (wait(2/3)and game:GetService'Players'.LocalPlayer.PlayerGui or nil) or game:GetService'CoreGui';
  524. local OptionsForColors={
  525. TEXT_='TextColor3';
  526. BACKGROUND='BackgroundColor3';
  527. };
  528. local function Colorize(I) -- Great var name!
  529. for i,v in next,OptionsForColors do
  530. if I.Name:find(i) and I[v]then
  531. I[v]=Settings.MainColor;
  532. else
  533. -- print(I.Name, 'noped', i);
  534. end;
  535. end;
  536. I.ChildAdded:Connect(Colorize);
  537. end;
  538. Storage.ChildAdded:Connect(Colorize);
  539.  
  540. local Main=Instance.new'Frame';Main.Name='MainFrame';
  541. Main.BackgroundTransparency=1;Main.BorderSizePixel=0;
  542. Main.Size=UDim2.new(1,0,1,0);
  543. Main.Parent=Storage;Main.Visible=false;
  544. local HUD=Main:Clone();
  545. HUD.Name='HUD';
  546. HUD.Parent=Storage;
  547. HUD.Visible=true;
  548.  
  549. local UILabel=Instance.new'TextLabel';
  550. UILabel.Name='TEXT_UILabel';
  551. UILabel.BackgroundTransparency=1;UILabel.BorderSizePixel=0;
  552. UILabel.Position=UDim2.new(0.05,0,0.85,0);
  553. UILabel.Size=UDim2.new(0.15,0,0.1,0);
  554. UILabel.Text=Settings.UIName;
  555. UILabel.TextScaled=true;
  556. UILabel.Font=Enum.Font.SourceSansLight;
  557. UILabel.Parent=Main;
  558.  
  559. local Tabs={};
  560. local Toggles={};
  561. local ToggleSettings={};
  562. local X=10;
  563.  
  564. local function UpdateArrayList()
  565. local Y=0;
  566. for i,v in ipairs(HUD:GetChildren())do
  567. if v.Name:find'ARR_' then
  568. v:Destroy();
  569. end;
  570. end;
  571. for i,v in ipairs(Main:GetDescendants())do
  572. if v.Name:find'TOGGLE_' then
  573. local P1,P2=v.Name:find'TOGGLE_';
  574. local Name=v.Name:sub(P2+1);
  575. v.TextColor3=Toggles[Name]and Settings.MainColor or Color3.new(1,1,1);
  576. end;
  577. end;
  578. for i,v in next,Toggles do
  579. if v then
  580. local Label=Instance.new'TextLabel';
  581. Label.Name='TEXT_ARR_'..i;
  582. Label.BackgroundTransparency=1;Label.BorderSizePixel=0;
  583. Label.Position=UDim2.new(0.1,-5,0,Y);
  584. Label.Size=UDim2.new(0.9,0,0,30);
  585. Label.Text=i;
  586. Label.TextScaled=true;
  587. Label.Font=Enum.Font.SourceSansLight;
  588. Label.TextXAlignment=Enum.TextXAlignment.Right;
  589. Label.Parent=HUD;
  590. Y=Y+30
  591. end;
  592. end;
  593. end;
  594.  
  595. local function CreateTab(TabName)
  596. Tabs[TabName]={};
  597. Tabs[TabName].Toggles={};
  598. local Frame=Instance.new'TextLabel';
  599. Frame.Name='BACKGROUND_'..TabName;
  600. Frame.BorderSizePixel=0;
  601. Frame.Position=UDim2.new(0,X,0,10);
  602. Frame.Active=true;
  603. Frame.Draggable=true;
  604. Frame.Size=UDim2.new(0,250,0,30);
  605. Frame.TextColor3=Color3.fromRGB(84,84,84);
  606. Frame.TextSize=18;
  607. Frame.Font=Enum.Font.SourceSansLight;
  608. Frame.Text=TabName;
  609. Frame.Parent=Main;
  610. local Toggle=Instance.new'TextButton';
  611. Toggle.Name=TabName..'Toggle';
  612. Toggle.BackgroundTransparency=1;
  613. Toggle.BorderSizePixel=0;
  614. Toggle.Position=UDim2.new(0,220,0,0);
  615. Toggle.Size=UDim2.new(0,30,0,30);
  616. Toggle.TextColor3=Color3.fromRGB(84,84,84)
  617. Toggle.TextSize=16
  618. Toggle.Text='-';
  619. Toggle.Font=Enum.Font.SciFi;
  620. Toggle.Parent=Frame;
  621. local Y=0;
  622. local Frame2=Instance.new'Frame';
  623. Frame2.Name=TabName..'Dropdown';
  624. Frame2.BackgroundColor3=Color3.new(0,0,0);
  625. Frame2.BackgroundTransparency=0.5;
  626. Frame2.BorderSizePixel=0;
  627. Frame2.Position=UDim2.new(0,0,0,30);
  628. Frame2.Size=UDim2.new(0,250,0,0);
  629. Frame2.ClipsDescendants=true;
  630. Frame2.Parent=Frame;
  631.  
  632. Tabs[TabName].OpenClose=function()
  633. if Frame2.Size==UDim2.new(0,250,0,Y)or Frame2.Size==UDim2.new(0,250,0,0)then
  634. Frame2:TweenSize(Toggle.Text=='+' and UDim2.new(0,250,0,Y)or UDim2.new(0,250,0,0), 'Out', 'Quad', 1/3);
  635. Toggle.Text=Toggle.Text=='-' and '+' or '-'
  636. end;
  637. end;Toggle.MouseButton1Click:Connect(Tabs[TabName].OpenClose);
  638. Tabs[TabName].AddToggle=function(ToggleName,Optional)
  639. if Tabs[TabName].ToggleName==nil then
  640. local Button=Instance.new'TextButton';
  641. Button.Name='TOGGLE_'..ToggleName
  642. Button.BackgroundTransparency=1;
  643. Button.BorderSizePixel=0;
  644. Button.Position=UDim2.new(0,5,0,Y);
  645. Y=Y+25;
  646. Frame2.Size=Frame2.Size+UDim2.new(0,0,0,25);
  647. Button.Size=UDim2.new(0,245,0,25);
  648. Button.Text='> '..ToggleName;
  649. Button.TextColor3=Color3.new(1,1,1);
  650. Button.TextSize=16;
  651. Button.Font=Enum.Font.SourceSansSemibold
  652. Button.TextXAlignment=Enum.TextXAlignment.Left;
  653. Button.Parent=Frame2;
  654. Toggles[ToggleName]=false;
  655. ToggleSettings[ToggleName]=Optional;
  656. Button.MouseButton1Click:Connect(function()
  657. Toggles[ToggleName]=not Toggles[ToggleName];
  658. UpdateArrayList();
  659. end);
  660. return Button;
  661. end;
  662. end;
  663.  
  664.  
  665. X=X+300
  666. end;
  667.  
  668. game:GetService'UserInputService'.InputBegan:Connect(function(IO,GPE)
  669. if IO.KeyCode==Enum.KeyCode[Settings.ToggleKey]then
  670. Main.Visible=not Main.Visible;
  671. end;
  672. end);
  673.  
  674. --------------------------------------------------------------
  675.  
  676. CreateTab'Tools';
  677. Tabs.Tools.AddToggle'GunMod';
  678. Tabs.Tools.AddToggle'InstaKill';
  679. Tabs.Tools.AddToggle'NadeMod';
  680. CreateTab'Render';
  681. Tabs.Render.AddToggle'GlobalESP';
  682. CreateTab'Utilities';
  683. Tabs.Utilities.AddToggle'Credits';
  684. Tabs.Utilities.AddToggle'UnlockAll';
  685. Tabs.Utilities.AddToggle'NoFall';
  686.  
  687.  
  688. local P = game:GetService'Players'.LocalPlayer;
  689. local Misc = game:GetService'ReplicatedStorage'.Misc;
  690. local PGUI = P.PlayerGui;
  691. local ChatGui = PGUI.ChatGame;
  692.  
  693. local C = Color3.fromRGB(100, 100, 255);
  694. local CurrentTexts={};
  695.  
  696. local function Console(String, Color)
  697. local Msg = Misc.Msger;
  698. local Message = Msg:Clone();
  699. local MTag = Message.Tag;
  700. local Offset = 5;
  701. Message.Parent = ChatGui.GlobalChat;
  702. Message.Text = '[VIRGO]: ';
  703. table.insert(CurrentTexts, Message);
  704. Message.Msg.Text = String;
  705. Message.Msg.Position = UDim2.new(0, Message.TextBounds.x, 0, 0);
  706. if Color then
  707. Message.Msg.TextColor3 = Color;
  708. end;
  709. Message.Visible = true;
  710. Message.Msg.Visible = true;
  711. end;
  712.  
  713. if PROTOSMASHER_LOADED and (not shared.repair) then
  714. Console('[0/3] Detected ProtoSmasher, loading DebugRepair')
  715. coroutine.wrap(function()
  716. pcall(function()
  717. loadstring(game:HttpGet("https://pastebin.com/raw/m8zyuQMv", true))()
  718. end)
  719. end)()
  720. repeat wait() until shared.repair
  721. end
  722.  
  723. local secret953 = secret953 or debug.getupvalues;
  724. local secret500 = secret500 or debug.setupvalue;
  725. local getreg = getreg or debug.getregistry;
  726.  
  727. local ScriptSettings = {
  728. ['firerate'] = 1500
  729. };
  730. local InitTime = tick();
  731.  
  732. local Client;
  733. local Functions;
  734. local Bypassed;
  735. local Railgun;
  736.  
  737. do
  738. for i, v in next, getreg() do
  739. if type(v) == 'function' then
  740. local Upvalues = secret953(v);
  741. if not Client and Upvalues and Upvalues.network and Upvalues.char and Upvalues.gamelogic then
  742. Client = Upvalues;
  743. elseif not Bypassed and Upvalues and Upvalues.netkick then
  744. secret500(v, 'netkick', function() end);
  745. Bypassed = true;
  746. end;
  747.  
  748. if getfenv(v).genwepbuttons then
  749. local upv = secret953(getfenv(v).genwepbuttons)
  750. if upv and not Railgun then
  751. Railgun = true
  752. table.insert(upv.weplist['ASSAULT RIFLE'], 'RAILGUN')
  753. end
  754. end
  755. end;
  756. end;
  757. end;
  758.  
  759. if Client then
  760. Console('[1/3] Hooked client' .. (Bypassed and ' and bypassed PF\'s anticheat.' or ' but failed to bypass PF\'s anticheat.'));
  761. else
  762. Console'[1/3] Could not access Framework.';
  763. error'Stop using skidsploits without the debug library.';
  764. end;
  765.  
  766. local BlacklistedArguments = {
  767. ['closeconnection'] = true,
  768. ['logmessage'] = true
  769. };
  770.  
  771. do
  772. if Synapse then
  773. Console'[2/3] SIP detected, no need to bypass contextlevel check.';
  774. Console'(Note: If you get a \'nice network\' ban it\'s not my fault, it\'s 3dsbob\'s. Complain to him not me.)';
  775. elseif not secret500(Client.network.send, 'settings', error) then
  776. Console'[2/3] Failed to bypass contextlevel check, aborting for security purposes.';
  777. P:Kick'Rejoin! (If this kick hadn\'t have happened you would have been banned so be grateful. -Classy.)';
  778. else
  779. Console'[2/3] Bypassed contextlevel check.';
  780. end;
  781.  
  782. local Upvalues = secret953(Client.network.add);
  783. if Upvalues and Upvalues.funcs then
  784. Functions = Upvalues.funcs;
  785. Console'[3/3] Got functions.';
  786. else
  787. Console'[3/3] Failed to init some dependencies, some features may not work as intended.';
  788. end;
  789. end;
  790.  
  791. local gun = {
  792. Name = "AK12",
  793. Camo = {
  794. Slot1 = {
  795. BrickProperties = {
  796. Material = "SmoothPlastic",
  797. DefaultColor = false,
  798. BrckColor = "Black"
  799. },
  800. Name = "",
  801. TextureProperties = {
  802. TextureId = 0,
  803. Transparency = 0,
  804. StudsPerTileV = 1,
  805. StudsPerTileU = 1,
  806. }
  807. },
  808.  
  809. Slot2 = {
  810. BrickProperties = {
  811. Material = "SmoothPlastic",
  812. DefaultColor = false,
  813. BrckColor = "Black"
  814. },
  815. Name = "",
  816. TextureProperties = {
  817. TextureId = 0,
  818. Transparency = 0,
  819. StudsPerTileV = 1,
  820. StudsPerTileU = 1,
  821. }
  822. }
  823. },
  824.  
  825. Attachments = {
  826. Optics = "",
  827. Barrel = "",
  828. Other = "",
  829. Underbarrel = "",
  830. }
  831. }
  832.  
  833. local gun2 = {
  834. Name = "M9",
  835. Camo = {
  836. Slot1 = {
  837. BrickProperties = {
  838. Material = "SmoothPlastic",
  839. DefaultColor = false,
  840. BrckColor = "Black"
  841. },
  842. Name = "",
  843. TextureProperties = {
  844. TextureId = 0,
  845. Transparency = 0,
  846. StudsPerTileV = 1,
  847. StudsPerTileU = 1,
  848. }
  849. },
  850.  
  851. Slot2 = {
  852. BrickProperties = {
  853. Material = "SmoothPlastic",
  854. DefaultColor = false,
  855. BrckColor = "Black"
  856. },
  857. Name = "",
  858. TextureProperties = {
  859. TextureId = 0,
  860. Transparency = 0,
  861. StudsPerTileV = 1,
  862. StudsPerTileU = 1,
  863. }
  864. }
  865. },
  866.  
  867. Attachments = {
  868. Optics = "",
  869. Barrel = "",
  870. Other = "",
  871. }
  872. }
  873.  
  874. local knife = {
  875. Name = "KNIFE",
  876. Camo = {
  877. Slot1 = {
  878. BrickProperties = {
  879. Material = "SmoothPlastic",
  880. DefaultColor = false,
  881. BrckColor = "Black"
  882. },
  883. Name = "",
  884. TextureProperties = {
  885. TextureId = 0,
  886. Transparency = 0,
  887. StudsPerTileV = 1,
  888. StudsPerTileU = 1,
  889. }
  890. },
  891.  
  892. Slot2 = {
  893. BrickProperties = {
  894. Material = "SmoothPlastic",
  895. DefaultColor = false,
  896. BrckColor = "Black"
  897. },
  898. Name = "",
  899. TextureProperties = {
  900. TextureId = 0,
  901. Transparency = 0,
  902. StudsPerTileV = 1,
  903. StudsPerTileU = 1,
  904. }
  905. }
  906. },
  907.  
  908. Attachments = {}
  909. }
  910.  
  911. local Succ, NoSucc = pcall(function()
  912.  
  913. local Network = Client.network;
  914. local Char = Client.char;
  915. local GameLogic = Client.gamelogic;
  916.  
  917. local Send = Network.send;
  918. local G = Char.loadgun;
  919. local GR = Char.loadgrenade;
  920.  
  921. local V = Vector3.new();
  922.  
  923. Network.send = function(self, ...)
  924. local Args = {...};
  925. if #Args > 0 then
  926. local Name = Args[1];
  927. if Name == 'changehealthx' then
  928. if #Args > 4 and type(Args[5]) == 'string' and Args[5] == 'Falling' and Toggles.NoFall then
  929. Console'Nofall! Watch your legs next time :)';
  930. return;
  931. end
  932. elseif Toggles.InstaKill and Name == 'bullethit' then
  933. if type(Args[3]) == 'number' and Args[3] > -100 then
  934. Args[3] = -100;
  935. return Send(self, unpack(Args));
  936. end;
  937. elseif Name == "spawn" then
  938. Args[5] = gun;
  939. Args[6] = gun2;
  940. Args[7] = knife;
  941.  
  942. return Send(self, unpack(Args))
  943. elseif Name == 'logmessage' or Name == 'deploycheck' or Name == 'changewep' or Name == 'changeatt' then
  944. return
  945. end;
  946. end;
  947. return Send(self, ...);
  948. end;
  949.  
  950.  
  951. -- Dysekts kewl function
  952. Char.loadgun = function(...) -- TODO: implement a self arg to make things look more tidy.
  953. if Toggles.GunMod then
  954. local Args = {...}; if #Args == 0 then return G(...); end;
  955. local GunData = Args[2];
  956. Console(string.format('Modding %s (%s)', GunData.name, GunData.type));
  957. GunData.hideflash = true;
  958. GunData.hideminimap = true;
  959. GunData.hiderange = 0;
  960. GunData.sparerounds = 9999;
  961. GunData.magsize = 9999;
  962. GunData.camkickmin = V;
  963. GunData.camkickmax = V;
  964. GunData.aimcamkickmin = V;
  965. GunData.aimcamkickmax = V;
  966. GunData.aimtranskickmin = V;
  967. GunData.aimtranskickmax = V;
  968. GunData.transkickmin = V;
  969. GunData.transkickmax = V;
  970. GunData.rotkickmin = V;
  971. GunData.rotkickmax = V;
  972. GunData.aimrotkickmin = V;
  973. GunData.aimrotkickmax = V;
  974. GunData.hipfirespread = 0;
  975. GunData.hipfirestability = 0;
  976. GunData.swayamp = 0;
  977. GunData.swayspeed = 0;
  978. GunData.steadyspeed = 0;
  979. GunData.breathspeed = 0;
  980. GunData.hipfirespreadrecover = 100;
  981. GunData.hipfirespreadrecover = 100;
  982. GunData.bulletspeed = 5000;
  983. GunData.crosssize = 2;
  984. GunData.crossexpansion = 0;
  985. GunData.firerate = ScriptSettings['firerate'];
  986. GunData.variablefirerate = false;
  987. GunData.range0 = 1000;
  988. GunData.range1 = 1000;
  989. GunData.penetrationdepth = 100;
  990. GunData.firemodes = {true, 3, 1};
  991. GunData.requirechamber = false;
  992. GunData.animations.onfire = {};
  993. Args[2] = GunData;
  994. return G(unpack(Args));
  995. end;
  996. return G(...);
  997. end;
  998.  
  999. -- Dysekts kewl function 2.0
  1000. Char.loadgrenade = function(...) -- TODO: implement a self arg to make things look more tidy.
  1001. if Toggles.NadeMod then
  1002. Console'Throwing grenade(s).';
  1003. GameLogic.gammo = math.huge;
  1004. local Args = {...};
  1005. local Grenade = Args[2];
  1006. Grenade.animations.pull = {};
  1007. Grenade.animations.throw = {};
  1008. Args[2] = Grenade;
  1009. Args[3][Grenade.mainpart].CFrame = P.Character.HumanoidRootPart.CFrame * CFrame.new(2,0,0);
  1010. local ThrownGrenade = GR(unpack(Args));
  1011. ThrownGrenade:pull();
  1012. ThrownGrenade:throw();
  1013. Char.grenadehold = false;
  1014. repeat wait(1000) until nil;
  1015. return;
  1016. end;
  1017. return GR(...);
  1018. end;
  1019.  
  1020. local function ESP()
  1021. local Spotted = {};
  1022. for i, v in ipairs(game:GetService'Players':GetPlayers'') do
  1023. if v.TeamColor ~= P.TeamColor then
  1024. table.insert(Spotted, v);
  1025. end;
  1026. end;
  1027. Network:send('spotplayers', Spotted);
  1028. end;
  1029.  
  1030. spawn(function()
  1031. repeat wait(1);
  1032. if Toggles.GlobalESP then
  1033. ESP();
  1034. end;
  1035. until nil;
  1036. end);
  1037.  
  1038. spawn(function()
  1039. repeat wait(.5);
  1040. if Toggles.Credits then
  1041. spawn(function()
  1042. Toggles.Credits = false;
  1043. UpdateArrayList();
  1044. Console('Giving infinite credits, these cannot be used to buy cases/keys.', C);
  1045. Functions['updatemoney'](math.huge);
  1046. end);
  1047. end;
  1048.  
  1049. if Toggles.UnlockAll then
  1050. spawn(function()
  1051. Toggles.UnlockAll=false;
  1052. UpdateArrayList();
  1053. Console('Unlocking weapons and attachments.', C);
  1054.  
  1055. local add = Network.add
  1056. local funcs = secret953(add).funcs
  1057. local data = secret953(funcs.loadplayerdata).cache
  1058.  
  1059. for k, v in next, game.ReplicatedStorage.GunModels:GetChildren() do
  1060. data.unlocks[v.Name] = data.unlocks[v.Name] or {}
  1061. data.unlocks[v.Name]['paid'] = true
  1062. for i, a in next, game.ReplicatedStorage.AttachmentModels:GetChildren() do
  1063. data.unlocks[v.Name][a.Name] = true
  1064. end
  1065. end
  1066. end);
  1067. end;
  1068.  
  1069. until nil;
  1070. end);
  1071.  
  1072. end);
  1073.  
  1074. if not Succ then
  1075. Console(NoSucc);
  1076. end;
  1077.  
  1078. Console(string.format('Fully loaded VIRGO! Init time: %s seconds', tostring(tick() - InitTime)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement