· 6 years ago · Dec 09, 2019, 05:12 AM
1-- Gui to Lua
2-- Version: 3
3
4-- Instances:
5
6local ScreenGui = Instance.new("ScreenGui")
7local OpenFrame = Instance.new("Frame")
8local Open = Instance.new("TextButton")
9local Main = Instance.new("Frame")
10local TextLabel = Instance.new("TextLabel")
11local Hitbox = Instance.new("TextButton")
12local Noclip = Instance.new("TextButton")
13local RemoveMap = Instance.new("TextButton")
14local ClickTP = Instance.new("TextButton")
15local ESP = Instance.new("TextButton")
16local AimLock = Instance.new("TextButton")
17local InfJump = Instance.new("TextButton")
18local TextButton = Instance.new("TextButton")
19
20--Properties:
21
22ScreenGui.Parent = game.CoreGui
23ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
24
25OpenFrame.Name = "OpenFrame"
26OpenFrame.Parent = ScreenGui
27OpenFrame.BackgroundColor3 = Color3.new(1, 1, 1)
28OpenFrame.Position = UDim2.new(0.0196335092, 0, 0.667924523, 0)
29OpenFrame.Size = UDim2.new(0, 90, 0, 27)
30
31Open.Name = "Open"
32Open.Parent = OpenFrame
33Open.BackgroundColor3 = Color3.new(0.988235, 0.294118, 0.027451)
34Open.Size = UDim2.new(0, 90, 0, 27)
35Open.Font = Enum.Font.SourceSans
36Open.Text = "Open"
37Open.TextColor3 = Color3.new(0, 0, 0)
38Open.TextSize = 14
39Open.MouseButton1Down:connect(function()
40OpenFrame.Visible = false
41Main.Visible = true
42end)
43
44Main.Name = "Main"
45Main.Parent = ScreenGui
46Main.BackgroundColor3 = Color3.new(0.121569, 0.121569, 0.121569)
47Main.Position = UDim2.new(0.261780113, 0, 0.240566045, 0)
48Main.Size = UDim2.new(0, 174, 0, 399)
49Main.Visible = false
50Main.Active = true
51Main.Draggable = true
52
53TextLabel.Parent = Main
54TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
55TextLabel.BackgroundTransparency = 1
56TextLabel.Size = UDim2.new(0, 124, 0, 31)
57TextLabel.Font = Enum.Font.SourceSans
58TextLabel.Text = "Strucid Sucker"
59TextLabel.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
60TextLabel.TextScaled = true
61TextLabel.TextSize = 14
62TextLabel.TextWrapped = true
63
64Hitbox.Name = "Hitbox"
65Hitbox.Parent = Main
66Hitbox.BackgroundColor3 = Color3.new(1, 1, 1)
67Hitbox.BackgroundTransparency = 1
68Hitbox.Position = UDim2.new(0.166666672, 0, 0.127819553, 0)
69Hitbox.Size = UDim2.new(0, 116, 0, 27)
70Hitbox.Font = Enum.Font.SourceSans
71Hitbox.Text = "HitBox Extender"
72Hitbox.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
73Hitbox.TextSize = 14
74Hitbox.MouseButton1Down:connect(function()
75_G.HeadSize = (size.Text)
76_G.Disabled = true
77
78game:GetService('RunService').RenderStepped:connect(function()
79if _G.Disabled then
80for i,v in next, game:GetService('Players'):GetPlayers() do
81if v.Name ~= game:GetService('Players').LocalPlayer.Name then
82pcall(function()
83v.Character.HumanoidRootPart.Size = Vector3.new(_G.HeadSize,_G.HeadSize,_G.HeadSize)
84v.Character.HumanoidRootPart.Transparency = 0.6
85v.Character.HumanoidRootPart.BrickColor = BrickColor.new("Really blue")
86v.Character.HumanoidRootPart.Material = "SmoothPlastic"
87v.Character.HumanoidRootPart.CanCollide = false
88end)
89end
90end
91end
92end)
93end)
94
95Noclip.Name = "Noclip"
96Noclip.Parent = Main
97Noclip.BackgroundColor3 = Color3.new(1, 1, 1)
98Noclip.BackgroundTransparency = 1
99Noclip.Position = UDim2.new(0.166666672, 0, 0.238095239, 0)
100Noclip.Size = UDim2.new(0, 116, 0, 27)
101Noclip.Font = Enum.Font.SourceSans
102Noclip.Text = "Noclip"
103Noclip.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
104Noclip.TextSize = 14
105Noclip.TextWrapped = true
106Noclip.MouseButton1Down:connect(function()
107nam = game:GetService("Players").LocalPlayer.Name
108
109game:GetService('RunService').Stepped:connect(function()
110for a, b in pairs(game.Workspace:GetChildren()) do
111if b.Name == nam then
112for i, v in pairs(game.Workspace[nam]:GetChildren()) do
113if v:IsA("BasePart") then
114v.CanCollide = false
115
116end
117end
118end
119end
120end)
121
122
123Workspace[nam].Head.Changed:connect(function()
124for a, b in pairs(game.Workspace:GetChildren()) do
125if b.Name == nam then
126for i, v in pairs(game.Workspace[nam]:GetChildren()) do
127if v:IsA("BasePart") then
128v.CanCollide = false
129
130end
131end
132end
133end
134end)
135end)
136
137RemoveMap.Name = "Remove Map"
138RemoveMap.Parent = Main
139RemoveMap.BackgroundColor3 = Color3.new(1, 1, 1)
140RemoveMap.BackgroundTransparency = 1
141RemoveMap.Position = UDim2.new(0.166666672, 0, 0.348370939, 0)
142RemoveMap.Size = UDim2.new(0, 116, 0, 27)
143RemoveMap.Font = Enum.Font.SourceSans
144RemoveMap.Text = "Remove Map"
145RemoveMap.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
146RemoveMap.TextSize = 14
147RemoveMap.MouseButton1Down:connect(function()
148while wait() do
149for a,z in pairs(game:GetService("Workspace")["BuildStuff"]:GetDescendants()) do
150z:Destroy()
151end
152end
153end)
154local Players = game:GetService'Players';
155local LocalPlayer = Players.LocalPlayer;
156local Camera = workspace.CurrentCamera;
157local Dot = Vector3.new().Dot;
158local Networks = {};
159
160for i, v in pairs(debug.getregistry()) do
161if typeof(v) == 'function' and islclosure(v) then
162local ups = debug.getupvalues(v);
163if ups.NWModule and ups.NWModule.FireServer then
164Networks[#Networks + 1] = ups.NWModule;
165end
166end
167end
168
169local Net = Networks[1];
170
171assert(#Networks ~= 0, 'No Network');
172
173function SameTeam(P1, P2)
174if P1 == P2 then
175return false
176end
177if P1.Neutral or P2.Neutral then
178return false
179elseif P1.TeamColor == P2.TeamColor then
180return true
181end
182return false
183end
184
185function GetPlayerClosestToMouse()
186local Highest = {0, nil};
187
188for i, v in pairs(Players:GetPlayers()) do
189local Player = v;
190local Character = Player.Character;
191if Player ~= LocalPlayer and not SameTeam(Player, LocalPlayer) and Character then
192local Head = Character:FindFirstChild'Head';
193if Head then
194local Direction = Camera.CFrame.lookVector.unit;
195local Relative = Player.Character.Head.Position - Camera.CFrame.p;
196local Unit = Relative.unit;
197
198local DP = Dot(Direction, Unit);
199if DP > Highest[1] then
200Highest = {DP, Player};
201end
202end
203end
204end
205
206return Highest[2];
207end
208
209local Active = true;
210local Rand = Random.new();
211
212for i, v in pairs(Networks) do
213shared['oFireServer' .. tostring(v)] = shared['oFireServer' .. tostring(v)] or v.FireServer;
214v.FireServer = function(...)
215local Arguments = {...};
216
217if Active and Arguments[2] == 'Damage' and typeof(Arguments[3]) == 'Instance' and Arguments[3]:IsA'ValueBase' then
218return true;
219end
220
221return shared['oFireServer' .. tostring(v)](...);
222end
223end
224
225game:GetService'UserInputService'.InputEnded:connect(function(Input)
226if Input.UserInputType == Enum.UserInputType.Keyboard and Input.KeyCode == Enum.KeyCode.F3 then
227Active = not Active;
228elseif Active and Input.UserInputType == Enum.UserInputType.MouseButton1 then
229spawn(function()
230wait(.05);
231local Player = GetPlayerClosestToMouse();
232if Player then
233local Character = Player.Character;
234if Character then
235local Humanoid = Character:FindFirstChildOfClass'Humanoid';
236local Head = Character:FindFirstChild'Head';
237if Humanoid and Humanoid.Health > 0 and Head then
238Net:FireServer('Damage', Humanoid, Head, Head.Position, Head.Position + Vector3.new(Rand:NextNumber() / 10, .25 + (Rand:NextNumber() / 10), Rand:NextNumber() / 10))
239end
240end
241end
242end);
243end
244end)
245
246ClickTP.Name = "ClickTP"
247ClickTP.Parent = Main
248ClickTP.BackgroundColor3 = Color3.new(1, 1, 1)
249ClickTP.BackgroundTransparency = 1
250ClickTP.Position = UDim2.new(0.166666672, 0, 0.466165423, 0)
251ClickTP.Size = UDim2.new(0, 116, 0, 27)
252ClickTP.Font = Enum.Font.SourceSans
253ClickTP.Text = "CTRL ClickTP"
254ClickTP.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
255ClickTP.TextSize = 14
256ClickTP.MouseButton1Down:connect(function()
257loadstring(game:GetObjects("rbxassetid://509249639")[1].Source)()
258end)
259noclip.MouseButton1Down:connect(function()
260nam = game:GetService("Players").LocalPlayer.Name
261
262game:GetService('RunService').Stepped:connect(function()
263for a, b in pairs(game.Workspace:GetChildren()) do
264if b.Name == nam then
265for i, v in pairs(game.Workspace[nam]:GetChildren()) do
266if v:IsA("BasePart") then
267v.CanCollide = false
268
269end
270end
271end
272end
273end)
274
275
276Workspace[nam].Head.Changed:connect(function()
277for a, b in pairs(game.Workspace:GetChildren()) do
278if b.Name == nam then
279for i, v in pairs(game.Workspace[nam]:GetChildren()) do
280if v:IsA("BasePart") then
281v.CanCollide = false
282
283end
284end
285end
286end
287end)
288end)
289
290ESP.Name = "ESP"
291ESP.Parent = Main
292ESP.BackgroundColor3 = Color3.new(1, 1, 1)
293ESP.BackgroundTransparency = 1
294ESP.Position = UDim2.new(0.166666672, 0, 0.588972449, 0)
295ESP.Size = UDim2.new(0, 116, 0, 27)
296ESP.Font = Enum.Font.SourceSans
297ESP.Text = "ESP"
298ESP.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
299ESP.TextSize = 14
300ESP.MouseButton1Down:connect(function()
301-- Created By Ic3W0lf
302assert(Drawing, 'exploit not supported')
303
304local UserInputService = game:GetService'UserInputService';
305local HttpService = game:GetService'HttpService';
306local GUIService = game:GetService'GuiService';
307local RunService = game:GetService'RunService';
308local Players = game:GetService'Players';
309local LocalPlayer = Players.LocalPlayer;
310local Camera = workspace.CurrentCamera
311local Mouse = LocalPlayer:GetMouse();
312local Menu = {};
313local MouseHeld = false;
314local LastRefresh = 0;
315local OptionsFile = 'IC3_ESP_SETTINGS.dat';
316local Binding = false;
317local BindedKey = nil;
318local OIndex = 0;
319local LineBox = {};
320local UIButtons = {};
321local Sliders = {};
322local Dragging = false;
323local DraggingUI = false;
324local DragOffset = Vector2.new();
325local DraggingWhat = nil;
326local OldData = {};
327local IgnoreList = {};
328local Red = Color3.new(1, 0, 0);
329local Green = Color3.new(0, 1, 0);
330local MenuLoaded = false;
331
332shared.MenuDrawingData = shared.MenuDrawingData or { Instances = {} };
333shared.PlayerData = shared.PlayerData or {};
334shared.RSName = shared.RSName or ('UnnamedESP_by_ic3-' .. HttpService:GenerateGUID(false));
335
336local GetDataName = shared.RSName .. '-GetData';
337local UpdateName = shared.RSName .. '-Update';
338
339local Debounce = setmetatable({}, {
340__index = function(t, i)
341return rawget(t, i) or false
342end;
343});
344
345pcall(function() shared.InputBeganCon:disconnect() end);
346pcall(function() shared.InputEndedCon:disconnect() end);
347
348function GetMouseLocation()
349return UserInputService:GetMouseLocation();
350end
351
352function MouseHoveringOver(Values)
353local X1, Y1, X2, Y2 = Values[1], Values[2], Values[3], Values[4]
354local MLocation = GetMouseLocation();
355return (MLocation.x >= X1 and MLocation.x <= (X1 + (X2 - X1))) and (MLocation.y >= Y1 and MLocation.y <= (Y1 + (Y2 - Y1)));
356end
357
358function GetTableData(t) -- basically table.foreach i dont even know why i made this
359if typeof(t) ~= 'table' then return end
360return setmetatable(t, {
361__call = function(t, func)
362if typeof(func) ~= 'function' then return end;
363for i, v in pairs(t) do
364pcall(func, i, v);
365end
366end;
367});
368end
369local function Format(format, ...)
370return string.format(format, ...);
371end
372function CalculateValue(Min, Max, Percent)
373return Min + math.floor(((Max - Min) * Percent) + .5);
374end
375
376local Options = setmetatable({}, {
377__call = function(t, ...)
378local Arguments = {...};
379local Name = Arguments[1];
380OIndex = OIndex + 1; -- (typeof(Arguments[3]) == 'boolean' and 1 or 0);
381rawset(t, Name, setmetatable({
382Name = Arguments[1];
383Text = Arguments[2];
384Value = Arguments[3];
385DefaultValue = Arguments[3];
386AllArgs = Arguments;
387Index = OIndex;
388}, {
389__call = function(t, v)
390if typeof(t.Value) == 'function' then
391t.Value();
392elseif typeof(t.Value) == 'EnumItem' then
393local BT = Menu:GetInstance(Format('%s_BindText', t.Name));
394Binding = true;
395local Val = 0
396while Binding do
397wait();
398Val = (Val + 1) % 17;
399BT.Text = Val <= 8 and '|' or '';
400end
401t.Value = BindedKey;
402BT.Text = tostring(t.Value):match'%w+%.%w+%.(.+)';
403BT.Position = t.BasePosition + Vector2.new(t.BaseSize.X - BT.TextBounds.X - 20, -10);
404else
405local NewValue = v;
406if NewValue == nil then NewValue = not t.Value; end
407rawset(t, 'Value', NewValue);
408if Arguments[2] ~= nil then
409if typeof(Arguments[3]) == 'number' then
410local AMT = Menu:GetInstance(Format('%s_AmountText', t.Name));
411AMT.Text = tostring(t.Value);
412AMT.Position = t.BasePosition + Vector2.new(t.BaseSize.X - AMT.TextBounds.X - 10, -10);
413else
414local Inner = Menu:GetInstance(Format('%s_InnerCircle', t.Name));
415Inner.Visible = t.Value;
416end
417end
418end
419end;
420}));
421end;
422})
423
424function Load()
425local _, Result = pcall(readfile, OptionsFile);
426if _ then -- extremely ugly code yea i know but i dont care p.s. i hate pcall
427local _, Table = pcall(HttpService.JSONDecode, HttpService, Result);
428if _ then
429for i, v in pairs(Table) do
430if Options[i] ~= nil and Options[i].Value ~= nil and (typeof(Options[i].Value) == 'boolean' or typeof(Options[i].Value) == 'number') then
431Options[i].Value = v.Value;
432pcall(Options[i], v.Value);
433end
434end
435end
436end
437end
438
439Options('Enabled', 'ESP Enabled', true);
440Options('ShowTeam', 'Show Team', true);
441Options('ShowName', 'Show Names', true);
442Options('ShowDistance', 'Show Distance', true);
443Options('ShowHealth', 'Show Health', true);
444Options('ShowBoxes', 'Show Boxes', true);
445Options('ShowTracers', 'Show Tracers', true);
446Options('ShowDot', 'Show Head Dot', false);
447Options('VisCheck', 'Visibility Check', false);
448Options('Crosshair', 'Crosshair', false);
449Options('TextOutline', 'Text Outline', true);
450Options('TextSize', 'Text Size', syn and 18 or 14, 10, 24); -- cuz synapse fonts look weird???
451Options('MaxDistance', 'Max Distance', 2500, 100, 5000);
452Options('RefreshRate', 'Refresh Rate (ms)', 5, 1, 200);
453Options('MenuKey', 'Menu Key', Enum.KeyCode.F4, 1);
454Options('ResetSettings', 'Reset Settings', function()
455for i, v in pairs(Options) do
456if Options[i] ~= nil and Options[i].Value ~= nil and Options[i].Text ~= nil and (typeof(Options[i].Value) == 'boolean' or typeof(Options[i].Value) == 'number') then
457Options[i](Options[i].DefaultValue);
458end
459end
460end, 4);
461Options('LoadSettings', 'Load Settings', Load, 3);
462Options('SaveSettings', 'Save Settings', function()
463writefile(OptionsFile, HttpService:JSONEncode(Options));
464end, 2)
465-- Options.SaveSettings.Value();
466
467Load();
468
469Options('MenuOpen', nil, true);
470
471local function Set(t, i, v)
472t[i] = v;
473end
474local function Combine(...)
475local Output = {};
476for i, v in pairs{...} do
477if typeof(v) == 'table' then
478table.foreach(v, function(i, v)
479Output[i] = v;
480end)
481end
482end
483return Output
484end
485function IsStringEmpty(String)
486if type(String) == 'string' then
487return String:match'^%s+$' ~= nil or #String == 0 or String == '' or false;
488end
489return false
490end
491
492function NewDrawing(InstanceName)
493local Instance = Drawing.new(InstanceName);
494return (function(Properties)
495for i, v in pairs(Properties) do
496pcall(Set, Instance, i, v);
497end
498return Instance;
499end)
500end
501
502function Menu:AddMenuInstace(Name, Instance)
503if shared.MenuDrawingData.Instances[Name] ~= nil then
504shared.MenuDrawingData.Instances[Name]:Remove();
505end
506shared.MenuDrawingData.Instances[Name] = Instance;
507return Instance;
508end
509function Menu:UpdateMenuInstance(Name)
510local Instance = shared.MenuDrawingData.Instances[Name];
511if Instance ~= nil then
512return (function(Properties)
513for i, v in pairs(Properties) do
514-- print(Format('%s %s -> %s', Name, tostring(i), tostring(v)));
515pcall(Set, Instance, i, v);
516end
517return Instance;
518end)
519end
520end
521function Menu:GetInstance(Name)
522return shared.MenuDrawingData.Instances[Name];
523end
524
525function LineBox:Create(Properties)
526local Box = { Visible = true }; -- prevent errors not really though dont worry bout the Visible = true thing
527
528local Properties = Combine({
529Transparency = 1;
530Thickness = 1;
531Visible = true;
532}, Properties);
533
534Box['TopLeft'] = NewDrawing'Line'(Properties);
535Box['TopRight'] = NewDrawing'Line'(Properties);
536Box['BottomLeft'] = NewDrawing'Line'(Properties);
537Box['BottomRight'] = NewDrawing'Line'(Properties);
538
539function Box:Update(CF, Size, Color, Properties)
540if not CF or not Size then return end
541
542local TLPos, Visible1 = Camera:WorldToViewportPoint((CF * CFrame.new( Size.X, Size.Y, 0)).p);
543local TRPos, Visible2 = Camera:WorldToViewportPoint((CF * CFrame.new(-Size.X, Size.Y, 0)).p);
544local BLPos, Visible3 = Camera:WorldToViewportPoint((CF * CFrame.new( Size.X, -Size.Y, 0)).p);
545local BRPos, Visible4 = Camera:WorldToViewportPoint((CF * CFrame.new(-Size.X, -Size.Y, 0)).p);
546-- ## BEGIN UGLY CODE
547if Visible1 then
548Box['TopLeft'].Visible = true;
549Box['TopLeft'].Color = Color;
550Box['TopLeft'].From = Vector2.new(TLPos.X, TLPos.Y);
551Box['TopLeft'].To = Vector2.new(TRPos.X, TRPos.Y);
552else
553Box['TopLeft'].Visible = false;
554end
555if Visible2 then
556Box['TopRight'].Visible = true;
557Box['TopRight'].Color = Color;
558Box['TopRight'].From = Vector2.new(TRPos.X, TRPos.Y);
559Box['TopRight'].To = Vector2.new(BRPos.X, BRPos.Y);
560else
561Box['TopRight'].Visible = false;
562end
563if Visible3 then
564Box['BottomLeft'].Visible = true;
565Box['BottomLeft'].Color = Color;
566Box['BottomLeft'].From = Vector2.new(BLPos.X, BLPos.Y);
567Box['BottomLeft'].To = Vector2.new(TLPos.X, TLPos.Y);
568else
569Box['BottomLeft'].Visible = false;
570end
571if Visible4 then
572Box['BottomRight'].Visible = true;
573Box['BottomRight'].Color = Color;
574Box['BottomRight'].From = Vector2.new(BRPos.X, BRPos.Y);
575Box['BottomRight'].To = Vector2.new(BLPos.X, BLPos.Y);
576else
577Box['BottomRight'].Visible = false;
578end
579-- ## END UGLY CODE
580if Properties then
581GetTableData(Properties)(function(i, v)
582pcall(Set, Box['TopLeft'], i, v);
583pcall(Set, Box['TopRight'], i, v);
584pcall(Set, Box['BottomLeft'], i, v);
585pcall(Set, Box['BottomRight'], i, v);
586end)
587end
588end
589function Box:SetVisible(bool)
590pcall(Set, Box['TopLeft'], 'Visible', bool);
591pcall(Set, Box['TopRight'], 'Visible', bool);
592pcall(Set, Box['BottomLeft'], 'Visible', bool);
593pcall(Set, Box['BottomRight'], 'Visible', bool);
594end
595function Box:Remove()
596self:SetVisible(false);
597Box['TopLeft']:Remove();
598Box['TopRight']:Remove();
599Box['BottomLeft']:Remove();
600Box['BottomRight']:Remove();
601end
602
603return Box;
604end
605
606function CreateMenu(NewPosition) -- Create Menu
607local function FromHex(HEX)
608HEX = HEX:gsub('#', '');
609return Color3.fromRGB(tonumber('0x' .. HEX:sub(1, 2)), tonumber('0x' .. HEX:sub(3, 4)), tonumber('0x' .. HEX:sub(5, 6)));
610end
611
612local Colors = {
613Primary = {
614Main = FromHex'424242';
615Light = FromHex'6d6d6d';
616Dark = FromHex'1b1b1b';
617};
618Secondary = {
619Main = FromHex'e0e0e0';
620Light = FromHex'ffffff';
621Dark = FromHex'aeaeae';
622};
623};
624
625MenuLoaded = false;
626
627GetTableData(UIButtons)(function(i, v)
628v.Instance.Visible = false;
629v.Instance:Remove();
630end)
631GetTableData(Sliders)(function(i, v)
632v.Instance.Visible = false;
633v.Instance:Remove();
634end)
635
636UIButtons = {};
637Sliders = {};
638
639local BaseSize = Vector2.new(300, 580);
640local BasePosition = NewPosition or Vector2.new(Camera.ViewportSize.X / 8 - (BaseSize.X / 2), Camera.ViewportSize.Y / 2 - (BaseSize.Y / 2));
641
642Menu:AddMenuInstace('CrosshairX', NewDrawing'Line'{
643Visible = false;
644Color = Color3.new(0, 1, 0);
645Transparency = 1;
646Thickness = 1;
647});
648Menu:AddMenuInstace('CrosshairY', NewDrawing'Line'{
649Visible = false;
650Color = Color3.new(0, 1, 0);
651Transparency = 1;
652Thickness = 1;
653});
654
655delay(.025, function() -- since zindex doesnt exist
656Menu:AddMenuInstace('Main', NewDrawing'Square'{
657Size = BaseSize;
658Position = BasePosition;
659Filled = false;
660Color = Colors.Primary.Main;
661Thickness = 3;
662Visible = true;
663});
664end);
665Menu:AddMenuInstace('TopBar', NewDrawing'Square'{
666Position = BasePosition;
667Size = Vector2.new(BaseSize.X, 25);
668Color = Colors.Primary.Dark;
669Filled = true;
670Visible = true;
671});
672Menu:AddMenuInstace('TopBarTwo', NewDrawing'Square'{
673Position = BasePosition + Vector2.new(0, 25);
674Size = Vector2.new(BaseSize.X, 60);
675Color = Colors.Primary.Main;
676Filled = true;
677Visible = true;
678});
679Menu:AddMenuInstace('TopBarText', NewDrawing'Text'{
680Size = 25;
681Position = shared.MenuDrawingData.Instances.TopBarTwo.Position + Vector2.new(25, 15);
682Text = 'Unnamed ESP';
683Color = Colors.Secondary.Light;
684Visible = true;
685});
686Menu:AddMenuInstace('TopBarTextBR', NewDrawing'Text'{
687Size = 15;
688Position = shared.MenuDrawingData.Instances.TopBarTwo.Position + Vector2.new(BaseSize.X - 65, 40);
689Text = 'by ic3w0lf';
690Color = Colors.Secondary.Dark;
691Visible = true;
692});
693Menu:AddMenuInstace('Filling', NewDrawing'Square'{
694Size = BaseSize - Vector2.new(0, 85);
695Position = BasePosition + Vector2.new(0, 85);
696Filled = true;
697Color = Colors.Secondary.Main;
698Transparency= .5;
699Visible = true;
700});
701
702local CPos = 0;
703
704GetTableData(Options)(function(i, v)
705if typeof(v.Value) == 'boolean' and not IsStringEmpty(v.Text) and v.Text ~= nil then
706CPos = CPos + 25;
707local BaseSize = Vector2.new(BaseSize.X, 30);
708local BasePosition = shared.MenuDrawingData.Instances.Filling.Position + Vector2.new(30, v.Index * 25 - 10);
709UIButtons[#UIButtons + 1] = {
710Option = v;
711Instance = Menu:AddMenuInstace(Format('%s_Hitbox', v.Name), NewDrawing'Square'{
712Position = BasePosition - Vector2.new(30, 15);
713Size = BaseSize;
714Visible = false;
715});
716};
717Menu:AddMenuInstace(Format('%s_OuterCircle', v.Name), NewDrawing'Circle'{
718Radius = 10;
719Position = BasePosition;
720Color = Colors.Secondary.Light;
721Filled = true;
722Visible = true;
723});
724Menu:AddMenuInstace(Format('%s_InnerCircle', v.Name), NewDrawing'Circle'{
725Radius = 7;
726Position = BasePosition;
727Color = Colors.Secondary.Dark;
728Filled = true;
729Visible = v.Value;
730});
731Menu:AddMenuInstace(Format('%s_Text', v.Name), NewDrawing'Text'{
732Text = v.Text;
733Size = 20;
734Position = BasePosition + Vector2.new(20, -10);
735Visible = true;
736Color = Colors.Primary.Dark;
737});
738end
739end)
740GetTableData(Options)(function(i, v) -- just to make sure certain things are drawn before or after others, too lazy to actually sort table
741if typeof(v.Value) == 'number' then
742CPos = CPos + 25;
743
744local BaseSize = Vector2.new(BaseSize.X, 30);
745local BasePosition = shared.MenuDrawingData.Instances.Filling.Position + Vector2.new(0, CPos - 10);
746
747local Text = Menu:AddMenuInstace(Format('%s_Text', v.Name), NewDrawing'Text'{
748Text = v.Text;
749Size = 20;
750Position = BasePosition + Vector2.new(20, -10);
751Visible = true;
752Color = Colors.Primary.Dark;
753});
754local AMT = Menu:AddMenuInstace(Format('%s_AmountText', v.Name), NewDrawing'Text'{
755Text = tostring(v.Value);
756Size = 20;
757Position = BasePosition;
758Visible = true;
759Color = Colors.Primary.Dark;
760});
761local Line = Menu:AddMenuInstace(Format('%s_SliderLine', v.Name), NewDrawing'Line'{
762Transparency = 1;
763Color = Colors.Primary.Dark;
764Thickness = 3;
765Visible = true;
766From = BasePosition + Vector2.new(20, 20);
767To = BasePosition + Vector2.new(BaseSize.X - 10, 20);
768});
769CPos = CPos + 10;
770local Slider = Menu:AddMenuInstace(Format('%s_Slider', v.Name), NewDrawing'Circle'{
771Visible = true;
772Filled = true;
773Radius = 6;
774Color = Colors.Secondary.Dark;
775Position = BasePosition + Vector2.new(35, 20);
776})
777
778local CSlider = {Slider = Slider; Line = Line; Min = v.AllArgs[4]; Max = v.AllArgs[5]; Option = v};
779Sliders[#Sliders + 1] = CSlider;
780
781-- local Percent = (v.Value / CSlider.Max) * 100;
782-- local Size = math.abs(Line.From.X - Line.To.X);
783-- local Value = Size * (Percent / 100); -- this shit's inaccurate but fuck it i'm not even gonna bother fixing it
784
785Slider.Position = BasePosition + Vector2.new(40, 20);
786
787v.BaseSize = BaseSize;
788v.BasePosition = BasePosition;
789AMT.Position = BasePosition + Vector2.new(BaseSize.X - AMT.TextBounds.X - 10, -10)
790end
791end)
792GetTableData(Options)(function(i, v) -- just to make sure certain things are drawn before or after others, too lazy to actually sort table
793if typeof(v.Value) == 'EnumItem' then
794CPos = CPos + 30;
795
796local BaseSize = Vector2.new(BaseSize.X, 30);
797local BasePosition = shared.MenuDrawingData.Instances.Filling.Position + Vector2.new(0, CPos - 10);
798
799UIButtons[#UIButtons + 1] = {
800Option = v;
801Instance = Menu:AddMenuInstace(Format('%s_Hitbox', v.Name), NewDrawing'Square'{
802Size = Vector2.new(BaseSize.X, 20) - Vector2.new(30, 0);
803Visible = true;
804Transparency= .5;
805Position = BasePosition + Vector2.new(15, -10);
806Color = Colors.Secondary.Light;
807Filled = true;
808});
809};
810local Text = Menu:AddMenuInstace(Format('%s_Text', v.Name), NewDrawing'Text'{
811Text = v.Text;
812Size = 20;
813Position = BasePosition + Vector2.new(20, -10);
814Visible = true;
815Color = Colors.Primary.Dark;
816});
817local BindText = Menu:AddMenuInstace(Format('%s_BindText', v.Name), NewDrawing'Text'{
818Text = tostring(v.Value):match'%w+%.%w+%.(.+)';
819Size = 20;
820Position = BasePosition;
821Visible = true;
822Color = Colors.Primary.Dark;
823});
824
825Options[i].BaseSize = BaseSize;
826Options[i].BasePosition = BasePosition;
827BindText.Position = BasePosition + Vector2.new(BaseSize.X - BindText.TextBounds.X - 20, -10);
828end
829end)
830GetTableData(Options)(function(i, v) -- just to make sure certain things are drawn before or after others, too lazy to actually sort table
831if typeof(v.Value) == 'function' then
832local BaseSize = Vector2.new(BaseSize.X, 30);
833local BasePosition = shared.MenuDrawingData.Instances.Filling.Position + Vector2.new(0, CPos + (25 * v.AllArgs[4]) - 35);
834
835UIButtons[#UIButtons + 1] = {
836Option = v;
837Instance = Menu:AddMenuInstace(Format('%s_Hitbox', v.Name), NewDrawing'Square'{
838Size = Vector2.new(BaseSize.X, 20) - Vector2.new(30, 0);
839Visible = true;
840Transparency= .5;
841Position = BasePosition + Vector2.new(15, -10);
842Color = Colors.Secondary.Light;
843Filled = true;
844});
845};
846local Text = Menu:AddMenuInstace(Format('%s_Text', v.Name), NewDrawing'Text'{
847Text = v.Text;
848Size = 20;
849Position = BasePosition + Vector2.new(20, -10);
850Visible = true;
851Color = Colors.Primary.Dark;
852});
853
854-- BindText.Position = BasePosition + Vector2.new(BaseSize.X - BindText.TextBounds.X - 10, -10);
855end
856end)
857
858delay(.1, function()
859MenuLoaded = true;
860end);
861
862-- this has to be at the bottom cuz proto drawing api doesnt have zindex :triumph:
863Menu:AddMenuInstace('Cursor1', NewDrawing'Line'{
864Visible = false;
865Color = Color3.new(1, 0, 0);
866Transparency = 1;
867Thickness = 2;
868});
869Menu:AddMenuInstace('Cursor2', NewDrawing'Line'{
870Visible = false;
871Color = Color3.new(1, 0, 0);
872Transparency = 1;
873Thickness = 2;
874});
875Menu:AddMenuInstace('Cursor3', NewDrawing'Line'{
876Visible = false;
877Color = Color3.new(1, 0, 0);
878Transparency = 1;
879Thickness = 2;
880});
881end
882
883CreateMenu();
884
885shared.InputBeganCon = UserInputService.InputBegan:connect(function(input)
886if input.UserInputType.Name == 'MouseButton1' and Options.MenuOpen.Value then
887MouseHeld = true;
888local Bar = Menu:GetInstance'TopBar';
889local Values = {
890Bar.Position.X;
891Bar.Position.Y;
892Bar.Position.X + Bar.Size.X;
893Bar.Position.Y + Bar.Size.Y;
894}
895if MouseHoveringOver(Values) and not syn then -- disable dragging for synapse cuz idk why it breaks
896DraggingUI = true;
897DragOffset = Menu:GetInstance'Main'.Position - GetMouseLocation();
898else
899for i, v in pairs(Sliders) do
900local Values = {
901v.Line.From.X - (v.Slider.Radius);
902v.Line.From.Y - (v.Slider.Radius);
903v.Line.To.X + (v.Slider.Radius);
904v.Line.To.Y + (v.Slider.Radius);
905};
906if MouseHoveringOver(Values) then
907DraggingWhat = v;
908Dragging = true;
909break
910end
911end
912end
913end
914end)
915shared.InputEndedCon = UserInputService.InputEnded:connect(function(input)
916if input.UserInputType.Name == 'MouseButton1' and Options.MenuOpen.Value then
917MouseHeld = false;
918for i, v in pairs(UIButtons) do
919local Values = {
920v.Instance.Position.X;
921v.Instance.Position.Y;
922v.Instance.Position.X + v.Instance.Size.X;
923v.Instance.Position.Y + v.Instance.Size.Y;
924};
925if MouseHoveringOver(Values) then
926v.Option();
927break -- prevent clicking 2 options
928end
929end
930elseif input.UserInputType.Name == 'Keyboard' then
931if Binding then
932BindedKey = input.KeyCode;
933Binding = false;
934elseif input.KeyCode == Options.MenuKey.Value or (input.KeyCode == Enum.KeyCode.Home and UserInputService:IsKeyDown(Enum.KeyCode.LeftControl)) then
935Options.MenuOpen();
936end
937end
938end)
939
940function ToggleMenu()
941if Options.MenuOpen.Value then
942GetTableData(shared.MenuDrawingData.Instances)(function(i, v)
943if OldData[v] then
944pcall(Set, v, 'Visible', true);
945end
946end)
947else
948-- GUIService:SetMenuIsOpen(false);
949GetTableData(shared.MenuDrawingData.Instances)(function(i, v)
950if v.Visible == true then
951OldData[v] = true;
952pcall(Set, v, 'Visible', false);
953end
954end)
955end
956end
957
958function CheckRay(Player, Distance, Position, Unit)
959local Pass = true;
960
961if Distance > 999 then return false; end
962
963local _Ray = Ray.new(Position, Unit * Distance);
964
965local List = {LocalPlayer.Character, Camera, Mouse.TargetFilter};
966
967for i,v in pairs(IgnoreList) do table.insert(List, v); end;
968
969local Hit = workspace:FindPartOnRayWithIgnoreList(_Ray, List);
970if Hit and not Hit:IsDescendantOf(Player.Character) then
971Pass = false;
972if Hit.Transparency >= .3 or not Hit.CanCollide and Hit.ClassName ~= Terrain then -- Detect invisible walls
973IgnoreList[#IgnoreList + 1] = Hit;
974end
975end
976
977return Pass;
978end
979
980function CheckPlayer(Player)
981if not Options.Enabled.Value then return false end
982
983local Pass = true;
984local Distance = 0;
985
986if Player ~= LocalPlayer and Player.Character then
987if not Options.ShowTeam.Value and Player.TeamColor == LocalPlayer.TeamColor then
988Pass = false;
989end
990
991local Head = Player.Character:FindFirstChild'Head';
992
993if Pass and Player.Character and Head then
994Distance = (Camera.CFrame.p - Head.Position).magnitude;
995if Options.VisCheck.Value then
996Pass = CheckRay(Player, Distance, Camera.CFrame.p, (Head.Position - Camera.CFrame.p).unit);
997end
998if Distance > Options.MaxDistance.Value then
999Pass = false;
1000end
1001end
1002else
1003Pass = false;
1004end
1005
1006return Pass, Distance;
1007end
1008
1009function UpdatePlayerData()
1010if (tick() - LastRefresh) > (Options.RefreshRate.Value / 1000) then
1011LastRefresh = tick();
1012for i, v in pairs(Players:GetPlayers()) do
1013local Data = shared.PlayerData[v.Name] or { Instances = {} };
1014
1015Data.Instances['Box'] = Data.Instances['Box'] or LineBox:Create{Thickness = 3};
1016Data.Instances['Tracer'] = Data.Instances['Tracer'] or NewDrawing'Line'{
1017Transparency = 1;
1018Thickness = 2;
1019}
1020Data.Instances['HeadDot'] = Data.Instances['HeadDot'] or NewDrawing'Circle'{
1021Filled = true;
1022NumSides = 30;
1023}
1024Data.Instances['NameTag'] = Data.Instances['NameTag'] or NewDrawing'Text'{
1025Size = Options.TextSize.Value;
1026Center = true;
1027Outline = Options.TextOutline.Value;
1028Visible = true;
1029};
1030Data.Instances['DistanceHealthTag'] = Data.Instances['DistanceHealthTag'] or NewDrawing'Text'{
1031Size = Options.TextSize.Value - 1;
1032Center = true;
1033Outline = Options.TextOutline.Value;
1034Visible = true;
1035};
1036
1037local NameTag = Data.Instances['NameTag'];
1038local DistanceTag = Data.Instances['DistanceHealthTag'];
1039local Tracer = Data.Instances['Tracer'];
1040local HeadDot = Data.Instances['HeadDot'];
1041local Box = Data.Instances['Box'];
1042
1043local Pass, Distance = CheckPlayer(v);
1044
1045if Pass and v.Character then
1046Data.LastUpdate = tick();
1047local Humanoid = v.Character:FindFirstChildOfClass'Humanoid';
1048local Head = v.Character:FindFirstChild'Head';
1049local HumanoidRootPart = v.Character:FindFirstChild'HumanoidRootPart';
1050if v.Character ~= nil and Head then
1051local ScreenPosition, Vis = Camera:WorldToViewportPoint(Head.Position);
1052if Vis then
1053local Color = v.TeamColor == LocalPlayer.TeamColor and Green or Red;
1054
1055local ScreenPositionUpper = Camera:WorldToViewportPoint(Head.CFrame * CFrame.new(0, Head.Size.Y, 0).p);
1056local Scale = Head.Size.Y / 2;
1057
1058if Options.ShowName.Value then
1059NameTag.Visible = true;
1060NameTag.Text = v.Name;
1061NameTag.Size = Options.TextSize.Value;
1062NameTag.Outline = Options.TextOutline.Value;
1063NameTag.Position = Vector2.new(ScreenPositionUpper.X, ScreenPositionUpper.Y);
1064NameTag.Color = Color;
1065if Drawing.Fonts then -- CURRENTLY SYNAPSE ONLY :MEGAHOLY:
1066NameTag.Font = Drawing.Fonts.UI;
1067end
1068else
1069NameTag.Visible = false;
1070end
1071if Options.ShowDistance.Value or Options.ShowHealth.Value then
1072DistanceTag.Visible = true;
1073DistanceTag.Size = Options.TextSize.Value - 1;
1074DistanceTag.Outline = Options.TextOutline.Value;
1075DistanceTag.Color = Color3.new(1, 1, 1);
1076if Drawing.Fonts then -- CURRENTLY SYNAPSE ONLY :MEGAHOLY:
1077NameTag.Font = Drawing.Fonts.UI;
1078end
1079
1080local Str = '';
1081
1082if Options.ShowDistance.Value then
1083Str = Str .. Format('[%d] ', Distance);
1084end
1085if Options.ShowHealth.Value and Humanoid then
1086Str = Str .. Format('[%d/100]', Humanoid.Health / Humanoid.MaxHealth * 100);
1087end
1088
1089DistanceTag.Text = Str;
1090DistanceTag.Position = Vector2.new(ScreenPositionUpper.X, ScreenPositionUpper.Y) + Vector2.new(0, NameTag.Size);
1091else
1092DistanceTag.Visible = false;
1093end
1094if Options.ShowDot.Value then
1095local Top = Camera:WorldToViewportPoint((Head.CFrame * CFrame.new(0, Scale, 0)).p);
1096local Bottom = Camera:WorldToViewportPoint((Head.CFrame * CFrame.new(0, -Scale, 0)).p);
1097local Radius = (Top - Bottom).y;
1098
1099HeadDot.Visible = true;
1100HeadDot.Color = Color;
1101HeadDot.Position = Vector2.new(ScreenPosition.X, ScreenPosition.Y);
1102HeadDot.Radius = Radius;
1103else
1104HeadDot.Visible = false;
1105end
1106if Options.ShowTracers.Value then
1107Tracer.Visible = true;
1108Tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y);
1109Tracer.To = Vector2.new(ScreenPosition.X, ScreenPosition.Y);
1110Tracer.Color = Color;
1111else
1112Tracer.Visible = false;
1113end
1114if Options.ShowBoxes.Value and HumanoidRootPart then
1115Box:Update(HumanoidRootPart.CFrame, Vector3.new(2, 3, 0) * (Scale * 2), Color);
1116else
1117Box:SetVisible(false);
1118end
1119else
1120NameTag.Visible = false;
1121DistanceTag.Visible = false;
1122Tracer.Visible = false;
1123HeadDot.Visible = false;
1124
1125Box:SetVisible(false);
1126end
1127end
1128else
1129NameTag.Visible = false;
1130DistanceTag.Visible = false;
1131Tracer.Visible = false;
1132HeadDot.Visible = false;
1133
1134Box:SetVisible(false);
1135end
1136
1137shared.PlayerData[v.Name] = Data;
1138end
1139end
1140end
1141
1142function Update()
1143for i, v in pairs(shared.PlayerData) do
1144if not Players:FindFirstChild(tostring(i)) then
1145GetTableData(v.Instances)(function(i, obj)
1146obj.Visible = false;
1147obj:Remove();
1148v.Instances[i] = nil;
1149end)
1150shared.PlayerData[i] = nil;
1151end
1152end
1153
1154local CX = Menu:GetInstance'CrosshairX';
1155local CY = Menu:GetInstance'CrosshairY';
1156if Options.Crosshair.Value then
1157CX.Visible = true;
1158CY.Visible = true;
1159
1160CX.To = Vector2.new((Camera.ViewportSize.X / 2) - 8, (Camera.ViewportSize.Y / 2));
1161CX.From = Vector2.new((Camera.ViewportSize.X / 2) + 8, (Camera.ViewportSize.Y / 2));
1162CY.To = Vector2.new((Camera.ViewportSize.X / 2), (Camera.ViewportSize.Y / 2) - 8);
1163CY.From = Vector2.new((Camera.ViewportSize.X / 2), (Camera.ViewportSize.Y / 2) + 8);
1164else
1165CX.Visible = false;
1166CY.Visible = false;
1167end
1168
1169if Options.MenuOpen.Value and MenuLoaded then
1170local MLocation = GetMouseLocation();
1171shared.MenuDrawingData.Instances.Main.Color = Color3.fromHSV(tick() * 24 % 255/255, 1, 1);
1172local MainInstance = Menu:GetInstance'Main';
1173local Values = {
1174MainInstance.Position.X;
1175MainInstance.Position.Y;
1176MainInstance.Position.X + MainInstance.Size.X;
1177MainInstance.Position.Y + MainInstance.Size.Y;
1178};
1179if MainInstance and MouseHoveringOver(Values) then
1180Debounce.CursorVis = true;
1181-- GUIService:SetMenuIsOpen(true);
1182Menu:UpdateMenuInstance'Cursor1'{
1183Visible = true;
1184From = Vector2.new(MLocation.x, MLocation.y);
1185To = Vector2.new(MLocation.x + 5, MLocation.y + 6);
1186}
1187Menu:UpdateMenuInstance'Cursor2'{
1188Visible = true;
1189From = Vector2.new(MLocation.x, MLocation.y);
1190To = Vector2.new(MLocation.x, MLocation.y + 8);
1191}
1192Menu:UpdateMenuInstance'Cursor3'{
1193Visible = true;
1194From = Vector2.new(MLocation.x, MLocation.y + 6);
1195To = Vector2.new(MLocation.x + 5, MLocation.y + 5);
1196}
1197else
1198if Debounce.CursorVis then
1199Debounce.CursorVis = false;
1200-- GUIService:SetMenuIsOpen(false);
1201Menu:UpdateMenuInstance'Cursor1'{Visible = false};
1202Menu:UpdateMenuInstance'Cursor2'{Visible = false};
1203Menu:UpdateMenuInstance'Cursor3'{Visible = false};
1204end
1205end
1206if MouseHeld then
1207if Dragging then
1208DraggingWhat.Slider.Position = Vector2.new(math.clamp(MLocation.X, DraggingWhat.Line.From.X, DraggingWhat.Line.To.X), DraggingWhat.Slider.Position.Y);
1209local Percent = (DraggingWhat.Slider.Position.X - DraggingWhat.Line.From.X) / ((DraggingWhat.Line.To.X - DraggingWhat.Line.From.X));
1210local Value = CalculateValue(DraggingWhat.Min, DraggingWhat.Max, Percent);
1211DraggingWhat.Option(Value);
1212elseif DraggingUI then
1213Debounce.UIDrag = true;
1214local Main = Menu:GetInstance'Main';
1215local MousePos = GetMouseLocation();
1216Main.Position = MousePos + DragOffset;
1217end
1218else
1219Dragging = false;
1220if DraggingUI and Debounce.UIDrag then
1221Debounce.UIDrag = false;
1222DraggingUI = false;
1223CreateMenu(Menu:GetInstance'Main'.Position);
1224end
1225end
1226if not Debounce.Menu then
1227Debounce.Menu = true;
1228ToggleMenu();
1229end
1230elseif Debounce.Menu and not Options.MenuOpen.Value then
1231Debounce.Menu = false;
1232ToggleMenu();
1233end
1234end
1235
1236RunService:UnbindFromRenderStep(GetDataName);
1237RunService:UnbindFromRenderStep(UpdateName);
1238
1239RunService:BindToRenderStep(GetDataName, 1, UpdatePlayerData);
1240RunService:BindToRenderStep(UpdateName, 1, Update);
1241end)
1242ctrlclicktp.MouseButton1Down:connect(function()
1243loadstring(game:GetObjects("rbxassetid://509249639")[1].Source)()
1244end)
1245noclip.MouseButton1Down:connect(function()
1246nam = game:GetService("Players").LocalPlayer.Name
1247
1248game:GetService('RunService').Stepped:connect(function()
1249for a, b in pairs(game.Workspace:GetChildren()) do
1250if b.Name == nam then
1251for i, v in pairs(game.Workspace[nam]:GetChildren()) do
1252if v:IsA("BasePart") then
1253v.CanCollide = false
1254
1255end
1256end
1257end
1258end
1259end)
1260
1261
1262Workspace[nam].Head.Changed:connect(function()
1263for a, b in pairs(game.Workspace:GetChildren()) do
1264if b.Name == nam then
1265for i, v in pairs(game.Workspace[nam]:GetChildren()) do
1266if v:IsA("BasePart") then
1267v.CanCollide = false
1268
1269end
1270end
1271end
1272end
1273end)
1274end)
1275
1276AimLock.Name = "Aim Lock"
1277AimLock.Parent = Main
1278AimLock.BackgroundColor3 = Color3.new(1, 1, 1)
1279AimLock.BackgroundTransparency = 1
1280AimLock.Position = UDim2.new(0.166666672, 0, 0.714285731, 0)
1281AimLock.Size = UDim2.new(0, 116, 0, 27)
1282AimLock.Font = Enum.Font.SourceSans
1283AimLock.Text = "Aimlock"
1284AimLock.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
1285AimLock.TextSize = 14
1286aimlock.MouseButton1Down:connect(function()
1287--made by Avexus#1234 discord from MrStuperd btw and DO NOT PRESS DELETE ;) GUI aimbot_toggled
1288
1289local UIS = game:GetService('UserInputService')
1290local RS = game:GetService('RunService')
1291local Players = game:GetService('Players')
1292local StarterGui = game:GetService('StarterGui')
1293local Player = Players.LocalPlayer
1294local Studio = RS:IsStudio()
1295local PlayerGui = RS:IsStudio() and Player:WaitForChild('PlayerGui') or game.CoreGui
1296local Mouse = Player:GetMouse()
1297local old_icon = Mouse.Icon
1298local Camera = workspace.CurrentCamera
1299targetpart = 'Head' -- Don't change this.
1300-- It can be changed with the targetpart_change hotkey ingame.
1301local target
1302local target_old
1303local alert = false
1304local lockedon = false
1305local settingkey = false
1306local upvals = nil
1307local val = 1
1308local windows = {}
1309local function hb() RS.Heartbeat:wait() end
1310
1311local version = 1.25
1312local Spawn = nil or game.PlaceId == 292439477 and workspace:WaitForChild('Lobby',2):WaitForChild('Spawn1',2)
1313local spawned = false
1314
1315script.Name = 'GameSense!'
1316Mouse.TargetFilter = Camera
1317
1318-- hotkey
1319toggle_aim = Enum.UserInputType.MouseButton2
1320toggle_aimbot = Enum.KeyCode.Delete
1321toggle_trigger = Enum.KeyCode.Delete
1322toggle_esp = Enum.KeyCode.Delete
1323toggle_gui = Enum.KeyCode.Delete
1324toggle_bottompos = Enum.KeyCode.Delete
1325toggle_performance = Enum.KeyCode.Delete
1326toggle_bones = Enum.KeyCode.Delete
1327toggle_chams = Enum.KeyCode.Delete
1328toggle_tracers = Enum.KeyCode.Delete
1329toggle_boxes = Enum.KeyCode.Delete
1330toggle_font = Enum.KeyCode.Delete
1331ffatoggle = Enum.KeyCode.Delete
1332targetpart_change = Enum.KeyCode.Delete
1333priority_toggle = Enum.KeyCode.Delete
1334sethotkey = Enum.KeyCode.Delete
1335-- aim fov
1336fov_increase = Enum.KeyCode.KeypadPlus
1337fov_decrease = Enum.KeyCode.KeypadMinus
1338-- aim sens (how smooth your crosshair will move)
1339sens_increase = Enum.KeyCode.RightBracket
1340sens_decrease = Enum.KeyCode.LeftBracket
1341
1342-- parts
1343parts = {
1344 'Head';
1345 'Torso'
1346}
1347
1348fonts = {
1349 Enum.Font.SourceSansBold,
1350 Enum.Font.Cartoon,
1351 Enum.Font.Arcade,
1352 Enum.Font.SciFi,
1353 Enum.Font.Fantasy,
1354 Enum.Font.Code,
1355 Enum.Font.Highway,
1356 Enum.Font.Bodoni
1357}
1358
1359textSet = false
1360
1361currentfont = 1
1362ffa = true
1363hidden = false
1364performancemode = true
1365-- aim
1366fov = 6
1367sens = .25
1368drop = .4
1369aim_toggled = false
1370bottompos = true
1371aim_priority = 2
1372-- [2] FOV or [1] Distance
1373aimingcolor = Color3.fromRGB(0,165,255)
1374aimbot_toggled = true
1375aim_line = true
1376locksoundid = 538769304
1377mouseiconid = 18671553
1378
1379-- trigger
1380trigger_toggled = false
1381trigger_delay = 1/20
1382
1383-- esp
1384esp_toggled = false
1385esp_bones = false
1386esp_chams = false
1387esp_tracers = false
1388-- item_esp (coming soon)
1389linesize = 1
1390showdists = true
1391textsize = 14
1392textoffset = 20
1393visiblecolor = Color3.fromRGB(38,255,99)
1394hiddencolor = Color3.fromRGB(255,37,40)
1395headboxsize = 4
1396headboxaimsize = 6
1397headboxshape = 'diamond'
1398-- rectangle or diamond
1399
1400-- box esp
1401bounding_box = true
1402-- box_pointsize = 0 [UNUSED]
1403box_line_size = 1
1404-- box_line_size_visible = 2 [UNUSED]
1405
1406local GUI = Instance.new('ScreenGui',PlayerGui)
1407GUI.Name = 'GameSense '..version
1408GUI.ResetOnSpawn = false
1409
1410ESP = Instance.new('Folder',GUI)
1411ESP.Name = 'ESP'
1412local Bottom = Instance.new('Frame',ESP)
1413Bottom.Name = 'Bottom'
1414Bottom.BackgroundTransparency = 1
1415Bottom.Size = UDim2.new(0,1,0,1)
1416Bottom.Position = UDim2.new(.5,0,1,1)
1417
1418local Status = Instance.new('TextLabel',GUI)
1419Status.Name = 'Status'
1420Status.BackgroundTransparency = 1
1421Status.Size = UDim2.new(0,500,0,50)
1422Status.Position = UDim2.new(.5,-250,.85,0)
1423Status.TextSize = 0
1424Status.Font = Enum.Font.SourceSansBold
1425Status.TextColor3 = Color3.new(1,1,1)
1426Status.TextStrokeColor3 = Color3.new(0,0,0)
1427Status.TextStrokeTransparency = .6
1428Status.Text = 'On Standby'
1429Status.ZIndex = 50
1430
1431local Credits = Status:Clone()
1432Credits.Name = 'Credits'
1433Credits.Parent = GUI
1434Credits.Position = UDim2.new(-1000000,-1000000,-1000000,-1000000)
1435Credits.TextSize = 0
1436Credits.Text = 'GameSense '..version..' by Avexus!'
1437
1438local FovGui = Instance.new('ImageLabel',GUI)
1439FovGui.Name = 'FovGui'
1440FovGui.Image = 'rbxassetid://324848180'
1441FovGui.Size = UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2)
1442FovGui.Position = UDim2.new(0.5,-FovGui.AbsoluteSize.X/2,0.5,-FovGui.AbsoluteSize.Y/2)
1443FovGui.BackgroundTransparency = 1
1444FovGui.ImageTransparency = 0.9
1445FovGui.ImageColor3 = Color3.new(1,0,0)
1446
1447local Indicator = Instance.new('TextLabel',GUI)
1448Indicator.Name = 'Indicator'
1449Indicator.Font = Enum.Font.SourceSans
1450Indicator.TextSize = 0
1451Indicator.TextXAlignment = Enum.TextXAlignment.Center
1452Indicator.TextYAlignment = Enum.TextYAlignment.Center
1453Indicator.TextStrokeTransparency = 1
1454Indicator.Text = aim_priority>1 and 'FOV: '..fov or 'Distance'
1455
1456local SensAdjust = Instance.new('TextBox',GUI)
1457SensAdjust.Name = 'SensAdjust'
1458SensAdjust.Font = Enum.Font.SourceSans
1459SensAdjust.BackgroundTransparency = .75
1460SensAdjust.BackgroundColor3 = Color3.new(0,0,0)
1461SensAdjust.BorderColor3 = Color3.new(1,1,1)
1462SensAdjust.Size = UDim2.new(0,50,0,20)
1463SensAdjust.TextStrokeTransparency = 1
1464SensAdjust.TextColor3 = Color3.new(1,1,1)
1465SensAdjust.TextSize = 0
1466SensAdjust.PlaceholderText = 'Sens'
1467SensAdjust.Text = tonumber(sens)
1468SensAdjust.Position = Credits.Position + UDim2.new(0,250,0,75)
1469
1470local SensLabel = Instance.new('TextLabel',SensAdjust)
1471SensLabel.Name = 'SensLabel'
1472SensLabel.Font = Enum.Font.SourceSans
1473SensLabel.Size = UDim2.new(1,0,1,0)
1474SensLabel.BackgroundTransparency = 1
1475SensLabel.TextSize = 0
1476SensLabel.TextColor3 = Color3.new(1,1,1)
1477SensLabel.TextStrokeColor3 = Color3.new(0,0,0)
1478SensLabel.TextStrokeTransparency = 1
1479SensLabel.Text = 'Sens:'
1480SensLabel.Position = UDim2.new(-1,0,0,0)
1481SensLabel.TextXAlignment = Enum.TextXAlignment.Left
1482
1483local FovAdjust = SensAdjust:Clone()
1484FovAdjust.Parent = GUI
1485FovAdjust.PlaceholderText = 'FOV'
1486FovAdjust.Name = 'FovAdjust'
1487FovAdjust.Text = tonumber(fov)
1488FovAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,20)
1489FovAdjust.SensLabel.Name = 'FovLabel'
1490FovAdjust.FovLabel.Text = 'Fov:'
1491
1492local DropAdjust = SensAdjust:Clone()
1493DropAdjust.Parent = GUI
1494DropAdjust.PlaceholderText = 'Drop'
1495DropAdjust.Name = 'DropAdjust'
1496DropAdjust.Text = tonumber(drop)
1497DropAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,40)
1498DropAdjust.SensLabel.Name = 'DropLabel'
1499DropAdjust.DropLabel.Text = 'Drop:'
1500
1501local KeysList = Instance.new('TextLabel',GUI)
1502KeysList.Name = 'KeysList'
1503KeysList.Font = Enum.Font.SourceSans
1504KeysList.TextStrokeTransparency = .6
1505KeysList.TextSize = 0
1506KeysList.TextColor3 = Color3.new(1,1,1)
1507KeysList.Size = UDim2.new(0,0,1,0)
1508KeysList.Position = UDim2.new(0,5,0,-280)
1509KeysList.BackgroundTransparency = 1
1510KeysList.Active = false
1511
1512local n = 0
1513
1514spawn(function()
1515 while Status do
1516 Indicator.TextColor3 = Color3.fromHSV(n,.5,1)
1517 FovGui.ImageColor3 = Indicator.TextColor3
1518 if not textSet then
1519 if aim_toggled and target then
1520 Status.TextColor3 = aimingcolor
1521 Status.Text = ('Aiming at '..target.Name)
1522 else
1523 Status.TextColor3 = Color3.fromHSV(n,.5,1)
1524 Status.Text = 'On Standby'
1525 end
1526 end
1527 n = (n+.005)%1
1528 hb()
1529 end
1530end)
1531
1532SensAdjust.InputEnded:Connect(function() if SensAdjust.Text~='' then sens = tonumber(SensAdjust.Text)>0 and tonumber(SensAdjust.Text) or sens end end)
1533FovAdjust.InputEnded:Connect(function() if FovAdjust.Text~='' then fov = tonumber(FovAdjust.Text)>0 and tonumber(FovAdjust.Text) or fov
1534FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) end end)
1535DropAdjust.InputEnded:Connect(function() if DropAdjust.Text~='' then drop = tonumber(DropAdjust.Text)>=0 and tonumber(DropAdjust.Text) or drop end end)
1536
1537local function distfromspawn(x)
1538 if Spawn then
1539 return x:DistanceFromCharacter(Spawn.Position)
1540 else
1541 return 201
1542 end
1543end
1544
1545local function setText(text)
1546 spawn(function()
1547 textSet = true
1548 Status.Text = text
1549 Status.TextColor3 = Color3.new(1,1,1)
1550 wait(#text/4)
1551 textSet = false
1552 end)
1553end
1554
1555local function playsound(id)
1556 local sound = Instance.new('Sound',Camera)
1557 sound.Volume = 3
1558 sound:Play()
1559 game:GetService('Debris'):AddItem(sound,5)
1560end
1561
1562
1563local function DrawLine(Folder,P1,P2,Thickness,Color,LineTransparency,BorderThickness,BorderColor)
1564 -- Declare variables
1565 local Point1,Point2 = P1.Position,P2.Position
1566 if Point1 and Point2 then
1567 local X,Y = Camera.ViewportSize.X, Camera.ViewportSize.Y
1568 local X1,X2 = (X * Point1.X.Scale + Point1.X.Offset + P1.Size.X.Offset/2), (X * Point2.X.Scale + Point2.X.Offset + P2.Size.X.Offset/2)
1569 local Y1,Y2 = (Y * Point1.Y.Scale + Point1.Y.Offset + P1.Size.Y.Offset/2), (Y * Point2.Y.Scale + Point2.Y.Offset + P2.Size.Y.Offset/2)
1570 local MidX,MidY = (X1+X2)/2, (Y1+Y2)/2
1571 -- Set defaults to prevent errors
1572 Thickness = Thickness or 1
1573 Color = Color or Color3.new(1,1,1)
1574 LineTransparency = LineTransparency or 0
1575 BorderThickness = BorderThickness or 0
1576 BorderColor = BorderColor or Color3.new(0,0,0)
1577 -- Draw the line
1578 local Line = Folder:FindFirstChild(P1.Name..'-'..P2.Name) or Instance.new('Frame',Folder)
1579 Line.Visible = false
1580 Line.BackgroundTransparency = LineTransparency
1581 Line.BorderSizePixel = BorderThickness
1582 Line.BorderColor3 = BorderColor
1583 Line.Size = UDim2.new(0,(Vector2.new(X1,Y1) - Vector2.new(X2,Y2)).magnitude-1,0,Thickness)
1584 Line.Position = UDim2.new(0,MidX-Line.AbsoluteSize.X/2,0,MidY-Line.AbsoluteSize.Y)
1585 Line.BackgroundColor3 = Color
1586 Line.Rotation = math.deg(math.atan2((Y2-Y1),(X2-X1)))
1587 Line.Name = P1.Name..'-'..P2.Name
1588 Line.Visible = true
1589 return Line
1590 else
1591 return nil
1592 end
1593end
1594
1595local function GetNearest(Mode)
1596 local lowest,nearest,gui = math.huge,nil,nil
1597 if Mode==1 then
1598 for _,plr in next,Players:GetPlayers() do
1599 if plr.Name~=Player.Name and plr.Character~=nil and plr.Character:FindFirstChild(targetpart) then
1600 local dist = Player:DistanceFromCharacter(plr.Character[targetpart].Position)
1601 local ray = Ray.new(Player.Character.Head.Position,(plr.Character[targetpart].Position-Player.Character.Head.Position).unit*5000)
1602 local part,point = workspace:FindPartOnRayWithIgnoreList(ray,{Camera,Player.Character,unpack(windows)})
1603 local Z = Camera:WorldToScreenPoint(plr.Character[targetpart].Position).Z
1604 if part and part:IsDescendantOf(plr.Character) and Z>0 and dist < lowest and (ffa or plr.TeamColor~=Player.TeamColor) then lowest = dist nearest = plr.Character end
1605 end
1606 end
1607 elseif Mode==2 then
1608 for _,plr in next,Players:GetPlayers() do
1609 if plr.Name~=Player.Name and plr.Character~=nil and plr.Character:FindFirstChild(targetpart) then
1610 local pos = Camera:WorldToScreenPoint(plr.Character[targetpart].Position)
1611 local ray = Ray.new(Player.Character[targetpart].Position,(plr.Character[targetpart].Position-Player.Character[targetpart].Position).unit*2048)
1612 local part,point = workspace:FindPartOnRayWithIgnoreList(ray,{Camera,Player.Character,unpack(windows)})
1613 local dist = (Vector2.new(Mouse.X,Mouse.Y)-Vector2.new(pos.X,pos.Y)).magnitude
1614 if part and part:IsDescendantOf(plr.Character) and pos.Z>0 and dist <= Camera.ViewportSize.X/(90/fov) and dist < lowest and (ffa or plr.TeamColor~=Player.TeamColor) then lowest = dist nearest = plr.Character end
1615 end
1616 end
1617 end
1618 return nearest
1619end
1620
1621Mouse.Move:Connect(function()
1622 cursor = ESP:FindFirstChild('Cursor') or Instance.new('Frame',ESP)
1623 cursor.Name = 'Cursor'
1624 cursor.BackgroundTransparency = 1
1625 cursor.Size = UDim2.new(0,1,0,1)
1626 cursor.Position = UDim2.new(0,Mouse.X,0,Mouse.Y)
1627end)
1628
1629UIS.InputBegan:Connect(function(Input)
1630 if Input.KeyCode == toggle_aim or Input.UserInputType == toggle_aim then
1631 aim_toggled = true
1632 warn('GS: aim toggled',aim_toggled and 'on' or 'off')
1633 alert = true
1634 while aim_toggled and aimbot_toggled do
1635 target = GetNearest(aim_priority)
1636 if target then
1637 local dist = Player:DistanceFromCharacter(target[targetpart].Position)
1638 local headpos = Camera:WorldToScreenPoint(target[targetpart].Position+Vector3.new(0,dist/(100/drop),0))
1639 local moveto = Vector2.new((headpos.X-Mouse.X)*sens,(headpos.Y-Mouse.Y)*sens)
1640 aimpos = GUI:FindFirstChild('AimPos') or Instance.new('Frame',GUI)
1641 if not GUI:FindFirstChild('AimPos') then
1642 aimpos.Name = 'AimPos'
1643 aimpos.BorderSizePixel = 1
1644 aimpos.BorderColor3 = Color3.new(0,0,0)
1645 aimpos.BackgroundTransparency = 0
1646 aimpos.BackgroundColor3 = Color3.new(1,1,1)
1647 aimpos.Rotation = 45
1648 aimpos.ZIndex = 4
1649 aimpos.Size = UDim2.new(0,3,0,3)
1650 end
1651 aimpos.Position = UDim2.new(0,headpos.X-aimpos.AbsoluteSize.X/2,0,headpos.Y-aimpos.AbsoluteSize.Y/2)
1652 aimpos.Visible = true
1653 mousemoverel(moveto.X,moveto.Y)
1654 if alert or target~=target_old then
1655 playsound(locksoundid)
1656 print('GS: locked onto',target.Name)
1657 lockedon = true
1658 alert = false
1659 end
1660 end
1661 RS.Heartbeat:wait()
1662 target_old = target
1663 if aimpos then
1664 aimpos.Visible = false
1665 end
1666 end
1667 lockedon = false
1668 elseif Input.KeyCode == toggle_trigger then
1669 trigger_toggled = not trigger_toggled
1670 setText('Toggled TriggerBot '..(trigger_toggled and 'On' or 'Off'))
1671 Notification({Title='TriggerBot';Text='TriggerBot was toggled '..(trigger_toggled and 'On' or 'Off');Duration=2;})
1672 warn('trigger toggled',trigger_toggled and 'on' or 'off')
1673 local Box = Instance.new('SelectionBox',PlayerGui)
1674 Box.Color3 = Color3.new(1,0,0)
1675 Box.LineThickness = .05
1676 Box.Adornee = nil
1677 if trigger_delay>0 then wait(trigger_delay) end
1678 while trigger_toggled do
1679 local Target = Mouse.Target
1680 local plr = Players:FindFirstChild(Target.Parent.Name)
1681 if Target and Target.Parent and plr~=nil and plr~=Player and ffa or plr~=nil and plr.TeamColor~=Player.TeamColor then
1682 Box.Adornee = Mouse.Target
1683 mouse1press()
1684 wait()
1685 mouse1release()
1686 end
1687 RS.Heartbeat:wait()
1688 end
1689 Box:Destroy()
1690 elseif Input.KeyCode == toggle_esp then
1691 esp_toggled = not esp_toggled
1692 Notification({Title='ESP';Text='ESP was toggled '..(esp_toggled and 'On' or 'Off');Duration=2;})
1693 setText('Toggled ESP '..(esp_toggled and 'On' or 'Off'))
1694 elseif Input.KeyCode == toggle_aimbot then
1695 aimbot_toggled = not aimbot_toggled
1696 Notification({Title='AimBot';Text='AimBot was toggled '..(aimbot_toggled and 'On' or 'Off');Duration=2;})
1697 setText('Toggled AimBot '..(aimbot_toggled and 'On' or 'Off'))
1698 elseif Input.KeyCode == fov_increase then
1699 fov = fov + .5
1700 FovAdjust.Text = tonumber(fov)
1701 if FovGui.Visible then
1702 FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
1703 end
1704 setText('Aim FOV: '..fov)
1705 elseif Input.KeyCode == fov_decrease and fov>0 then
1706 fov = fov - .5
1707 FovAdjust.Text = tonumber(fov)
1708 if FovGui.Visible then
1709 FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
1710 end
1711 setText('Aim FOV: '..fov)
1712 elseif Input.KeyCode == sens_increase then
1713 sens = sens + .05
1714 SensAdjust.Text = tonumber(sens)
1715 setText('Sens: '..sens)
1716 elseif Input.KeyCode == sens_decrease then
1717 sens = sens - .05
1718 SensAdjust.Text = tonumber(sens)
1719 setText('Sens: '..sens)
1720 elseif Input.KeyCode == targetpart_change then
1721 val = val+1
1722 targetpart = val<=#parts and parts[val] or parts[1]
1723 if parts[1]==targetpart then val = 1 end
1724 Notification({Title='Target Part';Text='Target part set to '..targetpart;Duration=2;})
1725 setText('Target Part: '..targetpart)
1726 elseif Input.KeyCode == ffatoggle then
1727 ffa = not ffa
1728 Notification({Title='FFA Mode';Text='FFA Mode is '..(ffa and 'Enabled' or 'Disabled');Duration=2;})
1729 setText('FFA Mode: '..(ffa and 'Enabled' or 'Disabled'))
1730 elseif Input.KeyCode == priority_toggle then
1731 aim_priority = aim_priority+1>2 and 0 or 1
1732 aim_priority = aim_priority+1
1733 FovGui.Visible = aim_priority>1
1734 setText('Aim Priority: '..(aim_priority==1 and 'Distance' or 'FOV'))
1735 elseif Input.KeyCode == toggle_bones then
1736 esp_bones = not esp_bones
1737 if not esp_bones then
1738 for _,v in next,ESP:GetDescendants() do
1739 if v:IsA('Frame') and v.Name:match('-') then
1740 v:Destroy()
1741 end
1742 end
1743 end
1744 setText('Toggled ESP Bones '..(esp_bones and 'Enabled' or 'Disabled'))
1745 elseif Input.KeyCode == toggle_gui then
1746 hidden = not hidden
1747 for _,gui in next,GUI:GetDescendants() do
1748 if gui:IsA('GuiObject') and not hidden and not gui.Visible then
1749 gui.Visible = true
1750 Mouse.Icon = 'rbxassetid://'..mouseiconid
1751 elseif gui:IsA('GuiObject') and gui.Visible then
1752 gui.Visible = false
1753 esp_toggled = false
1754 Mouse.Icon = old_icon
1755 end
1756 end
1757 elseif Input.KeyCode == toggle_bottompos then
1758 bottompos = not bottompos
1759 if bottompos then
1760 Bottom.Position = UDim2.new(.5,0,1,1)
1761 end
1762 elseif Input.KeyCode == toggle_performance then
1763 performancemode = not performancemode
1764 setText('Performance Mode '..(performancemode and 'Enabled' or 'Disabled'))
1765 elseif Input.KeyCode == toggle_chams then
1766 esp_chams = not esp_chams
1767 setText('Chams '..(esp_chams and 'Enabled' or 'Disabled'))
1768 elseif Input.KeyCode == toggle_tracers then
1769 esp_tracers = not esp_tracers
1770 setText('Tracers '..(esp_chams and 'Enabled' or 'Disabled'))
1771 elseif Input.KeyCode == toggle_boxes then
1772 bounding_box = not bounding_box
1773 setText('Bounding Boxes '..(bounding_box and 'Enabled' or 'Disabled'))
1774 elseif Input.KeyCode == toggle_font then
1775 currentfont = (currentfont+1)>#fonts and 1 or currentfont+1
1776 for _,v in next,GUI:GetDescendants() do
1777 if v.Name~='KeysList' then
1778 if v:IsA('TextLabel') or v:IsA('TextButton') then
1779 v.Font = fonts[currentfont]
1780 end
1781 end
1782 end
1783 end
1784end)
1785
1786UIS.InputEnded:Connect(function(Input)
1787 if Input.KeyCode == toggle_aim or Input.UserInputType == toggle_aim then
1788 aim_toggled = false
1789 end
1790end)
1791
1792local function checkifspawned(x)
1793 spawned = false
1794 while not spawned and game.PlaceId==292439477 do
1795 spawned = distfromspawn(x)>200 and true or false
1796 wait(1/5)
1797 end
1798 spawned = true
1799end
1800
1801checkifspawned(Player)
1802Player.CharacterAdded:Connect(function(c)
1803 checkifspawned(Player)
1804
1805 for _,v in next,ESP:GetDescendants() do
1806 if v:IsA('Frame') and v.Name:match('-') then
1807 v:Destroy()
1808 end
1809 end
1810end)
1811
1812Notification({Title='Aimbot '..version;Text='Loaded successfully.';Icon='rbxassetid://2572157833';Duration=10;})
1813wait(.5)
1814
1815RS.RenderStepped:Connect(function()
1816 if cursor then
1817 FovGui.Position = cursor.Position-UDim2.new(0,FovGui.AbsoluteSize.X/2,0,FovGui.AbsoluteSize.Y/2)
1818 Indicator.Position = cursor.Position+UDim2.new(0,0,0,40)
1819 end
1820end)
1821
1822Mouse.Button1Down:Connect(function()
1823 spawn(function()
1824 if FovGui.Visible then
1825 FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2.35,0,Camera.ViewportSize.X/(90/fov)*2.35),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
1826 wait(.1)
1827 FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2,0,Camera.ViewportSize.X/(90/fov)*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
1828 end
1829 end)
1830end)
1831
1832while true do
1833 Indicator.Text = (aim_priority>1 and 'FOV: '..fov or 'Distance') ..'\nSens: '..sens..(aim_toggled and '\nAiming' or '')
1834 if not bottompos then Bottom.Position = cursor.Position end
1835 if esp_toggled then
1836 for _,v in next,ESP:children() do
1837 if v~=Bottom and not Players:FindFirstChild(v.Name) then
1838 v:Destroy()
1839 end
1840 end
1841 for _,v in next,Players:GetPlayers() do
1842 local Char = v.Character
1843 if Char and spawned and v~=Player and Char:FindFirstChild(targetpart) and distfromspawn(v)>100 then
1844 if ffa or v.TeamColor~=Player.TeamColor then
1845 local X = Camera:GetPartsObscuringTarget({Camera.CFrame.p,Char[targetpart].CFrame.p},{v.Character,Char,Camera,unpack(windows)})
1846 local Dist = Player:DistanceFromCharacter(Char:FindFirstChild(targetpart).Position)
1847 local Color = hiddencolor
1848 local Folder = ESP:FindFirstChild(v.Name) or Instance.new('Folder',ESP)
1849 Folder.Name = v.Name
1850 -- ESP
1851 local Head = Folder:FindFirstChild('Head') or Instance.new('Frame',Folder)
1852 if not Folder:FindFirstChild('Head') then
1853 Head.Name = 'Head'
1854 Head.BorderSizePixel = 1
1855 Head.BorderColor3 = Color3.new(0,0,0)
1856 Head.BackgroundTransparency = 0
1857 end
1858 Head.BackgroundColor3 = #X>0 and hiddencolor or #X==0 and visiblecolor
1859 Head.Rotation = headboxshape=='diamond' and 45 or 0
1860 Head.ZIndex = 3
1861 local HP = Folder:FindFirstChild('HP') or Instance.new('TextLabel',Folder)
1862 if not Folder:FindFirstChild('HP') then
1863 HP.Name = 'HP'
1864 HP.TextTransparency = Head.BackgroundTransparency-.4
1865 HP.Font = fonts[currentfont]
1866 HP.TextStrokeTransparency = .6
1867 HP.BackgroundTransparency = 1
1868 HP.TextSize = 14
1869 end
1870 HP.Text = showdists and Char.Name..'\n'..math.floor(Dist+.5) or Char.Name
1871 if aim_toggled and target==Char then
1872 Head.Size = UDim2.new(0,headboxaimsize,0,headboxaimsize)
1873 Head.BackgroundColor3 = aimingcolor
1874 HP.Text = showdists and '['..Char.Name..']'..'\n'..math.floor(Dist+.5) or '['..Char.Name..']'
1875 HP.TextSize = 16
1876 else
1877 Head.Size = UDim2.new(0,headboxsize,0,headboxsize)
1878 end
1879 HP.TextColor3 = Head.BackgroundColor3
1880 local toScreen = Camera:WorldToScreenPoint(Char[targetpart].CFrame.p)
1881 if #X==0 then Color = visiblecolor end
1882 Head.Position = UDim2.new(0,toScreen.X-Head.Size.X.Offset/2,0,toScreen.Y-Head.Size.Y.Offset/2)
1883 HP.Position = Head.Position-UDim2.new(0,0,0,textoffset)
1884 if esp_tracers then
1885 local Line = DrawLine(Folder,ESP.Bottom,Head,linesize,Head.BackgroundColor3,.75,1,Color3.new(0,0,0))
1886 Line.Visible = Head.Visible
1887 else
1888 local imtired = Folder:FindFirstChild(ESP.Bottom.Name..'-'..Head.Name)
1889 if imtired then
1890 imtired:Destroy()
1891 end
1892 end
1893 if toScreen.Z<=0 then Head.Visible = false else Head.Visible = true end
1894 HP.Visible = Head.Visible
1895 if Char:FindFirstChild('Humanoid') and Char.Humanoid.RigType==Enum.HumanoidRigType.R6 then
1896 local Neck = Folder:FindFirstChild('Neck') or Instance.new('Frame',Folder)
1897 Neck.Name = 'Neck'
1898 Neck.ZIndex = 2
1899 if Char['Torso']~=nil then
1900 local Pos = (Char.Torso.CFrame*CFrame.new(0,.8,0)).p
1901 local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
1902 Neck.Position = UDim2.new(0,X,0,Y)
1903 Neck.BorderSizePixel = 0
1904 if Z<=0 then Neck.Visible = false else Neck.Visible = true end
1905 else
1906 Neck.Visible = false
1907 end
1908 --
1909 local Pelvis = Folder:FindFirstChild('Pelvis') or Instance.new('Frame',Folder)
1910 Pelvis.Name = 'Pelvis'
1911 Pelvis.ZIndex = 2
1912 Pelvis.BorderSizePixel = 0
1913 if Char['Torso']~=nil then
1914 local Pos = (Char.Torso.CFrame*CFrame.new(0,-1,0)).p
1915 local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
1916 Pelvis.Position = UDim2.new(0,X,0,Y)
1917 if Z<=0 then Pelvis.Visible = false else Pelvis.Visible = true end
1918 else
1919 Pelvis.Visible = false
1920 end
1921 --
1922 local RightFoot = Folder:FindFirstChild('Right Foot') or Instance.new('Frame',Folder)
1923 RightFoot.Name = 'Right Foot'
1924 RightFoot.ZIndex = 2
1925 RightFoot.BorderSizePixel = 0
1926 if Char['Right Leg']~=nil then
1927 local Pos = (Char['Right Leg'].CFrame*CFrame.new(0,-1,0)).p
1928 local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
1929 RightFoot.Position = UDim2.new(0,X,0,Y)
1930 if Z<=0 then RightFoot.Visible = false else RightFoot.Visible = true end
1931 else
1932 RightFoot.Visible = false
1933 end
1934 --
1935 local LeftFoot = Folder:FindFirstChild('Left Foot') or Instance.new('Frame',Folder)
1936 LeftFoot.Name = 'Left Foot'
1937 if Char['Left Leg']~=nil then
1938 local Pos = (Char['Left Leg'].CFrame*CFrame.new(0,-1,0)).p
1939 local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
1940 LeftFoot.Position = UDim2.new(0,X,0,Y)
1941 LeftFoot.BorderSizePixel = 0
1942 if Z<=0 then LeftFoot.Visible = false else LeftFoot.Visible = true end
1943 else
1944 LeftFoot.Visible = false
1945 end
1946 --
1947 local RightHand = Folder:FindFirstChild('Right Hand') or Instance.new('Frame',Folder)
1948 RightHand.Name = 'Right Hand'
1949 RightHand.ZIndex = 2
1950 RightHand.BorderSizePixel = 0
1951 if Char['Right Arm']~=nil then
1952 local Pos = (Char['Right Arm'].CFrame*CFrame.new(0,-1,0)).p
1953 local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
1954 RightHand.Position = UDim2.new(0,X,0,Y)
1955 if Z<=0 then RightHand.Visible = false else RightHand.Visible = true end
1956 else
1957 RightHand.Visible = false
1958 end
1959 --
1960 local LeftHand = Folder:FindFirstChild('Left Hand') or Instance.new('Frame',Folder)
1961 LeftHand.Name = 'Left Hand'
1962 LeftHand.ZIndex = 2
1963 LeftHand.BorderSizePixel = 0
1964 if Char['Left Arm']~=nil then
1965 local Pos = (Char['Left Arm'].CFrame*CFrame.new(0,-1,0)).p
1966 local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
1967 LeftHand.Position = UDim2.new(0,X,0,Y)
1968 if Z<=0 then LeftHand.Visible = false else LeftHand.Visible = true end
1969 else
1970 LeftHand.Visible = false
1971 end
1972 -- draw joints
1973 if esp_bones then
1974 if Head.Visible then DrawLine(Folder,Head,Neck,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
1975 if Neck.Visible then DrawLine(Folder,Neck,Pelvis,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
1976 if Neck.Visible then DrawLine(Folder,Neck,RightHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
1977 if Neck.Visible then DrawLine(Folder,Neck,LeftHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
1978 if Pelvis.Visible then DrawLine(Folder,Pelvis,RightFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
1979 if Pelvis.Visible then DrawLine(Folder,Pelvis,LeftFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
1980 end
1981 end
1982
1983 if esp_chams then
1984 for _,Part in next,Char:children() do
1985 if Part:IsA('BasePart') and Part.Name~='HumanoidRootPart' then
1986 local Adornment = Folder:FindFirstChild(Part.Name..'_Cham') or Instance.new('BoxHandleAdornment',Folder)
1987 if not Folder:FindFirstChild(Part.Name..'_Cham') then
1988 Adornment.Name = Part.Name..'_Cham'
1989 Adornment.Adornee = Part
1990 Adornment.AlwaysOnTop = true
1991 Adornment.Size = Part.Name=='Head' and Vector3.new(1,1,1) or Part.Size
1992 Adornment.ZIndex = 1
1993 end
1994 Adornment.Color3 = Head.BackgroundColor3
1995 end
1996 end
1997 else
1998 for _,v in next,Folder:GetDescendants() do
1999 if v.Name:match('Cham') then
2000 v:Destroy()
2001 end
2002 end
2003 end
2004
2005 if bounding_box and Char:FindFirstChild('HumanoidRootPart') then
2006 local Box = Char:FindFirstChild('Box') or Instance.new('BillboardGui',Char)
2007 if not Char:FindFirstChild('Box') then
2008 Box.Name = 'Box'
2009 Box.Adornee = Char:FindFirstChild('HumanoidRootPart')
2010 Box.AlwaysOnTop = true
2011 Box.LightInfluence = 0
2012 Box.StudsOffset = Vector3.new(0,-Box.Adornee.Size.Y/4,0)
2013 Box.Size = UDim2.new(4,1,5,1)
2014 local Top = Instance.new('Frame',Box)
2015 Top.Size = UDim2.new(1,0,0,box_line_size)
2016 Top.BorderSizePixel = 0
2017 local Bot = Top:Clone()
2018 Bot.Position = UDim2.new(0,0,1,-box_line_size)
2019 Bot.Parent = Box
2020 local Left = Top:Clone()
2021 Left.Size = UDim2.new(0,1,1,0)
2022 Left.Parent = Box
2023 local Right = Left:Clone()
2024 Right.Position = UDim2.new(1,-box_line_size,0,0)
2025 Right.Parent = Box
2026 end
2027 for _,v in next,Box:children() do
2028 if v:IsA('Frame') then
2029 v.BackgroundColor3 = Head.BackgroundColor3
2030 end
2031 end
2032 else
2033 local Box = Char:FindFirstChild('Box')
2034 if Box then
2035 Box:Destroy()
2036 end
2037 end
2038
2039 if lockedon and target and aim_line and ESP:FindFirstChild(target.Name) then
2040 DrawLine(ESP,cursor,ESP:FindFirstChild(target.Name).Head,1,Head.BackgroundColor3,.5)
2041 end
2042
2043 else
2044 if ESP:FindFirstChild(v.Name) then
2045 ESP:FindFirstChild(v.Name):Destroy()
2046 end
2047 end
2048 else
2049 if ESP:FindFirstChild(v.Name) then
2050 ESP:FindFirstChild(v.Name):Destroy()
2051 end
2052 end
2053 end
2054 else
2055 for _,v in next,ESP:children() do
2056 if v:IsA('Folder') then
2057 v:Destroy()
2058 end
2059 end
2060 end
2061 if performancemode then
2062 wait(1/(workspace:GetRealPhysicsFPS()*.75))
2063 else
2064 RS.Stepped:wait()
2065 end
2066end
2067
2068--[[ broken
2069spawn(function()
2070while script and game.PlaceId == 292439477 and workspace:FindFirstChild('Map') do
2071 windows = {}
2072 for _,v in next,workspace.Map:GetChildren() do
2073 if v.Name=='Window' then
2074 table.insert(windows,v)
2075 end
2076 end
2077 wait(2)
2078end
2079end)
2080--]]
2081end)
2082removemap.MouseButton1Down:connect(function()
2083while wait() do
2084for a,z in pairs(game:GetService("Workspace")["BuildStuff"]:GetDescendants()) do
2085z:Destroy()
2086end
2087end
2088end)
2089local Players = game:GetService'Players';
2090local LocalPlayer = Players.LocalPlayer;
2091local Camera = workspace.CurrentCamera;
2092local Dot = Vector3.new().Dot;
2093local Networks = {};
2094
2095for i, v in pairs(debug.getregistry()) do
2096if typeof(v) == 'function' and islclosure(v) then
2097local ups = debug.getupvalues(v);
2098if ups.NWModule and ups.NWModule.FireServer then
2099Networks[#Networks + 1] = ups.NWModule;
2100end
2101end
2102end
2103
2104local Net = Networks[1];
2105
2106assert(#Networks ~= 0, 'No Network');
2107
2108function SameTeam(P1, P2)
2109if P1 == P2 then
2110return false
2111end
2112if P1.Neutral or P2.Neutral then
2113return false
2114elseif P1.TeamColor == P2.TeamColor then
2115return true
2116end
2117return false
2118end
2119
2120function GetPlayerClosestToMouse()
2121local Highest = {0, nil};
2122
2123for i, v in pairs(Players:GetPlayers()) do
2124local Player = v;
2125local Character = Player.Character;
2126if Player ~= LocalPlayer and not SameTeam(Player, LocalPlayer) and Character then
2127local Head = Character:FindFirstChild'Head';
2128if Head then
2129local Direction = Camera.CFrame.lookVector.unit;
2130local Relative = Player.Character.Head.Position - Camera.CFrame.p;
2131local Unit = Relative.unit;
2132
2133local DP = Dot(Direction, Unit);
2134if DP > Highest[1] then
2135Highest = {DP, Player};
2136end
2137end
2138end
2139end
2140
2141return Highest[2];
2142end
2143
2144local Active = true;
2145local Rand = Random.new();
2146
2147for i, v in pairs(Networks) do
2148shared['oFireServer' .. tostring(v)] = shared['oFireServer' .. tostring(v)] or v.FireServer;
2149v.FireServer = function(...)
2150local Arguments = {...};
2151
2152if Active and Arguments[2] == 'Damage' and typeof(Arguments[3]) == 'Instance' and Arguments[3]:IsA'ValueBase' then
2153return true;
2154end
2155
2156return shared['oFireServer' .. tostring(v)](...);
2157end
2158end
2159
2160game:GetService'UserInputService'.InputEnded:connect(function(Input)
2161if Input.UserInputType == Enum.UserInputType.Keyboard and Input.KeyCode == Enum.KeyCode.F3 then
2162Active = not Active;
2163elseif Active and Input.UserInputType == Enum.UserInputType.MouseButton1 then
2164spawn(function()
2165wait(.05);
2166local Player = GetPlayerClosestToMouse();
2167if Player then
2168local Character = Player.Character;
2169if Character then
2170local Humanoid = Character:FindFirstChildOfClass'Humanoid';
2171local Head = Character:FindFirstChild'Head';
2172if Humanoid and Humanoid.Health > 0 and Head then
2173Net:FireServer('Damage', Humanoid, Head, Head.Position, Head.Position + Vector3.new(Rand:NextNumber() / 10, .25 + (Rand:NextNumber() / 10), Rand:NextNumber() / 10))
2174end
2175end
2176end
2177end);
2178end
2179end)
2180
2181InfJump.Name = "Inf Jump"
2182InfJump.Parent = Main
2183InfJump.BackgroundColor3 = Color3.new(1, 1, 1)
2184InfJump.BackgroundTransparency = 1
2185InfJump.Position = UDim2.new(0.166666672, 0, 0.827067673, 0)
2186InfJump.Size = UDim2.new(0, 116, 0, 27)
2187InfJump.Font = Enum.Font.SourceSans
2188InfJump.Text = "Inf Jump"
2189InfJump.TextColor3 = Color3.new(0.988235, 0.294118, 0.027451)
2190InfJump.TextSize = 14
2191InfJump.MouseButton1Down:connect(function()
2192game:GetService("UserInputService").JumpRequest:connect(function()game:GetService"Players".LocalPlayer.Character:FindFirstChildOfClass'Humanoid':ChangeState("Jumping")end)
2193end)
2194
2195TextButton.Parent = Main
2196TextButton.BackgroundColor3 = Color3.new(0.988235, 0, 0.0352941)
2197TextButton.BackgroundTransparency = 1
2198TextButton.Position = UDim2.new(0.833333313, 0, 0, 0)
2199TextButton.Size = UDim2.new(0, 29, 0, 24)
2200TextButton.Font = Enum.Font.SourceSans
2201TextButton.Text = "X"
2202TextButton.TextColor3 = Color3.new(0.988235, 0.054902, 0.027451)
2203TextButton.TextScaled = true
2204TextButton.TextSize = 14
2205TextButton.TextWrapped = true
2206TextButton.MouseButton1Down:connect(function()
2207Main.Frame.Visible = false
2208OpenFrame.Visible = true
2209end)