This is off the top of my head, so probably not quite right, but I think if you add this code just below the usergroup section, it should get you started:
/* Existing Code */
/* filter by user groups */
if (!empty($usergroups)) {
$usergroups = explode(',',$usergroups);
$c->leftJoin('modUserGroupMember','UserGroupMembers',$modx->getSelectColumns($userClass,$userAlias,'',array('id')).' = '.$modx->getSelectColumns('modUserGroupMember','UserGroupMembers','',array('member')));
$c->leftJoin('modUserGroup','UserGroup',$modx->getSelectColumns('modUserGroupMember','UserGroupMembers','',array('user_group')).' = '.$modx->getSelectColumns('modUserGroup','UserGroup','',array('id')));
$c->where(array(
'UserGroup.name:IN' => $usergroups,
));
}
/* New Code */
$userids = $modx->getOption('userids', $scriptProperties, '');
if (!empty($userids)) {
$userIds = explode(',', $userids);
$c->where(array(
'User.id:IN' => $userids,
));
}
As long as you don't set the usergroups property, you can leave that code there.