I'm trying to make a bullet for a pistol I'm making. But IDK how to make it so that the bullet size stops at the hit target.
Script:
local tool = script.Parent local Handle = tool:WaitForChild("Handle") local Shoot = tool:WaitForChild("Shoot") local Debris = game:GetService("Debris") local range = 100 local damage = 20 local headshotDamage = 40 Shoot.OnServerEvent:Connect(function(Player, mousePos, originPos) local Character = Player.Character local Humanoid = Character:WaitForChild("Humanoid") local bulletDirection = (mousePos - originPos).unit * range local midpointPos = originPos + bulletDirection / 2 local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {Character, workspace:WaitForChild("Bullets")} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local raycastResults = workspace:Raycast(originPos, bulletDirection, raycastParams) local bullet = Instance.new("Part", workspace:WaitForChild("Bullets")) bullet.BrickColor = BrickColor.new("Institutional white") bullet.Material = "SmoothPlastic" bullet.Name = Player.Name.."'s bullet" bullet.Transparency = 0.5 bullet.Anchored = true bullet.Locked = true bullet.CanCollide = false bullet.CFrame = CFrame.new(midpointPos, originPos) bullet.Size = Vector3.new(.3,.3,bulletDirection.magnitude) Debris:AddItem(bullet, .75) if raycastResults then local ECharacter = raycastResults.Instance.Parent local EHumanoid = ECharacter:FindFirstChild("Humanoid") if EHumanoid and EHumanoid ~= Character then if raycastResults.Instance.Name == "Head" or raycastResults.Instance:IsA("Hat") then EHumanoid:TakeDamage(headshotDamage) else EHumanoid:TakeDamage(damage) end print(EHumanoid.Health) end end Shoot:FireClient(Player) end)
Closed as Not Constructive by JesseSong
This question has been closed because it is not constructive to others or the asker. Most commonly, questions that are requests with no attempt from the asker to solve their problem will fall into this category.
Why was this question closed?