no need for 3 on text events. no need inc %pnts need check for nick on !rating !unrate you go in negs need check do just
on $*:text:/^(!(un)?rate(ing)?)\s?(\w+)?$/iS:#: {
if ($regml(1) == !rate && $regml(2)) { .notice $nick $iif($regml(2) != $nick,$regml(2) has been rated,you cant rate yourself) | $iif($regml(2) != $nick,writeini rate.ini $regml(2) points $calc($readini(rate.ini,$regml(2),points) +1)) }
elseif ($regml(1) == !rateing) { .notice $nick $iif(!$regml(3),$nick has $iif(!$readini(rate.ini,$nick,points),0,$readini(rate.ini,$nick,points)),$regml(3) has $iif(!$readini(rate.ini,$regml(3),points),0,$readini(rate.ini,$regml(3),points))) points. }
elseif ($regml(1) == !unrate && $regml(3)) { .notice $nick $iif($readini(rate.ini,$regml(3),points) == 0,you cant take what they dont have,$regml(3) has had 1 Rating point removed) | $iif($readini(rate.ini,$regml(3),points) != 0,writeini rate.ini $regml(3) points $calc($readini(rate.ini,$regml(3),points) -1)) }
}