Roblox - Advanced Weed Blunt System Link

return HighnessManager Handles UI, input, and visual effects.

local hitsLeft = blunt:GetAttribute("HitsLeft") if hitsLeft <= 0 then blunt:Destroy() -- blunt finished return end

if char and char.Parent then humanoid.PlatformStand = false passOutTag:Destroy() -- Reset highness to 30% local highness = player:FindFirstChild("Highness") if highness then highness.Value = 30 end self:UpdateClient(player, 30) end end

if highness.Value >= BluntData.BluntConfig.PassOutThreshold then self:PassOut(player) end end Roblox - Advanced Weed Blunt System

blunt:SetAttribute("HitsLeft", hitsLeft - 1) HighnessManager:AddHighness(player, BluntData.BluntConfig.HighPerHit)

updateHighness.OnClientEvent:Connect(onHighnessUpdate)

local activeBlunt = nil -- current blunt tool local canHit = true return HighnessManager Handles UI, input, and visual effects

local Players = game:GetService("Players") local Debris = game:GetService("Debris") local HighnessManager = {}

BluntData.CraftingRecipe = { Weed = 1, RollingPaper = 1, Lighter = 0, -- optional }

-- Tool activation local function onToolEquipped(tool) if tool:GetAttribute("BluntType") == "WeedBlunt" then activeBlunt = tool end end return HighnessManager Handles UI

local function onToolUnequipped() activeBlunt = nil end

function HighnessManager:UpdateClient(player, value) local event = game:GetService("ReplicatedStorage"):FindFirstChild("UpdateHighness") if event then event:FireClient(player, value) end end

-- Connect to tools via player.CharacterAdded 4.1. BluntHandler (Server Script in ServerScriptService) local Players = game:GetService("Players") local RS = game:GetService("ReplicatedStorage") local lightEvent = RS:FindFirstChild("LightBluntEvent") local hitEvent = RS:FindFirstChild("TakeHitEvent") local HighnessManager = require(script.Parent.HighnessManager) local BluntData = require(RS.Shared.BluntData)