Advertisement
Charmander

new ld

Jun 30th, 2013
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 5.52 KB | None | 0 0
  1. on *:text:.ldrules:#: {
  2.   notice $nick Each player has two choices during his turn: make a higher bid, or challenge the previous bid as being wrong. The player may bid an increased quantity of any face, or the same quantity of a higher face.
  3.   notice $nick If the current player thinks the previous player's bid is wrong, he challenges it, and then all dice are revealed to determine whether the bid was valid. If the number of the relevant face revealed is at least as high as the bid, then the bid is valid, in which case the bidder wins.
  4.   notice $nick 02Commands: http://pastebin.com/0ukZXdJi
  5.   if ($findtok($enders,$nick,32)) {
  6.     notice $nick 02Admin Commands: http://pastebin.com/D3CdTLNV
  7.   }
  8. }
  9. alias enders return Charmander Crescendo Mafe ShakeItUp quinn Engineer Solace thewolf
  10. on *:text:.ldskip:#: {
  11.   if (%ld.round != on && %ldld == on && $findtok($enders,$nick,32)) {
  12.     .timer* off
  13.     trans
  14.   }
  15. }
  16. on *:text:.ldstart:#: {
  17.   set %ldchan #
  18.   if (%ldld != on) {
  19.     set %ldld on
  20.     msg # A Liar's Dice game was started by $+(12,$nick,,.) To join, type 12.ldjoin.
  21.     msg # Signups end in 1230 seconds!
  22.     .timer 1 30 trans
  23.     addplayer
  24.   }
  25.   else msg # There is already a game going on!
  26. }
  27. alias trans {
  28.   if ($numtok(%ld.players,32) >= 2) {
  29.     set %ld.round on
  30.     set %ld.it $gettok(%ld.players,$r(1,$numtok(%ld.players,32)),32)
  31.     msg %ldchan Time has ended or the signups phase was skipped, and it is time to bid! $+(12,%ld.it,,) will go first!
  32.   }
  33.   else {
  34.     msg %ldchan Not enough players! Game over.
  35.     unset %ld*
  36.     halt
  37.   }
  38.   tokenize 32 %ld.players
  39.   var %ld.count 1
  40.   while ($0 >= %ld.count) {
  41.     notice $ [ $+ [ %ld.count ] ] Your dice rolls are $+(12,%ld.dice [ $+ [ $ [ $+ [ %ld.count ] ] ] ],,.)
  42.     inc %ld.count
  43.   }
  44.   msg %ldchan To bid, type 12.ldbid <quantity> <face>.
  45. }
  46. on *:text:.ldjoin:#:if (!%ld.round && !$findtok(%ld.players,$nick,32) && %ldld == on) addplayer
  47. on $*:text:/^(\.ldbid (\d|\d\d) \d)$/Si:#: {
  48.   if ((%ld.it == $nick) && (%ld.round == on) && ((!%ld.bid) || ($2 >= $gettok(%ld.bid,1,32) && $3 > $gettok(%ld.bid,2,32)) || ($2 > $gettok(%ld.bid,1,32) && $3 <= $gettok(%ld.bid,2,32)))) {
  49.     set %ld.bid $2 $3
  50.     set %ld.person $nick
  51.     set %ld.lie $iif($findtok(%ld.total,$3,0,32) >= $2,true,false)
  52.     msg # $+(12,$nick,) claims there are $+(12,$2,) dice numbered $+(12,$3,,!)
  53.     setturn
  54.   }
  55. }
  56. on *:text:.ldbs:#: {
  57.   if (%ld.person != $nick && %ld.person && %ld.it == $nick && %ld.round == on) {
  58.     set %ld.winner $iif(%ld.lie == false,$nick,%ld.person)
  59.     msg # $+(12,%ld.winner,) wins the round!
  60.     inc %ld2. [ $+ [ %ld.winner ] ]
  61.     var %ld.count 1
  62.     while (%ld.count <= $var(%ld2.*,0)) {
  63.       set %ld.score %ld.score $+(12,$right($($var(%ld2.*,%ld.count).name),-5),,:,$chr(32),07,$var(%ld2.*,%ld.count).value,)
  64.       inc %ld.count
  65.     }
  66.     msg # %ld.score
  67.     inc %ld3
  68.     if (%ld2. [ $+ [ %ld.winner ] ] == 5) {
  69.       msg # $+(12,%ld3,) rounds played; $+(12,%ld.winner,) wins!
  70.       unset %ld*
  71.     }
  72.     else {
  73.       msg # Starting game $+(12,$calc(%ld3 + 1),,!)
  74.       set %ld.ld on
  75.       msg # A Liar's Dice game was started! To join, type 12.ldjoin.
  76.       msg # Signups end in 1230 seconds!
  77.       .timer 1 30 trans
  78.     }
  79.     unset %ld.*
  80.   }
  81. }
  82. on *:text:.lddice:#:if ($findtok(%ld.players,$nick,32)) notice $nick $+(12,$nick,'s) dice are $+(12,%ld.dice [ $+ [ $nick ] ],,!)
  83. on *:text:.ldend:#: {
  84.   if (%ldld == on && $findtok($enders,$nick,32)) {
  85.     msg # The game was ended by $+(12,$nick,,.) To start a new game, type 12.ldstart.
  86.     unset %ld*
  87.     halt
  88.   }
  89. }
  90. alias setturn {
  91.   if ($findtok(%ld.players,%ld.it,32) == $numtok(%ld.players,32)) set %ld.it $gettok(%ld.players,1,32)
  92.   else set %ld.it $gettok(%ld.players,$calc($findtok(%ld.players,%ld.it,32)+1),32)
  93.   msg %ldchan It is now $+(12,%ld.it,,'s) turn!
  94. }
  95. on *:text:.ldinfo:#:if (%ldld == on) msg # Bid: $+(12,$iif(%ld.bid != $null,%ld.bid,0 0),,s) $chr(124) Turn: $+(12,$iif(%ld.it,%ld.it,<none>)) $chr(124) Players: $+(12,%ld.players,) $chr(124) Phase: $+(12,$iif(%ld.round == on,Bidding,Signups),)
  96. alias addplayer {
  97.   if (!$findtok(%ld.players,$1,32)) {
  98.     msg %ldchan $+(12,$iif($1,$1,$nick),) has joined the game!
  99.     set %ld.players %ld.players $iif($1,$1,$nick)
  100.     set %ld.dice [ $+ [ $iif($1,$1,$nick) ] ] $sorttok($r(1,6) $r(1,6) $r(1,6) $r(1,6) $r(1,6),32,n)
  101.     set %ld.total %ld.total %ld.dice [ $+ [ $iif($1,$1,$nick) ] ]
  102.     if (%ld.round == on) notice $1 Your dice rolls are $+(12,%ld.dice [ $+ [ $1 ] ])
  103.   }
  104. }
  105. on *:text:.ldspot:#: {
  106.   if (%ld.it == $nick && %ld.bid) {
  107.     set %ld.winner $iif($findtok(%ld.total,$gettok(%ld.bid,2,32),0,32) == $gettok(%ld.bid,1,32),$nick,%ld.person)
  108.     msg # $+(12,%ld.winner,) wins the round!
  109.     inc %ld2. [ $+ [ %ld.winner ] ]
  110.     var %ld.count 1
  111.     while (%ld.count <= $var(%ld2.*,0)) {
  112.       set %ld.score %ld.score $+(12,$right($($var(%ld2.*,%ld.count).name),-5),,:,$chr(32),07,$var(%ld2.*,%ld.count).value,)
  113.       inc %ld.count
  114.     }
  115.     msg # %ld.score
  116.     inc %ld3
  117.     if (%ld2. [ $+ [ %ld.winner ] ] == 5) {
  118.       msg # $+(12,%ld3,) rounds played; $+(12,%ld.winner,) wins!
  119.       unset %ld*
  120.     }
  121.     else {
  122.       msg # Starting game $+(12,$calc(%ld3 + 1),,!)
  123.       set %ld.ld on
  124.       msg # A Liar's Dice game was started! To join, type 12.ldjoin.
  125.       msg # Signups end in 1230 seconds!
  126.       .timer 1 30 trans
  127.     }
  128.     unset %ld.*
  129.   }
  130. }
  131. on *:text:.ldadd *:#: {
  132.   if (%ldld == on && $findtok($enders,$nick,32) && !$3) {
  133.     addplayer $2
  134.   }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement