All pastes #818862 Raw Edit

Untitled

public text v1 · immutable
·published 2007-12-16 16:33 UTC
rendered paste body
on *:TEXT:!Blackjack:#: { 
  if (%blackjack [ $+ [ $address($nick,2) ] ] == $true) notice $nick You're already in a game 
  else { 
    unset %total [ $+ [ $address($nick,2) ] ] 
    set %blackjack [ $+ [ $address($nick,2) ] ] $true 
    set %card1 [ $+ [ $address($nick,2) ] ] $r(1,13) 
    set %card2 [ $+ [ $address($nick,2) ] ] $r(1,13) 
    notice $nick The dealer gives you $card(%card1 [ $+ [ $address($nick,2) ] ],$nick) of $ccolor and $card(%card2 [ $+ [ $address($nick,2) ] ],$nick) of $ccolor $+ . You have $card(total,$nick,2) in your hands now. 
    if ($card(total,$nick,2) == 21) { 
      writeini blackjack.ini Win $address($nick,2) $calc($readini(blackjack.ini,win,$address($nick,2) + 1) 
      writeini blackjack.ini Blackjack $address($nick,2) $calc($readini(blackjack.ini,blackjack,$address($nick,2)) + 1) 
      notice $nick Congratulations, you have blackjack! 
      unset % $+ * [ $+ [ $address($nick,2) ] ] 
      winlosecounter $nick 
    } 
  } 
} 
alias card { 
  if ($1 == total) { 
    if ($3) set %total [ $+ [ $address($2,2) ] ] $calc($value(%card1 [ $+ [ $address($2,2) ] ]) + $value(%card2 [ $+ [ $address($2,2) ] ])) 
    elseif (!$3) set %total [ $+ [ $address($2,2) ] ] $calc(%total [ $+ [ $address($2,2) ] ] + $value(%card [ $+ [ %hit [ $+ [ $address($2,2) ] ] ] ] [ $+ [ $address($2,2) ] ])) 
    if (%total [ $+ [ $address($2,2) ] ] > 21) && (!%acecount [ $+ [ $address($2,2) ] ]) { 
      notice $nick You're busted! You have a total of %total [ $+ [ $address($2,2) ] ] $+ . 
      writeini blackjack.ini los $address($nick,2) $calc($readini(blackjack.ini,los,$address($nick,2)) + 1) 
      unset % $+ * [ $+ [ $address($2,2) ] ]  
      winlosecounter $2 
    } 
    elseif (%total [ $+ [ $address($2,2) ] ] > 21) { 
      dec %acecount [ $+ [ $address($2,2) ] ] 
      if (%acecount [ $+ [ $address($2,2) ] ] == 0) unset %acecount [ $+ [ $address($2,2) ] ] 
      dec %total [ $+ [ $address($2,2) ] ] 10 
    } 
    return %total [ $+ [ $address($2,2) ] ] 
  } 
  if ($1 == 1) { 
    inc %acecount [ $+ [ $address($2,2) ] ] 
    return an Ace 
  } 
  if ($1 == 2) return a Two 
  if ($1 == 3) return a Three 
  if ($1 == 4) return a Four 
  if ($1 == 5) return a Five 
  if ($1 == 6) return a Six 
  if ($1 == 7) return a Seven 
  if ($1 == 8) return an Eight 
  if ($1 == 9) return a Nine 
  if ($1 == 10) return a Ten 
  if ($1 == 11) return a Jack 
  if ($1 == 12) return a Queen 
  if ($1 == 13) return a King 
} 
alias value { 
  if ($1 isnum 2-10) return $1 
  if ($1 isnum 11-13) return 10 
  if ($1 == 1) return 11 
} 
on *:TEXT:!Hit:#: { 
  if (%blackjack [ $+ [ $address($nick,2) ] ] == $true) { 
    if (!%hit [ $+ [ $address($nick,2) ] ]) set %hit [ $+ [ $address($nick,2) ] ] 3 
    else inc %hit [ $+ [ $address($nick,2) ] ] 
    set %card [ $+ [ %hit [ $+ [ $address($nick,2) ] ] ] ] [ $+ [ $address($nick,2) ] ] $r(1,13) 
    notice $nick The dealer gives you $card(%card [ $+ [ %hit [ $+ [ $address($nick,2) ] ] ] ] [ $+ [ $address($nick,2) ] ]) of $ccolor $+ . You have $card(total,$nick) in your hands now. 
  } 
} 
on *:TEXT:!Stand:#: { 
  var %x = $r(1,3) 
  if (%x == 1) var %j = $r(22,25) 
  else var %h = $r(17,21) 
  notice $nick The dealer has $iif(%j,$v1,%h) $+ . You have %total [ $+ [ $address($nick,2) ] ] $+ . $iif(%h > %total [ $+ [ $address($nick,2) ] ],You lost.,You won!) 
  if (%h < %total [ $+ [ $address($nick,2) ] ]) || (!%h) writeini blackjack.ini win $address($nick,2) $calc($readini(blackjack.ini,win,$address($nick,2)) + 1) 
  else writeini blackjack.ini los $address($nick,2) $calc($readini(blackjack.ini,los,$address($nick,2)) + 1) 
  unset % $+ * [ $+ [ $address($nick,2) ] ] 
  winlosecounter $nick 
} 
alias ccolor { 
  var %color = $r(1,4) 
  if (%color == 1) return Diamands 
  if (%color == 2) return Hearts 
  if (%color == 3) return Spades 
  if (%color == 4) return Clubs 
} 
alias winlosecounter { 
  if ($1 == on) { 
    set %winlose on 
    //echo -a The win/lose counter is now on. 
  } 
  elseif ($1 == off) { 
    unset %winlose 
    //echo -a The win/lose counter is now ff. 
  } 
  elseif (%winlose == on) notice $nick Your Wins: $iif($readini(blackjack.ini,win,$address($nick,2)),$v1,0) Losses: $iif($readini(blackjack.ini,los,$address($nick,2)),$v1,0) Blackjacks: $iif($readini(blackjack.ini,Blackjack,$address($nick,2)),$v1,0) 
  halt 
}