//Prevent others from opening the door (in this case barrel)
//Put this script OnOpen
void main()
{

object oPC = GetExitingObject();
object oItem;

if (!GetIsPC(oPC)) return;

 //Take the key from the PC when they exit
 if (GetItemPossessedBy(oPC, "barrel2")!= OBJECT_INVALID)
 {
  oItem = GetFirstItemInInventory(oPC);

  while(GetIsObjectValid(oItem))
  {
   if(GetTag(oItem) == "barrel2")
   { DestroyObject(oItem, 0.0f); }

   oItem = GetNextItemInInventory(oPC);
  }
 }

  ExecuteScript("cleartown", OBJECT_SELF);

}