Advertisement
TomtomFHTextures

weird gun game

Feb 27th, 2025 (edited)
1,282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 17.15 KB | None | 0 0
  1. -- Settings
  2. local Settings = {
  3.     -- Aimbot Settings
  4.     AimbotOn = false,
  5.     ShowFOV = true,
  6.     TeamCheck = true,
  7.     LockRadius = 100,
  8.     FOVColor = Color3.fromRGB(255, 255, 255),
  9.     -- ESP Settings
  10.     ESPOn = true,
  11.     UseTeamColors = false,
  12.     OwnTeamColor = Color3.fromRGB(0, 0, 255),
  13.     OpponentTeamColor = Color3.fromRGB(255, 0, 0),
  14.     -- Gun Mod Settings
  15.     InstantReload = false,
  16.     InfiniteAmmo = false,
  17.     NoRecoil = false,
  18.     NoSpread = false,
  19.     FastShoot = false,
  20.     -- Character Settings
  21.     WalkspeedOn = false,
  22.     WalkspeedValue = 50,
  23.     JumpheightOn = false,
  24.     JumpheightValue = 25
  25. }
  26.  
  27. local targetList = {
  28.     {Name = "Head", Label = "Player"},
  29. }
  30.  
  31. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  32.  
  33. local MainWindow = Rayfield:CreateWindow({
  34.     Name = "Global Aimbot & Gun Mods",
  35.     Icon = 0,
  36.     LoadingTitle = "Loading...",
  37.     LoadingSubtitle = "by TomtomFH",
  38.     Theme = "Default",
  39.  
  40.     DisableRayfieldPrompts = true,
  41.     DisableBuildWarnings = true,
  42.  
  43.     ConfigurationSaving = {
  44.         Enabled = true,
  45.         FolderName = nil,
  46.         FileName = "GlobalAimbotAndGunMods"
  47.     },
  48.  
  49.     KeySystem = true,
  50.     KeySettings = {
  51.         Title = "Global Aimbot & Gun Mods",
  52.         Subtitle = "Key System",
  53.         Note = "Get a key from TomtomFH",
  54.         FileName = "GlobalAimbotAndGunModsKey",
  55.         SaveKey = true,
  56.         GrabKeyFromSite = false,
  57.         Key = {"Hello"}
  58.     }
  59. })
  60.  
  61. local createdESPs = {}
  62.  
  63. local Players = game:GetService("Players")
  64. local LocalPlayer = Players.LocalPlayer
  65. local Workspace = game:GetService("Workspace")
  66. local Camera = Workspace.CurrentCamera
  67.  
  68. local function createESP(target)
  69.     local player = Players:GetPlayerFromCharacter(target.Parent)
  70.  
  71.     if player == LocalPlayer or not player then
  72.         return
  73.     end
  74.  
  75.     local teamColor
  76.     if Settings.UseTeamColors then
  77.         teamColor = player.TeamColor.Color
  78.     else
  79.         if player.Team == LocalPlayer.Team then
  80.             teamColor = Settings.OwnTeamColor
  81.         else
  82.             teamColor = Settings.OpponentTeamColor
  83.         end
  84.     end
  85.  
  86.     local ESPBillboard = Instance.new("BillboardGui")
  87.     ESPBillboard.Name = "ESPBillboard"
  88.     ESPBillboard.Adornee = target
  89.     ESPBillboard.AlwaysOnTop = true
  90.     ESPBillboard.Size = UDim2.new(0, 100, 0, 100)
  91.     ESPBillboard.Parent = target
  92.  
  93.     table.insert(createdESPs, ESPBillboard)
  94.  
  95.     local ESPFrame = Instance.new("Frame")
  96.     ESPFrame.Parent = ESPBillboard
  97.     ESPFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  98.     ESPFrame.BackgroundColor3 = teamColor
  99.     ESPFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
  100.     ESPFrame.Size = UDim2.new(0, 5, 0, 5)
  101.  
  102.     local FrameUICorner = Instance.new("UICorner")
  103.     FrameUICorner.CornerRadius = UDim.new(1, 0)
  104.     FrameUICorner.Parent = ESPFrame
  105.  
  106.     local FrameUIGradient = Instance.new("UIGradient")
  107.     FrameUIGradient.Color = ColorSequence.new(Color3.new(1, 1, 1), Color3.new(0.5, 0.5, 0.5))
  108.     FrameUIGradient.Rotation = 90
  109.     FrameUIGradient.Parent = ESPFrame
  110.  
  111.     local FrameUIStroke = Instance.new("UIStroke")
  112.     FrameUIStroke.Thickness = 2.5
  113.     FrameUIStroke.Parent = ESPFrame
  114.  
  115.     local ESPLabel = Instance.new("TextLabel")
  116.     ESPLabel.Parent = ESPBillboard
  117.     ESPLabel.AnchorPoint = Vector2.new(0, 0.5)
  118.     ESPLabel.BackgroundTransparency = 1
  119.     ESPLabel.Position = UDim2.new(0, 0, 0.5, 12)
  120.     ESPLabel.Size = UDim2.new(1, 0, 0.1, 0)
  121.     ESPLabel.Text = player and player.Name or "Unknown Player"
  122.     ESPLabel.TextColor3 = teamColor
  123.     ESPLabel.TextScaled = true
  124.  
  125.     -- local ESPLabel = Instance.new("TextLabel")
  126.     -- ESPLabel.Parent = ESPBillboard
  127.     -- ESPLabel.AnchorPoint = Vector2.new(0, 0.5)
  128.     -- ESPLabel.BackgroundTransparency = 1
  129.     -- ESPLabel.Position = UDim2.new(0, 0, 0.5, 24)
  130.     -- ESPLabel.Size = UDim2.new(1, 0, 0.2, 0)
  131.     -- ESPLabel.Text = player and player.Name or "Unknown Player"
  132.     -- ESPLabel.TextColor3 = teamColor
  133.     -- ESPLabel.TextScaled = true
  134.  
  135.     local TextUIStroke = Instance.new("UIStroke")
  136.     TextUIStroke.Thickness = 2.5
  137.     TextUIStroke.Parent = ESPLabel
  138.  
  139.     if target.Parent and target.Parent:FindFirstChild("Humanoid") then
  140.         local humanoid = target.Parent:FindFirstChild("Humanoid")
  141.         humanoid.Died:Connect(function()
  142.             ESPBillboard:Destroy()
  143.             for i, esp in ipairs(createdESPs) do
  144.                 if esp == ESPBillboard then
  145.                     table.remove(createdESPs, i)
  146.                     break
  147.                 end
  148.             end
  149.         end)
  150.     end
  151. end
  152.  
  153. local function removeAllESPs()
  154.     for _, esp in ipairs(createdESPs) do
  155.         esp:Destroy()
  156.     end
  157.     createdESPs = {}
  158. end
  159.  
  160. local function findTarget(target, childName)
  161.     if childName then
  162.         return target:WaitForChild(childName)
  163.     end
  164.     return target
  165. end
  166.  
  167. local function scanAndApplyESP()
  168.     if not Settings.ESPOn then return end
  169.     for _, object in ipairs(Workspace:GetDescendants()) do
  170.         if object:IsA("BasePart") or object:IsA("Model") then
  171.             for _, target in ipairs(targetList) do
  172.                 if object.Name == target.Name then
  173.                     local targetObject = findTarget(object, target.ChildName)
  174.                     if targetObject then
  175.                         createESP(targetObject)
  176.                     end
  177.                 end
  178.             end
  179.         end
  180.     end
  181. end
  182.  
  183. local UIS = game:GetService("UserInputService")
  184. local Mouse = LocalPlayer:GetMouse()
  185.  
  186. local ScreenGui = Instance.new("ScreenGui")
  187. ScreenGui.ResetOnSpawn = false
  188. ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
  189. ScreenGui.IgnoreGuiInset = true
  190.  
  191. local RadiusFrame = Instance.new("Frame")
  192. RadiusFrame.Size = UDim2.new(0, Settings.LockRadius * 2, 0, Settings.LockRadius * 2)
  193. RadiusFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
  194. RadiusFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  195. RadiusFrame.BackgroundTransparency = 1
  196. RadiusFrame.Visible = Settings.ShowFOV
  197. RadiusFrame.ZIndex = 10
  198. RadiusFrame.Parent = ScreenGui
  199.  
  200. local UICorner = Instance.new("UICorner")
  201. UICorner.CornerRadius = UDim.new(1, 0)
  202. UICorner.Parent = RadiusFrame
  203.  
  204. local UIStroke = Instance.new("UIStroke")
  205. UIStroke.Thickness = 2
  206. UIStroke.Color = Settings.FOVColor
  207. UIStroke.Transparency = 0.2
  208. UIStroke.Parent = RadiusFrame
  209.  
  210. local lockOn = false
  211. local lockedTarget = nil
  212.  
  213. local function getNearestPlayer()
  214.     local closestPlayer = nil
  215.     local closestDistance = Settings.LockRadius
  216.    
  217.     for _, player in pairs(Players:GetPlayers()) do
  218.         if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then
  219.             if Settings.TeamCheck and player.Team == LocalPlayer.Team then
  220.                 continue
  221.             end
  222.  
  223.             local head = player.Character.Head
  224.             local humanoid = player.Character:FindFirstChild("Humanoid")
  225.            
  226.             if humanoid and humanoid.Health > 0 then
  227.                 local screenPos, onScreen = Camera:WorldToViewportPoint(head.Position)
  228.                
  229.                 if onScreen then
  230.                     local distance = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)).Magnitude
  231.                     if distance < closestDistance then
  232.                         closestDistance = distance
  233.                         closestPlayer = head
  234.                     end
  235.                 end
  236.             end
  237.         end
  238.     end
  239.    
  240.     return closestPlayer
  241. end
  242.  
  243. local AimbotTab = MainWindow:CreateTab("Aimbot", 4483362458)
  244.  
  245. local AimbotOnToggle = AimbotTab:CreateToggle({
  246.     Name = "Aimbot Enabled",
  247.     CurrentValue = Settings.AimbotOn,
  248.     Flag = "aimboton",
  249.     Callback = function(Value)
  250.         Settings.AimbotOn = Value
  251.     end,
  252. })
  253.  
  254. local ShowFOVToggle = AimbotTab:CreateToggle({
  255.     Name = "Show FOV",
  256.     CurrentValue = Settings.ShowFOV,
  257.     Flag = "fovtoggle",
  258.     Callback = function(Value)
  259.         Settings.ShowFOV = Value
  260.         RadiusFrame.Visible = Value
  261.     end,
  262. })
  263.  
  264. local TeamCheckToggle = AimbotTab:CreateToggle({
  265.     Name = "Team Check",
  266.     CurrentValue = Settings.TeamCheck,
  267.     Flag = "teamchecktoggle",
  268.     Callback = function(Value)
  269.         Settings.TeamCheck = Value
  270.     end,
  271. })
  272.  
  273. local Slider = AimbotTab:CreateSlider({
  274.     Name = "FOV Size",
  275.     Range = {1, 1000},
  276.     Increment = 10,
  277.     Suffix = "",
  278.     CurrentValue = Settings.LockRadius,
  279.     Flag = "FovValue",
  280.     Callback = function(Value)
  281.         Settings.LockRadius = Value
  282.         RadiusFrame.Size = UDim2.new(0, Value * 2, 0, Value * 2)
  283.     end,
  284. })
  285.  
  286. local FOVColorPicker = AimbotTab:CreateColorPicker({
  287.     Name = "FOV Color",
  288.     Color = Settings.FOVColor,
  289.     Flag = "fovcolorpicker",
  290.     Callback = function(Value)
  291.         Settings.FOVColor = Value
  292.         UIStroke.Color = Settings.FOVColor
  293.     end
  294. })
  295.  
  296. local ESPTab = MainWindow:CreateTab("ESP", 4483362458)
  297.  
  298. local ESPToggle = ESPTab:CreateToggle({
  299.     Name = "ESP Enable",
  300.     CurrentValue = Settings.ESPOn,
  301.     Flag = "esptoggle",
  302.     Callback = function(Value)
  303.         Settings.ESPOn = Value
  304.         if Value then
  305.             scanAndApplyESP()
  306.         else
  307.             removeAllESPs()
  308.         end
  309.     end,
  310. })
  311.  
  312. local UseTeamColorsToggle = ESPTab:CreateToggle({
  313.     Name = "Use Team Colors",
  314.     CurrentValue = Settings.UseTeamColors,
  315.     Flag = "usetmcolors",
  316.     Callback = function(Value)
  317.         Settings.UseTeamColors = Value
  318.         removeAllESPs()
  319.         scanAndApplyESP()
  320.     end,
  321. })
  322.  
  323. local OwnTeamColorPicker = ESPTab:CreateColorPicker({
  324.     Name = "Own Team Color",
  325.     Color = Settings.OwnTeamColor,
  326.     Flag = "ownteamcolorpicker",
  327.     Callback = function(Value)
  328.         Settings.OwnTeamColor = Value
  329.         removeAllESPs()
  330.         scanAndApplyESP()
  331.     end
  332. })
  333.  
  334. local OpponentTeamColorPicker = ESPTab:CreateColorPicker({
  335.     Name = "Opponent Team Color",
  336.     Color = Settings.OpponentTeamColor,
  337.     Flag = "opponentteamcolorpicker",
  338.     Callback = function(Value)
  339.         Settings.OpponentTeamColor = Value
  340.         removeAllESPs()
  341.         scanAndApplyESP()
  342.     end
  343. })
  344.  
  345. local GunModTab = MainWindow:CreateTab("Gun Mods", 4483362458)
  346.  
  347. local InstantReloadToggle = GunModTab:CreateToggle({
  348.     Name = "Instant Reload",
  349.     CurrentValue = Settings.InstantReload,
  350.     Flag = "instantreloadtoggle",
  351.     Callback = function(Value)
  352.         Settings.InstantReload = Value
  353.     end,
  354. })
  355.  
  356. local InfiniteAmmoToggle = GunModTab:CreateToggle({
  357.     Name = "Infinite Ammo",
  358.     CurrentValue = Settings.InfiniteAmmo,
  359.     Flag = "infiniteammotoggle",
  360.     Callback = function(Value)
  361.         Settings.InfiniteAmmo = Value
  362.     end,
  363. })
  364.  
  365. local NoRecoilToggle = GunModTab:CreateToggle({
  366.     Name = "No Recoil",
  367.     CurrentValue = Settings.NoRecoil,
  368.     Flag = "norecoil",
  369.     Callback = function(Value)
  370.         Settings.NoRecoil = Value
  371.     end,
  372. })
  373.  
  374. local NoSpreadToggle = GunModTab:CreateToggle({
  375.     Name = "No Spread",
  376.     CurrentValue = Settings.NoSpread,
  377.     Flag = "nospread",
  378.     Callback = function(Value)
  379.         Settings.NoSpread = Value
  380.     end,
  381. })
  382.  
  383. local FastShootToggle = GunModTab:CreateToggle({
  384.     Name = "Fast Shoot",
  385.     CurrentValue = Settings.FastShoot,
  386.     Flag = "fastshoot",
  387.     Callback = function(Value)
  388.         Settings.FastShoot = Value
  389.     end,
  390. })
  391.  
  392. local CharacterTab = MainWindow:CreateTab("Character", 4483362458)
  393.  
  394. local WalkspeedToggle = CharacterTab:CreateToggle({
  395.     Name = "Walkspeed Enabled",
  396.     CurrentValue = Settings.WalkspeedOn,
  397.     Flag = "walkspeed",
  398.     Callback = function(Value)
  399.         Settings.WalkspeedOn = Value
  400.     end,
  401. })
  402.  
  403. local WalkspeedSlider = CharacterTab:CreateSlider({
  404.     Name = "Walkspeed",
  405.     Range = {1, 100},
  406.     Increment = 1,
  407.     Suffix = "",
  408.     CurrentValue = Settings.WalkspeedValue,
  409.     Flag = "speed",
  410.     Callback = function(Value)
  411.         Settings.WalkspeedValue = Value
  412.         local player = game.Players.LocalPlayer
  413.         if player and player.Character then
  414.             local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
  415.             if humanoid then
  416.                 humanoid.WalkSpeed = Value
  417.             end
  418.         end
  419.     end,
  420. })
  421.  
  422. local JumppowerToggle = CharacterTab:CreateToggle({
  423.     Name = "Jumpheight Enabled",
  424.     CurrentValue = Settings.JumpheightOn,
  425.     Flag = "jumpheight",
  426.     Callback = function(Value)
  427.         Settings.JumpheightOn = Value
  428.     end,
  429. })
  430.  
  431. local JumpheightSlider = CharacterTab:CreateSlider({
  432.     Name = "Jumpheight",
  433.     Range = {1, 100},
  434.     Increment = 1,
  435.     Suffix = "",
  436.     CurrentValue = Settings.JumpheightValue,
  437.     Flag = "height",
  438.     Callback = function(Value)
  439.         Settings.JumpheightValue = Value
  440.         local player = game.Players.LocalPlayer
  441.         if player and player.Character then
  442.             local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
  443.             if humanoid then
  444.                 humanoid.JumpHeight = Value
  445.             end
  446.         end
  447.     end,
  448. })
  449.  
  450. UIS.InputBegan:Connect(function(input, processed)
  451.     if processed then return end
  452.     if input.UserInputType == Enum.UserInputType.MouseButton2 then
  453.         lockOn = true
  454.     end
  455. end)
  456.  
  457. UIS.InputEnded:Connect(function(input)
  458.     if input.UserInputType == Enum.UserInputType.MouseButton2 then
  459.         lockOn = false
  460.         lockedTarget = nil
  461.     end
  462. end)
  463.  
  464. Workspace.DescendantAdded:Connect(function(descendant)
  465.     if Settings.ESPOn and (descendant:IsA("BasePart") or descendant:IsA("Model")) then
  466.         for _, target in ipairs(targetList) do
  467.             if descendant.Name == target.Name then
  468.                 local targetObject = findTarget(descendant, target.ChildName)
  469.                 if targetObject then
  470.                     createESP(targetObject)
  471.                 end
  472.             end
  473.         end
  474.     end
  475. end)
  476.  
  477. LocalPlayer.CharacterAdded:Connect(function(char)
  478.     local humanoid = char:WaitForChild("Humanoid")
  479.    
  480.     if Settings.WalkspeedOn then
  481.         humanoid.WalkSpeed = Settings.WalkspeedValue
  482.         humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
  483.             if humanoid.WalkSpeed ~= Settings.WalkspeedValue and Settings.WalkspeedOn then
  484.                 humanoid.WalkSpeed = Settings.WalkspeedValue
  485.             end
  486.         end)
  487.     end
  488.     if Settings.JumpheightOn then
  489.         humanoid.JumpHeight = Settings.JumpheightValue
  490.         humanoid:GetPropertyChangedSignal("JumpHeight"):Connect(function()
  491.             if humanoid.JumpHeight ~= Settings.JumpheightValue and Settings.JumpheightOn then
  492.                 humanoid.JumpHeight = Settings.JumpheightValue
  493.             end
  494.         end)
  495.     end
  496. end)
  497.  
  498. if LocalPlayer.Character then
  499.     local humanoid = LocalPlayer.Character:WaitForChild("Humanoid")
  500.     if Settings.WalkspeedOn then
  501.         humanoid.WalkSpeed = Settings.WalkspeedValue
  502.         humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
  503.             if humanoid.WalkSpeed ~= Settings.WalkspeedValue and Settings.WalkspeedOn then
  504.                 humanoid.WalkSpeed = Settings.WalkspeedValue
  505.             end
  506.         end)
  507.     end
  508.     if Settings.JumpheightOn then
  509.         humanoid.JumpHeight = Settings.JumpheightValue
  510.         humanoid:GetPropertyChangedSignal("JumpHeight"):Connect(function()
  511.             if humanoid.JumpHeight ~= Settings.JumpheightValue and Settings.JumpheightOn then
  512.                 humanoid.JumpHeight = Settings.JumpheightValue
  513.             end
  514.         end)
  515.     end
  516. end
  517.  
  518. game:GetService("RunService").RenderStepped:Connect(function()
  519.     if Settings.InstantReload and workspace:FindFirstChild(LocalPlayer.Name) then
  520.         local gun = workspace[LocalPlayer.Name]:FindFirstChild(LocalPlayer.Name .. "CustomGun")
  521.         if gun then
  522.             gun:SetAttribute("reloadTime", 0)
  523.         end
  524.     end
  525.  
  526.     if Settings.InfiniteAmmo and workspace:FindFirstChild(LocalPlayer.Name) then
  527.         local gun = workspace[LocalPlayer.Name]:FindFirstChild(LocalPlayer.Name .. "CustomGun")
  528.         if gun then
  529.             gun:SetAttribute("magazineSize", math.huge)
  530.         end
  531.     end
  532.  
  533.     if Settings.NoRecoil and workspace:FindFirstChild(LocalPlayer.Name) then
  534.         local gun = workspace[LocalPlayer.Name]:FindFirstChild(LocalPlayer.Name .. "CustomGun")
  535.         if gun then
  536.             gun:SetAttribute("recoilMin", Vector2.new(0, 0))
  537.             gun:SetAttribute("recoilMax", Vector2.new(0, 0))
  538.             gun:SetAttribute("recoilAimReduction", Vector2.new(0, 0))
  539.         end
  540.     end
  541.  
  542.     if Settings.NoSpread and workspace:FindFirstChild(LocalPlayer.Name) then
  543.         local gun = workspace[LocalPlayer.Name]:FindFirstChild(LocalPlayer.Name .. "CustomGun")
  544.         if gun then
  545.             gun:SetAttribute("spread", 0)
  546.         end
  547.     end
  548.  
  549.     if Settings.FastShoot and workspace:FindFirstChild(LocalPlayer.Name) then
  550.         local gun = workspace[LocalPlayer.Name]:FindFirstChild(LocalPlayer.Name .. "CustomGun")
  551.         if gun then
  552.             gun:SetAttribute("rateOfFire", math.huge)
  553.         end
  554.     end
  555.  
  556.     if lockOn and Settings.AimbotOn then
  557.         lockedTarget = getNearestPlayer()
  558.         if lockedTarget then
  559.             Camera.CFrame = CFrame.new(Camera.CFrame.Position, lockedTarget.Position)
  560.         end
  561.     end
  562. end)
  563.  
  564. scanAndApplyESP()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement