Node limit for published nodes per user
Give a try to User Points Contributed module: This module includes the module called userpoints_nodelimit which enables a limit on node creation based on user points.



However if you want to do it with the userpoints and rules module than the idea would be to create the rule to grant certain point on publishing the new nodes, and than create another rule whose event would be the node creation and in the condition  check if the user already has reached limit than prevent node creation and display the custom message.



Alternatively one easy way to achieve the same is using the hook_node_validate(), one example of using the same is as below:

/**
 * Implements hook_node_validate().
 */
function MyModule_node_validate($node, $form, &amp;$form_state) {
  // For now assign the static value to MAX_NODES (No. of nodes),
  // however you can make it dynamic, and get those values using variable_get().
  $max_nodes = 'MAX_NODES';
  $node_count = 0;

  // Get the user uid from the global user variable.
  global $user;
  $user_id = $user-&gt;uid;

  if ((isset($node-&gt;uid))) {
    // Use entity query to get the number of nodes already published by this user.
    $query = new EntityFieldQuery;
    $node_count = $query-&gt;entityCondition('entity_type', 'node')
      -&gt;propertyCondition('uid', $user_id)
      -&gt;propertyCondition('status', 1)
      -&gt;count()
      -&gt;execute();

    // Check if the node count exceeds the max_node value.
    if ($node_count &gt; $max_nodes) {
      form_set_error('FIELD_NAME', t('Reached the maximum limit of creation of nodes.'));
    }
  }
}