void main()
{
    object oPC=GetItemActivator();
    object oItem=GetItemActivated();
    location lLoc=GetItemActivatedTargetLocation();
    object oCoffin;
    oCoffin=CreateObject(OBJECT_TYPE_PLACEABLE,"vampirecoffin",lLoc);
    if (GetIsObjectValid(oCoffin)&&!GetIsObjectValid(GetLocalObject(oItem,"oOwner")))
    { // placed
        SetLocalObject(oPC,"oCoffin",oCoffin);
        SetLocalObject(oCoffin,"oVampire",oPC);
        SetLocalInt(oPC,"nCoffinPlaced",TRUE);
        DestroyObject(oItem);
        SetName(oCoffin,GetName(oPC)+"'s Coffin");
    } // placed
    else if (GetIsObjectValid(oCoffin))
    { // place someone elses coffin
        oPC=GetLocalObject(oItem,"oOwner");
        SetLocalObject(oPC,"oCoffin",oCoffin);
        SetLocalObject(oCoffin,"oVampire",oPC);
        SetLocalInt(oPC,"nCoffinPlaced",TRUE);
        DestroyObject(oItem);
        SetName(oCoffin,GetName(oPC)+"'s Coffin");
    } // place someone elses coffin
}