Kaoru Weaponry Script

Roblox Scripts is what Roblox players and coders use to build interactive games. To be more specific, players use Lua scripts—a popular scripting and programming language.

BloxScript4You


We do not any harmful on your devices we always check it before we post online.
Instruction
1.Open Roblox And Start Playing
2.Click The Blue Circle To Copy The Script Code
3.Paste The Script Code Into Your Executor
4.Then Execute The Script Code
5.Enjoy
Use your dummy account first we are not responsible if your account getting Ban.
Script Code
if not game:IsLoaded() then
    game.Loaded:Wait();
end

local Tick = tick();

local Functions = loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/Uvxtq/Custom-Lua-Functions/main/Loader.lua"))();
local rconsolelog = Functions.rconsolelog;
local filtergc = Functions.filtergc;
local ESP = Functions.ESP;

local rconsoletop = rconsoletop or function() end;

rconsolename("Weaponry Debug Console");
rconsoleclear();
rconsoletop(true)

local Services = setmetatable({},{
    __index = function(self, Index)
        local Service = game:GetService(Index);

        if Service then
            self[Index] = Service;

            return Service;
        end
    end,
})

LPH_NO_UPVALUES = function(...) return ... end;

local Linoria = "https://raw.githubusercontent.com/wally-rblx/LinoriaLib/main/";

local Library = loadstring(game:HttpGet((Linoria .. 'Library.lua')))();

local ThemeManager = loadstring(game:HttpGet(("https://raw.githubusercontent.com/Uvxtq/Project-AlphaZero/main/AlphaZero/Theme%20Manager.lua")))();
local SaveManager = loadstring(game:HttpGet(Linoria .. 'addons/SaveManager.lua'))();

local Players = Services.Players;
local LocalPlayer = Players.LocalPlayer;
local Camera = workspace.CurrentCamera;
local Mouse = LocalPlayer:GetMouse();

local TeamCheck = false;

LocalPlayer.CharacterAdded:Connect(function()
    if #Services.Teams:GetTeams() ~= 0 then
        TeamCheck = true;

        ESP:DeInit();

        ESP:Init({"Box", "Nametag"}, {
            Color = Color3.fromRGB(255, 255, 255),
            TeamCheck = TeamCheck,
            Distance = 1000,
            Rainbow = true,
        });
    else
        TeamCheck = false;

        ESP:DeInit();

        ESP:Init({"Box", "Nametag"}, {
            Color = Color3.fromRGB(255, 255, 255),
            TeamCheck = TeamCheck,
            Distance = 1000,
            Rainbow = true,
        });
    end
end)

if #Services.Teams:GetTeams() ~= 0 then
    TeamCheck = true;
else
    TeamCheck = false;
end

if not LocalPlayer.Character then
    rconsolelog("Error", "Character not found, waiting for character to load");

    LocalPlayer.CharacterAdded:Wait();

    rconsolelog("Success", "Character loaded");
end

rconsolelog("Loading", "Finding important functions in gc");

local ReloadWeapon = filtergc("function", {
	Name = "reloadWeapon"
}, true)

local InventoryManager = filtergc("function", {
	Name = "InventoryManager"
}, true)


local FireWeapon = filtergc("function", {
    Name = "FireWeapon"
}, true)

rconsolelog("Info", "Successfully found important functions in gc");

rconsolelog("Loading", "Loading functions");

