AddCSLuaFile( "cl_init.lua" ) AddCSLuaFile( "shared.lua" ) include('shared.lua') ENT.Alerted = false ENT.bleeds = true ENT.StartHealth = 800 ENT.time = 0 function ENT:Initialize() self.Entity:SetModel("models/alien/chestbrstr.mdl") self.Entity:PhysicsInit( SOLID_BBOX ) -- Make us work with physics, self.Entity:SetMoveType( MOVETYPE_STEP ) --after all, gmod is a physics self.Entity:SetSolid( SOLID_BBOX ) -- Toolbox self.FiringGun = false self:SetSchedule(SCHED_HIDE_AND_RELOAD) self.Friends = {""} self:SetHealth(self.StartHealth) self.Enemy = NULL self.time = 0 end function ENT:OnTakeDamage(dmg) self:KilledDan() end function ENT:KilledDan() //create ragdoll local ragdoll = ents.Create( "prop_ragdoll" ) ragdoll:SetModel( self:GetModel() ) ragdoll:SetPos( self:GetPos() ) ragdoll:SetAngles( self:GetAngles() ) ragdoll:Spawn() ragdoll:SetSkin( self:GetSkin() ) ragdoll:SetColor( self:GetColor() ) ragdoll:SetMaterial( self:GetMaterial() ) if( GetConVarNumber("ai_keepragdolls") == 0 ) then ragdoll:SetCollisionGroup( 1 )//COLLISION_GROUP_DEBRIS ) ragdoll:Fire( "FadeAndRemove", "", 0.2 ) end //my code undo.ReplaceEntity(self,ragdoll) cleanup.ReplaceEntity(self,ragdoll) //ignight ragdoll if on fire. if self:IsOnFire() then ragdoll:Ignite( math.Rand( 8, 10 ), 0 ) end //position bones the same way. for i=1,128 do local bone = ragdoll:GetPhysicsObjectNum( i ) if ValidEntity( bone ) then local bonepos, boneang = self:GetBonePosition( ragdoll:TranslatePhysBoneToBone( i ) ) bone:SetPos( bonepos ) bone:SetAngle( boneang ) end end self:Remove() end function ENT:Molt() self:EmitSound( "alien/alien_acid.wav" ) local bloodeffect = ents.Create( "info_particle_system" ) bloodeffect:SetKeyValue( "effect_name", "blood_impact_yellow_01" ) bloodeffect:SetPos( self:GetPos() ) bloodeffect:Spawn() bloodeffect:Activate() bloodeffect:Fire( "Start", "", 0 ) bloodeffect:Fire( "Kill", "", 0.1 ) local bloodeffect = ents.Create( "info_particle_system" ) bloodeffect:SetKeyValue( "effect_name", "blood_impact_yellow_01" ) bloodeffect:SetPos( self:GetPos() ) bloodeffect:Spawn() bloodeffect:Activate() bloodeffect:Fire( "Start", "", 0 ) bloodeffect:Fire( "Kill", "", 0.1 ) local bloodeffect = ents.Create( "info_particle_system" ) bloodeffect:SetKeyValue( "effect_name", "blood_impact_yellow_01" ) bloodeffect:SetPos( self:GetPos() ) bloodeffect:Spawn() bloodeffect:Activate() bloodeffect:Fire( "Start", "", 0 ) bloodeffect:Fire( "Kill", "", 0.1 ) if math.random(1,2) == 1 then local alien = ents.Create("npc_xenomorph") alien:SetPos(self:GetPos()) alien:Spawn() else local alien = ents.Create("npc_drone_xenomorph") alien:SetPos(self:GetPos()) alien:Spawn() end self:Remove() end function ENT:Think() //self:SetPos( self:GetParent():GetPos() ) self.time = self.time + 1 print(self.time) if self.time > 130 then self:Molt() end end function ENT:SpawnBlood() //if self.AcidBlood then local entstoattack = ents.FindInSphere(self:GetPos(),75) for _,v in pairs(entstoattack) do if ( (v:IsNPC() || ( v:IsPlayer() && v:Alive())) && (v != self) && (v:GetClass() != self:GetClass()) || (v:GetClass() == "prop_physics")) then v:TakeDamage( 3, self ) end self:EmitSound( "alien/alien_acid.wav" ) end //end //if (self.Bleeds == true) then local bloodeffect = ents.Create( "info_particle_system" ) //if self.BleedsRed == true then // bloodeffect:SetKeyValue( "effect_name", "blood_impact_red_01" ) //else bloodeffect:SetKeyValue( "effect_name", "blood_impact_yellow_01") //end bloodeffect:SetPos( self:GetPos() ) bloodeffect:Spawn() bloodeffect:Activate() bloodeffect:Fire( "Start", "", 0 ) bloodeffect:Fire( "Kill", "", 0.1 ) //end end function ENT:OnRemove() end