on *:text:!dd *:#yourchannel: {
; You can remove the first two IF lines if you don't care about checking if the nicks are on the channel.
if ($2 !ison $chan) { msg $chan $2 is not a valid nick. | halt }
if ($3 !ison $chan) { msg $chan $3 is not a valid nick. | halt }
if (!$4) { msg $chan Invalid format. Use: !dd nick1 nick2 reward | halt }
set %dd $2 $3 $4
msg $chan Dice duel between $2 and $3 has begun.
.timerDD 1 300 EndDD
}
on *:text:!roll:#yourchannel: {
if (!%dd) { msg $chan No duel in progress. | halt }
if (!$istok(%dd,$nick,32)) { msg $chan You are not one of the duelists. | halt }
if ($($+(%,ddr.,$nick),2)) { msg $chan You have already rolled. | halt }
var %r = $rand(1,6), %d1 = $gettok(%dd,1,32), %d2 = $gettok(%dd,2,32), %p = $gettok(%dd,3,32)
set %ddr. $+ $nick %r
msg $chan $nick rolled a %r $+ .
var %r1 = $($+(%,ddr.,$gettok(%dd,1,32)),2), %r2 = $($+(%,ddr.,$gettok(%dd,2,32)),2)
if (%r1 && %r2) {
if (%r1 > %r2) { msg $chan %d1 won the %p pot with a %r1 $+ - $+ %r2 $+ . }
elseif (%r2 > %r1) { msg $chan %d2 won the %p pot with a %r2 $+ - $+ %r1 $+ . }
else { msg $chan %d1 and %d2 tied with a %r1 $+ - $+ %r2 $+ . }
unset %dd
unset %ddr.*
.timerDD off
}
}
alias EndDD {
msg $chan The duel ran out of time and has been ended.
unset %dd
unset %ddr.*
}