on *:load: { if ($isfile(RPS.hsh)) { hmake RPS 50 | hload RPS RPS.hsh } else { hmake RPS 50 hadd RPS WinHolder None hadd RPS LoseHolder None hadd RPS GamesHolder None hadd RPS DrawHolder None } on *:Exit: { hsave RPS RPS.hsh } #RPS on on *:TEXT:*:#Channel(s)Here: { if ($1 == !RPS) || ($1 == !PSR) || ($1 == !PSS) || ($1 == !SRP) { if ($2 == highscores) { msg $chan Rock Paper Scissors HighScores: 4Most Games: $hget(RPS,$hget(RPS,gamesholder) $+ games) $+ ( $hget(RPS,gamesholder) ) 4Most Wins: $hget(RPS,$hget(RPS,winholder) $+ win) $+ ( $hget(RPS,winholder) ) 4Most Losses: $hget(RPS,$hget(RPS,loseholder) $+ lose) $+ ( $hget(RPS,loseholder) ) 4Most Draws: $hget(RPS,$hget(RPS,drawholder) $+ draw) $+ ( $hget(RPS,drawholder) ) | halt } if ($2 == scores) { if ($3 == $null) { if (!$hget(RPS,$nick $+ games)) { msg $chan You have never played a game of Rock Paper Scissors with me. | halt } else { msg #deimiusland Stats for $nick $+ : 4Games Played: $hget(RPS,$nick $+ games) $+ , 4Wins: $hget(RPS,$nick $+ win) $+ , 4Losses: $hget(RPS,$nick $+ lose) $+ , 4Draws: $hget(RPS,$nick $+ draw) $+ . halt } } if ($hget(RPS,$3 $+ games)) { msg #deimiusland Stats for $3 $+ : 4Games Played: $hget(RPS,$3 $+ games) $+ , 4Wins: $hget(RPS,$3 $+ win) $+ , 4Losses: $hget(RPS,$3 $+ lose) $+ , 4Draws: $hget(RPS,$3 $+ draw) $+ . halt } if (!$hget(RPS,$3 $+ games)) { msg $chan $3 has never played a game of Rock Paper Scissors with me. | halt } } if (%RPS1 == $null) { if ($2 == $nick) { msg $chan You cannot play Paper Scissors Rock, by yourself, $nick $+ . | halt } if ($2 == $me) { msg $chan I setup the games, I do not play them. | halt } if ($2 == $null) { msg $chan Who do you wish to challenge, $nick $+ ? | halt } if ($2 ison $chan) { set %RPS1 $nick set %RPSW $2 msg $chan $nick has challeneged $2 to a game of Rock Paper Scissors! notice $2 You have been challenged by $nick to a game of Paper scissors Rock. Type: '!accept' or '!decline'. .timerRPSChal1 1 60 msg $chan $2 doesn't appear to be there right now. Try challenging $2 again later. .timerRPSchal2 1 60 unset %RPS* halt } else { msg $chan $2 is not on the channel, $nick $+ . | halt } } else { msg $chan Please be Patient, $nick $+ . There is already a game of Paper scissors rock in progress. | halt } } if ($1 == !accept) { if (%RPS1) { if ($nick == %RPSW) { .timerRPSchal* off set %RPS.chan $chan unset %RPSW set %RPS2 $nick if (!$hget(RPS,%RPS1 $+ games)) { hadd -m RPS %rps1 $+ draw 0 hadd -m RPS %rps1 $+ games 1 hadd -m RPS %rps1 $+ win 0 hadd -m RPS %rps1 $+ lose 0 } if (!$hget(RPS,%RPS2 $+ games)) { hadd -m RPS %rps2 $+ games 1 hadd -m RPS %rps2 $+ win 0 hadd -m RPS %rps2 $+ lose 0 hadd -m RPS %rps2 $+ draw 0 } msg $chan The Challenge from %RPS1 has been accepted by %RPS2 $+ . notice %RPS1 You have 60 seconds to choose either !rock, !paper or !scissors. Syntax: /notice $me [!choicehere] notice %RPS2 You have 60 seconds to choose either !rock, !paper or !scissors. Syntax: /notice $me [!choicehere] .timerRPS1limit1 1 40 msg $chan 20 seconds left, %RPS1 $+ . .timerRPS1limit2 msg $chan You took far too long, %RPS1 $+ . .timerRPS1limit3 2win .timerRPS2limit1 1 40 msg $chan 20 seconds left, %RPS2 $+ . .timerRPS2limit2 1 60 msg $chan You took far too long, %RPS2 $+ . .timerRPS2limit3 1 60 1win halt } else { msg $chan %rps1 did not challenge you, $nick $+ . halt } } else { msg $chan There is no game of rock paper scissors to accept. To challenge someone, type: !RPS [nicktochallenge] | halt } } if ($1 == !decline) { if ($nick == %RPSW) { .timerchal* off msg $chan %RPSw $+ has declined %RPS1 $+ 's challenge. unset %RPS* halt } else { msg $chan %rps1 did not challenge you, $nick $+ . halt } } if ($1 == !paper) || ($1 == !scissors) || ($1 == !rock) { if ($nick == %Rps1) { msg %RPS.chan Correct Syntax is: '/notice $me [!choicehere]' It wouldn't be a bad idea to change your choice now. | halt } if ($nick == %Rps2) { msg %RPS.chan Correct Syntax is: '/notice $me [!choicehere]' It wouldn't be a bad idea to change your choice now. | halt } else { return } } else { halt } } on *:notice:*:?: { if ($1 == !rock) || ($1 == !Paper) || ($1 == !scissors) { if ($nick == %RPS1) { .timerRPS1* off set %RPS1.C $1 notice %RPS1 You have chosen %RPS1.c $+ . if (%RPS2.c != $null) { msg %RPS.chan %RPS1 chose %RPS1.c - %RPS2 chose %RPS2.c $+ . faceoff halt } if (%RPS2.c == $null) { notice %RPS1 Please wait for %RPS2 to decide what to pick. halt } } if ($nick == %RPS2) { .timerRPS2* off set %RPS2.C $1 notice %RPS2 You have chosen %RPS2.c $+ . if (%RPS1.c != $null) { msg %RPS.chan %RPS1 chose %RPS1.c - %RPS2 chose %RPS2.c $+ . faceoff halt } if (%RPS1.c == $null) { notice %RPS2 Please wait for %RPS1 to decide what to pick. | halt } } } elseif ($nick == %RPS1) { notice %RPS1 Please decide on either !rock, !paper or !scissors | halt } elseif ($nick == %RPS2) { notice %RPS2 Please decide on either !rock, !paper or !scissors | halt } else { return } } alias faceoff { if (%rps1.c == %rps2.c) { draw | halt } if (%rps1.c == !paper) { if (%rps2.c == !rock) { 1win | halt } if (%rps2.c == !scissors) { 2win | halt } } if (%rps1.c == !rock) { if (%rps2.c == !scissors) { 1win | halt } if (%rps2.c == !paper) { 2win | halt } } if (%rps1.c == !scissors) { if (%rps2.c == !paper) { 1win | halt } if (%rps2.c == !rock) { 2win | halt } } } alias draw { msg %rps.chan This Game ends in a draw! We all know, here in %rps.chan $+ , there are no losers. var %addgames1 $hget(RPS,%rps1 $+ games) inc %addgames1 1 hadd RPS %rps1 $+ games %addgames1 if ($hget(RPS,%rps1 $+ games) > $hget(rps,$hget(rps,gamesholder) $+ games)) { hadd RPS gamesholder %rps1 msg %rps.chan %RPS1 $+ , you know hold the title for the most Rock Paper Scissors Games! } var %adddraw1 $hget(RPS,%rps1 $+ draw) inc %adddraw1 1 hadd -m RPS %rps1 $+ draw %adddraw1 if ($hget(RPS,%rps1 $+ draw) > $hget(rps,$hget(rps,drawholder) $+ draw)) { hadd RPS drawholder %rps1 msg %rps.chan %RPS1 $+ , you know hold the record for the most draws in Rock Paper Scissors! } var %addgames2 $hget(RPS,%rps2 $+ games) inc %addgames2 1 hadd RPS %rps2 $+ games %addgames2 if ($hget(RPS,%rps2 $+ games) > $hget(rps,$hget(rps,gamesholder) $+ games)) { hadd RPS gamesholder %rps2 msg %rps.chan %RPS1 $+ , you know hold the title for the most Rock Paper Scissors Games! } var %adddraw2 $hget(RPS,%rps2 $+ draw) inc %adddraw2 1 hadd -m RPS %rps2 $+ draw %adddraw2 if ($hget(RPS,%rps2 $+ draw) > $hget(rps,$hget(rps,drawholder) $+ draw)) { hadd RPS drawholder %rps2 msg %rps.chan %RPS2 $+ , you know hold the record for the most draws in Rock Paper Scissors! } unset %rps* halt } alias 1win { msg %rps.chan Congratulations, %rps1 $+ !! %RPs1.c never fails! var %addgames1 $hget(RPS,%rps1 $+ games) inc %addgames1 1 hadd RPS %rps1 $+ games %addgames1 if ($hget(RPS,%rps1 $+ games) > $hget(rps,$hget(rps,gamesholder) $+ games)) { hadd RPS gamesholder %rps1 msg %rps.chan %RPS1 $+ , you know hold the title for the most Rock Paper Scissors Games! } var %addwin $hget(RPS,%rps1 $+ win) inc %addwin 1 hadd RPS %rps1 $+ win %addwin if ($hget(RPS,%rps1 $+ win) > $hget(rps,$hget(rps,winholder) $+ win)) { hadd RPS winholder %rps1 msg %rps.chan %RPS1 $+ , you know hold the title for the most Rock Paper Scissors Wins! } var %addgames2 $hget(RPS,%rps2 $+ games) inc %addgames2 1 hadd RPS %rps2 $+ games %addgames2 if ($hget(RPS,%rps2 $+ games) > $hget(rps,$hget(rps,gamesholder) $+ games)) { hadd RPS winholder %rps2 msg %rps.chan %RPS2 $+ , you now hold the title for the most Rock Paper Scissors Games! } var %addlose $hget(RPS,%rps2 $+ lose) inc %addlose 1 hadd RPS %rps2 $+ lose %addlose if ($hget(RPS,%rps2 $+ lose) > $hget(rps,$hget(rps,loseholder) $+ games)) { hadd RPS loseholder %rps2 msg %rps.chan %RPS2 $+ , you now hold the title for the most Rock Paper Scissors Games! } unset %rps* halt } alias 2win { msg %rps.chan Congratulations, %rps2 $+ !! Next time, you should think again before challenging %Rps2 $+ , %RPs1 $+ . if ($hget(RPS,%rps2 $+ games) > $hget(rps,$hget(rps,gamesholder) $+ games)) { hadd RPS gamesholder %rps2 msg %rps.chan RPS2 $+ , you now hold the title for the most Rock Paper Scissors Games! } var %addwin $hget(RPS,%rps2 $+ win) inc %addwin 1 hadd -m RPS %rps2 $+ win %addwin if ($hget(RPS,%rps2 $+ win) > $hget(rps,$hget(rps,winholder) $+ win)) { hadd RPS winholder %rps2 msg %rps.chan %RPS2 $+ , you now hold the title for the most Rock Paper Scissors Wins! } var %addgames1 $hget(RPS,%rps1 $+ games) inc %addgames1 1 hadd -m RPS %rps1 $+ games %addgames1 if ($hget(RPS,%rps1 $+ games) > $hget(rps,$hget(rps,gamesholder) $+ games)) { hadd RPS gamesholder %rps1 msg %rps.chan %RPS1 $+ , you now hold the title for the most Rock Paper Scissors Games! } var %addlose $hget(RPS,%rps1 $+ lose) inc %addlose 1 hadd -m RPS %rps1 $+ lose %addlose if ($hget(RPS,%rps1 $+ lose) > $hget(rps,$hget(rps,loseholder) $+ lose)) { hadd RPS loseholder %rps1 msg %rps.chan %RPS1 $+ , you now hold the title for the most Rock Paper Scissors loses! I'm not so sure if that's a good thing though. } unset %rps* halt } #RPS end