The way I deal with trouble makers is the registered usergroup's posts go to the moderation queue always, and after they reach the level of promotions (30 days or 30 posts) they get a secondary usergroup that removes the moderation queue behaviour.
It works really well when we ban users, because when (or if) they re-sign up, their posts are only visible to admins until they are automatically approved, or manually approved if the person is known.
It shouldnt be too much effort to change the time between posts if someone is a member of a certain usergroup either.
Two methods: Every member starts out as a "Limited Registered user" (the default registered usergroup with restrictive settings), and then get promoted (primary usergroup promotion) to "Normal Registered Users". (an additional usergroup you add with normal permissions)
In this scenario UGID 2 is limited usergroup, where follow forum moderation is set to no.
The new usergroup has it set to yes.
PHP Code:
if($vbulletin->userinfo['usergroupid'] == 2)
{
$vbulletin->options['floodchecktime'] = 60 * 30; #60 seconds times 30 minutes
}
Or, if everyone remains in the "Limited Registered Users' and they get promoted to "Normal Registered Users" as a secondary usergroup: (
IMO - the better method)
PHP Code:
if(!is_member_of($vbulletin->userinfo, NEWUSERGROUPID) AND $vbulletin->userinfo['usergroupid'] == 2)
{
$vbulletin->options['floodchecktime'] = 60 * 30; #60 seconds times 30 minutes
}
Where NEWUSERGROUPID is the userid of the secondary usergroup with 'follow forum moderation' set to yes, while the normal registered users are set to no.