Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
25 views10 pages

Hatsune

The document outlines a configuration script for a game, detailing various features such as silent aim, aimbot, hitbox adjustments, movement speed, and custom assets. It includes settings for enabling/disabling features, target selection, prediction, smoothing, and checks for player states. The script also integrates user input handling and rendering functionalities to enhance gameplay mechanics.

Uploaded by

kibihuyi123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views10 pages

Hatsune

The document outlines a configuration script for a game, detailing various features such as silent aim, aimbot, hitbox adjustments, movement speed, and custom assets. It includes settings for enabling/disabling features, target selection, prediction, smoothing, and checks for player states. The script also integrates user input handling and rendering functionalities to enhance gameplay mechanics.

Uploaded by

kibihuyi123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

getgenv().

hatsune = {
silent_aim = {
enabled = { value = true },
wall_check = { value = true },
target_part = { value = "Head" },
closest_part = { value = false },
fov = {
visible = { value = true },
fov_radius = { value = 200 },
color = { value = Color3.fromRGB(255, 255, 255) },
},
prediction = {
enabled = { value = false },
factor = { value = 0.138 },
},
checks = {
knocked = { value = true },
grabbed = { value = true },
dead = { value = true },
}
},
aimbot = {
enabled = { value = true }, -- Toggle for aimbot
target_part = { value = "Head" }, -- Target part (e.g., Head, Torso)
key = { bind = "c" , bind_type = "keyboard" }, -- keyboard
https://create.roblox.com/docs/reference/engine/enums/KeyCode, mouse
method = { value = "Camera" }, -- Aimbot Method Usage (e.g., Camera, Mouse)
prediction = { -- Prediction settings
enabled = { value = false }, -- Toggle for prediction
factor = { x = 0.1 , y = 0.1 }, -- Factor for predicting target
movement
},
smoothing = { -- Smoothing settings
enabled = { value = true }, -- Toggle for smoothing
factor = { value = 0.8 }, -- Factor for smooth camera/mouse movement
},
fov = {
visible = { value = false },
fov_radius = { value = 70 }, -- Size of FOV circle
color = { value = Color3.fromRGB(255, 255, 255) }, -- Size of FOV
circle
},
checks = {
knocked = { value = true }, -- Toggle for knocked check
grabbed = { value = true }, -- Toggle for grabbed check
dead = { value = true }, -- Toggle for KO check
},
},
hitbox = {
enabled = { value = true },
custom_sizes_enabled = { value = false }, -- New toggle to enable/disable
custom sizes
size = {
default = { value = 15.0 }, -- Default hitbox size
minimum_size = { value = 2.00 }, -- Minimum hitbox size
},
custom_sizes = { -- Populate custom_sizes with all weapons and their sizes
["[Double-Barrel SG]"] = { value = 30 },
["[Revolver]"] = { value = 25 },
["[TacticalShotgun]"] = { value = 35 },
["[LMG]"] = { value = 40 },
-- Add more weapons here with their respective sizes
},
},
macro = {
enabled = { value = true }, -- // Enable / Disable Rotation Key
bind = { keybind = 'X' }, -- // Key To Enable Macro
degrees = { value = 360 }, -- // How Much You Turn
speed = { value = 15 } -- // How Fast You Turn
},
custom_assets = {
textures = {
enabled = { value = false }, -- Enable to change all textures to your
game
customcolor = { value = true }, -- Enable to change the color of your
textures/material
color = { value = Color3.fromRGB(0, 0, 0) }, -- Set the color of your
textures
material = { value = 'Pavement' }, -- Material type (e.g., 'Pavement',
'Grass', etc.)
},
skybox = {
enabled = { value = true }, -- Enable to change all sky textures to
your game
custom_id = { value = 5084474758 }, -- Mesh ID of the image for the sky
},
},
movement = {
enabled = { value = true },
walk_speed = {
default = { value = 150.5 }, -- Default walking speed
holding_weapon = { value = 270.75 }, -- Speed when holding a
whitelisted weapon
},
jump_power = {
default = { value = 50.25 }, -- Default jump power
holding_weapon = { value = 200.75 }, -- Speed when holding a
whitelisted weapon
},
},
whitelist = {
enabled = { value = true }, -- Togle for enabling/disabling using
whitelisted weapons only
weapons = {
"[Double-Barrel SG]",
"[Revolver]",
"[TacticalShotgun]",
"[LMG]",
},
},
checks = {
knocked = { value = true }, -- Toggle for knocked check
grabbed = { value = true }, -- Toggle for grabbed check
dead = { value = true } -- Toggle for KO check
}
}
local RS = game:GetService("RunService")
local Camera = game:GetService("Workspace").CurrentCamera
local CurrentCamera = game:GetService("Workspace").CurrentCamera
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local UserInputService = game:GetService("UserInputService")

SilentTarget = nil

local silent_aim_fovcircle = Drawing.new("Circle")


silent_aim_fovcircle.Thickness = 1
silent_aim_fovcircle.Radius = getgenv().hatsune.silent_aim.fov.fov_radius.value * 2
silent_aim_fovcircle.Visible = getgenv().hatsune.silent_aim.fov.visible.value and
getgenv().hatsune.silent_aim.enabled.value
silent_aim_fovcircle.Transparency = 1
silent_aim_fovcircle.Color = getgenv().hatsune.silent_aim.fov.color.value

local fovCircle = Drawing.new("Circle")


fovCircle.Thickness = 1
fovCircle.Radius = getgenv().hatsune.aimbot.fov.fov_radius.value
fovCircle.Visible = getgenv().hatsune.aimbot.fov.visible.value and
getgenv().hatsune.aimbot.enabled.value
fovCircle.Transparency = 1
fovCircle.Color = getgenv().hatsune.aimbot.fov.color.value

RunService.RenderStepped:Connect(function()
fovCircle.Position = UserInputService:GetMouseLocation()
end)

local function ApplyPrediction(targetPart)


if getgenv().hatsune.aimbot.enabled.value and
getgenv().hatsune.aimbot.prediction.enabled.value then
local velocity = targetPart.Parent:FindFirstChild("HumanoidRootPart") and
targetPart.Parent.HumanoidRootPart.Velocity or Vector3.zero
local factorX = getgenv().hatsune.aimbot.prediction.factor.x
local factorY = getgenv().hatsune.aimbot.prediction.factor.y
return targetPart.Position + (velocity * Vector3.new(factorX, factorY,
factorX))
end
return targetPart.Position
end

local function ApplySmoothing(currentCFrame, targetPosition)


if getgenv().hatsune.aimbot.smoothing.enabled.value then
local smoothingFactor = getgenv().hatsune.aimbot.smoothing.factor.value
local targetCFrame = CFrame.new(currentCFrame.Position, targetPosition)
return currentCFrame:Lerp(targetCFrame, smoothingFactor)
end
return CFrame.new(currentCFrame.Position, targetPosition)
end

local function FindClosestPlayerToCamera()


local closestPlayer
local shortestAngle = math.huge
local cameraPosition = CurrentCamera.CFrame.Position
local cameraLookDirection = CurrentCamera.CFrame.LookVector

for i, v in pairs(game.Players:GetPlayers()) do
if v ~= game.Players.LocalPlayer and v.Character and
v.Character:FindFirstChild("Humanoid") and
v.Character.Humanoid.Health > 0 and
v.Character:FindFirstChild("HumanoidRootPart") then
local characterPos =
v.Character[getgenv().hatsune.aimbot.target_part.value].Position
local directionToPlayer = (characterPos - cameraPosition).unit
local angle = math.acos(cameraLookDirection:Dot(directionToPlayer))

if angle < shortestAngle then


closestPlayer = v
shortestAngle = angle
end
end
end
return closestPlayer
end

local keyBindConfig = getgenv().hatsune.aimbot.key -- Short reference to the key


bind configuration

local function IsKeyBindPressed(input)


if keyBindConfig.bind_type == "keyboard" then
return input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode
== Enum.KeyCode[keyBindConfig.bind:upper()]
elseif keyBindConfig.bind_type == "mouse" then
local mouseInputTypes = {
["MouseButton1"] = Enum.UserInputType.MouseButton1,
["MouseButton2"] = Enum.UserInputType.MouseButton2,
["MouseButton3"] = Enum.UserInputType.MouseButton3
}
return input.UserInputType == mouseInputTypes[keyBindConfig.bind]
end
return false
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end -- Ignore inputs processed by the game

