I want to have this "puddle" spread outward and i have made it work when the NPC it is in dies, it spreads randomly outward in seperate places, but once the npc has flown away or slid from the attack, the puddle is at least 10 studs away from the body. I have tried to make it spawn on the general position of the Humanoid root part on the NPC, but it wont do it. Maybe one of you smarter people could help out. All help appreciated! EDIT: I need for this code to work still, but execute at the position of the dead NPCs body. Code:
local Char=script.Parent local Hum=Char:WaitForChild("Humanoid") local Tor=Char:WaitForChild("Torso") local M=math.random local R=math.rad local rates={0.05,0.075,0.1,0.15} local smooth=function(P) local SM=Enum.SurfaceType.SmoothNoOutlines P.TopSurface=SM P.BottomSurface=SM P.RightSurface=SM P.LeftSurface=SM P.FrontSurface=SM P.BackSurface=SM end local function BloodPool(Part,Size) local Pool=Instance.new("Part",game.Workspace) Pool.TopSurface=0 Pool.CanCollide=false Pool.BrickColor=BrickColor.new("Dusty Rose") Pool.Material = "Glass" Pool.Transparency = 0.5 Pool.CanCollide = false Instance.new("CylinderMesh",Pool) Pool.Anchored=true Pool.Name="BloodPoolPart" smooth(Pool) Pool.FormFactor=Enum.FormFactor.Custom Pool.Size=Size local c=Part.CFrame*CFrame.new(M(-3.01,3.01),-2.9,M(-3.01,3.01)) coroutine.resume(coroutine.create(function() local rate=rates[M(1,#rates)] wait(2) game.Debris:AddItem(Pool,15) for i=1,M(25,70) do wait() Pool.CFrame=c Pool.Size=Pool.Size+Vector3.new(rate,0,rate) end wait(5) Pool:Destroy() end)) end local function BloodDrops(Size,Area) local Blood=Instance.new("Part",game.Workspace) Blood.BrickColor=BrickColor.new("Crimson") Blood.TopSurface=0 Blood.CanCollide=false Blood.Anchored=false Blood.FormFactor=Enum.FormFactor.Custom Blood.Size=Size Blood.CFrame=Area*CFrame.new(M(-1.00,1.00),M(-1.00,1.00),M(-1.00,1.00)) return Blood end local Heath=Hum.Health Hum.Changed:connect(function() if Hum.Health<Heath then Heath=Hum.Health for i=1, math.random(4,10)do local Size=Vector3.new(M(-0.25,0.25),.05,M(-.25,.25)) local Blood=BloodDrops(Size,Tor.CFrame) local Stopper=false local Size2=Vector3.new(M(-0.25,0.25),.05,M(-.25,.25)) BloodPool(Tor,Size2) end end end)