Problem writing an entity - Can't get it to activate

I have an entity I’m creating and for the life of me I can’t get the function ENT:Use to fire. In addition, i’m very confused as to what the actual arguments to the ENT:Use function are. The garrysmod wiki states that

>ENT:Use( Entity activator, Entity caller, number useType, number value )

However, I’ve been looking at examples and have seen
function ENT:Use( ply, activator )
function ENT:Use( activator )
function ENT:Use( ply )

so i’m not sure what the difference between activator and caller is.

Here is init.lua file in the entity’s folder

AddCSLuaFile( “shared.lua” )
include( “shared.lua” )

function ENT:Initialize()
self:PhysicsInit( SOLID_VPHYSICS )
self:SetSolid( SOLID_VPHYSICS )
self:SetUseType( SIMPLE_USE )

local phys = self:GetPhysicsObject()
if phys:IsValid() then
	phys:EnableMotion( false )


function ENT:Use( ply, activator )
DarkRP.notify( ply, 1, 4, “You have clicked the entity. Good Job!” )

function EntityNameSpawn()
local eSpawn = entityName.config.mapspawn[ game.GetMap() ]

for k, v in pairs( eSpawn ) do
	local e = ents.Create( "entityName" )
	e:SetPos( v.pos )
	e:SetAngles( v.ang )
	e:SetMoveType( MOVETYPE_NONE )


hook.Add( “InitPostEntity”, “entityName”, EntityNameSpawn)

The hook works correctly and the entity is spawned in the correct location and is unmovable as it should be. However, pressing ‘e’ on the entity does nothing. Am I missing something?

I’ve been using dkoz’s entities on github ( as basic templates to figure out how to actually write them.

EDIT: In addition to this file, there is also an shared.lua in the same entity folder, and a cl_entityName.lua and sh_entityName.lua in a module folder, and then a entityName_settings.lua in the darkrp_config folder. I didn’t think those are involved in the problem, but I can post them if necessary

Not sure off the top of my head but try looking at this thread here,

Also try adding e:Activate() right after e:Spawn().

I put e:Activate() in the EntityNameSpawn function just after e:Spawn(), but it’s still not working correctly. I tried putting different sorts of debug messages in the Use function:

    Msg("Active : "..activator:GetName().."

activator:SetDarkRPVar( “money”, 500 )

but i’m not getting any sort of console message, nor is my money being set to 500

I also tried changing the model to see if the model was the issue, but it didn’t have any affect.

EDIT: The guy running the server just messaged me and told me it was working now. I’ll update and close the thread tomorrow when I find out why it started working for anyone that has this problem in the future

EDIT: He doesn’t know -_-