How to create rule to change user role based on points (using User Points module)?
Have you tried the user points contrib module. I am specifically referring to 

userpoints_role

Users join/leave roles as they earn/lose certain points threshold.