Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AddCSLuaFile()
- ENT.Type = "anim"
- ENT.Base = "base_gmodentity"
- ENT.Armed = false
- ENT.Spawnable = false
- ENT.exploded = false
- if SERVER then
- function ENT:Initialize()
- self:SetModel("models/props_junk/PopCan01a.mdl")
- self:SetMoveType(MOVETYPE_VPHYSICS)
- self:SetSolid(SOLID_VPHYSICS)
- self:PhysicsInit(SOLID_VPHYSICS)
- local phys = self:GetPhysicsObject()
- if IsValid(phys) then
- phys:SetMaterial("popcan")
- phys:SetMass(1)
- phys:Wake()
- end
- util.SpriteTrail(self.Entity, 0, Color(255,255,255,120), true, 3, 3, 0.5, 1 / (3-3) * 0.5, "trails/smoke" )
- end
- function ENT:PhysicsCollide(data,phys)
- if !self.Armed then
- if data.HitEntity == self:GetOwner() then return end
- if SERVER then
- self:EmitSound(Sound("physics/metal/soda_can_impact_hard"..math.random(1,3)..".wav"))
- end
- if IsValid(data.HitEntity) then
- self.Entity:SetParent(data.HitEntity)
- else
- phys:EnableMotion(false)
- end
- else
- self:Explode()
- end
- end
- function ENT:Explode()
- local ply = self:GetOwner()
- if !self.exploded then
- if !IsValid(ply) then ply = self end
- local effdata = EffectData()
- effdata:SetOrigin(self:GetPos())
- effdata:SetEntity(self)
- util.Effect("WaterSurfaceExplosion", effdata)
- util.Effect("azbr_grenade_exp", effdata)
- util.ScreenShake(self:GetPos(), 5, 5, 1, 1000)
- local dmg = DamageInfo()
- self:EmitSound("azbr/Nade_Explode"..math.random(1,3)..".wav")
- self:Remove()
- self.exploded = true
- end
- end
- function ENT:Think()
- for k,v in pairs(ents.FindInSphere(self:GetPos(), 150)) do
- if v:GetClass() == "player" then
- self:Explode()
- end
- end
- end
- end
- function ENT:OnTakeDamage(dmg)
- print("test")
- end
- function ENT:Draw()
- self:DrawModel()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement