ROOM ID 12323 PRIVATE NOPAINTING NOCYBORGS HIDDEN NAME "BlackJack Entrance" PICT "download.gif" ARTIST "XT" PICTURE ID 1 NAME "BlkJackPrev.gif" ENDPICTURE PICTURE ID 2 NAME "XTGnone.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 3 NAME "froul1.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 4 NAME "froul2.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 5 NAME "froul3.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 6 NAME "froul4.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 7 NAME "froul5.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 8 NAME "BlackJackTag.gif" TRANSCOLOR 0 ENDPICTURE SPOT ID 1000 OUTLINE 240,189 281,189 281,216 240,216 LOC 256,192 PICTS 1,0,0 ENDPICTS ENDSPOT SPOT ID 20 OUTLINE 217,247 295,247 295,299 217,299 LOC 256,280 PICTS 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 7,0,0 ENDPICTS SCRIPT ;~MediaList~;CasinoFire.wav,Silent.wav,FbjCard.wav,FbjChip.wav,FbjBet.wav,Fbj.wav,Fbjbust.wav,Fbjins.wav, ;~MediaList~;Fbjpush.wav,Fbjdwin.wav,Fbjpwin.wav,Fbetmax.wav,Fbetmax.wav ON INCHAT {nDoIt GLOBAL nDoIt EXEC} ON ENTER { 100 ME SETALARM "CasinoFire.wav" SOUND } ON ALARM { {0 ME SETSPOTSTATELOCAL} {ME GETSPOTSTATE 1 + ME SETSPOTSTATELOCAL} ME GETSPOTSTATE 6 >= IFELSE 100 ME SETALARM {"CasinoFire.wav" SOUND} ME GETSPOTSTATE DUP 1 == 4 == OR IF } ENDSCRIPT ENDSPOT DOOR ID 30 DEST 12319 OUTLINE 137,306 377,306 341,346 167,346 LOC 254,304 SCRIPT ON ENTER { 2 pc = ROOMID BJackPrevRoom = "Click on the Table to go to the BlackJack Room." ROOMMSG {"You are using an old client! This game will not work fine for you" ROOMMSG} IPTVERSION 1 < IF {GLOBAL} [BJackPrevRoom NewPack XCards CardsA CoverA CardsB CoverB pc Dealer User XCover SumCards XPUT DPUT DDown BJtDEF] FOREACH {GLOBAL} [Bust Insurance Reset Click Chips Chipsbj RTable Pay UF ACE BlackJack Rinit XIns Xexit BetIT UPcf UBet URes UBal] FOREACH {".wav" & SOUND} ["Silent" "FbjCard" "FbjChip" "FbjBet" "Fbj" "Fbjbust" "Fbjins"] FOREACH {".wav" & SOUND} ["Fbjpush" "Fbjdwin" "Fbjpwin" "Fbetmax"] FOREACH 1 BJtDEF = SiteAddress GLOBAL "xt.yi.org" SiteAddress = {52 ARRAY pcards = pcards LENGTH pl = 0 ic = {ic 1 + pcards ic PUT ic ++} {ic pl <} WHILE } NewPack DEF {Card 300 SETSPOTSTATELOCAL Cover 0 GET Dealer dx GET d = d 0 GET d 1 GET ADDLOOSEPROP } XCover DEF ; {{Card 13 % z = {13 z =} z 0 == IF} {Card z =} Card 13 > IFELSE {10 z =} z 10 > IF wp GETSPOTSTATE w = 200 wp + GETSPOTSTATE f = 1 GETSPOTSTATE d = 2 GETSPOTSTATE p = {11 z = 1 200 wp + SETSPOTSTATELOCAL} z 1 == w 11 + 21 <= AND IF {10 w -= 0 200 wp + SETSPOTSTATELOCAL 0 f =} w z + 21 > f 1 == AND IF {10 w -= 0 200 wp + SETSPOTSTATELOCAL 0 f =} w z + 17 >= f 1 == AND d p < AND wp 1 == AND std 2 == AND IF w z += z wp SETSPOTSTATELOCAL } SumCards DEF ; {{EXIT} 40 GETSPOTSTATE 2 == IF {100 Bet - Betx =} Bet Betx + 100 > IF Betx Bet += {100 Bet = "Fbetmax.wav" SOUND} Bet 100 > IF {0 SWAP SETSPOTSTATE} [21 22 31 32] FOREACH {0 SWAP SETSPOTSTATELOCAL} [1 2 100 201 202 300] FOREACH Bet 5 / 80 SETSPOTSTATE CLEARLOOSEPROPS 1 40 SETSPOTSTATELOCAL {"FbjChip.wav" SOUND} 15 ALARMEXEC } BetIT DEF ; {User ux GET DUP 0 GET x = 1 GET y = Cards Card 1 - GET c = [x y c] User ux PUT c x y ADDLOOSEPROP } XPUT DEF ; {Dealer dx GET DUP 0 GET x = 1 GET y = Cards Card 1 - GET c = [x y c] Dealer dx PUT {c x y ADDLOOSEPROP} dx 0 <> IF } DPUT DEF ; {wp GETSPOTSTATE xn = xn ITOA "@" & "@" STRINDEX xnL = {30}{20} wp 1 == IFELSE b = xnL i = {xn ITOA i 1 - 1 SUBSTRING ATOI 2 + b i + SETSPOTSTATE i --} {i 0 >} WHILE } UF DEF ; {{"Fbj.wav" SOUND} 20 ALARMEXEC 1 bj = {ins 3 =} d 21 == IF 0 22 SETSPOTSTATE 12 21 SETSPOTSTATE } BlackJack DEF ; {0 ME SETSPOTSTATELOCAL "Click" SOUND } Click DEF ; {{EXIT} ME GETSPOTSTATE 1 <> IF } XExit DEF ; {{0 SWAP SETSPOTSTATELOCAL} [10 20 30 40 50 60] FOREACH } Reset DEF ; {{0 SWAP SETSPOTSTATE} [21 22 31 32 41 42 43 44 45 46 51 52 53 61 62 63 64 80] FOREACH {0 SWAP SETSPOTSTATELOCAL} [10 20 30 40 50 60 200 300] FOREACH CLEARLOOSEPROPS } RInit DEF ; {{"FbjBust.wav" SOUND} 20 ALARMEXEC {2 s =}{1 s =} wp 1 == IFELSE 1 400 SETALARM 60 s SETALARM 2 20 SETSPOTSTATELOCAL ; Double Down check point } Bust DEF ; {{"Fbjins.wav" SOUND} 20 ALARMEXEC Reset EXEC 1 ins = {1 SWAP SETSPOTSTATELOCAL} [30 60] FOREACH } Insurance DEF ; {{{1 SWAP SETSPOTSTATELOCAL} [10 20 50] FOREACH 2 40 SETSPOTSTATELOCAL} {RTable EXEC UF EXEC} bj 1 <> IFELSE 0 60 SETSPOTSTATELOCAL Chips Bet 2 / 5 / GET 240 205 ADDLOOSEPROP Cred Bet 2 / - Cred = UBal EXEC 2 ins = {3 ins =} 1 GETSPOTSTATE 21 == bj 1 == AND IF {10 2 SETALARM} ins 3 == bj 1 == OR IF } Xins DEF ; {CLEARLOOSEPROPS wp xp = 1 wp = 0 dxx = {Dealer dxx GET m = m 2 GET m 0 GET m 1 GET ADDLOOSEPROP UF EXEC dxx ++} {dxx dx <} WHILE 2 wp = 0 uxx = {User uxx GET m = m 2 GET m 0 GET m 1 GET ADDLOOSEPROP uxx ++} {uxx ux <} WHILE xp wp = } RTable DEF ; {1 GETSPOTSTATE d = 2 GETSPOTSTATE p = 0 bjpp = 0 ipp = {Bet 2 * ipp =} ins 1 > IF {Bet 2 / 3 * bjpp =} bj 1 == IF Chips Bet 5 / GET t = Chipsbj bjpp 5 / GET bjt = Chips ipp 5 / GET it = Chips Bet 5 / GET 204 256 ADDLOOSEPROP Bet Cred += Cred CredO = {{"Fbjpush.wav" SOUND} 40 ALARMEXEC} {{"Fbjpwin.wav" SOUND} 40 ALARMEXEC} d p == ins 3 <> AND IFELSE {{bjpp Cred += bjt 199 237 ADDLOOSEPROP} {Bet Cred += t 222 250 ADDLOOSEPROP} bj 1 == IFELSE } p d > d 21 > OR ins 3 <> AND IF {bjpp Cred += bjt 222 250 ADDLOOSEPROP ipp Cred += it 217 235 ADDLOOSEPROP} ins 3 == IF {ipp Cred += it 217 235 ADDLOOSEPROP} ins 2 == d 21 == AND dx 2 == AND IF Cred CredO - Res = 60 300 SETALARM } Pay DEF ; {{GLOBAL} [xa xx Cred Bet UBet std wp] FOREACH {0 SWAP SETSPOTSTATELOCAL} [10 30 40 50 60] FOREACH Bet Betx = UBet EXEC Bet 2 * Bet = 1 70 SETALARM {xa GLOBAL xx GLOBAL [2 70 GETSPOTSTATE] xa xx PUT} 20 ALARMEXEC {1 200 SETALARM} 50 ALARMEXEC {{{GLOBAL} [std wp] FOREACH 1 std = 1 wp = 1 400 SETALARM 40 200 SETALARM} ME GETSPOTSTATE 2 <> IF} 200 ALARMEXEC } DDown DEF ; {; Generic Counter Field Update Routine (i.e SPOT 60 to 63, SPOT 64(Signal Field not Available Here)) ; i.e: {{GLOBAL} [UPcf s] FOREACH s Vn = 60 Spt = 4 Ns = 0 Sign = UPcf EXEC} Ucf DEF ; s Vn = ; Variable With The Numeric Value for Update ; 60 Spt = ; SpotID Of The First Spot ; 4 Ns = ; Number Of Spots In The Chain (Ignore the eventual spot of the signal) ; 0 Sign = ; Signal Field Available? (0=No, 1=Yes) Vn ITOA "-" STRINDEX fl = {Vn -1 * Vn =} fl -1 > IF "000" Vn ITOA & "@" & Va = Va "@" STRINDEX 1 - Vl = Vn ITOA "@" & "@" STRINDEX 1 - Vbl = 0 Vi = Va Vl 1 SUBSTRING ATOI 1 + Spt SETSPOTSTATE Vi++ {{Va Vl Vi - 1 SUBSTRING ATOI 1 +} {0} Vbl Vi 1 - > IFELSE Spt Vi + SETSPOTSTATE Vi++} {Vi Ns <} WHILE {fl -1 > Spt Vi + SETSPOTSTATE} Sign IF } UPcf DEF ; {{GLOBAL} [UPcf Cred] FOREACH Cred Vn = 41 Spt = 5 Ns = 1 Sign = UPcf EXEC } UBal DEF ; {{GLOBAL} [UPcf Bet Cred UBal] FOREACH Bet Vn = 51 Spt = 3 Ns = 0 Sign = UPcf EXEC Cred Betx - Cred = UBal EXEC } UBet DEF ; {{GLOBAL} [UPcf Res] FOREACH Res Vn = 61 Spt = 3 Ns = 1 Sign = UPcf EXEC } URes DEF ; {{CardsB Cards = CoverB Cover = JokerB Joker =} {{CardsB Cards = CoverB Cover = JokerB Joker = 0 pc =} {CardsA Cards = CoverA Cover = JokerA Joker = 1 pc =} pc IFELSE} pc 1 > IFELSE } XCards DEF ; ; Player cards position on the table [[189 282 0] [218 278 0] [247 274 0] [276 269 0] [305 265 0] [334 262 0] [363 258 0] [392 254 0] [0 0 0]] User = ; Dealer cards position on the table [[172 104 0] [201 99 0] [230 94 0] [259 90 0] [288 86 0] [317 82 0] [346 78 0] [374 73 0] [0 0 0]] Dealer = [ 964743725 964337578 964691521 964337535 964336353 965299347 965298190 965298442 965298825 965299108 965299548 965299761 965299868 965300030 965300189 965300302 965300510 965300629 965301359 965301256 965302218 0 965314418 0 965303586 0 965310160 0 965309939 0 965310754 0 964649662 0 965310832 0 965310995 0 965311131 0 965307151 ] Chips = [ 964743725 965252469 0 964337535 965313417 0 965298190 965308338 0 965299108 965254439 0 965299868 965315512 0 965300302 965301644 0 965301359 965302036 0 965302908 965308213 0 965303586 965312077 0 965304901 965309022 0 965309432 ] Chipsbj = [ 962808745 962808826 962808865 962808890 964795954 962808959 962808994 962809022 962809087 962809107 962809174 962809195 962809277 962809301 962809326 962809435 962809428 964796203 962809452 962809472 962809491 962809519 962809542 962809561 962809584 962809605 962810212 962810223 962810232 962810237 964796159 962810251 962810257 962810264 962810271 962810277 962810284 962810291 962810298 962810167 962810305 962810342 962810365 962810394 962810420 962810439 962810458 962810477 962810496 962810521 962810541 962810558 ] CardsA = [962808702] CoverA = [962810583] JokerA = [ 965149515 965192273 965150233 965150348 965150467 965150566 965150686 965150804 965150943 965151018 965151090 965151201 965151312 965153882 965152261 965152343 965152418 965152504 965152581 965152678 965152761 965152842 965152931 965153048 965153119 965153198 965153860 965153381 965097889 965122029 965147939 965148075 965153462 965148267 965148408 965148546 965148714 965149279 965149393 965151866 965150097 965149171 965149065 965148969 965123249 965123160 965123057 965122961 965122868 965122740 965122612 965122415 ] CardsB = [971657141] CoverB = [965122174] JokerB = } ENDSCRIPT ENDDOOR SPOT ID 40 OUTLINE 411,5 505,6 505,41 411,41 LOC 458,22 PICTS 8,0,0 ENDPICTS ENDSPOT ENDROOM