// TMW2 Scripts // Author: // Jesusalva // Description: // The Illegal Gambler 009-8,37,34,0 script Illegal Gambler#009-8 NPC_PLAYER,{ .@showMenu=true; goto L_Menu; L_Menu: if (.@showMenu) { mesn; mesc l("Hey, welcome to Halinarzo's illegal Casino! Everything here is illegal, even the prizes, so don't blame anyone if you get scammed!"); next; mesn; mesc l("So, do you want to play a game of Creps?!"); // ;-- TRANSLATORS, wordplay of "Craps" next; .@showMenu=false; } menu rif(countitem(CasinoCoins) >= 1, l("Let's play!")), L_Spin, l("Information"), L_Info, l("Leave"), L_Quit; L_Info: mes ""; mesn; mesc l("Chill, Creps is very similar to Craps! I'll throw two dices and you have to bet if I'll win or lose!"); mesc l("If I get a 7 or 11 (natural) I win, and if I get a 2, 3 or 12 I lose (craps)."); mesc l("If I get anything else, the number is my point, and rules change: Getting that number I win (point), getting a 7 I lose (craps)."); mes ""; mesc l("Prizes:"); mesc l("If you guess right, you'll win 70 GP!"); mesc l("If you're wrong, your winning streak is reset."); mesc l("Winning Streak is also reset on logout or when you leave the Inn."); mesc l("If you get %d successive right guesses, you'll get a %s!", 7, getitemlink(VneckJumper)); mes ""; mesc l("Sure, in regular Craps you can bet for the roll results and whatnot, but this is not Craps, this is Creps! So, are you going to play?"); next; goto L_Menu; L_Spin: mes ""; mesc l("So how will ya bet, champ?!"); select l("I bet on your victory!"), l("I bet on your defeat!"); mes ""; .@lose = @menu - 1; delitem CasinoCoins, 1; .@point = 0; .@result = -1; // Loop do { mesc l("Roll the dices!"); next; .@c$ = any("", "red_"); .@d1 = rand2(1,6); .@d2 = rand2(1,6); .@sc = .@d1 + .@d2; img(sprintf("dice/%s%d", .@c$, .@d1)); img(sprintf("dice/%s%d", .@c$, .@d2)); mesc l("I rolled a %d!", .@sc); if (!.@point) { // Classic rules if (.@sc == 7 || .@sc == 11) { mesc l("A natural! I win!"), 2; .@result = true; } else if (.@sc == 2 || .@sc == 3 || .@sc == 12) { mesc l("Craps! I lose!"), 1; .@result = false; } else { .@point = .@sc; mesc l("My point is %d!", .@point), 3; } } else { // Point rules if (.@sc == 7) { mesc l("Craps! I lose!"), 1; .@result = false; } else if (.@sc == .@point) { mesc l("I made my point! I win!"), 2; .@result = true; } // No else clause, keep rolling the dice } } while (.@result == -1); // Check if you won your bet if ((.@result && !.@lose) || (!.@result && .@lose)) { mesc b(l("I guess you guessed correctly!")); Zeny += 70; @craps_winstreak += 1; // Streak reward if (@craps_winstreak == 7) getitem VneckJumper, 1; // Christmas Event if (@craps_winstreak == 2) X24Event(X24_GROUP1, X24_G1_CRAPS); // Maybe you want another game? next; if (countitem(CasinoCoins)) mesc l("New game?"); else goto L_Quit; if (askyesno() == ASK_YES) goto L_Spin; goto L_Quit; } else { mesc b(l("Luck wasn't on your side today!")), 1; @craps_winstreak = 0; } dnext; goto L_Menu; L_Quit: closeclientdialog; close; OnInit: .sex = G_MALE; .distance = 4; .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, TopHat); setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor); setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts); npcsit; end; }