if IsKeyBindPressed(input) then
local aimbotConfig = getgenv().hatsune.aimbot -- Short reference to aimbot
settings

aimbotConfig.enabled.value = not aimbotConfig.enabled.value -- Toggle


aimbot

if aimbotConfig.method.value == "Mouse" then


Plr = aimbotConfig.enabled.value and FindClosestPlayer() or nil
else
Plr = aimbotConfig.enabled.value and FindClosestPlayerToCamera() or nil
end
end
end)

if getgenv().hatsune.custom_assets.textures.enabled.value then
local localPlayer = game.Players.LocalPlayer
for _, v in pairs(workspace:GetDescendants()) do
if v:IsA("BasePart") then
if v.Parent and v.Parent ~= localPlayer.Character then
v.Material =
getgenv().hatsune.custom_assets.textures.material.value
if getgenv().hatsune.custom_assets.textures.customcolor.value then
v.Color = getgenv().hatsune.custom_assets.textures.color.value
end
end
end
end
end

if getgenv().hatsune.custom_assets.skybox.enabled.value then
local s = Instance.new("Sky")
s.Name = "SKY"
local customID = getgenv().hatsune.custom_assets.skybox.custom_id.value
s.SkyboxBk = "http://www.roblox.com/asset/?id=" .. customID
s.SkyboxDn = "http://www.roblox.com/asset/?id=" .. customID
s.SkyboxFt = "http://www.roblox.com/asset/?id=" .. customID
s.SkyboxLf = "http://www.roblox.com/asset/?id=" .. customID
s.SkyboxRt = "http://www.roblox.com/asset/?id=" .. customID
s.SkyboxUp = "http://www.roblox.com/asset/?id=" .. customID
s.Parent = game.Lighting
end

local function PassesChecks(player)


local checks = getgenv().hatsune.aimbot.checks
if checks then
if checks.knocked.value then
local bodyEffects = player.Character:FindFirstChild("BodyEffects")
if bodyEffects and bodyEffects:FindFirstChild("K.O") and
bodyEffects["K.O"].Value == true then
return false
end
end

if checks.grabbed.value then
local bodyEffects = player.Character:FindFirstChild("BodyEffects")
if bodyEffects and bodyEffects:FindFirstChild("Grabbed") and
bodyEffects["Grabbed"].Value == true then
return false
end
end

if checks.dead.value then
local bodyEffects = player.Character:FindFirstChild("BodyEffects")
if bodyEffects and bodyEffects:FindFirstChild("Dead") and
bodyEffects["Dead"].Value == true then
return false
end
end
end
return true
end

local function GetClosestPlayer()


local closestPlayer = nil
local closestDistance = math.huge
for _, player in pairs(game.Players:GetPlayers()) do
if player.Character and player.Character:FindFirstChild("HumanoidRootPart")
then
local targetPart =
player.Character:FindFirstChild(getgenv().hatsune.aimbot.target_part.value)
if targetPart and PassesChecks(player) then
local screenPosition, onScreen =
game:GetService("Workspace").CurrentCamera:WorldToScreenPoint(targetPart.Position)
local mousePos = UserInputService:GetMouseLocation()
local distance = (Vector2.new(screenPosition.X, screenPosition.Y) -
mousePos).Magnitude
if distance < closestDistance then
closestDistance = distance
closestPlayer = player
end
end
end
end
return closestPlayer
end

RunService.RenderStepped:Connect(function()
if getgenv().hatsune.aimbot.enabled.value and Plr and Plr.Character and
Plr.Character:FindFirstChild(getgenv().hatsune.aimbot.target_part.value) then
local targetPart =
Plr.Character[getgenv().hatsune.aimbot.target_part.value]

if PassesChecks(Plr) then
local predictedPosition = ApplyPrediction(targetPart)

if getgenv().hatsune.aimbot.method.value == "Camera" then


-- Smooth camera transition
CurrentCamera.CFrame = ApplySmoothing(CurrentCamera.CFrame,
predictedPosition)
elseif getgenv().hatsune.aimbot.method.value == "Mouse" then
-- Adjust mouse movement
local mouseLocation = UserInputService:GetMouseLocation()
local deltaX = (predictedPosition.X - mouseLocation.X) * 0.5
local deltaY = (predictedPosition.Y - mouseLocation.Y) * 0.5
mousemoverel(deltaX, deltaY)
end
end
end
end)

