Advertisement
illpastethat

Blackjack for Justin

Feb 9th, 2014
446
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;Blackjack, against bot, !bj (start) !hm (hit me) !stand (stand/hold);
  2. ;Made By nick1 for eCasino/JammyPear Original: Weasel/Twango severe edits but I probably still have that shell.
  3. ;Another edit February 2014 for Chromatic on qi_interesting justinTV to show cards differently
  4. on $*:text:/^[!](bj|blackjack)(\s|$)/Si:#qi_interesting: {
  5.   var %Balance = $read(CasinoChips.txt, s, $nick))
  6.   if ($($+(%,bj.,$nick,.cards),2)) {
  7.     msg $chan $+($nick,$chr(44)) 2you still have a game in progress!
  8.     msg $chan $+($nick,$chr(44)) 2your cards are: $($+(%,bj.,$nick,.cards),2) = $($+(%,bj.,$nick,.ctotal),2)
  9.   }
  10.   elseif ($2 !isnum) {
  11.     msg $chan $nick $+ , 2that is not a valid bet, try $1 10
  12.   }
  13.   elseif ($2 < 10) {
  14.     msg $chan $nick $+ , 2the minimum bet is 10 chips.
  15.   }
  16.   elseif ($2 > 500) {
  17.     msg $chan $nick $+ , 2the maximum bet is 500 chips.
  18.   }
  19.   elseif (!%Balance) {
  20.     msg $chan $nick $+ , 2you don't have any chips, contact an operator.
  21.   }
  22.   elseif ($2 < 10) {
  23.     msg $chan $nick $+ , 2the minimum bet is 10 chips.
  24.   }
  25.   elseif ($left($2,1) == $chr(45)) {
  26.     msg $chan $nick $+ , 2you can not use negative numbers.
  27.   }
  28.   elseif ($2 <= 0) {
  29.     msg $chan $nick $+ , 2please use a positive number.
  30.   }
  31.   elseif ($2) && (%Balance < $2) {
  32.     msg $chan $nick $+ , 2you can not wager that much because you only have %Balance chips.
  33.   }
  34.   else {
  35.     unset $+(%,bj.,$nick,.*)
  36.     set $+(%,bj.,$nick,.bet) $2
  37.     set $+(%,bj.,$nick,.cards) $instok($($+(%,bj.,$nick,.cards),2),$getcard,1,43)
  38.     set $+(%,bj.,$nick,.cards) $instok($($+(%,bj.,$nick,.cards),2),$getcard,1,43)
  39.     set $+(%,bj.,$nick,.ctotal) $gettotal($($+(%,bj.,$nick,.cards),2))
  40.     set $+(%,bj.,$nick,.bcards) $instok($($+(%,bj.,$nick,.bcards),2),$getcard,1,43)
  41.     set $+(%,bj.,$nick,.bcards) $instok($($+(%,bj.,$nick,.bcards),2),$getcard,1,43)
  42.     set $+(%,bj.,$nick,.btotal) $gettotal($($+(%,bj.,$nick,.bcards),2))
  43.     msg $chan $+($nick,$chr(44)) 2your cards are: $($+(%,bj.,$nick,.cards),2) = $($+(%,bj.,$nick,.ctotal),2)
  44.     ;In regular blackjack at this point the game would show you the dealers face card (use $gettok to get the last card)
  45.   }
  46.   if ($($+(%,bj.,$nick,.ctotal),2) > 21) {
  47.     msg $chan $+(2,$nick) has gone bust and [Qi_bot] wins ([Qi_bot] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $nick $+ 's score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
  48.     msg $chan $+(2,$nick) you lose $($+(%,bj.,$nick,.bet),2) chips.
  49.     var %chips $calc($read(CasinoChips.txt, s, $nick) - $($+(%,bj.,$nick,.bet),2))
  50.     write -ds $nick CasinoChips.txt
  51.     write CasinoChips.txt $nick %chips
  52.     unset $+(%,bj.,$nick,.*)
  53.   }
  54.   elseif ($($+(%,bj.,$nick,.ctotal),2) == 21) {
  55.     botHits
  56.     msg $chan $+(2,$nick) got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2([Qi_bot] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
  57.     if ($($+(%,bj.,$nick,.btotal),2) == 21) {
  58.       var %Chips $calc($read(CasinoChips.txt, s, $nick) - $($+(%,bj.,$nick,.bet),2))
  59.       write -ds $nick CasinoChips.txt
  60.       write CasinoChips.txt $nick %chips
  61.       msg $chan 2[Qi_bot] got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2[Qi_bot] $+ 's cards:3 $($+(%,bj.,$nick,.bcards),2)
  62.       msg $chan $+(2,$nick) you lose $($+(%,bj.,$nick,.bet),2) chips.
  63.       unset $+(%,bj.,$nick,.*)
  64.     }
  65.     else {
  66.       var %chips $calc($read(CasinoChips.txt, s, $nick) + $($+(%,bj.,$nick,.bet),2) * 2)
  67.       write -ds $+ $nick CasinoChips.txt
  68.       write CasinoChips.txt $nick %Chips
  69.       msg $chan $+(2,$nick) you win $($+(%,bj.,$nick,.bet),2) chips.
  70.       unset $+(%,bj.,$nick,.*)
  71.     }
  72.   }
  73. }
  74. alias getcard {
  75.   var %r $r(1,13)
  76.   if (%r == 1) { return Ace of $suit }
  77.   elseif (%r == 10) { return 10 of $suit }
  78.   elseif (%r == 11) { return Jack of $suit }
  79.   elseif (%r == 12) { return Queen of $suit }
  80.   elseif (%r == 13) { return King of $suit }
  81.   else { return %r of $suit }
  82. }
  83. alias suit {
  84.   var %r $r(1,4)
  85.   if (%r == 1) { return Spades }
  86.   elseif (%r == 2) { return Hearts }
  87.   elseif (%r == 3) { return Diamonds }
  88.   elseif (%r == 4) { return Clubs }
  89. }
  90. alias gettotal {
  91.   var %x 1
  92.   while (%x <= $numtok($1-,43)) {
  93.     var %tok $gettok($gettok($1-,%x,43),1,32)
  94.     if (%tok == Ace) { var %t $calc(%t + 11) }
  95.     elseif (%tok == Jack) { var %t $calc(%t + 10) }
  96.     elseif (%tok == Queen) { var %t $calc(%t + 10) }
  97.     elseif (%tok == King) { var %t $calc(%t + 10) }
  98.     else { var %t $calc(%t + %tok) }
  99.     inc %x
  100.   }
  101.   return %t
  102. }
  103. on $*:text:/^[!](hit)(\s|$)/Si:#qi_interesting: {
  104.   if (!$($+(%,bj.,$nick,.ctotal),2)) { msg # $nick $+ , 2to start a game type !Blackjack <bet> to start a new game | halt }
  105.   set $+(%,bj.,$nick,.cards) $instok($($+(%,bj.,$nick,.cards),2),$getcard,1,43)
  106.   set $+(%,bj.,$nick,.ctotal) $gettotal($($+(%,bj.,$nick,.cards),2))
  107.   msg $chan $+($nick,$chr(44)) 2your cards are: $($+(%,bj.,$nick,.cards),2) = $($+(%,bj.,$nick,.ctotal),2)
  108.   ;Could run a check at this point to see if they got a five card charlie
  109.   if ($($+(%,bj.,$nick,.ctotal),2) >= 22) {
  110.     var %chips $calc($read(CasinoChips.txt, s, $nick) - $($+(%,bj.,$nick,.bet),2))
  111.     write -ds $nick CasinoChips.txt
  112.     write CasinoChips.txt $nick %chips
  113.     msg $chan $+(2,$nick) has gone bust and [Qi_bot] wins ([Qi_bot] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $nick $+ 's score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
  114.     msg $chan $+(2,$nick) you lose $($+(%,bj.,$nick,.bet),2) chips.
  115.     unset $+(%,bj.,$nick,.*)
  116.   }
  117.   elseif ($($+(%,bj.,$nick,.ctotal),2) == 21) {
  118.     msg $chan $+(2,$nick) got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2([Qi_bot] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
  119.     botHits
  120.     if ($($+(%,bj.,$nick,.btotal),2) == 21) {
  121.       var %Chips $calc($read(CasinoChips.txt, s, $nick) - $($+(%,bj.,$nick,.bet),2))
  122.       write -ds $nick CasinoChips.txt
  123.       write CasinoChips.txt $nick %chips
  124.       msg $chan 2[Qi_bot] got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2[Qi_bot] $+ 's cards:3 $($+(%,bj.,$nick,.bcards),2)
  125.       msg $chan $+(2,$nick) you lose $($+(%,bj.,$nick,.bet),2) chips.
  126.       unset $+(%,bj.,$nick,.*)
  127.     }
  128.     else {
  129.       var %chips $calc($read(CasinoChips.txt, s, $nick) + $($+(%,bj.,$nick,.bet),2) * 2)
  130.       write -ds $+ $nick CasinoChips.txt
  131.       write CasinoChips.txt $nick %Chips
  132.       msg $chan $+(2,$nick) you win $($+(%,bj.,$nick,.bet),2) chips.
  133.       unset $+(%,bj.,$nick,.*)
  134.     }
  135.   }
  136. }
  137. on $*:text:/^[!](stand|stay)(\s|$)/Si:#qi_interesting: {
  138.   if (!$($+(%,bj.,$nick,.ctotal),2)) { msg # $nick $+ , 2to start a game type !Blackjack <bet> to start a new game | halt }
  139.   botHits
  140.   msg $chan $+($nick,$chr(44)) 2your cards are: $($+(%,bj.,$nick,.cards),2) = $($+(%,bj.,$nick,.ctotal),2) [Qi_bot] $+ 's cards: $($+(%,bj.,$nick,.bcards),2) = $($+(%,bj.,$nick,.btotal),2)
  141.   if ($($+(%,bj.,$nick,.btotal),2) >= 22) {
  142.     var %Chips $calc($read(CasinoChips.txt, s, $nick) + $($+(%,bj.,$nick,.bet),2))
  143.     write -ds $nick CasinoChips.txt
  144.     write CasinoChips.txt $nick %chips
  145.     msg $chan 2[Qi_bot] has gone bust and $nick wins! ([Qi_bot] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $nick $+ 's score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
  146.     msg $chan $+(2,$nick) you win $($+(%,bj.,$nick,.bet),2) chips.
  147.     unset $+(%,bj.,$nick,.*)
  148.   }
  149.   elseif ($($+(%,bj.,$nick,.btotal),2) == 21) {
  150.     var %Chips $calc($read(CasinoChips.txt, s, $nick) - $($+(%,bj.,$nick,.bet),2))
  151.     write -ds $nick CasinoChips.txt
  152.     write CasinoChips.txt $nick %chips
  153.     msg $chan 2[Qi_bot] got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2([Qi_bot] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
  154.     msg $chan $+(2,$nick) you lose $($+(%,bj.,$nick,.bet),2) chips.
  155.     unset $+(%,bj.,$nick,.*)
  156.   }
  157.   elseif ($($+(%,bj.,$nick,.btotal),2) >= $($+(%,bj.,$nick,.ctotal),2)) {
  158.     var %Chips $calc($read(CasinoChips.txt, s, $nick) - $($+(%,bj.,$nick,.bet),2))
  159.     write -ds $nick CasinoChips.txt
  160.     write CasinoChips.txt $nick %chips
  161.     msg $chan $+($nick,2) stands and [Qi_bot] wins 2([Qi_bot] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
  162.     msg $chan $+(2,$nick) you lose $($+(%,bj.,$nick,.bet),2) chips.
  163.     unset $+(%,bj.,$nick,.*)
  164.   }
  165.   else {
  166.     msg $chan $+($nick,2) stands and wins 2([Qi_bot] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
  167.     msg $chan $+(2,$nick) you win $($+(%,bj.,$nick,.bet),2) chips.
  168.     var %chips $calc($read(CasinoChips.txt, s, $nick) + $($+(%,bj.,$nick,.bet),2))
  169.     write -ds $+ $nick CasinoChips.txt
  170.     write CasinoChips.txt $nick %Chips
  171.     unset $+(%,bj.,$nick,.*)
  172.   }
  173. }
  174. alias botHits {
  175.   while ($($+(%,bj.,$nick,.btotal),2) < 17) {
  176.     set $+(%,bj.,$nick,.bcards) $instok($($+(%,bj.,$nick,.bcards),2),$getcard,1,43)
  177.     set $+(%,bj.,$nick,.btotal) $gettotal($($+(%,bj.,$nick,.bcards),2))
  178.   }
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement