There are types of callbacks depends on what you want to do.
Collision callbacks (collide callback)
Interaction callbacks (interact callback)
State callbacks (for wheels and levers, statechange callback)
and special type of callbacks like "OnIgnite", "OnBreak" and "OnPickup"
I'm sure you want to do something as soon as player picks up lantern. So it's easy. Just set the lanterntrigger name into the interaction callback section of entity tab.
void lanterntrigger(string &in asEntity)
{
SetSwingDoorClosed("castle_1", true, true);
}
for further reference
http://wiki.frictionalgames.com/hpl2/amn..._functions