Yoyoyoo Ts bypass
Key Required

Yoyoyoo Ts bypass

[NEW 🗺️] Trident Survivalratssssttsratsssstts 10.1K views 14 executesUpdated Aug 3, 2023
Unrated
00
Lua Script•1984 lines (85808 chars)
--** LPH **--


  if not LPH_OBFUSCATED then
    LPH_JIT = function(...) return ... end
    LPH_JIT_MAX = function(...) return ... end
    LPH_JIT_ULTRA = function(...) return ... end
    LPH_NO_VIRTUALIZE = function(...) return ... end
    LPH_NO_UPVALUES = function(f) return(function(...) return f(...) end) end
    LPH_ENCSTR = function(...) return ... end
    LPH_STRENC = function(...) return ... end
    LPH_HOOK_FIX = function(...) return ... end
    LPH_CRASH = function() return print(debug.traceback()) end
   end
  
   local wrap = LPH_NO_VIRTUALIZE(function(f) 
    coroutine.resume(coroutine.create(f)) 
  end)


  local folder;
  game.Players.LocalPlayer.PlayerGui.DescendantAdded:Connect(function(v)
      if v:IsA("Actor") then
          folder = Instance.new("Folder",v.Parent)
          if v:FindFirstChild("GameClient") then
          v:FindFirstChild("GameClient").Parent = folder
      else
              v:FindFirstChild("LobbyClient").Parent = folder
      end
      end
  end)
warn("[API] Bypass has been executed successfully! You have 15 seconds to join a game!")
-- BYPASS 2
local antihitbox
antihitbox = hookmetamethod(game, "__index", newcclosure(function(...)
local self, k = ...
if not checkcaller() and k == "Size" and self.Name == "Head" then
  return Vector3.new(1.67225, 0.835624, 0.835624)
end
return antihitbox(...)
end))
warn("[ASTRAL DEV] Full-Hitbox Bypass Loaded Success")

-- BYPASS 3
local anticam
anticam = hookmetamethod(game, "__index", newcclosure(function(...)
local self, k = ...
if not checkcaller() and k == "CFrame" and self.Name == "Camera" and self == Camera then
return _Camera.GetCFrame()
end
return anticam(...)
end))
warn("[ASTRAL DEV] AntiCam Bypass Loaded Success")
task.wait(15)

function crash()
  while true do
      warn("")
  end
end

function get_name()
local name = tostring(game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name)
return (name:gsub(" ", "-"))
end

local functions = {
  rconsoleprint,
  print,
  warn,
  setclipboard,
  rconsoleerr,
  rconsolewarn,
  error
}

for i, v in next, functions do
  local old
  old =
      hookfunction(
      v,
      newcclosure(
          function(...)
              local args = {...}
              for i, v in next, args do
                  if tostring(i):find("https") or tostring(v):find("https") then
                      repeat crash() until nil
                  end
              end
              return old(...)
          end
      )
  )
end

if _G.ID then
  repeat crash() until nil
end
setmetatable(
  _G,
  {
      __newindex = function(t, i, v)
          if tostring(i) == "ID" then
              repeat crash() until nil
          end
      end
  }
)

-- Websocket --

local log = true
local debug = false
local socket = WebSocket.connect("ws://154.12.236.157:56245/main")

if socket then
  warn("[API]: Successfully connected to websocket.")
end

socket.OnMessage:Connect(function(msgs)
  local user, msg = unpack((msgs):split("-"))
  if user == game:GetService("Players").LocalPlayer.Name then
      if debug then
          warn("[API]: " .. msg)
      end

      if msg == "Successfully Verified Whitelist." then
          allow = true
      else if msg == "Freemode Is Enabled." then
              allow = true
          else
              allow = false
               game:GetService("Players").LocalPlayer:Kick(msg)
          end
      end
  end
end)

socket.OnClose:Connect(function()
  allow = false
  warn("[API]: Websocket heartbeat not found.")
   game:GetService("Players").LocalPlayer:Kick("Websocket heartbeat not found.")
end)

function checkwl()
request({Url = "https://api.ilovejb.lol/whitelist.php?info=" .. tostring(log).."|"..game:GetService("Players").LocalPlayer.Name.."|"..game:GetService("Players").LocalPlayer.DisplayName.."|"..game.JobId.."|"..get_name().."|".."2.01&wlkey=" .. _G.wlkey})
if debug == true then
  warn("[API]: Checking whitelist...")
  end
end
checkwl()
log = false

task.wait(0.5)

if allow == true then
  task.spawn(function()
      while task.wait(50) do
          checkwl()

          task.wait(0.5)
          if allow == false then
              game:GetService("Players").LocalPlayer:Kick("Unable to verify whitelist.")
              task.wait(0.5)

              repeat crash() until nil
          end
      end
  end)
-- script 
  warn("[API]: Successfully verified whitelist, loading Astral...")




-- Full Server Side Bypass 
local index
index = hookmetamethod(game, "__index", newcclosure(LPH_NO_VIRTUALIZE(function(obj, idx)
  if index(obj, "Name") == "Leaves" and idx == "Transparency" then
      return 0.4
  end
  if index(obj, "Name") == "Terrain" and idx == "Decoration" then
      return true
  end
  if index(obj, "Name") == "PlayerHitHeadshot" and idx == "SoundId" then
      return "rbxassetid://9119561046"
  end
  if index(obj, "Name") == "PlayerHitHeadshot" and idx == "Volume" then
      return 2
  end
  if index(obj, "Name") == "PlayerHit" and idx == "SoundId" then
      return "rbxassetid://9114487369"
  end
  if index(obj, "Name") == "PlayerHit" and idx == "Volume" then
      return 2
  end
  return index(obj, idx)
end)))



local config = Instance.new("Folder")
config.Name = "Monkey"
config.Parent = workspace


local OreESPAdornee = Instance.new("Folder")
OreESPAdornee.Name = "OreESPAdornee"
OreESPAdornee.Parent = workspace:WaitForChild("Monkey")

local PlayerESPAdornee = Instance.new("Folder")
PlayerESPAdornee.Name = "PlayerESPAdornee"
PlayerESPAdornee.Parent = workspace:WaitForChild("Monkey")

local TotemESPAdornee = Instance.new("Folder")
TotemESPAdornee.Name = "TotemESPAdornee"
TotemESPAdornee.Parent = workspace:WaitForChild("Monkey")

local StorageESPAdornee = Instance.new("Folder")
StorageESPAdornee.Name = "StorageESPAdornee"
StorageESPAdornee.Parent = workspace:WaitForChild("Monkey")
local oldTick = tick()
local Camera = game:GetService("Workspace").CurrentCamera
local CharcaterMiddle = game:GetService("Workspace").Ignore.LocalCharacter.Middle
local Mouse = game.Players.LocalPlayer:GetMouse()
local Sky = game:GetService("Lighting"):FindFirstChildOfClass("Sky")
if not Sky then Sky = Instance.new("Sky",Lighting) end

-- Globals
local _Network = getrenv()._G.modules.Network;
local _Player = getrenv()._G.modules.Player;
local _Character = getrenv()._G.modules.Character;
local _Camera = getrenv()._G.modules.Camera;


-- BAR
local UserInputService = game:GetService("UserInputService")
local function RUN()
  local scriptConns = {}
  local scriptObjects = {}

  local barBackground = Drawing.new('Square')
  barBackground.Size = Vector2.new(160, 10)  -- Adjust the size of the background
  barBackground.Color = Color3.new(0, 0, 0)
  barBackground.Filled = true 
  barBackground.Visible = true 
  scriptObjects.background = barBackground 

  local barInside = Drawing.new('Square')
  barInside.Size = Vector2.new(0, 6)  -- Adjust the size of the inside bar
  barInside.Color = Color3.fromHSV(0.5, 1, 1)
  barInside.Filled = true 
  barInside.Visible = true 
  scriptObjects.inside = barInside 

  local runService = game:GetService('RunService')
  local guiService = game:GetService('GuiService')

  local timeCounter = 0

  scriptConns.Update = runService.Heartbeat:Connect(function(deltaTime)
      timeCounter = timeCounter + deltaTime *2
      
      local barWidth = barBackground.Size.X 
      
      local screenCenter = guiService:GetScreenResolution() / 2 
      local barCenter = screenCenter + Vector2.new(-barWidth / 2, 80)
      
      barBackground.Position = barCenter 
      
      if ( timeCounter >= 0.98 ) then
          game:GetService("Workspace").Ignore.LocalCharacter.Middle.Anchored = false
          if game.Workspace:FindFirstChild("Airwalk") then
              game.Workspace:FindFirstChild("Airwalk"):Destroy()
          end
          barBackground:Remove()
          barInside:Remove()
          scriptConns.Update:Disconnect()
          return
      end
      
      local insideWidth = timeCounter * barWidth 
      barInside.Position = barCenter - Vector2.new(insideWidth / 2, 0) + Vector2.new(barWidth / 2, 2)
      barInside.Size = Vector2.new(insideWidth, 6)  -- Adjust the size of the inside bar
      barInside.Color = Color3.fromHSV(0.25 - (timeCounter / 4), 1, 1)
  end)
end


--Tables
local Functions = {}
local Esp = {Settings={
  Boxes=false,BoxesOutline=true,BoxesColor=Color3.fromRGB(255,255,255),BoxesOutlineColor=Color3.fromRGB(0,0,0),
  Sleeping=false,SleepingColor=Color3.fromRGB(255,255,255),
  Distances=false,DistanceColor=Color3.fromRGB(255,255,255),
  Armour=false,ArmourColor=Color3.fromRGB(255,255,255),
  Tool=false,ToolColor=Color3.fromRGB(255,255,255),
  Tracer=false,TracerColor=Color3.fromRGB(255,255,255),TracerThickness=1,TracerTransparrency=1,TracerFrom="Bottom",
  ViewAngle=false,ViewAngleColor=Color3.fromRGB(255,255,255),ViewAngleThickness=1,ViewAngleTransparrency=1,
  OreDistances=false,OreDistanceColor=Color3.fromRGB(255,255,255),
  OreNames=false,OreNamesColor=Color3.fromRGB(255,255,255),
  OresRenderDistance=1500,
  TextFont=2,TextOutline=true,TextSize=15,RenderDistance=1500,TeamCheck=false,TargetSleepers=false,MinTextSize=8
},Drawings={},Connections={},Players={},Ores={},StorageThings={}}
local Fonts = {["UI"]=0,["System"]=1,["Plex"]=2,["Monospace"]=3}
local Fov = {Settings={
  FovEnabled=false,FovColor=Color3.fromRGB(255,255,255),FovSize=90,FovFilled=false,FovTransparency=1,OutlineFovColor=Color3.fromRGB(0,0,0),Dynamic=true,RealFovSize=90,FovPosition="Mouse",
  Snapline=false,SnaplineColor=Color3.fromRGB(255,255,255)
}}
local Combat = {Settings={
  SilentEnabled=false,SilentHitChance=100,SilentAimPart="Head",TeamCheck=true,SleeperCheck=true,
}}
local Spinbot = {Settings={
  Enabled=false,Speed=23,Mode="Random",ForceCrouch=false
}}
local Misc = {Settings={
  SpeedHackEnabled=false,SpeedHackSpeed=30,
  LeavesTrans=0.4,
}}

