The Storyteller Dice Roller For MIRC By Scott Pittman Directions: Cut and paste this script into your Variables section in MIRC. Then to roll dice, simply type in: /#dice then enter The dice range can be from 1-20 dice. Note: The rolls, while random, do not reflect actual real-dice rolls. Rolls that are lower in dice have a much greater chance of botching, and higher rolls will botch much less. While this was something that simply came from the simple form of the script, I think it adds realism to the game rolls (I personaly hated botching many rolls my "expert" made in several Storyteller adventures. At any rate, i hope you enjoy this script. The script should be cut and pasted as follows: 10dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,11) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 10 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 10 dice, botch on a result of 11 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 10 dice and rolls this many successes:  $+ %rolltotal } halt } } 20dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,21) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 20 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 20 dice, botch on a result of 21 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 20 dice and rolls this many successes:  $+ %rolltotal } halt } } 19dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,20) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 19 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 19 dice, botch on a result of 20 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 19 dice and rolls this many successes:  $+ %rolltotal } halt } } 18dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,19) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 19 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 19 dice, botch on a result of 20 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 19 dice and rolls this many successes:  $+ %rolltotal } halt } } 17dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,18) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 17 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 17 dice, botch on a result of 18 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 17 dice and rolls this many successes:  $+ %rolltotal } halt } } 16dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,17) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 16 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 16 dice, botch on a result of 17 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 16 dice and rolls this many successes:  $+ %rolltotal } halt } } 15dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,16) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 15 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 15 dice, botch on a result of 16 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 15 dice and rolls this many successes:  $+ %rolltotal } halt } } 14dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,15) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 14 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 14 dice, botch on a result of 15 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 14 dice and rolls this many successes:  $+ %rolltotal } halt } } 13dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,14) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 13 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 13 dice, botch on a result of 14 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 13 dice and rolls this many successes:  $+ %rolltotal } halt } } 12dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,13) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 12 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 12 dice, botch on a result of 13 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 12 dice and rolls this many successes:  $+ %rolltotal } halt } } 11dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,12) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 11 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 11 dice, botch on a result of 12 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 11 dice and rolls this many successes:  $+ %rolltotal } halt } } 9dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,10) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 9 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 9 dice, botch on a result of 10 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 9 dice and rolls this many successes:  $+ %rolltotal } halt } } 8dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,9) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 8 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 8 dice, botch on a result of 9 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 8 dice and rolls this many successes:  $+ %rolltotal } halt } } 7dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,8) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 7 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 7 dice, botch on a result of 8 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 7 dice and rolls this many successes:  $+ %rolltotal } halt } } 6dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,7) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 6 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 6 dice, botch on a result of 7 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 6 dice and rolls this many successes:  $+ %rolltotal } halt } } 5dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,6) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 5 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 5 dice, botch on a result of 6 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 5 dice and rolls this many successes:  $+ %rolltotal } halt } } 4dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,5) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 4 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 4 dice, botch on a result of 5 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 4 dice and rolls this many successes:  $+ %rolltotal } halt } } 3dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,4) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 4 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 3 dice, botch on a result of 4 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 3 dice and rolls this many successes:  $+ %rolltotal } halt } } 2dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,3) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 2 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 2 dice, botch on a result of 3 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 2 dice and rolls this many successes:  $+ %rolltotal } halt } } 1dice { set %rolltotal 0 set %rollcnt 0 if (%dicedisp == p) { aline @dice 3Roll %dicecnt D8 } :roll inc %rollcnt 1 set %d8 $rand(0,2) ;if (%dicedisp == c) { msg %dicechan 3 $me rolls 1 dice and rolls this many successes:  $+ %d8 } ;if (%dicedisp == p) { aline @dice 3Roll D8 for a  $+ %d8 } inc %rolltotal %d8 if (%rollcnt == %dicecnt) { goto done } goto roll :done if (%dicedisp == c) { msg %dicechan 6I roll %dicecntof of 1 dice, botch on a result of 2 | msg %dicechan 12For this many successes:  $+ %rolltotal } if (%dicedisp == p) { aline @dice 1 dice and rolls this many successes:  $+ %rolltotal } halt } }