
Key Required

--// Bendecido Silent Aim - Shindo Life 2 (Mobile Optimized & Compact UI Edition)
--// Engine: Janus & Tesavek Optimizations
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local Settings = {
Enabled = true,
FOV = 120, -- Reducido por defecto para pantallas móviles
ShowFOV = true,
TeamCheck = false,
Prediction = 0.165,
TargetPart = "HumanoidRootPart",
AbilityInfRange = false,
UseWhitelist = false,
UseBlacklist = false,
Whitelist = {},
Blacklist = {}
}
local GuiVisible = true
-- Cache de funciones para 0 Lag
local getrawmetatable = getrawmetatable or get_raw_metatable
local hookmetamethod = hookmetamethod or hook_meta_method
local getnamecallmethod = getnamecallmethod or get_namecall_method
local Vector2_new = Vector2.new
local CFrame_new = CFrame.new
local math_floor = math.floor
local WorldToViewportPoint = Camera.WorldToViewportPoint
local CurrentTarget = nil
local IsDragging = false
--// GUI SETUP (COMPACTO PARA CELULAR)
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "Irving_MobileAim_" .. math.random(10000,99999)
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false
-- Botón Flotante para Ocultar/Mostrar el Menú Completo en Celular
local FloatingToggleBtn = Instance.new("TextButton")
FloatingToggleBtn.Size = UDim2.new(0, 45, 0, 45)
FloatingToggleBtn.Position = UDim2.new(0.02, 0, 0.15, 0)
FloatingToggleBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
FloatingToggleBtn.Text = "⚙️"
FloatingToggleBtn.TextSize = 20
FloatingToggleBtn.Parent = ScreenGui
Instance.new("UICorner", FloatingToggleBtn).CornerRadius = UDim.new(1, 0)
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 240, 0, 270)
MainFrame.Position = UDim2.new(0.15, 0, 0.2, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 22)
MainFrame.BorderSizePixel = 0
MainFrame.Visible = true
MainFrame.Parent = ScreenGui
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 8)
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 25)
Title.BackgroundColor3 = Color3.fromRGB(25, 25, 38)
Title.Text = "🔥 Irving Mobile Aim"
Title.TextColor3 = Color3.fromRGB(255, 80, 80)
Title.TextSize = 12
Title.Font = Enum.Font.GothamBold
Title.Parent = MainFrame
Instance.new("UICorner", Title).CornerRadius = UDim.new(0, 8)
local StatusLabel = Instance.new("TextLabel")
StatusLabel.Size = UDim2.new(1, -10, 0, 20)
StatusLabel.Position = UDim2.new(0, 5, 0, 30)
StatusLabel.BackgroundTransparency = 1
StatusLabel.Text = "Estado: ✅ ACTIVADO"
StatusLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
StatusLabel.TextSize = 10
StatusLabel.Font = Enum.Font.GothamBold
StatusLabel.TextXAlignment = Enum.TextXAlignment.Left
StatusLabel.Parent = MainFrame
local FOVToggle = Instance.new("TextButton")
FOVToggle.Size = UDim2.new(0.9, 0, 0, 26)
FOVToggle.Position = UDim2.new(0.05, 0, 0, 55)
FOVToggle.BackgroundColor3 = Color3.fromRGB(50, 50, 70)
FOVToggle.Text = "👁️ FOV Visible: ON"
FOVToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
FOVToggle.TextSize = 10
FOVToggle.Font = Enum.Font.GothamBold
FOVToggle.Parent = MainFrame
Instance.new("UICorner", FOVToggle).CornerRadius = UDim.new(0, 6)
local TeamToggle = Instance.new("TextButton")
TeamToggle.Size = UDim2.new(0.9, 0, 0, 26)
TeamToggle.Position = UDim2.new(0.05, 0, 0, 87)
TeamToggle.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
TeamToggle.Text = "👥 TeamCheck: OFF"
TeamToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
TeamToggle.TextSize = 10
TeamToggle.Font = Enum.Font.GothamBold
TeamToggle.Parent = MainFrame
Instance.new("UICorner", TeamToggle).CornerRadius = UDim.new(0, 6)
local InfRangeToggle = Instance.new("TextButton")
InfRangeToggle.Size = UDim2.new(0.9, 0, 0, 26)
InfRangeToggle.Position = UDim2.new(0.05, 0, 0, 119)
InfRangeToggle.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
InfRangeToggle.Text = "🌀 Skills Inf Range: OFF"
InfRangeToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
InfRangeToggle.TextSize = 10
InfRangeToggle.Font = Enum.Font.GothamBold
InfRangeToggle.Parent = MainFrame
Instance.new("UICorner", InfRangeToggle).CornerRadius = UDim.new(0, 6)
-- Botón Maestro de Encendido/Apagado Rápido en UI
local MasterToggle = Instance.new("TextButton")
MasterToggle.Size = UDim2.new(0.9, 0, 0, 32)
MasterToggle.Position = UDim2.new(0.05, 0, 0, 155)
MasterToggle.BackgroundColor3 = Color3.fromRGB(40, 120, 80)
MasterToggle.Text = "⚡ ON / OFF AIMBOT"
MasterToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
MasterToggle.TextSize = 11
MasterToggle.Font = Enum.Font.GothamBold
MasterToggle.Parent = MainFrame
Instance.new("UICorner", MasterToggle).CornerRadius = UDim.new(0, 6)
local InfoLabel = Instance.new("TextLabel")
InfoLabel.Size = UDim2.new(0.9, 0, 0, 60)
InfoLabel.Position = UDim2.new(0.05, 0, 0, 195)
InfoLabel.BackgroundTransparency = 1
InfoLabel.Text = "💡 Tip: Usa el botón ⚙️ flotante para minimizar la interfaz y evitar estorbos."
InfoLabel.TextColor3 = Color3.fromRGB(150, 150, 170)
InfoLabel.TextSize = 9
InfoLabel.Font = Enum.Font.Gotham
InfoLabel.TextWrapped = true
InfoLabel.Parent = MainFrame
-- FOV Circle
local FOVCircle = Drawing.new("Circle")
FOVCircle.Position = Vector2_new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
FOVCircle.Radius = Settings.FOV
FOVCircle.Color = Color3.fromRGB(255, 255, 255)
FOVCircle.Thickness = 1.2
FOVCircle.Filled = false
FOVCircle.Transparency = 1
FOVCircle.Visible = Settings.ShowFOV
--// TARGET DETECTION
local function GetBestTarget()
local bestTarget = nil
local shortestDistance = Settings.FOV
-- En móviles usamos el centro de la pantalla si no hay puntero de ratón físico
local screenCenter = Vector2_new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
local myChar = LocalPlayer.Character
local myTeam = LocalPlayer.Team
if not myChar then return nil end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
if Settings.UseWhitelist and not Settings.Whitelist[player.Name] then continue end
if Settings.UseBlacklist and Settings.Blacklist[player.Name] then continue end
if Settings.TeamCheck and player.Team and myTeam and player.Team == myTeam then continue end
local char = player.Character
local hum = char:FindFirstChild("Humanoid")
local root = char:FindFirstChild(Settings.TargetPart)
if hum and root and hum.Health > 0 then
local screenPos, onScreen = WorldToViewportPoint(Camera, root.Position)
if onScreen then
local dist = (Vector2_new(screenPos.X, screenPos.Y) - screenCenter).Magnitude
if dist < shortestDistance then
shortestDistance = dist
bestTarget = {
Player = player,
Root = root,
Position = root.Position,
Velocity = root.AssemblyLinearVelocity,
Distance = dist
}
end
end
end
end
end
return bestTarget
end
--// BACKGROUND LOOPS
task.spawn(function()
while true do
CurrentTarget = Settings.Enabled and GetBestTarget() or nil
task.wait(0.05)
end
end)
RunService.RenderStepped:Connect(function()
if Settings.ShowFOV and GuiVisible then
FOVCircle.Position = Vector2_new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
end
end)
--// __NAMECALL NETWORK INTERCEPTION HOOK
local oldNamecall
oldNamecall = hookmetamethod(game, "__namecall", function(self, ...)
if not Settings.Enabled or not CurrentTarget then
return oldNamecall(self, ...)
end
local method = getnamecallmethod()
local args = {...}
if Settings.AbilityInfRange and (method == "Raycast" or method == "raycast") then
local origin = args[1]
local targetPos = CurrentTarget.Root.Position + (CurrentTarget.Velocity * Settings.Prediction)
args[2] = (targetPos - origin).Unit * 4.999999721059845e+27
return oldNamecall(self, unpack(args))
end
if method == "FireServer" or method == "fireServer" or method == "InvokeServer" then
local modified = false
local predictedLocation = CurrentTarget.Root.Position + (CurrentTarget.Velocity * Settings.Prediction)
for i, arg in pairs(args) do
if typeof(arg) == "Vector3" then
args[i] = predictedLocation
modified = true
elseif typeof(arg) == "CFrame" then
if Settings.AbilityInfRange then
args[i] = CFrame_new(predictedLocation)
else
args[i] = CFrame_new(LocalPlayer.Character.Head.Position, predictedLocation)
end
modified = true
elseif type(arg) == "table" then
for k, v in pairs(arg) do
if typeof(v) == "Vector3" then
arg[k] = predictedLocation
modified = true
elseif typeof(v) == "CFrame" then
if Settings.AbilityInfRange then
arg[k] = CFrame_new(predictedLocation)
else
arg[k] = CFrame_new(LocalPlayer.Character.Head.Position, predictedLocation)
end
modified = true
end
end
end
end
if modified then
return oldNamecall(self, unpack(args))
end
end
return oldNamecall(self, ...)
end)
--// UI INTERACTIONS & TOUCH EVENTS
FloatingToggleBtn.MouseButton1Click:Connect(function()
GuiVisible = not GuiVisible
MainFrame.Visible = GuiVisible
FOVCircle.Visible = Settings.Enabled and Settings.ShowFOV and GuiVisible
FloatingToggleBtn.BackgroundColor3 = GuiVisible and Color3.fromRGB(20, 20, 30) or Color3.fromRGB(120, 40, 40)
end)
MasterToggle.MouseButton1Click:Connect(function()
Settings.Enabled = not Settings.Enabled
StatusLabel.Text = Settings.Enabled and "Estado: ✅ ACTIVADO" or "Estado: ❌ DESACTIVADO"
StatusLabel.TextColor3 = Settings.Enabled and Color3.fromRGB(0, 255, 100) or Color3.fromRGB(255, 50, 50)
MasterToggle.BackgroundColor3 = Settings.Enabled and Color3.fromRGB(40, 120, 80) or Color3.fromRGB(150, 50, 50)
FOVCircle.Visible = Settings.Enabled and Settings.ShowFOV and GuiVisible
end)
FOVToggle.MouseButton1Click:Connect(function()
Settings.ShowFOV = not Settings.ShowFOV
FOVCircle.Visible = Settings.ShowFOV and GuiVisible and Settings.Enabled
FOVToggle.Text = Settings.ShowFOV and "👁️ FOV Visible: ON" or "👁️ FOV Visible: OFF"
FOVToggle.BackgroundColor3 = Settings.ShowFOV and Color3.fromRGB(50, 50, 70) or Color3.fromRGB(70, 40, 40)
end)
TeamToggle.MouseButton1Click:Connect(function()
Settings.TeamCheck = not Settings.TeamCheck
TeamToggle.Text = Settings.TeamCheck and "👥 TeamCheck: ON" or "👥 TeamCheck: OFF"
TeamToggle.BackgroundColor3 = Settings.TeamCheck and Color3.fromRGB(40, 120, 80) or Color3.fromRGB(150, 50, 50)
end)
InfRangeToggle.MouseButton1Click:Connect(function()
Settings.AbilityInfRange = not Settings.AbilityInfRange
InfRangeToggle.Text = Settings.AbilityInfRange and "🌀 Skills Inf Range: ON" or "🌀 Skills Inf Range: OFF"
InfRangeToggle.BackgroundColor3 = Settings.AbilityInfRange and Color3.fromRGB(40, 120, 80) or Color3.fromRGB(150, 50, 50)
end)
-- Arrastre Táctil para el MainFrame (Móvil Friendly)
local dragging, dragInput, dragStart, startPos
Title.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)No comments yet for this script.