local function GetClosestSilentPlayer()


local Closest, ShortestDistance = nil,
getgenv().hatsune.silent_aim.fov.fov_radius.value
local TargetPart = getgenv().hatsune.silent_aim.target_part.value or "Head"
local PredictionEnabled = getgenv().hatsune.silent_aim.prediction.enabled.value
local PredictionFactor = getgenv().hatsune.silent_aim.prediction.factor.value
or 0
local Camera = game:GetService("Workspace").CurrentCamera

for _, Player in pairs(Players:GetPlayers()) do


if Player ~= LocalPlayer and Player.Character then
local Part = Player.Character:FindFirstChild(TargetPart)
if Part then
local Position = Part.Position

if PredictionEnabled then
local Velocity = Part.Velocity or Vector3.new(0, 0, 0)
Position = Position + (Velocity * PredictionFactor)
end

local ScreenPosition, OnScreen =


Camera:WorldToScreenPoint(Position)
if OnScreen then
local Distance = (Vector2.new(Mouse.X, Mouse.Y) -
Vector2.new(ScreenPosition.X, ScreenPosition.Y)).Magnitude
if Distance < ShortestDistance then
Closest, ShortestDistance = Player, Distance
end
end
end
end
end
return Closest
end

RunService.RenderStepped:Connect(function()
silent_aim_fovcircle.Position = UserInputService:GetMouseLocation()
end)

local function silentaimchecks(player)


if getgenv().hatsune.silent_aim.enabled.value then
local checks = getgenv().hatsune.silent_aim.checks
if checks then
if checks.knocked and checks.knocked.value then
local bodyEffects = player.Character:FindFirstChild("BodyEffects")
if bodyEffects and bodyEffects:FindFirstChild("K.O") then
if bodyEffects["K.O"].Value == true then
return false
end
end
end

if checks.grabbed and checks.grabbed.value then


local bodyEffects = player.Character:FindFirstChild("BodyEffects")
if bodyEffects and bodyEffects:FindFirstChild("Grabbed") then
if bodyEffects["Grabbed"].Value == true then
return false
end
end
end

if checks.dead and checks.dead.value then


local bodyEffects = player.Character:FindFirstChild("BodyEffects")
if bodyEffects and bodyEffects:FindFirstChild("Dead") then
if bodyEffects["Dead"].Value == true then
return false
end
end
end
end
end
return true
end

RunService.Heartbeat:Connect(function()
if getgenv().hatsune.silent_aim.enabled.value then
SilentTarget = GetClosestSilentPlayer()
end
end)

local grm = getrawmetatable(game)


local oldindex = nil
setreadonly(grm, false)
oldindex = grm.__index

grm.__index = function(self, Index)


if not checkcaller() and self == Mouse then
if Index == "Hit" or (Index == "Target" and game.PlaceId == 2788229376)
then
if SilentTarget and SilentTarget.Character then
local TargetPart = SilentTarget.Character:FindFirstChild("Head")
if TargetPart then
return CFrame.new(TargetPart.Position)
end
end
end
end
return oldindex(self, Index)
end