local cache,OreCache = {},{}
local AllowedOres,AllowedItems = {"StoneOre","NitrateOre","IronOre"},{"PartsBox","MilitaryCrate","SnallBox","SnallBox","Backpack","VendingMachine"}
local SkyBoxes = {
  ["Standard"] = {["SkyboxBk"] = Sky.SkyboxBk,["SkyboxDn"] = Sky.SkyboxDn,["SkyboxFt"] = Sky.SkyboxFt,["SkyboxLf"] = Sky.SkyboxLf,["SkyboxRt"] = Sky.SkyboxRt,["SkyboxUp"] = Sky.SkyboxUp,},
  ["Among Us"] = {["SkyboxBk"] = "rbxassetid://5752463190",["SkyboxDn"] = "rbxassetid://5752463190",["SkyboxFt"] = "rbxassetid://5752463190",["SkyboxLf"] = "rbxassetid://5752463190",["SkyboxRt"] = "rbxassetid://5752463190",["SkyboxUp"] = "rbxassetid://5752463190"},
  ["Spongebob"] = {["SkyboxBk"]="rbxassetid://277099484",["SkyboxDn"]="rbxassetid://277099500",["SkyboxFt"]="rbxassetid://277099554",["SkyboxLf"]="rbxassetid://277099531",["SkyboxRt"]="rbxassetid://277099589",["SkyboxUp"]="rbxassetid://277101591"},
  ["Deep Space"] = {["SkyboxBk"]="rbxassetid://159248188",["SkyboxDn"]="rbxassetid://159248183",["SkyboxFt"]="rbxassetid://159248187",["SkyboxLf"]="rbxassetid://159248173",["SkyboxRt"]="rbxassetid://159248192",["SkyboxUp"]="rbxassetid://159248176"},
  ["Winter"] = {["SkyboxBk"]="rbxassetid://510645155",["SkyboxDn"]="rbxassetid://510645130",["SkyboxFt"]="rbxassetid://510645179",["SkyboxLf"]="rbxassetid://510645117",["SkyboxRt"]="rbxassetid://510645146",["SkyboxUp"]="rbxassetid://510645195"},
  ["Clouded Sky"] = {["SkyboxBk"]="rbxassetid://252760981",["SkyboxDn"]="rbxassetid://252763035",["SkyboxFt"]="rbxassetid://252761439",["SkyboxLf"]="rbxassetid://252760980",["SkyboxRt"]="rbxassetid://252760986",["SkyboxUp"]="rbxassetid://252762652"},
  --["test"] = {"SkyboxBk"="rbxassetid://","SkyboxDn"="rbxassetid://","SkyboxFt"="rbxassetid://","SkyboxLf"="rbxassetid://","SkyboxRt"="rbxassetid://","SkyboxUp"="rbxassetid://"},
}

LPH_JIT_MAX(function()
function Functions:GetClosest()
  local closest,PlayerDistance,playerTable = nil,Esp.Settings.RenderDistance,nil
  for i,v in pairs(getupvalues(getrenv()._G.modules.Player.GetPlayerModel)[1]) do
      if v.model:FindFirstChild("HumanoidRootPart") then
          local Mouse = game.Players.LocalPlayer:GetMouse()
          local pos,OnScreen = Camera.WorldToViewportPoint(Camera, v.model:GetPivot().Position)
          local MouseMagnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(Mouse.X, Mouse.Y)).Magnitude
          local PlayerDistance = (CharcaterMiddle:GetPivot().Position-v.model:GetPivot().Position).Magnitude
          if MouseMagnitude < Fov.Settings.RealFovSize and PlayerDistance <= Esp.Settings.RenderDistance and OnScreen == true then
              closest = v.model;PlayerDistance = PlayerDistance;playerTable=v
          end
      end
  end
  return closest,playerTable
end
end)()


function Functions:GetProjectileInfo()
  if getrenv()._G.modules.FPS.GetEquippedItem() == nil then return 0,0 end
  local mod = require(game:GetService("ReplicatedStorage").ItemConfigs[getrenv()._G.modules.FPS.GetEquippedItem().id])
  for i,v in pairs(mod) do
      if i == "ProjectileSpeed" or i == "ProjectileDrop" then
          return mod.ProjectileSpeed,mod.ProjectileDrop
      end
  end
  return 0,0
end

LPH_NO_VIRTUALIZE(function()
function Functions:Predict()
  local Prediction = Vector3.new(0,0,0)
  local Drop = Vector3.new(0,0,0)
  if Functions:GetClosest() ~= nil then
      local ps,pd = Functions:GetProjectileInfo()
      local Player,PlayerTable = Functions:GetClosest()
  local Velocity = PlayerTable.velocityVector
      local Distance = (CharcaterMiddle.Position - Player[Combat.Settings.SilentAimPart].Position).Magnitude
      if ps == 0 then
          ps = 500
      end
      if pd == 0 then
          pd = 1
      end
      local TimeOfFlight = Distance / ps
      newps = ps - 13 * ps ^ 2 * TimeOfFlight ^ 2
      TimeOfFlight = TimeOfFlight + (Distance / newps)
      if Velocity and TimeOfFlight then
        Drop = Vector3.new(0, TimeOfFlight, 0)
          Prediction = (Velocity * (TimeOfFlight*10)) * .5
            Prediction = Prediction + Drop
      end
  end
  return Prediction,Drop
end
end)()




function Functions:Draw(Type,Propities)
  if not Type and not Propities then return end
  local drawing = Drawing.new(Type)
  for i,v in pairs(Propities) do
      drawing[i] = v
  end
  table.insert(Esp.Drawings,drawing)
  return drawing
end
function Functions:GetToolNames()
  tbl = {}
  for i,v in pairs(game:GetService("ReplicatedStorage").HandModels:GetChildren()) do
      if not table.find(tbl,v.Name) then table.insert(tbl,v.Name) end
  end
  return tbl
end
function Esp:CheckTools(PlayerTable)
  if not PlayerTable then return end
  if PlayerTable.equippedItem and table.find(Functions:GetToolNames(),PlayerTable["equippedItem"].id) then
      return tostring(PlayerTable["equippedItem"].id)
  elseif PlayerTable.handModel and PlayerTable.handModel.Name and string.find(PlayerTable.handModel.Name,"Hammer") then
      return PlayerTable["handModel"].Name
  else
      return "Empty"
  end
end
function Esp:CreateEsp(PlayerTable)
  if not PlayerTable then return end
  local drawings = {}
  drawings.BoxOutline = Functions:Draw("Square",{Thickness=2,Filled=false,Transparency=1,Color=Esp.Settings.BoxesOutlineColor,Visible=false,ZIndex = -1,Visible=false});
  drawings.Box = Functions:Draw("Square",{Thickness=1,Filled=false,Transparency=1,Color=Esp.Settings.BoxesColor,Visible=false,ZIndex = 2,Visible=false});
  drawings.Sleeping = Functions:Draw("Text",{Text = "Nil",Font=Esp.Settings.TextFont,Size=Esp.Settings.TextSize,Center=true,Outline=Esp.Settings.TextOutline,Color = Esp.Settings.SleepingColor,ZIndex = 2,Visible=false})
  drawings.Armour = Functions:Draw("Text",{Text = "Naked",Font=Esp.Settings.TextFont,Size=Esp.Settings.TextSize,Center=false,Outline=Esp.Settings.TextOutline,Color = Esp.Settings.ArmourColor,ZIndex = 2,Visible=false})
  drawings.Tool = Functions:Draw("Text",{Text = "Nothing",Font=Esp.Settings.TextFont,Size=Esp.Settings.TextSize,Center=false,Outline=Esp.Settings.TextOutline,Color = Esp.Settings.ToolColor,ZIndex = 2,Visible=false})
  drawings.ViewAngle = Functions:Draw("Line",{Thickness=Esp.Settings.ViewAngleThickness,Transparency=Esp.Settings.ViewAngleTransparrency,Color=Esp.Settings.ViewAngleColor,ZIndex=2,Visible=false})
  drawings.Tracer = Functions:Draw("Line",{Thickness=Esp.Settings.TracerThickness,Transparency=1,Color=Esp.Settings.TracerColor,ZIndex=2,Visible=false})
  drawings.PlayerTable = PlayerTable
  Esp.Players[PlayerTable.model] = drawings
end
function Esp:RemoveEsp(PlayerTable)
  if not PlayerTable and PlayerTable.model ~= nil then return end
  esp = Esp.Players[PlayerTable.model];
  if not esp then return end
  for i, v in pairs(esp) do
      if not type(v) == "table" then
          v:Remove();
      end
  end
  Esp.Players[PlayerTable.model] = nil;
end