local KillallToggle = false;
local Weaponry = {}; do
    function Weaponry:IsVisible(Player, Part)
        local Parts = Camera:GetPartsObscuringTarget({Camera.CFrame.Position, Player.Character[Part].Position}, {Player.Character})

        for Index, Part in next, Parts do
            if Part.Transparency == 1 or Part.CanCollide == false then
                Parts[Index] = nil;
            end
        end

        return #Parts == 0;
    end

    function Weaponry:IsNotSameTeam(Player, Toggle)
        return not Toggle or Player.Team ~= LocalPlayer.Team;
    end

    function Weaponry:IsAlive(Player)
        return Player and Player.Character and Player.Character:FindFirstChild("Humanoid") and Player.Character.Humanoid.Health > 0;
    end

    function Weaponry:IsOnScreen(Part)
        local _, OnScreen = Camera:WorldToViewportPoint(Part.Position);

        return OnScreen;
    end

    function Weaponry:IsInFOV(Player, FOVSize, Toggle)
        local Vector, OnScreen = Camera:WorldToViewportPoint(Player.Character.HumanoidRootPart.Position);

        return not Toggle or OnScreen and (Vector2.new(Vector.X, Vector.Y) - Vector2.new(Mouse.X, Mouse.Y)).Magnitude <= FOVSize;
    end

    function Weaponry:GetClosestToMouseInFov()
        local ClosestPlayer = nil;
        local ClosestDistance = math.huge;

        for _, Player in next, Players:GetPlayers() do
            if Player and Player ~= LocalPlayer and Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then
                if self:IsNotSameTeam(Player, TeamCheck) and self:IsAlive(Player) and Player.Character:FindFirstChild("ForceField") == nil then
                    local Distance = (Mouse.Hit.Position - Player.Character.HumanoidRootPart.Position).Magnitude;

                    if Distance < ClosestDistance and self:IsOnScreen(Player.Character.HumanoidRootPart) then
                        ClosestPlayer = Player;
                        ClosestDistance = Distance;
                    end
                end
            end
        end

        return ClosestPlayer;
    end

    function Weaponry:KillAll()
        for _, Player in next, Players:GetChildren() do
            if not KillallToggle then break; end

            if Player ~= LocalPlayer and Player.Character and not Player.Character:FindFirstChild("ForceField") and self:IsNotSameTeam(Player, TeamCheck) then
                local PlayerChar = Player.Character;

                if PlayerChar and PlayerChar:FindFirstChild("HumanoidRootPart") and not PlayerChar:FindFirstChild("ForceField") and self:IsAlive(Player) then
                    repeat task.wait();
                        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                            LocalPlayer.Character.HumanoidRootPart.CFrame = PlayerChar.HumanoidRootPart.CFrame * CFrame.new(0, 5, 0);
                            Camera.CFrame = CFrame.new(Camera.CFrame.Position, (PlayerChar.Head.Position - Vector3.new(0, 2, 0)));

                            pcall(FireWeapon);
                        end
                    until PlayerChar.Humanoid.Health <= 0 or not KillallToggle;
                end
            end
        end
    end
end;

local function Find(Table, Name)
    for Index, Value in next, Table do
        if typeof(Value) == "table" then
            local Found = Find(Value, Name);

            if Found then
                return Found;
            end
        elseif typeof(Index) == "string" and Index == Name then
            return Value;
        end
    end
end

local Window = Library:CreateWindow({
    Title = string.format("Weaponry | %s", LocalPlayer.Name),
    Center = true,
    AutoShow = true,
})

local Tabs = {
    ["Main Tab"] = Window:AddTab('Main'),
    ['UI Settings'] = Window:AddTab('UI Settings'),
};

local MainTab = Tabs["Main Tab"]:AddLeftGroupbox("Main");

MainTab:AddToggle("Silent Aim", {
    Text = "Silent Aim",
    Default = false,
    Tooltip = "Redirects your bullets to the closest player to your mouse",
})

MainTab:AddToggle("Auto Reload", {
    Text = "Auto Reload",
    Default = false,
    Tooltip = "Automatically reloads your weapon when it runs out of ammo",
})

MainTab:AddToggle("Inf Ammo", {
    Text = "Inf Ammo",
    Default = false,
    Tooltip = "Makes your weapon have infinite ammo",
})

MainTab:AddToggle("Always Sprint", {
    Text = "Always Sprint",
    Default = false,
    Tooltip = "Makes you always sprint",
})

MainTab:AddToggle("Funny Head", {
    Text = "Makes your head go brrrr",
    Default = false,
    Tooltip = "Makes your head go brrrr on others screens",
})

local HeadChance = 25;
MainTab:AddSlider("Head Chance", {
    Text = "Hit Head Chance",
    Default = 25,
    Min = 0,
    Max = 100,
    Rounding = 1,
    Compact = false,
    Callback = function(HeadChanceValue)
        HeadChance = HeadChanceValue;
    end
})

