View difference between Paste ID: kLhAnLWz and hLrxeFxs
SHOW: | | - or go back to the newest paste.
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 your shell.
2+
;Made By nick1 for eCasino/JammyPear Original: Weasel/Twango severe edits but I probably still have that shell.
3-
on $*:text:/^[!](bj|blackjack)(\s|$)/Si:#eCasino.blackjack: {
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-
    msg $chan $nick $+ , 2that is not a valid bet, try $1 10 
10+
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-
  if ($($+(%,bj.,$nick,.ctotal),2) > 21) { 
45+
46-
    msg $chan $+(2,$nick) has gone bust and [eCasino] wins ([eCasino] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $nick $+ 's score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
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-
    unset $+(%,bj.,$nick,.*) 
51+
52
    unset $+(%,bj.,$nick,.*)
53
  }
54
  elseif ($($+(%,bj.,$nick,.ctotal),2) == 21) {
55-
    msg $chan $+(2,$nick) got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2([eCasino] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
55+
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-
      msg $chan 2[eCasino] got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2[eCasino] $+ 's cards:3 $($+(%,bj.,$nick,.bcards),2) 
60+
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-
      var %chips $calc($read(CasinoChips.txt, s, $nick) + $($+(%,bj.,$nick,.bet),2) * 2) 
65+
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-
  if (%r = 1) {
75+
76-
    return Ace
76+
  if (%r == 1) { return Ace of $suit }
77
  elseif (%r == 10) { return 10 of $suit }
78-
  elseif (%r >= 10) {
78+
  elseif (%r == 11) { return Jack of $suit }
79-
    return 10
79+
  elseif (%r == 12) { return Queen of $suit }
80
  elseif (%r == 13) { return King of $suit }
81
  else { return %r of $suit }
82-
    return %r
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-
    var %tok $gettok($1-,%x,43)
88+
  elseif (%r == 4) { return Clubs }
89-
    if (%tok !isnum) {
89+
90-
      var %t $calc(%t + 11)
90+
91
  var %x 1
92
  while (%x <= $numtok($1-,43)) {
93-
      var %t $calc(%t + %tok)
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-
on $*:text:/^[!](hit)(\s|$)/Si:#eCasino.blackjack: {
99+
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-
    msg $chan $+(2,$nick) has gone bust and [eCasino] wins ([eCasino] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $nick $+ 's score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
109+
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) got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2([eCasino] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
114+
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-
      msg $chan 2[eCasino] got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2[eCasino] $+ 's cards:3 $($+(%,bj.,$nick,.bcards),2) 
120+
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-
      var %chips $calc($read(CasinoChips.txt, s, $nick) + $($+(%,bj.,$nick,.bet),2) * 2) 
125+
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-
on $*:text:/^[!](stand)(\s|$)/Si:#eCasino.blackjack: {
133+
134
    }
135
  }
136-
  msg $chan $+($nick,$chr(44)) 2your cards are: $($+(%,bj.,$nick,.cards),2) = $($+(%,bj.,$nick,.ctotal),2) [eCasino] $+ 's cards: $($+(%,bj.,$nick,.bcards),2) = $($+(%,bj.,$nick,.btotal),2)
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-
    msg $chan 2[eCasino] has gone bust and $nick wins! ([eCasino] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $nick $+ 's score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
141+
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-
    msg $chan 2[eCasino] got 11,01B10,01l13,01a10,01c11,01k09,01j08,01a7,01c04,01k! 2([eCasino] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
149+
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-
    msg $chan $+($nick,2) stands and [eCasino] wins 2([eCasino] $+ 's score:3 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:4 $($+(%,bj.,$nick,.ctotal),2) $+ )
157+
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 $+($nick,2) stands and wins 2([eCasino] $+ 's score:4 $($+(%,bj.,$nick,.btotal),2) 2- $+($nick,'s) score:3 $($+(%,bj.,$nick,.ctotal),2) $+ )
162+
163
    unset $+(%,bj.,$nick,.*)
164-
    var %chips $calc($read(CasinoChips.txt, s, $nick) + $($+(%,bj.,$nick,.bet),2)) 
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
}