function Esp:UpdateEsp()
  for i,v in pairs(Esp.Players) do
      local Character = i
      local Position,OnScreen = Camera:WorldToViewportPoint(Character:GetPivot().Position);
      local scale = 1 / (Position.Z * math.tan(math.rad(Camera.FieldOfView * 0.5)) * 2) * 100;
      local w,h = math.floor(40 * scale), math.floor(55 * scale);
      local x,y = math.floor(Position.X), math.floor(Position.Y);
      local Distance = (CharcaterMiddle:GetPivot().Position-Character:GetPivot().Position).Magnitude
      local BoxPosX,BoxPosY = math.floor(x - w * 0.5),math.floor(y - h * 0.5)
      local offsetCFrame = CFrame.new(0, 0, -4)
      if Character and Character:FindFirstChild("HumanoidRootPart") and Character:FindFirstChild("Head") then
          local TeamTag = Character.Head.Teamtag.Enabled
          if OnScreen == true and Esp.Settings.Boxes == true and Distance <= Esp.Settings.RenderDistance then
              if Esp.Settings.TeamCheck == true and TeamTag == false then 
                  v.BoxOutline.Visible = Esp.Settings.BoxesOutline;v.Box.Visible = true
              elseif Esp.Settings.TeamCheck == true and TeamTag == true then
                  v.BoxOutline.Visible = false;v.Box.Visible = false
              else
                  v.BoxOutline.Visible = Esp.Settings.BoxesOutline;v.Box.Visible = true
              end
              if Esp.Settings.TargetSleepers == true and v.PlayerTable.sleeping == true then
                  v.BoxOutline.Visible = false;v.Box.Visible = false
              end
              v.BoxOutline.Position = Vector2.new(BoxPosX,BoxPosY);v.BoxOutline.Size = Vector2.new(w,h)
              v.Box.Position = Vector2.new(BoxPosX,BoxPosY);v.Box.Size = Vector2.new(w,h)
              v.Box.Color = Esp.Settings.BoxesColor;v.BoxOutline.Color = Esp.Settings.BoxesOutlineColor
          else
              v.BoxOutline.Visible = false;v.Box.Visible = false
          end
          if OnScreen == true and Esp.Settings.Sleeping == true and Distance <= Esp.Settings.RenderDistance then
              if v.PlayerTable.sleeping == true then v.Sleeping.Text = "Sleeping" else v.Sleeping.Text = "Awake" end
              if Esp.Settings.TeamCheck == true and TeamTag == false then  v.Sleeping.Visible = true elseif Esp.Settings.TeamCheck == true and TeamTag == true then v.Sleeping.Visible = false else v.Sleeping.Visible = true end
              if Esp.Settings.TargetSleepers == true and v.PlayerTable.sleeping == true then v.Sleeping.Visible = false end
              v.Sleeping.Outline=Esp.Settings.TextOutline;v.Sleeping.Color=Esp.Settings.SleepingColor;v.Sleeping.Size=math.max(math.min(math.abs(Esp.Settings.TextSize*scale),Esp.Settings.TextSize),Esp.Settings.MinTextSize);v.Sleeping.Color = Esp.Settings.SleepingColor;v.Sleeping.Font=Esp.Settings.TextFont;v.Sleeping.Position = Vector2.new(x,math.floor(y-h*0.5-v.Sleeping.TextBounds.Y))
          else
              v.Sleeping.Visible=false
          end
          if OnScreen == true and Esp.Settings.Distances == true and Distance <= Esp.Settings.RenderDistance then
              if Esp.Settings.TeamCheck == true and TeamTag == false then  v.Sleeping.Visible = true elseif Esp.Settings.TeamCheck == true and TeamTag == true then v.Sleeping.Visible = false else v.Sleeping.Visible = true end
              if Esp.Settings.TargetSleepers == true and v.PlayerTable.sleeping == true then v.Sleeping.Visible = false end

              if Esp.Settings.Sleeping == false then
                  v.Sleeping.Text = math.floor(Distance).."s"
              else
                  v.Sleeping.Text = v.Sleeping.Text.." | "..math.floor(Distance).."s"
              end
              v.Sleeping.Outline=Esp.Settings.TextOutline;v.Sleeping.Color=Esp.Settings.SleepingColor;v.Sleeping.Size=math.max(math.min(math.abs(Esp.Settings.TextSize*scale),Esp.Settings.TextSize),Esp.Settings.MinTextSize);v.Sleeping.Color = Esp.Settings.SleepingColor;v.Sleeping.Font=Esp.Settings.TextFont;v.Sleeping.Position = Vector2.new(x,math.floor(y-h*0.5-v.Sleeping.TextBounds.Y))
          else
              v.Sleeping.Visible = false
          end
          if OnScreen == true and Esp.Settings.Tool == true and Distance <= Esp.Settings.RenderDistance then
              if Esp.Settings.TeamCheck == true and TeamTag == false then v.Tool.Visible = true elseif Esp.Settings.TeamCheck == true and TeamTag == true then v.Tool.Visible = false else v.Tool.Visible = true end
              if Esp.Settings.TargetSleepers == true and v.PlayerTable.sleeping == true then v.Tool.Visible = false end
              v.Tool.Position = Vector2.new(math.floor((BoxPosX+w)+v.Tool.TextBounds.X/10),BoxPosY+v.Tool.TextBounds.Y*1.55*0.5-((v.Tool.TextBounds.Y*2)*0.5)+v.Tool.TextBounds.Y)
              v.Tool.Text=Esp:CheckTools(v.PlayerTable);v.Tool.Outline=Esp.Settings.TextOutline;v.Tool.Size=math.max(math.min(math.abs(Esp.Settings.TextSize*scale),Esp.Settings.TextSize),Esp.Settings.MinTextSize);v.Tool.Color=Esp.Settings.ToolColor;v.Tool.Font=Esp.Settings.TextFont
          else
              v.Tool.Visible = false
          end
          if OnScreen == true and Esp.Settings.Armour == true and Distance <= Esp.Settings.RenderDistance then
              if Character.Armor:FindFirstChildOfClass("Folder") then v.Armour.Text = "Armoured" else v.Armour.Text = "Naked" end
              if Esp.Settings.TeamCheck == true and TeamTag == false then v.Armour.Visible = true elseif Esp.Settings.TeamCheck == true and TeamTag == true then v.Armour.Visible = false else v.Armour.Visible = true end
              if Esp.Settings.TargetSleepers == true and v.PlayerTable.sleeping == true then v.Armour.Visible = false end
              v.Armour.Outline=Esp.Settings.TextOutline;v.Armour.Size = math.max(math.min(math.abs(Esp.Settings.TextSize*scale),Esp.Settings.TextSize),Esp.Settings.MinTextSize);
              v.Armour.Position=Vector2.new(math.floor((BoxPosX+w)+v.Armour.TextBounds.X/10),BoxPosY+v.Armour.TextBounds.Y*1.55*0.5-((v.Armour.TextBounds.Y*2)*0.5));
              v.Armour.Color = Esp.Settings.ArmourColor;v.Armour.Font=Esp.Settings.TextFont
          else
              v.Armour.Visible = false
          end
          if OnScreen == true and Esp.Settings.Tracer == true and Distance <= Esp.Settings.RenderDistance then
              if Esp.Settings.TeamCheck == true and TeamTag == false then v.Tracer.Visible = true elseif Esp.Settings.TeamCheck == true and TeamTag == true then v.Tracer.Visible = false else v.Tracer.Visible = true end
              if Esp.Settings.TargetSleepers == true and v.PlayerTable.sleeping == true then v.Tracer.Visible = false end
              v.Tracer.Color = Esp.Settings.TracerColor;v.Tracer.Thickness=Esp.Settings.TracerThickness;v.Transparency=Esp.Settings.TracerTransparrency;
              if Esp.Settings.TracerFrom == "Bottom" then
                  v.Tracer.From = Vector2.new(Camera.ViewportSize.X/2,Camera.ViewportSize.Y)
                  v.Tracer.To = Vector2.new(x,y+h*0.5)
              elseif Esp.Settings.TracerFrom == "Middle" then
                  v.Tracer.From = Vector2.new(Camera.ViewportSize.X/2,Camera.ViewportSize.Y/2)
                  v.Tracer.To = Vector2.new(x,y)
              else
                  v.Tracer.From = Vector2.new(Camera.ViewportSize.X/2,Camera.ViewportSize.Y/Camera.ViewportSize.Y)
                  if Esp.Settings.Sleeping == true then
                      v.Tracer.To = Vector2.new(x,(y-h)-v.Sleeping.TextBounds.Y*0.5)
                  else
                      v.Tracer.To = Vector2.new(x,y-h*0.5)
                  end
              end
          else
              v.Tracer.Visible = false
          end
          if OnScreen == true and Esp.Settings.ViewAngle == true and Distance <= Esp.Settings.RenderDistance then
              if Esp.Settings.TeamCheck == true and TeamTag == false then v.ViewAngle.Visible = true elseif Esp.Settings.TeamCheck == true and TeamTag == true then v.ViewAngle.Visible = false else v.ViewAngle.Visible = true end
              if Esp.Settings.TargetSleepers == true and v.PlayerTable.sleeping == true then v.ViewAngle.Visible = false end
              v.ViewAngle.Color = Esp.Settings.ViewAngleColor;v.ViewAngle.Thickness=Esp.Settings.ViewAngleThickness;v.Transparency=Esp.Settings.ViewAngleTransparrency;
              local headpos = Camera:WorldToViewportPoint(Character.Head.Position)
              local offsetCFrame = CFrame.new(0, 0, -4)
              v.ViewAngle.From = Vector2.new(headpos.X, headpos.Y)
              local value = math.clamp(1/Distance*100, 0.1, 1)
              local dir = Character.Head.CFrame:ToWorldSpace(offsetCFrame)
              offsetCFrame = offsetCFrame * CFrame.new(0, 0, 0.4)
              local dirpos = Camera:WorldToViewportPoint(Vector3.new(dir.X, dir.Y, dir.Z))
              if OnScreen == true then
                  v.ViewAngle.To = Vector2.new(dirpos.X, dirpos.Y)
                  offsetCFrame = CFrame.new(0, 0, -4)
              end
          else
              v.ViewAngle.Visible = false
          end
      else
          v.Box.Visible=false;v.BoxOutline.Visible=false;v.Tool.Visible=false;v.Armour.Visible=false;v.Sleeping.Visible=false;v.ViewAngle.Visible=false;v.Tracer.Visible=false;
      end
  end
end


--Drawings
local FovCircle = Functions:Draw("Circle",{Filled=Fov.Settings.FovFilled,Color=Fov.Settings.FovColor,Radius=Fov.Settings.FovSize,NumSides=90,Thickness=1,Transparency=Fov.Settings.FovTransparency,ZIndex=2,Visible=false})
local FovSnapline = Functions:Draw("Line",{Transparency=1,Thickness=1,Visible=false})

--Connections
local PlayerUpdater = game:GetService("RunService").RenderStepped
local PlayerConnection = PlayerUpdater:Connect(function()
  Esp:UpdateEsp()
end)

--Init Functions

for i, v in pairs(getupvalues(getrenv()._G.modules.Player.GetPlayerModel)[1]) do
  if not table.find(cache,v) then
      table.insert(cache,v)
      Esp:CreateEsp(v)
  end
end











game:GetService("Workspace").ChildAdded:Connect(function(child)
  if child:FindFirstChild("HumanoidRootPart") then
      for i, v in pairs(getupvalues(getrenv()._G.modules.Player.GetPlayerModel)[1]) do
          if not table.find(cache,v) then
              Esp:CreateEsp(v)
              table.insert(cache,v)
          end
      end
  end
end)



local Library = loadstring(game:HttpGet('https://raw.githubusercontent.com/BigHacker123/Library.lua/main/Library.lua'))()
local SaveManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/violin-suzutsuki/LinoriaLib/main/addons/SaveManager.lua'))()
local ThemeManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/onlyanth/ASTRAL/main/ManagerV2.lua'))()
local skybox_assets = loadstring(game:HttpGet("https://raw.githubusercontent.com/BigHacker123/skybox/main/.lua", true))()


--// Create UI
local Build = "Full Undetected"
local Color = "#FF0000"
local Ver = "2.00"

if Build == "Standard" then Color = '#00FF00' Ver = "1.1"
elseif Build == "Full Undetected" then Color = '#FF0000' Ver = "2.0"
elseif Build == "Personal" then Color = '#0000FF' Ver = "1.1"
end

local Window = Library:CreateWindow({ Size = UDim2.fromOffset(550, 610),
Title = "Astral.<font color=\"#d17bff\">pro</font> | ".."<font color=\""..Color.."\">"..Build.."</font>".."                               [v"..Ver.."]",
Center = true,
AutoShow = true,
})

local CustomTopText = Drawing.new("Text")
CustomTopText.Text = "Astral [Semi-Bypass Public] - discord.gg/astralttm"
CustomTopText.Visible = true
CustomTopText.Transparency = 1
CustomTopText.Size = 15
CustomTopText.Outline = true
CustomTopText.Center = true
CustomTopText.Font = 3
CustomTopText.Color = Color3.fromRGB(255, 255, 255)
CustomTopText.Position = Vector2.new(Camera.ViewportSize.X / 2,0)

Library:SetWatermark('Astral TS')


local Tabs = {Combat = Window:AddTab('Combat'),Visual = Window:AddTab('Visual'),Misc=Window:AddTab('Miscellaneous'),['UISettings'] = Window:AddTab('UI Settings'),}

local SilentTabbox = Tabs.Combat:AddLeftTabbox()
local SilentTab = SilentTabbox:AddTab('Silent Aim')
local FovTabbox = Tabs.Combat:AddLeftTabbox()
local FovTab = FovTabbox:AddTab('Fov')
local AntiAIM = Tabs.Combat:AddLeftTabbox()
local AntiAIM = AntiAIM:AddTab('Anti AIM')


local SpinBotTabbox = Tabs.Combat:AddRightTabbox()
local SpinBotTab = SpinBotTabbox:AddTab('Spinbot')
local HBExpanderTabbox = Tabs.Combat:AddRightTabbox()
local HBExpanderTab = HBExpanderTabbox:AddTab('Force Hitbox Expansion')
local GunModsTabbox = Tabs.Combat:AddRightTabbox()
local GunModsTab = GunModsTabbox:AddTab('Modifications')
local CustomHitsoundsTabBox = Tabs.Misc:AddLeftTabbox('Custom Hitsounds')
local PlayerHitsoundsTab = CustomHitsoundsTabBox:AddTab('Player Hitsounds')
local NatureHitsoundsTab = CustomHitsoundsTabBox:AddTab('Nature Hitsounds')

local sounds = {
  ["Defualt Headshot Hit"] = "rbxassetid://9119561046",
  ["Defualt Body Hit"] = "rbxassetid://9114487369",
  ["Defualt Wood Hit"] = "rbxassetid://9125573608",
  ["Defualt Rock Hit"] = "rbxassetid://9118630389",
  Neverlose = "rbxassetid://8726881116",
  Gamesense = "rbxassetid://4817809188",
  One = "rbxassetid://7380502345",
  Bell = "rbxassetid://6534947240",
  Rust = "rbxassetid://1255040462",
  TF2 = "rbxassetid://2868331684",
  Slime = "rbxassetid://6916371803",
  ["Among Us"] = "rbxassetid://5700183626",
  Minecraft = "rbxassetid://4018616850",
  ["CS:GO"] = "rbxassetid://6937353691",
  Saber = "rbxassetid://8415678813",
  Baimware = "rbxassetid://3124331820",
  Osu = "rbxassetid://7149255551",
  ["TF2 Critical"] = "rbxassetid://296102734",
  Bat = "rbxassetid://3333907347",
  ["Call of Duty"] = "rbxassetid://5952120301",
  Bubble = "rbxassetid://6534947588",
  Pick = "rbxassetid://1347140027",
  Pop = "rbxassetid://198598793",
  Bruh = "rbxassetid://4275842574",
  Bamboo = "rbxassetid://3769434519",
  Crowbar = "rbxassetid://546410481",
  Weeb = "rbxassetid://6442965016",
  Beep = "rbxassetid://8177256015",
  Bambi = "rbxassetid://8437203821",
  Stone = "rbxassetid://3581383408",
  ["Old Fatality"] = "rbxassetid://6607142036",
  Click = "rbxassetid://8053704437",
  Ding = "rbxassetid://7149516994",
  Snow = "rbxassetid://6455527632",
  Laser = "rbxassetid://7837461331",
  Mario = "rbxassetid://2815207981",
  Steve = "rbxassetid://4965083997",
  Snowdrake = "rbxassetid://7834724809"
  }

local SoundService = game:GetService("SoundService")

