void main()
{
    object oMe=OBJECT_SELF;
    object oDoor=GetNearestObject(OBJECT_TYPE_DOOR,oMe);
    object oWP=GetWaypointByTag("MUNICIPAL_INSPECTOR");
    if (!GetIsOpen(oDoor)) AssignCommand(oDoor,ActionOpenDoor(oDoor));
    if (GetArea(oWP)==GetArea(oMe)) return;
    ActionMoveToObject(oDoor,FALSE,2.0);
    DelayCommand(5.0,DestroyObject(oMe));
    if (GetTag(GetNearestObject(OBJECT_TYPE_CREATURE,oWP))!="INSPECTOR")
    { // create me at home
        object oCopy=CreateObject(OBJECT_TYPE_CREATURE,"rhinspector",GetLocation(oWP));
    } // create me at home
}