Alright so... I got this working. Semi. I'll paste the what I have and explain the issues after.


Code:
on *:text:!spin:#: {
  flood thespin 1 $nick
  var %r $r(1,250)
  $iif($r(1,2) == 1,addspin) $nick %r
  .timerSpinPts 1 1 msg # $nick has recieved %r points!
}


alias flood {
  if (YOURNICK !isin $1-) {
    if ($1 !isnum) {
      if ($($+(%,flood.,#,.,$1),2)) { echo 4 # Flood control | halt }
      set -z %flood. $+ # $+ . $+ $1 $2 
    } 
    else {
      if ($($+(%,flood.,#),2)) { echo 4 # Flood control | halt }
      set -z %flood. $+ # $1 
    }
  }
}



alias addspin {
  var %topic $+(#,.,$nick)
  var %points $calc($readini(Points.ini,%topic,Points) + $2)
  writeini -n Points.ini %topic Points %points
  echo -a $nick $chr(91) $+ %points $+ $chr(93)
}



the problem with the "doaddpoints" thing was in the %topic set. It was setting the nick and the amount of points they earned rather than placing where the points that were previously stored were located. Fixed that (after I realized what was going on obviously... Overlooked it easily)

Now, I don't have it so they can lose points, so that is the next thing to figure out on my list. But, I think I have an idea of where to start on that. The only other problems are;

if more than one person does !spin at the same time the %r is all messed up and could potentially give the wrong points to each person. This is untested right now, but I'm 90% sure it's possible (correct if I'm wrong please) To fix this would I do something like "var %r. $+ $nick $r(1,250)" ?? And what else would I have to put in the "addspin" alias to be sure the points get to the correct person?

Also, every now and then it echos with "USERNAME Unknown Command" and even though the game is played and points are shown in chat, it doesn't award the points. This is almost more common than it actually being successful. (roughly 3/5 times it shows "Unknown Command")

Thanks smile