Help with model angles?

I am doing a mortar thing and i was using a traffic cone model , and for a moment i thoug to myself that using a combine Headcrab canister would be a good idea so here comes the problems:

Whit the cone model , that spawn upward i would have no problems, considering the fact that the mortar shell would spawn upward, but the headcrab canister spawn lying and the mortar stills spawn upward and i don’t know how to make it follow the angles of the headcrab canister :suicide:

Some good soul can help me whit this?

The mortar shell launcher:




AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")

include("shared.lua")

function ENT:Initialize()
	self:SetModel("models/props_combine/headcrabcannister01a.mdl")
	self:PhysicsInit(SOLID_VPHYSICS)
	self:SetMoveType(MOVETYPE_VPHYSICS)
	self:SetSolid(SOLID_VPHYSICS)
	
	local phys = self:GetPhysicsObject()
	phys:Wake()
	phys:EnableMotion(true)
	
	self:SetMaterial("models/debug/debugwhite.vtf")
	self:SetColor(Color(0,6,82))
	
	self:SetPos(self:GetPos() + Vector(0,0,60))
end

ENT.working = true

function ENT:Use(activator, caller)
	if(self.working == true) then
	self.working = false
	
	self:EmitSound("prepfire.wav", 70)
	
	timer.Simple(1, function()
		self:Shoot()
	end)
	

	self:EmitSound("   .wav" , 80)

	
	timer.Simple(4, function()
		self.working = true
		self:EmitSound("mortar_reload.wav" , 80)
	end)
	
	end
end


function ENT:Shoot()
	
self:FiringBoom()
	
	local ent = ents.Create( "mortar_simple_shell" )
	
	if(ent:IsValid()) then
	
	local phys = ent:GetPhysicsObject()
	
	ent:SetPos(self:GetPos() + self:GetAngles():Up() * 50)
	ent:SetAngles(self:GetAngles())
	ent:SetOwner(self:GetOwner())
	ent:Spawn()
	
	self:EmitSound("mortar_whist.wav", 110)
	end
end

function ENT:Touch( entity )
	local phys = self:GetPhysicsObject()
end

function ENT:PhysicsCollide( data, physobj )
	local phys = self:GetPhysicsObject()
end

function ENT:Think()
	local phys = self:GetPhysicsObject()
end

function ENT:FiringBoom()
local ent = ents.Create("env_explosion")
	ent:SetPos(self:GetPos())
	ent:SetOwner(self:GetOwner())
	ent:SetPhysicsAttacker( self )
	ent:Spawn()
	ent:SetKeyValue( "iMagnetude" , "1" )
	ent:Fire( "Explode" , 3 , 0 )
end




The mortar shell:




AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")

include("shared.lua")

function ENT:Initialize()
	self:SetModel("models/Combine_Helicopter/helicopter_bomb01.mdl")
	self:PhysicsInit(SOLID_VPHYSICS)
	self:SetMoveType(MOVETYPE_VPHYSICS)
	self:SetSolid(SOLID_VPHYSICS)
	
	local phys = self:GetPhysicsObject()
	phys:Wake()
	phys:EnableMotion(true)
	
	phys:ApplyForceCenter(self:GetAngles():Up() * 30000000)
end

function ENT:Use(activator, caller)
	//Nothing
end

function ENT:Touch( entity )
	//Nothing
end

function ENT:PhysicsCollide( data, physobj )
	self:Boom()
end

function ENT:OnTakeDamage()
	//Nothing
end

function ENT:Boom()
	local phys = self:GetPhysicsObject()
	
	local ent = ents.Create( "env_explosion" )
	ent:SetPos( self:GetPos() )
	ent:SetOwner( self:GetOwner() )
	ent:SetPhysicsAttacker( self )
	ent:Spawn()
	ent:SetKeyValue( "iMagnitude", "120" )
	ent:Fire( "Explode", 60, 0 )
	
	ent:EmitSound( "mortar_explode.wav", 160)
	
	
	self:Remove()
end

function ENT:Think()
	//Nothing
end



EDIT:Grammar fixes

[editline]8th July 2014[/editline]

Can someone help me with this please?