MainTab:AddToggle("Big Head", {
    Text = "Big Head Hitbox",
    Default = false,
    Tooltip = "Makes the enemies head bigger so you can hit people easier",
})

MainTab:AddToggle("Kill All", {
    Text = "Kill All",
    Default = false,
    Tooltip = "Kills all players on the server",
})

rconsolelog("Info", "Successfully loaded functions");

rconsolelog("Loading", "Hooking cat");

local Raycast = require(Services.ReplicatedStorage.SharedModules.RayCat);

local function RandomHit(Percentage)
    local Random = Random.new();

    return Random:NextNumber(0, 100) < Percentage and "Head" or "HumanoidRootPart";
end

local OldRayCast; OldRayCast = hookfunction(Raycast.cat, LPH_NO_UPVALUES(function(...)
    local Args = {...};
    local Position, Direction = Args[1], Args[2];
    local Target = Weaponry:GetClosestToMouseInFov();
    local RandomPart = RandomHit(HeadChance);

    if Target and Toggles["Silent Aim"] then
        local Character = Target.Character;
        local HitPart = Character and Character:FindFirstChild(RandomPart);

        if HitPart and Weaponry:IsVisible(Target, RandomPart) and Weaponry:IsInFOV(Target, 250, true) and Character:FindFirstChild("ForceField") == nil then
            Direction = (HitPart.Position - Position).Unit * 1000;
        end
    end

    return OldRayCast(Position, Direction, unpack(Args, 3));
end))

rconsolelog("Info", "Successfully hooked cat");

rconsolelog("Loading", "Loading Gun Mods");

local CurrentWeapons = nil;
local Stats = nil;

if not CurrentWeapons or not Stats then
    repeat task.wait();
        CurrentWeapons = debug.getupvalues(InventoryManager)[5];
        Stats = debug.getupvalues(FireWeapon)[2];
    until CurrentWeapons and Stats;
end

task.spawn(function()
    while true do task.wait()
        if Library.Unloaded then break; end

        for _, Weapon in next, CurrentWeapons do
            local CurrentAmmo = Find(Weapon, "CurrentAmmo");

            if tonumber(CurrentAmmo) and tonumber(CurrentAmmo) == 0 and Toggles["Auto Reload"].Value then
                ReloadWeapon();
            end
        end

        if Toggles["Inf Ammo"].Value then
            Stats = debug.getupvalue(FireWeapon, 2);

            if Stats and Stats.WeaponStats then 
                Services.ReplicatedStorage.Remotes.WeaponHandler:FireServer(3, Stats);
                Stats.CurrentAmmo = Stats.WeaponStats.MaxAmmo;
            end
        end
    end
end)

task.spawn(function()
    while true do task.wait()
        if Library.Unloaded then break; end
        KillallToggle = Toggles["Kill All"].Value;

        if Toggles["Kill All"].Value then
            Weaponry:KillAll();
        end
    end
end)

LocalPlayer.CharacterAdded:Connect(function()
    if Library.Unloaded then return; end

    task.spawn(function()
        if Toggles["Kill All"].Value then
            task.wait(1.5);

            local VirtualUser = game:GetService("VirtualUser");
            VirtualUser:CaptureController();

            VirtualUser:SetKeyDown("w");
            task.wait(0.5);
            VirtualUser:SetKeyUp("w");
        end
    end)
end)

rconsolelog("Info", "Successfully loaded Gun Mods");

hookfunction(LocalPlayer.Kick, function()
    rconsolelog("Info", "Prevented kick!");
end)

rconsolelog("Loading", "Initializing Esp");

ESP:Init({"Box", "Nametag"}, {
    Color = Color3.fromRGB(255, 255, 255),
    TeamCheck = TeamCheck,
    Distance = 1000,
    Rainbow = true,
});

local UIS = game:GetService("UserInputService");

task.spawn(function()
    local FOVCircle = Drawing.new("Circle");
    FOVCircle.Visible = false;
    FOVCircle.Thickness = 1;
    FOVCircle.NumSides = 100;
    FOVCircle.Filled = false;
    FOVCircle.Color = Color3.fromRGB(255, 255, 255);
    FOVCircle.Radius = 0;
    FOVCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2);

    while true do task.wait()
        if Library.Unloaded then break; end

        if UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
            FOVCircle.Radius = 300;
            FOVCircle.Color = Color3.fromHSV(tick() / 10 % 1, 1, 1);
            continue;
        end

        FOVCircle.Position = Vector2.new(Mouse.X, Mouse.Y + 36);
        FOVCircle.Radius = 250;
        FOVCircle.Visible = true;
        FOVCircle.Color = Color3.fromHSV(tick() / 10 % 1, 1, 1);
    end
end)

rconsolelog("Info", "Successfully initialized Esp");

local InputConfigs = require(Services.ReplicatedStorage.ClientModules.InputConfigs);

task.spawn(function()
    while true do task.wait(0.01)
        if Library.Unloaded then break; end

        if Toggles["Always Sprint"].Value then
            rawset(InputConfigs, "SprintHolding", true);
        end
    end
end)

-- Funny head movement
local OldRep; OldRep = hookmetamethod(game, "__namecall", function(self, ...)
    local Args = {...};
    local Method = getnamecallmethod();

    if Method == "FireServer" and self.Name == "CharacterReplicator" and Toggles["Funny Head"].Value then
        Args[1] = math.rad(math.random(-180, 180));
        Args[2] = math.rad(math.random(-180, 180));
        Args[3] = nil;
        Args[4] = math.rad(math.random(-180, 180));
        Args[5] = Vector2.new(math.rad(math.random(-180, 180)), math.rad(math.random(-180, 180)));
        Args[6] = math.rad(math.random(-180, 180));
    end

    return OldRep(self, unpack(Args));
end)

local OldHitboxHead; OldHitboxHead = hookmetamethod(game, "__index", function(self, key)
    if tostring(self) == "HitboxHead" and key == "Size" then
        return Vector3.new(1.2, 1.1, 1.1);
    end

    return OldHitboxHead(self, key);
end)

local OverrideHitboxHead = false;
task.spawn(function()
    while true do task.wait()
        if Library.Unloaded then break; end

        if Toggles["Big Head"].Value then
            if Toggles["Kill All"].Value then
                OverrideHitboxHead = true;
                return;
            end

            for _, Hitbox in next, workspace.Hitbox:GetChildren() do
                if Hitbox:FindFirstChild("HitboxHead") and Hitbox.HitboxHead.Size == Vector3.new(1.2, 1.1, 1.1) then
                    Hitbox.HitboxHead.Size = Vector3.new(30, 30, 30);
                    --Hitbox.HitboxHead.Transparency = 0.8;
                end
            end
        else
            if OverrideHitboxHead then
                if not Toggles["Kill All"].Value then
                    OverrideHitboxHead = false;
                end

                return;
            end

            for _, Hitbox in next, workspace.Hitbox:GetChildren() do
                if Hitbox:FindFirstChild("HitboxHead") and Hitbox.HitboxHead.Size == Vector3.new(30, 30, 30) then
                    Hitbox.HitboxHead.Size = Vector3.new(1.2, 1.1, 1.1);
                    --Hitbox.HitboxHead.Transparency = 0;
                end
            end
        end
    end
end)

-- local bodyspin = nil;
-- task.spawn(function()
--     while true do task.wait()
--         if (bodyspin == nil or bodyspin ~= nil and bodyspin.Parent ~= LocalPlayer.Character.HumanoidRootPart) then
--             bodyspin = Instance.new("BodyAngularVelocity")
--             bodyspin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
--             bodyspin.AngularVelocity = Vector3.new(60, 60, 60)
--             bodyspin.Parent = LocalPlayer.Character.HumanoidRootPart
--         else
--             bodyspin.MaxTorque = Vector3.new(false and math.huge or 0, true and math.huge or 0, false and math.huge or 0)
--             bodyspin.AngularVelocity = Vector3.new(60, 60, 60)
--         end
--     end
-- end)

rconsolelog("Success", string.format("Loaded script in %s ms", math.floor((tick() - Tick) * 1000)));

Library:SetWatermarkVisibility(true)

Library.KeybindFrame.Visible = false;

Library:OnUnload(function()
    Library.Unloaded = true;
end)

local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu');

MenuGroup:AddButton("Unload UI", function() Library:Unload() end);
MenuGroup:AddLabel("Menu bind"):AddKeyPicker("MenuKeybind", {Default = "RightControl", NoUI = true, Text = "Menu keybind"});

Library.ToggleKeybind = Options.MenuKeybind;

ThemeManager:SetLibrary(Library);
SaveManager:SetLibrary(Library);

SaveManager:IgnoreThemeSettings();

SaveManager:SetIgnoreIndexes({"MenuKeybind"});

ThemeManager:SetFolder("AlphaZero");
SaveManager:SetFolder("AlphaZero/Anime Souls Simulator");

SaveManager:BuildConfigSection(Tabs["UI Settings"]);

ThemeManager:ApplyToTab(Tabs["UI Settings"]);

task.spawn(function()
    while game:GetService('RunService').RenderStepped:Wait() do
        if Library.Unloaded then break; end

        if Toggles.Rainbow and Toggles.Rainbow.Value then
            local Registry = Window.Holder.Visible and Library.Registry or Library.HudRegistry;

            for _, Object in next, Registry do
                for Property, ColorIdx in next, Object.Properties do
                    if ColorIdx == 'AccentColor' or ColorIdx == 'AccentColorDark' then
                        local Instance = Object.Instance;
                        local yPos = Instance.AbsolutePosition.Y;

                        local Mapped = Library:MapValue(yPos, 0, 1080, 0, 0.5) * 1.5;
                        local Color = Color3.fromHSV((Library.CurrentRainbowHue - Mapped) % 1, 0.8, 1);

                        if ColorIdx == 'AccentColorDark' then
                            Color = Library:GetDarkerColor(Color);
                        end

                        Instance[Property] = Color;
                    end
                end
            end
        end
    end
end)

Toggles.Rainbow:OnChanged(function()
    if not Toggles.Rainbow.Value then
        ThemeManager:ThemeUpdate()
    end
end)

local function GetLocalTime()
	local Time = os.date("*t")
	local Hour = Time.hour;
	local Minute = Time.min;
	local Second = Time.sec;

	local AmPm = nil;
	if Hour >= 12 then
		Hour = Hour - 12;
		AmPm = "PM";
	else
		Hour = Hour == 0 and 12 or Hour;
		AmPm = "AM";
	end

	return string.format("%s:%02d:%02d %s", Hour, Minute, Second, AmPm);
end

local DayMap = {"st", "nd", "rd", "th"};
local function FormatDay(Day)
    local LastDigit = Day % 10;
    if LastDigit >= 1 and LastDigit <= 3 then
        return string.format("%s%s", Day, DayMap[LastDigit]);
    end

    return string.format("%s%s", Day, DayMap[4]);
end

local MonthMap = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
local function GetLocalDate()
	local Time = os.date("*t")
	local Day = Time.day;

	local Month = nil;
	if Time.month >= 1 and Time.month <= 12 then
		Month = MonthMap[Time.month];
	end

	return string.format("%s %s", Month, FormatDay(Day));
end

local function GetLocalDateTime()
	return GetLocalDate() .. " " .. GetLocalTime();
end

Toggles.Rainbow:SetValue(true);

Library:Notify(string.format('Loaded script in %.2f second(s)!', tick() - Tick), 5);

task.spawn(function()
    while true do task.wait(0.1)
        if Library.Unloaded then break; end

        local Ping = string.split(string.split(game.Stats.Network.ServerStatsItem["Data Ping"]:GetValueString(), " ")[1], ".")[1];
        local Fps = string.split(game.Stats.Workspace.Heartbeat:GetValueString(), ".")[1];
        local AccountName = LocalPlayer.Name;

        Library:SetWatermark(string.format("%s | %s | %s FPS | %s Ping", GetLocalDateTime(), AccountName, Fps, Ping));
    end
end)

Available Roblox Games