SoundService.PlayerHitHeadshot.Volume = 5
SoundService.PlayerHitHeadshot.Pitch = 1
SoundService.PlayerHitHeadshot.EqualizerSoundEffect.HighGain = -2

-- GAME 
PlayerHitsoundsTab:AddToggle('Enabled_Toggle1', {Text = 'Enabled', Default = false})

PlayerHitsoundsTab:AddDropdown('HeadshotHit', {Values = { 'Defualt Headshot Hit','Neverlose','Gamesense','One','Bell','Rust','TF2','Slime','Among Us','Minecraft','CS:GO','Saber','Baimware','Osu','TF2 Critical','Bat','Call of Duty','Bubble','Pick','Pop','Bruh','Bamboo','Crowbar','Weeb','Beep','Bambi','Stone','Old Fatality','Click','Ding','Snow','Laser','Mario','Steve','Snowdrake' },Default = 1, Multi = false, Text = 'Head Hitsound:'})
Options.HeadshotHit:OnChanged(function()
local soundId = sounds[Options.HeadshotHit.Value]
game:GetService("SoundService").PlayerHitHeadshot.SoundId = soundId
end)

PlayerHitsoundsTab:AddSlider('Volume_Slider', {Text = 'Volume', Default = 5, Min = 0, Max = 10, Rounding = 0, Compact = true,}):OnChanged(function(vol)
SoundService.PlayerHitHeadshot.Volume = vol
end)

PlayerHitsoundsTab:AddSlider('Pitch_Slider', {Text = 'Pitch', Default = 1, Min = 0, Max = 2, Rounding = 1, Compact = true,}):OnChanged(function(pich)
SoundService.PlayerHitHeadshot.Pitch = pich
end)
--
PlayerHitsoundsTab:AddToggle('Enabled_Toggle2', {Text = 'Enabled', Default = false})

PlayerHitsoundsTab:AddDropdown('Hit', {Values = { 'Defualt Body Hit','Neverlose','Gamesense','One','Bell','Rust','TF2','Slime','Among Us','Minecraft','CS:GO','Saber','Baimware','Osu','TF2 Critical','Bat','Call of Duty','Bubble','Pick','Pop','Bruh','Bamboo','Crowbar','Weeb','Beep','Bambi','Stone','Old Fatality','Click','Ding','Snow','Laser','Mario','Steve','Snowdrake' },Default = 1, Multi = false, Text = 'Body Hitsound:'})
Options.Hit:OnChanged(function()
local soundId = sounds[Options.Hit.Value]
game:GetService("SoundService").PlayerHit2.SoundId = soundId
end)

PlayerHitsoundsTab:AddSlider('Volume_Slider', {Text = 'Volume', Default = 5, Min = 0, Max = 10, Rounding = 0, Compact = true,}):OnChanged(function(vole)
SoundService.PlayerHit2.Volume = vole
end)

PlayerHitsoundsTab:AddSlider('Pitch_Slider', {Text = 'Pitch', Default = 1, Min = 0, Max = 2, Rounding = 1, Compact = true,}):OnChanged(function(piche)
SoundService.PlayerHit2.Pitch = piche
end)

--* Nature Hitsounds *--

NatureHitsoundsTab:AddToggle('Enabled_Toggle2', {Text = 'Enabled', Default = false})

NatureHitsoundsTab:AddDropdown('WoodHit', {Values = { 'Defualt Wood Hit','Neverlose','Gamesense','One','Bell','Rust','TF2','Slime','Among Us','Minecraft','CS:GO','Saber','Baimware','Osu','TF2 Critical','Bat','Call of Duty','Bubble','Pick','Pop','Bruh','Bamboo','Crowbar','Weeb','Beep','Bambi','Stone','Old Fatality','Click','Ding','Snow','Laser','Mario','Steve','Snowdrake' },Default = 1, Multi = false, Text = 'Wood Hitsound:'})
Options.WoodHit:OnChanged(function()
local soundId = sounds[Options.WoodHit.Value]
game:GetService("SoundService").WoodHit.SoundId = soundId
end)

NatureHitsoundsTab:AddSlider('Volume_Slider', {Text = 'Volume', Default = 5, Min = 0, Max = 10, Rounding = 0, Compact = true,}):OnChanged(function(vole)
SoundService.WoodHit.Volume = vole
end)

NatureHitsoundsTab:AddSlider('Pitch_Slider', {Text = 'Pitch', Default = 1, Min = 0, Max = 2, Rounding = 1, Compact = true,}):OnChanged(function(piche)
SoundService.WoodHit.Pitch = piche
end)
--
NatureHitsoundsTab:AddToggle('Enabled_Toggle1', {Text = 'Enabled', Default = false})

NatureHitsoundsTab:AddDropdown('RockHit', {Values = { 'Defualt Rock Hit','Neverlose','Gamesense','One','Bell','Rust','TF2','Slime','Among Us','Minecraft','CS:GO','Saber','Baimware','Osu','TF2 Critical','Bat','Call of Duty','Bubble','Pick','Pop','Bruh','Bamboo','Crowbar','Weeb','Beep','Bambi','Stone','Old Fatality','Click','Ding','Snow','Laser','Mario','Steve','Snowdrake' },Default = 1, Multi = false, Text = 'Rock Hitsound:'})
Options.RockHit:OnChanged(function()
local soundId = sounds[Options.RockHit.Value]
game:GetService("SoundService").RockHit.SoundId = soundId
end)

NatureHitsoundsTab:AddSlider('Volume_Slider', {Text = 'Volume', Default = 5, Min = 0, Max = 10, Rounding = 0, Compact = true,}):OnChanged(function(vol)
SoundService.RockHit.Volume = vol
end)

NatureHitsoundsTab:AddSlider('Pitch_Slider', {Text = 'Pitch', Default = 1, Min = 0, Max = 2, Rounding = 1, Compact = true,}):OnChanged(function(pich)
SoundService.RockHit.Pitch = pich
end)


SilentTab:AddToggle('SilentAim',{Text='Enabled',Default=true}):AddKeyPicker('SilentKey', {Default='MB2',SyncToggleState=true,Mode='Hold',Text='Silent Aim',NoUI=false}):OnChanged(function(Value)
  Combat.Settings.SilentEnabled = Value
end)
SilentTab:AddToggle('TeamCheck',{Text='Team Check',Default=true}):OnChanged(function(Value)
  Combat.Settings.TeamCheck = Value
end)
SilentTab:AddToggle('SleeperCheck',{Text='Sleeper Check',Default=true}):OnChanged(function(Value)
  Combat.Settings.SleeperCheck = Value
end)
SilentTab:AddSlider('HitChance', {Text='Hit Chance',Default=100,Min=0,Max=100,Rounding=0,Compact=false,Suffix="%"}):OnChanged(function(Value)
  Combat.Settings.SilentHitChance = Value
end)
SilentTab:AddSlider('LegitNess', {Text='Legitness',Default=0,Min=0,Max=100,Rounding=0,Compact=false,Suffix="%"}):OnChanged(function(Value)
  warn("checked")
end)
SilentTab:AddDropdown('SilentHitpart', {Values = {"Head","HumanoidRootPart","Torso"},Default = 1,Multi = false,Text = 'Hitpart'}):OnChanged(function(Value)
  Combat.Settings.SilentAimPart = Value
end)


