Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- if you use my template, you should be able to copy+paste this code in to use my new blood stuff.
- local BloodPuddles = {}
- function Puddle(hit,pos,norm,data)
- local material = data.Material or Enum.Material.Glass
- local color = data.Color or BrickColor.new'Crimson'
- local size = data.Size or 1
- if(hit.Name ~= 'BloodPuddle')then
- local Puddle = NewInstance('Part',hit,{Material=material,BrickColor=color,Size=V3.N(size,.1,size),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
- local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
- BloodPuddles[Puddle] = 0
- else
- local cyl = hit:FindFirstChild'CylinderMesh'
- if(cyl)then
- BloodPuddles[hit] = 0
- cyl.Scale = cyl.Scale + V3.N(size,0,size)
- hit.Transparency = 0
- end
- end
- end
- function Droplet(data)
- --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
- local Size = data.Size or 1
- local Color = data.Color or BrickColor.new'Crimson'
- local StudsPerFrame = data.Speed or 1
- local Shape = data.Shape or 'Ball'
- local Frames = (data.Frames or 160)+1
- local Pos = data.Origin or Root.CFrame
- local Direction = data.Direction or Root.CFrame.lookVector*100000
- local Material = data.Material or Enum.Material.Glass
- local Drop = data.Drop or .05
- local Ignorelist = data.Ignorelist or nil
- local Bullet = Part(Effects,Color,Material,V3.N(Size,Size,Size),Pos,true,false)
- local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
- if(Shape == 'Ball')then
- BMesh.MeshType = Enum.MeshType.Sphere
- elseif(Shape == 'Head')then
- BMesh.MeshType = Enum.MeshType.Head
- elseif(Shape == 'Cylinder')then
- BMesh.MeshType = Enum.MeshType.Cylinder
- end
- coroutine.wrap(function()
- for i = 1, Frames do
- Pos = Pos * CF.N(0,-(Drop*i),0)
- local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i)).p,StudsPerFrame)
- if(hit and (not hit.Parent or not hit.Parent:FindFirstChildOfClass'Humanoid' and not hit.Parent:IsA'Accessory'))then
- Puddle(hit,pos,norm,data)
- break;
- else
- Bullet.CFrame = CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i))
- end
- swait()
- end
- Bullet:destroy()
- end)()
- end
- coroutine.wrap(function()
- while true do
- for i,v in next, BloodPuddles do
- local mesh = i:FindFirstChild'CylinderMesh'
- BloodPuddles[i] = v + 1
- if(not mesh or i.Transparency >= 1)then
- i:destroy()
- BloodPuddles[i] = nil
- elseif(v >= Frame_Speed*4)then
- local trans = (v-Frame_Speed*4)/(Frame_Speed*2)
- i.Transparency = trans
- if(mesh.Scale.Z > 0)then
- mesh.Scale = mesh.Scale-V3.N(.05,0,.05)
- end
- else
- i.Transparency = 0
- end
- end
- swait()
- end
- end)()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement