CustomCheckFailMsg = function(ply) return ply:getDarkRPVar("money") >= 1000 and "You're too rich!" or not ply:IsUserGroup("donator") and "You need to be a donator to become a Hobo." end, -- The message it sends to the client

Restrict certain jobs to donator/vip/whatever usergroup

Details

Creating the usergroup

In order to use this, you will first need some players that have the donator, vip or whatever usergroup. In ulx I believe it's "ulx adduser name donator", but I'm not sure. Here's the guide for FAdmin:

at the last part, change "donator" to "vip", "special" or whatever you named your group two steps ago. If it was "donator", you can leave it like that. Make sure the double quotes (" ") stay there.

Restart the server

Ask the donator to try to get the job to test it.

NOTES

If the extra check says only donators can get the job, then admins and superadmins won't be able to get the job, because they're not donators. If you want the admins to be able to get the job, use this template to make the job:

You might want the custom fail message to be dynamic (show one message when the player is not a donator, show another one when the player has too much money.

customCheck = function(ply) return ply:IsUserGroup("donator") and ply:getDarkRPVar("money") < 1000 end, -- The customcheck function
CustomCheckFailMsg = function(ply) return ply:getDarkRPVar("money") >= 1000 and "You're too rich!" or not ply:IsUserGroup("donator") and "You need to be a donator to become a Hobo." end, -- The message it sends to the client