Only one entity working

I have worked on this project forever and I can’t seem to get all entities running at the same time. Only one entity moves at a time. I do not know what is wrong with this. The timer should start on all entities , but it only starts on the latest created entity.
Here is the code.


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

include( "shared.lua" )

function ENT:Initialize()
	self.Entity:SetModel( "Model Name Goes Here" )
	self.Entity:PhysicsInit( SOLID_VPHYSICS )     
	self.Entity:SetMoveType( MOVETYPE_VPHYSICS )   
	self.Entity:SetSolid( SOLID_VPHYSICS )         
	self.Entity:SetUseType(SIMPLE_USE)
	
    local phys = self.Entity:GetPhysicsObject()
	
	timer.Create( "jump_timer", 3, 0, function()
		phys:SetVelocity(self.Entity:GetRight() * -100 + Vector(0,0,100))
		self.Entity:EmitSound("Sound Goes Here", 75, 100)
	end)
	
	if (phys:IsValid()) then
		phys:Wake()
	end
end

function ENT:SpawnFunction( ply, tr )
	if ( !tr.Hit ) then 
		return 
	end
	
	local SpawnPos = tr.HitPos + tr.HitNormal * 16
	local ent = ents.Create( ClassName )
		ent:SetPos( SpawnPos )
	ent:Spawn()
	ent:Activate()
	
	return ent
end

function ENT:Use( activator, ent )
	local phys = self.Entity:GetPhysicsObject()
	
	if (activator:IsPlayer()) then
		activator:EmitSound("Sound Goes Here", 500, 200)
		phys:SetVelocity(self.Entity:GetRight() * -100 + Vector(0,0,1000))
	end
end

function ENT:OnTakeDamage( dmginfo )
	
end

function ENT:Think()
	
end

You need to do something like timer.Create(“jump_timer”…self:EntIndex(), …)

sorry, but its my second day in lua. Do you mean I have to make it like this?


timer.Create("jump_timer" self.Entity:EntIndex(), 3, 0, function() 
     phys:SetVelocity(self.Entity:GetRight() * -100 + Vector(0,0,100))
end)

Nevermind, I got it. It is supposed to be…


timer.Create("jump_timer"..self:EntIndex(), 3, 0, function() 
     phys:SetVelocity(self.Entity:GetRight() * -100 + Vector(0,0,100))
end)

Thank You Chessnut.