Downloading File
Filename: Rock Paper Scissors (2Player)
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