game:GetService("RunService").RenderStepped:Connect(function()
if not getgenv().hatsune.movement.enabled.value then return end

local localPlayer = game.Players.LocalPlayer


if localPlayer.Character and
localPlayer.Character:FindFirstChild("HumanoidRootPart") then
local humanoid = localPlayer.Character:FindFirstChildOfClass("Humanoid")
local hasWhitelistedWeapon = false

if humanoid then
for _, tool in next, localPlayer.Character:GetChildren() do
if tool:IsA("Tool") then
for _, weaponName in next, getgenv().hatsune.whitelist.weapons
do
if tool.Name == weaponName then
hasWhitelistedWeapon = true
break
end
end
end
end
end

if getgenv().hatsune.whitelist.enabled then
if humanoid then
if hasWhitelistedWeapon then
humanoid.WalkSpeed =
getgenv().hatsune.movement.walk_speed.holding_weapon.value
else
humanoid.WalkSpeed =
getgenv().hatsune.movement.walk_speed.default.value
end
end

if getgenv().hatsune.whitelist.enabled then
if hasWhitelistedWeapon then
humanoid.JumpPower =
getgenv().hatsune.movement.jump_power.holding_weapon.value
else
humanoid.JumpPower =
getgenv().hatsune.movement.jump_power.default.value
end
end
end
end
end)

game:GetService("UserInputService").InputBegan:Connect(function(input)
local macro = getgenv().hatsune.macro

if macro.enabled.value and input.KeyCode ==


Enum.KeyCode[string.upper(macro.bind.keybind)] then
if macro.enabled.value then
for i = 1, math.floor(macro.degrees.value / macro.speed.value) do
Camera.CFrame = Camera.CFrame * CFrame.Angles(0,
math.rad(macro.speed.value), 0)
RS.Heartbeat:Wait()
end
end
end
end)

game:GetService("RunService").RenderStepped:Connect(function()
if not getgenv().hatsune.hitbox.enabled.value then return end

local localPlayer = game.Players.LocalPlayer


if localPlayer.Character and
localPlayer.Character:FindFirstChild("HumanoidRootPart") then
local humanoid = localPlayer.Character:FindFirstChildOfClass("Humanoid")
local hasWhitelistedWeapon = false

if humanoid then
for _, tool in next, localPlayer.Character:GetChildren() do
if tool:IsA("Tool") then
for _, weaponName in next, getgenv().hatsune.whitelist.weapons
do
if tool.Name == weaponName then
hasWhitelistedWeapon = true
break
end
end
end
end
end

for _, v in next, game.Players:GetPlayers() do


if v ~= localPlayer and v.Character and
v.Character:FindFirstChild("HumanoidRootPart") then
local bodyEffects = v.Character:FindFirstChild("BodyEffects")
local isKnocked = getgenv().hatsune.checks.knocked and bodyEffects
and bodyEffects:FindFirstChild("K.O") and bodyEffects["K.O"].Value == true
local isGrabbed = getgenv().hatsune.checks.grabbed and bodyEffects
and bodyEffects:FindFirstChild("Grabbed") and bodyEffects["Grabbed"].Value == true
local isKOd = getgenv().hatsune.checks.dead and bodyEffects and
bodyEffects:FindFirstChild("Dead") and bodyEffects["Dead"].Value == true

local hitboxSize = getgenv().hatsune.hitbox.size.default.value


local distance = (localPlayer.Character.HumanoidRootPart.Position -
v.Character.HumanoidRootPart.Position).Magnitude

-- Ensure that minimum_size exists, and if not, use a default value


(e.g., 2.00)
local minimumSize = getgenv().hatsune.hitbox.minimum_size and
getgenv().hatsune.hitbox.minimum_size.value or 2.00

if distance < hitboxSize then


hitboxSize = math.max(distance, minimumSize)
end

if getgenv().hatsune.whitelist.enabled then
if hasWhitelistedWeapon and
getgenv().hatsune.hitbox.custom_sizes_enabled.value then -- Check if custom sizes
are enabled
for weapon, size in
pairs(getgenv().hatsune.hitbox.custom_sizes) do
for _, tool in next,
localPlayer.Character:GetChildren() do
if tool:IsA("Tool") and tool.Name == weapon then
hitboxSize = size.value
break
end
end
end
end
end

if isKnocked or isGrabbed or isKOd then


v.Character.HumanoidRootPart.Size = Vector3.new(2, 2, 2)
v.Character.HumanoidRootPart.CanCollide = false
else
v.Character.HumanoidRootPart.Size = Vector3.new(hitboxSize,
hitboxSize, hitboxSize)
v.Character.HumanoidRootPart.CanCollide = false
end
end
end
end
end)

You might also like