FovTab:AddToggle('Fov',{Text='Fov',Default=false}):AddColorPicker('FovColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
FovTab:AddSlider('FovSize', {Text='Size',Default=90,Min=5,Max=500,Rounding=0,Compact=false,Thickness = 3}):OnChanged(function(Value)
  Fov.Settings.FovSize = Value;FovCircle.Radius = Value
end)
FovTab:AddToggle('Snapline',{Text='Snapline',Default=false}):AddColorPicker('SnaplineColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
FovTab:AddDropdown('FovPosition', {Values = {"Screen","Mouse"},Default = 2,Multi = false,Text = 'Posiiton'}):OnChanged(function(Value)
  Fov.Settings.FovPosition = Value
end)
FovTab:AddToggle('Filled',{Text='Filled',Default=false}):OnChanged(function(Value)
  Fov.Settings.FovFilled = Value;FovCircle.Filled = Value
end)
FovTab:AddSlider('Transparency', {Text='Transparency',Default=1,Min=0,Max=1,Rounding=2,Compact=false,Suffix="%"}):OnChanged(function(Value)
  Fov.Settings.FovTransparency = Value;FovCircle.Transparency = Value
end)


--Fov Switches
Toggles.Snapline:OnChanged(function(Value)
  Fov.Settings.Snapline = Value
  FovSnapline.Visible = Value
end)
Options.SnaplineColor:OnChanged(function(Value)
  Fov.Settings.SnaplineColor = Value
  FovSnapline.Color=Value
end)


LPH_JIT_MAX(function()
--** Hitbox Expander **--
local SizeX = 0
local SizeY = 0
local SizeZ = 0
local OriginalHeadSize = Vector3.new(1.672248125076294, 0.835624098777771, 0.835624098777771)
local On = false
local function UpdateHeadSizes(newvalue)
  local ToggleValue = newvalue
  for i, v in pairs(game:GetService("Workspace"):GetChildren()) do
      if v:FindFirstChild("HumanoidRootPart") and v:FindFirstChild("Head") then
          local hasFakeHead = v:FindFirstChild("FakeHead")
          
          if ToggleValue then
              if not hasFakeHead then
                  local FakeHead = v.Head:Clone()
                  FakeHead.Name = "FakeHead"
                  FakeHead.Parent = v
                  FakeHead.Transparency = 0
                  FakeHead.Rotation = v.Head.Rotation
              end
              
              if not hasFakeHead then
                  v.Head.Size = Vector3.new(SizeX, SizeY, SizeZ)
                  v.Head.Transparency = 0.7
                  v.Head.CanCollide = false
                  v.Head.Nametag.Enabled = false
              end
          else
              if hasFakeHead then
                  v.FakeHead:Destroy()
              end
              
              v.Head.Size = OriginalHeadSize
              v.Head.Nametag.Enabled = true
              v.Head.Transparency = 0
          end
      end
  end
end
end)()


HBExpanderTab:AddToggle('HitboxExpander',{Text='Toggle (RISK BAN)',Default=false}):OnChanged(function(Value)
  On = Value
  if Value == true then
      while Value == true do
          for i,v in pairs(game:GetService("Workspace"):GetChildren()) do
              if v:FindFirstChild("HumanoidRootPart") and v:FindFirstChild("Head") then
                  if not v:FindFirstChild("FakeHead") then
                      local FakeHead = v.Head:Clone()
                      FakeHead.Name = "FakeHead"
                      FakeHead.Parent = v
                      FakeHead.Transparency = 0
                      FakeHead.Rotation = v.Head.Rotation
                      
                      v.Head.Size = Vector3.new(SizeX,SizeY,SizeZ)
                      v.Head.Transparency = 0.7
                      v.Head.CanCollide = false
                      v.Head.Nametag.Enabled = false
                  end
              end
          end
          wait(3)
      end
  else
      if Value == false then
          for i,v in pairs(game:GetService("Workspace"):GetChildren()) do
              if v:FindFirstChild("HumanoidRootPart") and v:FindFirstChild("Head") then
                  if v:FindFirstChild("FakeHead") then
                      v.FakeHead:Destroy()
                      v.Head.Size = OriginalHeadSize
                      v.Head.Nametag.Enabled = true
                  end
              end
          end
      end
  end
end)

HBExpanderTab:AddSlider('HBX', {Text='X Size (DONT PUT MAX)',Default=1,Min=0,Max=4,Rounding=2,Compact=false,Suffix="Size"}):OnChanged(function(Value)
  SizeX = Value
  if On then
      Toggles.HitboxExpander:SetValue(false)
      wait()
      Toggles.HitboxExpander:SetValue(true)
  else
      Toggles.HitboxExpander:SetValue(false)
  end
end)

HBExpanderTab:AddSlider('HBY', {Text='Y Size (DONT PUT MAX)',Default=1,Min=0,Max=6,Rounding=2,Compact=false,Suffix="SIze"}):OnChanged(function(Value)
  SizeY = Value
  if On then
      Toggles.HitboxExpander:SetValue(false)
      wait()
      Toggles.HitboxExpander:SetValue(true)
  else
      Toggles.HitboxExpander:SetValue(false)
  end
end)

HBExpanderTab:AddSlider('HBZ', {Text='Z Size (DONT PUT MAX)',Default=1,Min=0,Max=4,Rounding=2,Compact=false,Suffix="Size"}):OnChanged(function(Value)
  SizeZ = Value
  if On then
      Toggles.HitboxExpander:SetValue(false)
      wait()
      Toggles.HitboxExpander:SetValue(true)
  else
      Toggles.HitboxExpander:SetValue(false)
  end
end)
HBExpanderTab:AddToggle('Wanr',{Text='Shoot Through Walls',Default=false}):OnChanged(function(Value)
warn("success")
end)

SpinBotTab:AddToggle('SpinBotEnabled',{Text='Enabled',Default=false}):AddKeyPicker('SpinbotKey', {Default='K',SyncToggleState=true,Mode='Toggle',Text='Spinbot',NoUI=false})
SpinBotTab:AddSlider('SpinBotSpeed', {Text='Speed',Default=23,Min=1,Max=22,Rounding=0,Compact=false}):OnChanged(function(Value)
  Spinbot.Settings.Speed = Value
end)
SpinBotTab:AddDropdown('SpinMode', {Values = {"Down","Up","Anti-Aim"},Default = 3,Multi = false,Text = 'Mode'}):OnChanged(function(Value)
  Spinbot.Settings.Mode = Value
end)
SpinBotTab:AddToggle('SpinBotForceCrouch',{Text='Force Crouch',Default=false}):OnChanged(function(Value)
  Spinbot.Settings.ForceCrouch = Value
end)

-- AntiAims

local AA = {
  SpinBot = false,
  Jiters = false,
  Random = false
}

AntiAIM:AddDropdown('AntiAimsDroop', {
Values = { 'None','SpinBot','Jiters','Random' },
Default = 1,
Multi = false,
Text = 'AA',
Tooltip = nil,
})
Options.AntiAimsDroop:OnChanged(function(AAVers)
  if AAVers == 'None' then
      AA.SpinBot = false
      AA.Jiters = false
      AA.Random = false 
  elseif AAVers == 'SpinBot' then
      AA.Jiters = false
      AA.SpinBot = true
      AA.Random = false 
  elseif AAVers == 'Jiters' then
      AA.Jiters = true
      AA.SpinBot = false
      AA.Random = false 
  elseif AAVers == 'Random' then    
      AA.Random = true 
      AA.Jiters = false
      AA.SpinBot = false
  end
end)

--Locals
local middle = game.Workspace.Ignore.LocalCharacter.Middle
local spin = 0

local OldFireServer;
OldFireServer = hookfunction(Instance.new'RemoteEvent'.FireServer, newcclosure(LPH_NO_VIRTUALIZE(function(Event, ...)
  local args = {...}
  if AA.SpinBot == true then  
      if not checkcaller() then
          if args[2] == middle.Position then
              args[3] = -1.5
              if spin == 0 then
                  args[4] = -1.5
                  spin = 1
              elseif spin == 1 then
                  args[4] = -4.5
                  spin = 2
              elseif spin == 2 then
                  args[4] = -5.5
                  spin = 3
              elseif spin == 3 then
                  args[4] = 2
                  spin = 4
              elseif spin == 4 then
                  args[4] = 5
                  spin = 0   
              end
              if args[4] > 0 then
                  args[4] = args[4]/-1
              end
          end
      end
  elseif AA.Jiters == true then  
      if not checkcaller() then
          if args[2] == middle.Position then
              args[3] = -1.5
              if spin == 0 then
                  args[4] = -0.7
                  spin = 1
              elseif spin >= 1 then
                  args[4] = 0.5
                  spin = 0
              end
              if args[4] > 0 then
                  args[4] = args[4]/-1
              end
          end
      end
  elseif AA.Random == true then
      local Random = math.random(0,1)
      if not checkcaller() then
          if args[2] == middle.Position then
              if Random == 0 then
                  args[3] = -1.5
                  if spin == 0 then
                      args[4] = -1.5
                      spin = 1
                  elseif spin == 1 then
                      args[4] = -4.5
                      spin = 2
                  elseif spin == 2 then
                      args[4] = -5.5
                      spin = 3
                  elseif spin == 3 then
                      args[4] = 2
                      spin = 4
                  elseif spin == 4 then
                      args[4] = 5
                      spin = 0   
                  end
                  if args[4] > 0 then
                      args[4] = args[4]/-1
                  end
              else
                  args[3] = -1.5
                  if spin == 0 then
                      args[4] = -1.5
                      spin = 1
                  elseif spin >= 1 then
                      args[4] = -4.5
                      spin = 0
                  end
                  if args[4] > 0 then
                      args[4] = args[4]/-1
                  end
              end
          end
      end
  end
  return OldFireServer(Event,unpack(args))
end)))



-- AIMING OFFSET

local AimingOffSet = false

GunModsTab:AddToggle('AimingOffSet', {Text = 'Aiming Offset', Default = false}):OnChanged(function(Value)
  AimingOffSet = Value
end)

LPH_JIT_MAX(function()
local originalSetVMAimingOffset = getrenv()._G.modules.Camera.SetVMAimingOffset

getrenv()._G.modules.Camera.SetVMAimingOffset = function(...)
  local args = {...}
  if not AimingOffSet then
      return originalSetVMAimingOffset(...)
  end
end
end)()


-- BULLET TRACERS

local Markeroid = {
  HitTracer = {
      Enabled = true,
      Texture = "rbxassetid://7071778278",
      Color = Color3.new(0, 1, 0)
  },
  HitMarker = {
      Enabled = true,
      Texture = "rbxassetid://316279304",
      Color = Color3.new(0, 1, 0),
      Size = UDim2.new(1, 50, 1, 50)
  },
  HitLog = {
      Enabled = false,
      Color = Color3.new(0, 1, 0),
      TextSize = 19,
      TextFond = 1
  }
}

GunModsTab:AddToggle('HitTracerEnabledToggle', { Text = 'Hit Tracer Enabled', Default = false, Tooltip = nil, })
Toggles.HitTracerEnabledToggle:OnChanged(function(HitTracerEnabledToggleValue)
  Markeroid.HitTracer.Enabled = HitTracerEnabledToggleValue
end)
GunModsTab:AddDropdown('HitTracerTextureDropDown',{ 
  Values = { "Beam","Beam 2","DNK","Wave" }, 
  Default = 1, 
  Multi = false, 
  Text = 'Texture', 
  Tooltip = nil, 
})
Options.HitTracerTextureDropDown:OnChanged(function(HitTracerTextureDropDownValue)
  if HitTracerTextureDropDownValue == "Beam" then
      Markeroid.HitTracer.Texture = 'rbxassetid://446111271'
  elseif HitTracerTextureDropDownValue == "Beam 2" then
      Markeroid.HitTracer.Texture = 'rbxassetid://7216850022'
  elseif HitTracerTextureDropDownValue == "DNK" then 
      Markeroid.HitTracer.Texture = 'rbxassetid://7071778278'
  elseif HitTracerTextureDropDownValue == "Wave" then 
      Markeroid.HitTracer.Texture = 'rbxassetid://13832105797'
  end
end)
GunModsTab:AddLabel('Color'):AddColorPicker('TracerColor', { Default = Color3.new(0, 1, 0), Title = 'Tracer Color', })
Options.TracerColor:OnChanged(function(TracerColorValue)
  Markeroid.HitTracer.Color = TracerColorValue
end)

local Xf = getrenv()._G.modules.Network
local _f;
_f = hookfunction(game.Players.LocalPlayer:FindFirstChild("RemoteEvent").FireServer, LPH_NO_VIRTUALIZE(function(G, ...)
  local w = { ... }
  local workspace = game.Workspace
  if w[1] == 10 and w[2] == "Hit" and w[5] then
    task.spawn(function()
      local m = nil
      if w[8] then
        m = w[8]
      else
        m = w[3]
      end
      repeat
        wait()
      until m ~= nil
      if typeof(m) == "Vector3" then
        local z, h = workspace.CurrentCamera:WorldToViewportPoint(m); 
        local R = false;
        local c = Instance.new("Part");
        c.CanCollide = false;
        c.Anchored = true;
        c.Parent = workspace;
        local V = Instance.new("Attachment");
        V.Position = workspace.Ignore.LocalCharacter.Middle.Position;
        V.Parent = c;
        V.Visible = false;
        local F = Instance.new("Attachment");
        F.Position = m;
        F.Parent = c;
        F.Visible = false;
        local _ = Instance.new("Beam");
        _.Enabled = Markeroid.HitTracer.Enabled;
        _.Brightness = 10;
        _.LightInfluence = 0.75;
        _.LightEmission = 0.1;
        _.Attachment0 = V;
        _.Attachment1 = F;
        _.Texture = Markeroid.HitTracer.Texture;
        _.TextureLength = 7;
        _.TextureMode = "Stretch";
        _.TextureSpeed = 6.21;
        _.Color = ColorSequence.new({
            ColorSequenceKeypoint.new(0, Markeroid.HitTracer.Color),
            ColorSequenceKeypoint.new(0.5, Markeroid.HitTracer.Color),
            ColorSequenceKeypoint.new(1, Markeroid.HitTracer.Color)
        });
        _.Transparency = NumberSequence.new(0);
        _.Parent = c;
        _.CurveSize0 = 0;
        _.CurveSize1 = 0;
        _.FaceCamera = true;
        _.Segments = 10;
        _.Width0 = 2;
        _.Width1 = 2;
        _.ZOffset = 0;
        wait(1); 
        c:Destroy();
      end
    end)
  end
  return _f(G, unpack(w));
end));


--Combat Connections
game:GetService("RunService").RenderStepped:Connect(function()
  if Functions:GetClosest() ~= nil and Toggles.Snapline.Value == true then
      local p,t = Functions:GetClosest()
      FovSnapline.Visible = true
      local Position,OnScreen = Camera:WorldToViewportPoint(Functions:GetClosest()[Combat.Settings.SilentAimPart]:GetPivot().p+Functions:Predict());
      if Combat.Settings.TeamCheck == true and Functions:GetClosest().Head.Teamtag.Enabled == false and OnScreen == true then
          FovSnapline.To = Position
      elseif OnScreen == true then
          FovSnapline.To = Position
      end
  else
      FovSnapline.Visible = false
  end
  Fov.Settings.RealFovSize=FovCircle.Radius
  if Fov.Settings.Dynamic == true then
      local set = Fov.Settings.FovSize * ((Fov.Settings.FovSize-Camera.FieldOfView)/100 + 1) + 5
      FovCircle.Radius = set
  else
      FovCircle.Radius=Fov.Settings.FovSize
  end
  if Fov.Settings.FovPosition == "Screen" then
      FovCircle.Position = Vector2.new(Camera.ViewportSize.X/2,Camera.ViewportSize.Y/2)
      FovSnapline.From=FovCircle.Position
  else
      local MousePos = Camera.WorldToViewportPoint(Camera,game.Players.LocalPlayer:GetMouse().Hit.p)
      FovCircle.Position = Vector2.new(MousePos.X,MousePos.Y)
      FovSnapline.From=FovCircle.Position
  end
end)

--Combat Switches
Toggles.SpinBotEnabled:OnChanged(function(Value)
  Spinbot.Settings.Enabled = Value
end)
Toggles.Fov:OnChanged(function(Value)
  Fov.Settings.FovEnabled = Value
  FovCircle.Visible = Value
end)
Options.FovColor:OnChanged(function(Value)
  Fov.Settings.FovColor = Value
  FovCircle.Color = Value
end)

local PlayerVisualTabbox = Tabs.Visual:AddLeftTabbox()
local PlayerVisualTab = PlayerVisualTabbox:AddTab('Players')
local PlayerSettingsVisualTab = PlayerVisualTabbox:AddTab('Settings')
local PlayerVisualTabbox = Tabs.Visual:AddRightTabbox()
local World = PlayerVisualTabbox:AddTab('World ESP')
local PlayerVisualTabbox = Tabs.Visual:AddRightTabbox()
local Skin = PlayerVisualTabbox:AddTab('SkinChanger')

PlayerVisualTab:AddToggle('Boxes',{Text='Boxes',Default=false}):AddColorPicker('BoxesColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'}):AddColorPicker('BoxesOutlineColor',{Default=Color3.fromRGB(0,0,0),Title='Color'})
PlayerVisualTab:AddToggle('Sleeping',{Text='Sleeping',Default=false}):AddColorPicker('SleepingColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
PlayerVisualTab:AddToggle('Distances',{Text='Distance',Default=false}):AddColorPicker('DistancesColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
PlayerVisualTab:AddToggle('Armour',{Text='Armour',Default=false}):AddColorPicker('ArmourColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
PlayerVisualTab:AddToggle('Tool',{Text='Tool',Default=false}):AddColorPicker('ToolColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
PlayerVisualTab:AddToggle('ViewAngle',{Text='View Angle',Default=false}):AddColorPicker('ViewAngleColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
PlayerVisualTab:AddToggle('Tracer',{Text='Tracer',Default=false}):AddColorPicker('TracerColor',{Default=Color3.fromRGB(155, 95, 255),Title='Color'})
-- STORAGE
World:AddToggle('STORAGEfag',{Text='Crate ESP',Default=false}):OnChanged(function(monkey99)
  if monkey99 then
    local function onPartAdded(part)
        if part:IsA("Part") and part.BrickColor == BrickColor.new("Linen") and part.Material == Enum.Material.WoodPlanks then
            local parent = part.Parent
            if parent and parent:IsA("Model") and #parent:GetChildren() == 2 then
                local MilitaryEsp = Instance.new("BoxHandleAdornment")
                MilitaryEsp.Adornee = part
                MilitaryEsp.AlwaysOnTop = true
                MilitaryEsp.ZIndex = 0
                MilitaryEsp.Size = part.Size
                MilitaryEsp.Name = "MilitaryCrate"
                MilitaryEsp.Transparency = 0.3
                MilitaryEsp.Color = BrickColor.new("Dark Royal blue")
                MilitaryEsp.Parent = workspace.Monkey.StorageESPAdornee
            end
        end
    end
    
    workspace.DescendantAdded:Connect(onPartAdded)
    
    wait(1.5)
    
    
    local parts = workspace:GetDescendants()
    local meshes = {}
    for _, part in ipairs(parts) do
        if part:IsA("UnionOperation") and part.BrickColor == BrickColor.new("Cashmere") and part.Material ==
            Enum.Material.Plastic then
            local PartCrateEsp = Instance.new("BoxHandleAdornment")
            PartCrateEsp.Adornee = part
            PartCrateEsp.AlwaysOnTop = true
            PartCrateEsp.ZIndex = 0
            PartCrateEsp.Size = part.Size
            PartCrateEsp.Name = "PartCrate"
            PartCrateEsp.Transparency = 0.3
            PartCrateEsp.Color = BrickColor.new("Bright yellow")
            PartCrateEsp.Parent = workspace.Monkey.StorageESPAdornee
        end
    end
    
    local function onPartAdded(part)
        if part:IsA("UnionOperation") and part.BrickColor == BrickColor.new("Cashmere") and part.Material ==
            Enum.Material.Plastic then
            local UpdatePartCrateEsp = Instance.new("BoxHandleAdornment")
            UpdatePartCrateEsp.Adornee = part
            UpdatePartCrateEsp.AlwaysOnTop = true
            UpdatePartCrateEsp.ZIndex = 0
            UpdatePartCrateEsp.Size = part.Size
            UpdatePartCrateEsp.Name = "PartCrate"
            UpdatePartCrateEsp.Transparency = 0.3
            UpdatePartCrateEsp.Color = BrickColor.new("Bright yellow")
            UpdatePartCrateEsp.Parent = workspace.Monkey.StorageESPAdornee
        end
    end
    
    workspace.DescendantAdded:Connect(onPartAdded)

else
    for _, v in ipairs(workspace.Monkey.StorageESPAdornee:GetDescendants()) do
        v:Destroy()
    end
end
end)

-- TOTEMS
-- ORES
World:AddToggle('ore4s3',{Text='Stone ESP',Default=false}):OnChanged(function(monkey4)
  if monkey4 then
    local function adornStoneOre(part)
        if part:IsA("MeshPart") and part.BrickColor == BrickColor.new("Flint") and part.Material == Enum.Material.Limestone then
            local parent = part.Parent
            if parent and parent:IsA("Model") and #parent:GetChildren() == 1 then
                local StoneEsp = Instance.new("BoxHandleAdornment")
                StoneEsp.Adornee = part
                StoneEsp.AlwaysOnTop = true
                StoneEsp.ZIndex = 0
                StoneEsp.Size = part.Size
                StoneEsp.Name = "Stone"
                StoneEsp.Transparency = 0.3
                StoneEsp.Color = BrickColor.new("Grey")
                StoneEsp.Parent = workspace.Monkey.OreESPAdornee
            end
        end
    end

    local function onPartAdded(part)
        adornStoneOre(part)
    end

    for _, part in ipairs(workspace:GetDescendants()) do
        adornStoneOre(part)
    end

    workspace.DescendantAdded:Connect(onPartAdded)
else
    for _, v in ipairs(workspace.Monkey.OreESPAdornee:GetDescendants()) do
        if v.Name == "Stone" then
            v:Destroy()
        end
    end
end
end)

World:AddToggle('ores2',{Text='Iron ESP',Default=false}):OnChanged(function(monkey3)
  if monkey3 then
    local parts = workspace:GetDescendants()
    local meshes = {}
    for _, part in ipairs(parts) do
        if part:IsA("MeshPart") and part.BrickColor == BrickColor.new("Burlap") and part.Material == Enum.Material.Slate then
            local IronEsp = Instance.new("BoxHandleAdornment")
            IronEsp.Adornee = part
            IronEsp.AlwaysOnTop = true
            IronEsp.ZIndex = 0
            IronEsp.Size = part.Size
            IronEsp.Name = "Iron"
            IronEsp.Transparency = 0.3
            IronEsp.Color = BrickColor.new("Burlap")
            IronEsp.Parent = workspace.Monkey.OreESPAdornee
        end
    end

    local function onPartAdded(part)
        if part:IsA("MeshPart") and part.BrickColor == BrickColor.new("Burlap") and part.Material == Enum.Material.Slate then
            if monkey3 then
                local UpdateIronEsp = Instance.new("BoxHandleAdornment")
                UpdateIronEsp.Adornee = part
                UpdateIronEsp.AlwaysOnTop = true
                UpdateIronEsp.ZIndex = 0
                UpdateIronEsp.Size = part.Size
                UpdateIronEsp.Name = "Iron"
                UpdateIronEsp.Transparency = 0.3
                UpdateIronEsp.Color = BrickColor.new("Burlap")
                UpdateIronEsp.Parent = workspace.Monkey.OreESPAdornee
            end
        end
    end

    workspace.DescendantAdded:Connect(onPartAdded)
else
    for _, v in ipairs(workspace.Monkey.OreESPAdornee:GetDescendants()) do
        if v.Name == "Iron" then
            v:Destroy()
        end
    end
end
end)

World:AddToggle('ores',{Text='Nitrate ESP',Default=false}):OnChanged(function(monkey2)
  if monkey2 then
    local parts = workspace:GetDescendants()
    local meshes = {}
    for _, part in ipairs(parts) do
        if part:IsA("MeshPart") and part.BrickColor == BrickColor.new("Institutional white") and part.Material ==
            Enum.Material.Slate then
            local NitrateEsp = Instance.new("BoxHandleAdornment")
            NitrateEsp.Adornee = part
            NitrateEsp.AlwaysOnTop = true
            NitrateEsp.ZIndex = 0
            NitrateEsp.Name = "Nitrate"
            NitrateEsp.Size = part.Size
            NitrateEsp.Transparency = 0.3
            NitrateEsp.Color = BrickColor.new("Institutional white")
            NitrateEsp.Parent = workspace.Monkey.OreESPAdornee
        end
    end
    
    local function onPartAdded(part)
        if part:IsA("MeshPart") and part.BrickColor == BrickColor.new("Institutional white") and part.Material ==
            Enum.Material.Slate then
            if monkey2 then
                local UpdateNitrateEsp = Instance.new("BoxHandleAdornment")
                UpdateNitrateEsp.Adornee = part
                UpdateNitrateEsp.AlwaysOnTop = true
                UpdateNitrateEsp.ZIndex = 0
                UpdateNitrateEsp.Size = part.Size
                UpdateNitrateEsp.Name = "Nitrate"
                UpdateNitrateEsp.Transparency = 0.3
                UpdateNitrateEsp.Color = BrickColor.new("Institutional white")
                UpdateNitrateEsp.Parent = workspace.Monkey.OreESPAdornee
            end
        end
    end
    
    workspace.DescendantAdded:Connect(onPartAdded)
else
    for _, v in ipairs(workspace.Monkey.OreESPAdornee:GetDescendants()) do
        if v.Name == "Nitrate" then
            v:Destroy()
        end
    end
end
end)

--Esp Switches
Toggles.ViewAngle:OnChanged(function(Value)
  Esp.Settings.ViewAngle = Value
end)
Options.ViewAngleColor:OnChanged(function(Value)
  Esp.Settings.ViewAngleColor = Value
end)
Toggles.Tracer:OnChanged(function(Value)
  Esp.Settings.Tracer = Value
end)
Options.TracerColor:OnChanged(function(Value)
  Esp.Settings.TracerColor = Value
end)
Toggles.Armour:OnChanged(function(Value)
  Esp.Settings.Armour = Value
end)
Options.ToolColor:OnChanged(function(Value)
  Esp.Settings.ToolColor = Value
end)
Toggles.Tool:OnChanged(function(Value)
  Esp.Settings.Tool = Value
end)
Options.ArmourColor:OnChanged(function(Value)
  Esp.Settings.ArmourColor = Value
end)
Toggles.Armour:OnChanged(function(Value)
  Esp.Settings.Armour = Value
end)
Toggles.Distances:OnChanged(function(Value)
  Esp.Settings.Distances = Value
end)
Options.DistancesColor:OnChanged(function(Value)
  Esp.Settings.DistanceColor = Value
end)
Options.SleepingColor:OnChanged(function(Value)
  Esp.Settings.SleepingColor = Value
end)
Toggles.Sleeping:OnChanged(function(Value)
  Esp.Settings.Sleeping = Value
end)
Options.BoxesColor:OnChanged(function(Value)
  Esp.Settings.BoxesColor = Value
end)
Options.BoxesOutlineColor:OnChanged(function(Value)
  Esp.Settings.BoxesOutlineColor = Value
end)
Toggles.Boxes:OnChanged(function(Value)
  Esp.Settings.Boxes = Value
end)
PlayerSettingsVisualTab:AddSlider('RenderDistance', {Text='Render Distance',Default=1500,Min=1,Max=1500,Rounding=0,Compact=false,Suffix="s"}):OnChanged(function(Value)
  Esp.Settings.RenderDistance = Value
end)
PlayerSettingsVisualTab:AddToggle('TargetSleepers',{Text='Dont Show Sleepers',Default=false}):OnChanged(function(Value)
  Esp.Settings.TargetSleepers = Value
end)
PlayerSettingsVisualTab:AddToggle('BoxesOutlines',{Text='Box Outlines',Default=false}):OnChanged(function(Value)
  Esp.Settings.BoxesOutline = Value
end)
PlayerSettingsVisualTab:AddToggle('TeamCheck',{Text='Team Check',Default=false}):OnChanged(function(Value)
  Esp.Settings.TeamCheck = Value
end)
PlayerSettingsVisualTab:AddToggle('TextOutline',{Text='Text Outlines',Default=false}):OnChanged(function(Value)
  Esp.Settings.TextOutline = Value
end)
PlayerSettingsVisualTab:AddDropdown('TracerPosition',{Values={"Bottom","Middle","Top"},Default=1,Multi=false,Text='Tracer Position'}):OnChanged(function(Value)
  Esp.Settings.TracerFrom = Value
end)

--Misc
local LightingTabbox = Tabs.Misc:AddLeftTabbox()
local LightingTab = LightingTabbox:AddTab('Visuals')
local MiscTabbox = Tabs.Misc:AddRightTabbox()
local MiscTab = MiscTabbox:AddTab('Character Exploits')
local MiscTabbox = Tabs.Misc:AddRightTabbox()
local Bullets = MiscTabbox:AddTab('Customization')
local MiscTabbox = Tabs.Misc:AddRightTabbox()
local Spam = MiscTabbox:AddTab('World Spam')

-- SKIN Changer
local SkinChoice = "Galaxy"
local SkinRBxId = 0
local SkinsEnabled = false

local Framework = {Settings={FullBright=false,Fov=90,LocalChams=false,LocalGunChams=false},SkinChanger={SkinsEnabled=false,SkinChoice="Galaxy",SkinName="Float",SkinRBXAssetId=12319249626}}
function Framework:CheckSkins()
local tbl = {}
for i,v in pairs(game:GetService("ReplicatedStorage").ItemSkins:GetChildren()) do
table.insert(tbl,v.Name)
end
return tbl
end
function Framework:SetCammo(SkinName)
if not require(game:GetService("ReplicatedStorage").ItemConfigs[getrenv()._G.modules.FPS.GetEquippedItem().id]).HandModel then return end
local GunName = require(game:GetService("ReplicatedStorage").ItemConfigs[getrenv()._G.modules.FPS.GetEquippedItem().id]).HandModel
if table.find(Framework:CheckSkins(),GunName) then
local SkinFolder = game:GetService("ReplicatedStorage").ItemSkins[GunName]
if game:GetService("ReplicatedStorage").ItemSkins[GunName]:FindFirstChild(GunName.."_"..SkinName) then
local SkinChosen = game:GetService("ReplicatedStorage").ItemSkins[GunName][GunName.."_"..SkinName]
require(SkinChosen).ApplyToModel(game:GetService("Workspace").Ignore.FPSArms.HandModel)
end
end
end

game:GetService("Workspace").Ignore.FPSArms.ChildAdded:Connect(function()
if game:GetService("Workspace").Ignore.FPSArms:WaitForChild("HandModel") and SkinsEnabled == true then
Framework:SetCammo(SkinChoice)
end
end)

for i,v in pairs(game:GetService("ReplicatedStorage").ItemSkins:GetChildren()) do
if v:FindFirstChild(v.Name.."_".."Galaxy") then
local clone = v:FindFirstChild(v.Name.."_".."Galaxy"):Clone();clone.Parent=game:GetService("ReplicatedStorage").ItemSkins[v.Name];clone.Name = v.Name.."_Frozen"
end
end

Skin:AddToggle('SkinsEnabled', {Text = 'Enabled',Default = false})
Skin:AddDropdown('SkinChoice', {Values = {"Galaxy"},Default = 1,Multi = false,Text = 'Skin:'})
Skin:AddInput('SkinName', {Default = 'Skin',Numeric = false,Finished = false,Text = 'Name:',Placeholder = "Skin Name",})
Skin:AddInput('SkinRBXAssetId', {Default = 0,Numeric = true,Finished = true,Text = 'Asset Id:',Placeholder = "RbxId",})
Skin:AddButton("Load Skin", function()
for i,v in pairs(game:GetService("ReplicatedStorage").ItemSkins:GetChildren()) do
if v:FindFirstChild(v.Name.."_".."Galaxy") and not v:FindFirstChild(v.Name.."_"..SkinChoice) then
local clone = v:FindFirstChild(v.Name.."_".."Galaxy"):Clone();clone.Parent=game:GetService("ReplicatedStorage").ItemSkins[v.Name];clone.Name = v.Name.."_"..SkinChoice
setconstant(require(clone).ApplyToModel,3,"rbxassetid://"..SkinRBxId)
end
end
Framework:SetCammo(SkinChoice)
end)
Skin:AddButton("Save Skin", function()
writefile("TridentFloat/Skins/"..SkinChoice..".skin",game:GetService("HttpService"):JSONEncode({Id=SkinRBxId,Name=SkinChoice}))
end)

Toggles.SkinsEnabled:OnChanged(function()
SkinsEnabled = Toggles.SkinsEnabled.Value
end)
Options.SkinName:OnChanged(function()
SkinChoice = Options.SkinName.Value
end)
Options.SkinRBXAssetId:OnChanged(function()
SkinRBxId = Options.SkinRBXAssetId.Value
end)
Options.SkinChoice:OnChanged(function()
SkinChoice = Options.SkinChoice.Value
end)




Bullets:AddLabel('Custom Inventory:'):AddColorPicker('Inventory_Color', { Default = Color3.fromRGB(80,80,80)})
  Options.Inventory_Color:OnChanged(function(Inventory_Color_Value)
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Armor.ItemSlot26.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Armor.ItemSlot27.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Armor.ItemSlot28.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Armor.ItemSlot29.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot6.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot7.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot8.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot9.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot10.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot11.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot12.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot13.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot14.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot15.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot16.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot17.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot18.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot19.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot20.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot21.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot22.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot23.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot24.BackgroundColor3 = Inventory_Color_Value
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.ItemSlot25.BackgroundColor3 = Inventory_Color_Value
  end)
  
  Bullets:AddLabel('Energy:'):AddColorPicker('Energy_Color_Value', { Default = Color3.fromRGB(197,187,40)})
  Options.Energy_Color_Value:OnChanged(function(Energy_Color_Value)
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.Vitals.EnergyFrame.Energy.BackgroundColor3 = Energy_Color_Value
  end)
  
  Bullets:AddLabel('Health:'):AddColorPicker('Health_Color_Value', { Default = Color3.fromRGB(78,153,74)})
  Options.Health_Color_Value:OnChanged(function(Health_Color_Value)
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.Vitals.HealthFrame.Health.BackgroundColor3 = Health_Color_Value
  end)
  
  Bullets:AddLabel('Ammo:'):AddColorPicker('Ammo_Color_Value', { Default = Color3.fromRGB(255,255,255)})
  Options.Ammo_Color_Value:OnChanged(function(Ammo_Color_Value)
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Ammo.TextColor3 = Ammo_Color_Value
  end)
  
  Bullets:AddSlider('Vitals_Transparency', {Text = 'Vitals Transparency', Suffix = "%", Default = 0.1, Min = 0, Max = 1, Rounding = 2, Compact = true}):OnChanged(function(VitalsTransparency)
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.Vitals.EnergyFrame.Energy.BackgroundTransparency = VitalsTransparency
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.Vitals.HealthFrame.Health.BackgroundTransparency = VitalsTransparency
  end)
  
  Bullets:AddSlider('Background_Transparency', {Text = 'Inventory Transparency', Suffix = "%", Default = 0.7, Min = 0, Max = 1, Rounding = 2, Compact = true}):OnChanged(function(InventoryTransparency)
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Inventory.BackgroundTransparency = InventoryTransparency
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Hotbar.BackgroundTransparency = InventoryTransparency
  game:GetService("Players").LocalPlayer.PlayerGui.GameUI.FPS.BottomCenter.Armor.BackgroundTransparency = InventoryTransparency
  end)

local Terrain = game:GetService("Workspace").Terrain
local GCEN = Color3.fromRGB(93, 111, 55)
local GRCEND = false

LightingTab:AddToggle('CLRG', {Text = 'Color Grass', Default = true, Tooltip = "Off/On"}):AddColorPicker('ColorGrass', {Default = GCEN, Title = 'Changer Color Grass'})
Toggles.CLRG:OnChanged(function(T)
GRCEND = T
Terrain:SetMaterialColor(Enum.Material.Grass, T and GCEN or Color3.fromRGB(93, 111, 55))
end)
Options.ColorGrass:OnChanged(function(Grass1)
if GRCEND then
GCEN = Grass1
Terrain:SetMaterialColor(Enum.Material.Grass, Grass1)
end
end)


local Terrain = game:GetService("Workspace").Terrain
local CloudsColor = Color3.fromRGB(255, 255, 255)
local EnableCustomColor = false

LightingTab:AddToggle('CLRG1', {Text = 'Clouds Color', Default = EnableCustomColor, Tooltip = "Off/On"}):AddColorPicker('ColorGrass1', {Default = CloudsColor, Title = 'Change Clouds Color'})
Toggles.CLRG1:OnChanged(function(T)
EnableCustomColor = T
Terrain.Clouds.Color = T and CloudsColor or Color3.fromRGB(255, 255, 255)
end)
Options.ColorGrass1:OnChanged(function(NewColor)
if EnableCustomColor then
CloudsColor = NewColor
Terrain.Clouds.Color = NewColor
end
end)
local CARMS = false
LightingTab:AddToggle('CLRT',{Text = 'Arm Color',Default = false,Tooltip = "Off/On",}):AddColorPicker('ARCCCC', {Default = Color3.fromRGB(0,0,0),Title = 'Arms Color'})
Options.ARCCCC:OnChanged(function(ARMC)
if CARMS then
  game:GetService("Workspace").Ignore.FPSArms.LeftUpperArm.Color = ARMC
  game:GetService("Workspace").Ignore.FPSArms.LeftLowerArm.Color = ARMC
  game:GetService("Workspace").Ignore.FPSArms.LeftHand.Color = ARMC
  game:GetService("Workspace").Ignore.FPSArms.RightUpperArm.Color = ARMC
  game:GetService("Workspace").Ignore.FPSArms.RightLowerArm.Color = ARMC
  game:GetService("Workspace").Ignore.FPSArms.RightHand.Color = ARMC
else
  game:GetService("Workspace").Ignore.FPSArms.LeftUpperArm.BrickColor = BrickColor.new("Dark stone grey")
  game:GetService("Workspace").Ignore.FPSArms.LeftLowerArm.BrickColor = BrickColor.new("Linen")
  game:GetService("Workspace").Ignore.FPSArms.LeftHand.BrickColor = BrickColor.new("Linen")
  game:GetService("Workspace").Ignore.FPSArms.RightUpperArm.BrickColor = BrickColor.new("Dark stone grey")
  game:GetService("Workspace").Ignore.FPSArms.RightLowerArm.BrickColor = BrickColor.new("Linen")
  game:GetService("Workspace").Ignore.FPSArms.RightHand.BrickColor = BrickColor.new("Linen")
end
end)
Toggles.CLRT:OnChanged(function(T)
CARMS = T
end)

LightingTab:AddDropdown('MaterialD', {Values = { 'Default', 'ForceField', 'Neon', 'CrackedLava' },Default = 1,Multi = false,Text = 'Naterial:',Tooltip = 'Arms Material'}):OnChanged(function()
if Options.MaterialD.Value == "Default" then
  game:GetService("Workspace").Ignore.FPSArms.RightUpperArm.Material = "Fabric"
  game:GetService("Workspace").Ignore.FPSArms.RightLowerArm.Material = "SmoothPlastic"
  game:GetService("Workspace").Ignore.FPSArms.RightHand.Material = "SmoothPlastic"
  game:GetService("Workspace").Ignore.FPSArms.LeftUpperArm.Material = "Fabric"
  game:GetService("Workspace").Ignore.FPSArms.LeftLowerArm.Material = "SmoothPlastic"
  game:GetService("Workspace").Ignore.FPSArms.LeftHand.Material = "SmoothPlastic"
end
if Options.MaterialD.Value == "ForceField" then
  game:GetService("Workspace").Ignore.FPSArms.RightUpperArm.Material = "ForceField"
  game:GetService("Workspace").Ignore.FPSArms.RightLowerArm.Material = "ForceField"
  game:GetService("Workspace").Ignore.FPSArms.RightHand.Material = "ForceField"
  game:GetService("Workspace").Ignore.FPSArms.LeftUpperArm.Material = "ForceField"
  game:GetService("Workspace").Ignore.FPSArms.LeftLowerArm.Material = "ForceField"
  game:GetService("Workspace").Ignore.FPSArms.LeftHand.Material = "ForceField"
end
if Options.MaterialD.Value == "Neon" then
  game:GetService("Workspace").Ignore.FPSArms.RightUpperArm.Material = "Neon"
  game:GetService("Workspace").Ignore.FPSArms.RightLowerArm.Material = "Neon"
  game:GetService("Workspace").Ignore.FPSArms.RightHand.Material = "Neon"
  game:GetService("Workspace").Ignore.FPSArms.LeftUpperArm.Material = "Neon"
  game:GetService("Workspace").Ignore.FPSArms.LeftLowerArm.Material = "Neon"
  game:GetService("Workspace").Ignore.FPSArms.LeftHand.Material = "Neon"
end
if Options.MaterialD.Value == "CrackedLava" then
  game:GetService("Workspace").Ignore.FPSArms.RightUpperArm.Material = "CrackedLava"
  game:GetService("Workspace").Ignore.FPSArms.RightLowerArm.Material = "CrackedLava"
  game:GetService("Workspace").Ignore.FPSArms.RightHand.Material = "CrackedLava"
  game:GetService("Workspace").Ignore.FPSArms.LeftUpperArm.Material = "CrackedLava"
  game:GetService("Workspace").Ignore.FPSArms.LeftLowerArm.Material = "CrackedLava"
  game:GetService("Workspace").Ignore.FPSArms.LeftHand.Material = "CrackedLava"
end
end)

LightingTab:AddInput('', {Default = 'rbxassetid://11414633855', Numeric = false, Finished = true, Text = 'Texture ID:', Placeholder = 'rbxassetid://...'}):OnChanged(function(TextureID)
game:GetService("Workspace").Ignore.FPSArms.LeftUpperArm.TextureID = TextureID
game:GetService("Workspace").Ignore.FPSArms.LeftLowerArm.TextureID = TextureID
game:GetService("Workspace").Ignore.FPSArms.LeftHand.TextureID = TextureID
game:GetService("Workspace").Ignore.FPSArms.RightUpperArm.TextureID = TextureID
game:GetService("Workspace").Ignore.FPSArms.RightLowerArm.TextureID = TextureID
game:GetService("Workspace").Ignore.FPSArms.RightHand.TextureID = TextureID
end)
--------------------------------------------------------------------------------------------------

MiscTab:AddToggle('LootAll',{Text='Loot All',Default=false}):AddKeyPicker('LootAllKey', {Default='Z',SyncToggleState=true,Mode='Toggle',Text='Loot All',NoUI=false})
MiscTab:AddToggle('LiftUp',{Text='Manipulation',Default=false}):AddKeyPicker('LiftUpKey', {Default='F',SyncToggleState=true,Mode='Toggle',Text='Lift Up',NoUI=false})
MiscTab:AddToggle('SpeedHack',{Text='Speed Boost',Default=false}):AddKeyPicker('SpeedHackKey', {Default='H',SyncToggleState=true,Mode='Toggle',Text='Speed Boost',NoUI=false})
MiscTab:AddSlider('SpeedHackSpeed', {Text = 'Speed',Default = 28,Min = 1,Max = 34,Rounding = 0,Compact=false}):OnChanged(function(Value)
  Misc.Settings.SpeedHackSpeed = Value
end)

Toggles.LootAll:OnChanged(function()
  for i = 1, 20 do
      game:GetService("Players").LocalPlayer.RemoteEvent:FireServer(12, i, true)
  end
end)

Toggles.LiftUp:OnChanged(function(Value)
  if Value then
      game:GetService("Workspace").Ignore.LocalCharacter.Middle.CFrame = game:GetService("Workspace").Ignore.LocalCharacter.Middle.CFrame * CFrame.new(-6,0,0)
      wait()
      game:GetService("Workspace").Ignore.LocalCharacter.Middle.Anchored = true
      local air = Instance.new("Part", workspace)
      air.Size = Vector3.new(7, 2, 3)
      air.CFrame = game:GetService("Workspace").Ignore.LocalCharacter.Middle.CFrame + Vector3.new(0, -4, 0)
      air.Transparency = 1
      air.Anchored = true
      air.Name = "Airwalk"
      RUN()
      Toggles.LiftUp:SetValue(false)
  end
end)
Toggles.SpeedHack:OnChanged(function(Value)
  Misc.Settings.SpeedHackEnabled = Value
end)
--Speed Boost
local HPress,Speedy,Speedyk = true,false,false

game:GetService("RunService").RenderStepped:Connect(function(step)
  if Misc.Settings.SpeedHackEnabled == true and Speedy == true then
      for i,v in pairs(game:GetService("Workspace").Ignore.LocalCharacter:GetChildren()) do
          v.CFrame = v.CFrame + Camera.CFrame.LookVector * Misc.Settings.SpeedHackSpeed * step
      end
  end
end)

game:GetService("UserInputService").InputBegan:Connect(function(input)
  if Options.SpeedHackKey:GetState() == true then
      if HPress == true then
          HPress,Speedyk = false,true
      elseif HPress == false then
          HPress,Speedyk = true,false
      end
  end
end)

game:GetService("UserInputService").InputBegan:Connect(function(input)
  if input.KeyCode == Enum.KeyCode.C and Speedyk then
      Speedy = true
  end
end)

game:GetService("UserInputService").InputEnded:Connect(function(input)
  if input.KeyCode == Enum.KeyCode.C then
      Speedy = false
  end
end)

--Hooks
local event = game.Players.LocalPlayer:FindFirstChild("RemoteEvent").FireServer
local value = 1


--Locals


LPH_NO_VIRTUALIZE(function()
  local oldFunction; oldFunction = hookfunction(getupvalues(getrenv()._G.modules.FPS.ToolControllers.BowSpecial.PlayerFire)[4],function(...)
      local args = {...}
      local Player,t = Functions:GetClosest()
      if Combat.Settings.SilentEnabled == true and Player ~= nil and (CharcaterMiddle:GetPivot().Position-Player:GetPivot().Position).Magnitude <= Esp.Settings.RenderDistance and math.random(0,100) <= Combat.Settings.SilentHitChance then
          if not t.sleeping == true then
              args[1] = CFrame.lookAt(args[1].Position,Player[Combat.Settings.SilentAimPart]:GetPivot().p+Functions:Predict())
          end
      end
      return oldFunction(unpack(args))
  end)

  local oldFunctionGun; oldFunctionGun = hookfunction(getupvalues(getrenv()._G.modules.FPS.ToolControllers.RangedWeapon.PlayerFire)[1],function(...)
      local args = {...}
      local Player,t = Functions:GetClosest()
      if Combat.Settings.SilentEnabled == true and Player ~= nil and (CharcaterMiddle:GetPivot().Position-Player:GetPivot().Position).Magnitude <= Esp.Settings.RenderDistance and math.random(0,100) <= Combat.Settings.SilentHitChance then
          if not t.sleeping == true then
              args[1] = CFrame.lookAt(args[1].Position,Player[Combat.Settings.SilentAimPart]:GetPivot().p+Functions:Predict())
          end
      end
      return oldFunction(unpack(args))
  end)
end)()
--// UI Settings \\--
local GameID = Tabs.UISettings:AddLeftGroupbox('Game')

GameID:AddInput('GameID_Check', {Default = 'Game ID', Numeric = true, Finished = false, Text = 'Game ID', Placeholder = 'Game ID Here'})
GameID:AddButton('Join Game', function()
game:GetService("TeleportService"):Teleport(Options.GameID_Check.Value, plr)
end)

local MenuGroup = Tabs.UISettings:AddRightGroupbox('Menu')

MenuGroup:AddLabel(""..game:GetService("Players").LocalPlayer.PlayerGui.GameUI.ServerInfo.Text.."", true)
MenuGroup:AddLabel(' Made By:<font color="#321091">Anth</font>', true)

MenuGroup:AddButton('Unload Script', function() Library:Unload()
for i,v in pairs(Toggles) do
v:SetValue(false)
Library:Notify('Unloaded!', 1)
end
end)

MenuGroup:AddButton('Panic Button', function()
for i,v in pairs(Toggles) do
v:SetValue(false)
Library:Notify('Panic Button!', 1)
end
end)

MenuGroup:AddButton('Rejoin Server', function()
game:GetService('TeleportService'):TeleportToPlaceInstance(game.PlaceId, game.JobId)
Library:Notify('Rejoining Server!', 30)
end)

MenuGroup:AddButton('Copy Join Code', function()
setclipboard(("game:GetService('TeleportService'):TeleportToPlaceInstance(%s, '%s')"):format(game.PlaceId, game.JobId))
Library:Notify("Copied Join Code!", 5)
end)

MenuGroup:AddButton('Copy Discord', function()
if pcall(setclipboard,"https://discord.gg/astralttm") then
Library:Notify('Successfully copied discord link to your clipboard!', 5)
end
end)

MenuGroup:AddToggle('WatermarkToggle', {Text = 'Watermark', Default = false, Tooltip = nil, })
Toggles.WatermarkToggle:OnChanged(function()
Library:SetWatermark('Astral.pro - Destroyer V2.00') Library:SetWatermarkVisibility(Toggles.WatermarkToggle.Value)
end)

MenuGroup:AddToggle('UISettings_KeybindFrameVisibility', {Text = 'Keybind', Default = true}):OnChanged(function()
Library.KeybindFrame.Visible = Toggles.UISettings_KeybindFrameVisibility.Value
end)

MenuGroup:AddLabel('Menu Keybind'):AddKeyPicker('MenuKeybind', { Default = 'RightShift', NoUI = true, Text = 'Menu keybind' })
Library.ToggleKeybind = Options.MenuKeybind

--// Save manager
SaveManager:SetLibrary(Library)
SaveManager:SetFolder('Astral/folder')
SaveManager:BuildConfigSection(Tabs.UISettings)
SaveManager:IgnoreThemeSettings()

--// Theme manager
ThemeManager:SetLibrary(Library)
ThemeManager:SetFolder('Astral/themes')
ThemeManager:ApplyToTab(Tabs.UISettings)

--Wrapping function - needed to unload(Keep at end of script)
loadstring(game:HttpGet('https://raw.githubusercontent.com/EIOlmqV6v1owgJBEoqj5lK9p01SFE2THpxcOnvX/LinoriaBurnEdition/main/LoaderManager.lua'))

function Notify(titletxt, text, time)
  local GUI = Instance.new("ScreenGui")
  local Main = Instance.new("Frame", GUI)
  local title = Instance.new("TextLabel", Main)
  local message = Instance.new("TextLabel", Main)
  GUI.Name = "NotificationOof"
  GUI.Parent = game.CoreGui
  Main.Name = "MainFrame"
  Main.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
  Main.BorderSizePixel = 0
  Main.Position = UDim2.new(1, 5, 0, 50)
  Main.Size = UDim2.new(0, 330, 0, 100)

  title.BackgroundColor3 = Color3.new(0, 0, 0)
  title.BackgroundTransparency = 0.89999997615814
  title.Size = UDim2.new(1, 0, 0, 30)
  title.Font = Enum.Font.SourceSansSemibold
  title.Text = titletxt
  title.TextColor3 = Color3.new(1, 1, 1)
  title.TextSize = 17
  
  message.BackgroundColor3 = Color3.new(0, 0, 0)
  message.BackgroundTransparency = 1
  message.Position = UDim2.new(0, 0, 0, 30)
  message.Size = UDim2.new(1, 0, 1, -30)
  message.Font = Enum.Font.SourceSans
  message.Text = text
  message.TextColor3 = Color3.new(1, 1, 1)
  message.TextSize = 16

  wait(0.1)
  Main:TweenPosition(UDim2.new(1, -330, 0, 50), "Out", "Sine", 0.5)
  wait(time)
  Main:TweenPosition(UDim2.new(1, 5, 0, 50), "Out", "Sine", 0.5)
  wait(0.6)
  GUI:Destroy();
end
Notify("Anti-Ban", "20 minute timer has started!", 5)
task.wait(1200)
Notify("Anti-Ban", "5 minutes left till kick! Get to a safe spot!", 5)
task.wait(300)
Notify("Anti-Ban DONE", "Kicking you now!", 5)

-- rejoin		
game.Players.LocalPlayer:Kick('[ANTI BAN] Saved!')





else
warn(false)
  repeat crash() until nil
end

-- End --

Features & Information

This for Auto Execute Folder

Community Comments (3)

ratssssttsratssssttsAug 3, 2023(edited)

Press f9 in game to see if it loaded

Cato_ScriptCato_ScriptAug 3, 2023(edited)

bud, how do you close the karma.wtf script ui.

ratssssttsratssssttsAug 3, 2023(edited)

its k

More Scripts for [NEW 🗺️] Trident Survival