--Creating new user role condition and set operator != and login user match this condition and still return false after debugging uc_discounts_role_check I found it check with isset ignoring operator.
-It fixed by replacing this code
##return isset($user->roles[$condition->item_id]);
to be:
##
if ($condition->op == '=') {
return isset($user->roles[$condition->item_id]);
} else {
return !isset($user->roles[$condition->item_id]);
}

I attached patch with these changes.

CommentFileSizeAuthor
uc_discounts_role.module.patch554 bytesmelsawy
Support from Acquia helps fund testing for Drupal Acquia logo