From 74b92bb34163160e59e24dd6a07c16e30e9743be Mon Sep 17 00:00:00 2001 From: brianluau Date: Fri, 1 Jun 2012 03:40:58 +0000 Subject: - Follow up to r16164 and r16193: used SVN Copy/Move so SVN History is preserved. - Added svn:eol-style=native property for some recently added text files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16194 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/custom/etc/lottery.txt | 908 ++++++++++++++++++++++----------------------- 1 file changed, 454 insertions(+), 454 deletions(-) (limited to 'npc/custom/etc/lottery.txt') diff --git a/npc/custom/etc/lottery.txt b/npc/custom/etc/lottery.txt index 1b6d9f7ee..7cc9a53f1 100644 --- a/npc/custom/etc/lottery.txt +++ b/npc/custom/etc/lottery.txt @@ -1,454 +1,454 @@ -//===== rAthena Script ======================================= -//= Lottery -//===== By: ================================================== -//= acky -//===== Current Version: ===================================== -//= 1.2.1a -//===== Compatible With: ===================================== -//= rAthena SVN -//===== Description: ========================================= -//= Daily lottery draw -//===== Additional Comments: ================================= -//= Numbers drawn daily (Time is configured line 29) -//= *Added GM-Riggability -//= *Ability to renew ticket -//= *Improved interface -//= *Fixed minor bug where first load didn't work. -//= 1.2.1a fix due to new script engine -//============================================================ - -- script lotterygenerator -1,{ -OnInit: - set $L_TicketPrice,4750; // TICKET COST - set $L_Prize_Money,5000000; // JACKPOT AMOUNT - set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE - if ($LID == 0) goto L_GenID; - end; - - //Modify for own time -OnClock2045: - // CHECKS IF LOTTERY IS RIGGED - if ($L_Rigged == 1) goto L_Rigged_Draw; - // GENERATES RANDOM NUMBERS 1-40 -Pick1: - set $LW1,rand (1,40); - -Pick2: - set $LW2,rand (1,40); - if ($LW2 == $LW1) goto Pick2; - -Pick3: - set $LW3,rand (1,40); - if ($LW3 == $LW2) goto Pick3; - if ($LW3 == $LW1) goto Pick3; - -Pick4: - set $LW4,rand (1,40); - if ($LW4 == $LW2) goto Pick4; - if ($LW4 == $LW1) goto Pick4; - if ($LW4 == $LW3) goto Pick4; - -Pick5: - set $LW5,rand (1,40); - if ($LW5 == $LW1) goto Pick5; - if ($LW5 == $LW2) goto Pick5; - if ($LW5 == $LW3) goto Pick5; - if ($LW5 == $LW4) goto Pick5; - -Pick6: - set $LW6,rand (1,40); - if ($LW6 == $LW1) goto Pick6; - if ($LW6 == $LW2) goto Pick6; - if ($LW6 == $LW3) goto Pick6; - if ($LW6 == $LW4) goto Pick6; - if ($LW6 == $LW5) goto Pick6; - - // BROADCASTS DRAW -L_Broadcast: - Announce "Lottery: Welcome to tonight's lotto draw!",8; - Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; - Announce "Congratulations to the winners of tonight!",8; - - // GENERATES DRAW ID CODE -L_GenID: - set $LID2,$LID; - // SETS TOMORROW'S ID NUMBER - set $LID,rand (100000,999999); - end; - - // SETS DRAW TO RIGGED NUMBERS -L_Rigged_Draw: - set $LW1,$LR1; - set $LW2,$LR2; - set $LW3,$LR3; - set $LW4,$LR4; - set $LW5,$LR5; - set $LW6,$LR6; - set $L_Rigged,0; - goto L_Broadcast; -} - -prontera,141,182,5 script Lottery 76,{ -L_Begin: - mes "[Lottery]"; - mes "Winning Lotto Numbers ("+$LID2+"):"; - mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000"; - if ($LID > 99999) mes "Your Ticket ("+#LID+"):"; - if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000"; - mes "Next Draw-ID: ^FF0000" + $LID + "^000000."; - next; - if (getgmlevel() > 90) goto L_GM; - menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel; - -// PURCHASE TICKET -L_Buy: - if (#LID == $LID && #L1 != 0) goto L_DoubleTicket; - mes "[Lottery]"; - mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000."; - mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000."; - next; - menu "Buy Ticket",-,"Cancel",L_Cancel; - if (zeny < $L_TicketPrice) goto L_NoZeny; - set zeny,zeny-$L_TicketPrice; - mes "[Lottery]"; - mes "Would you like your numbers hand picked or computer generated?"; - next; - menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew; - -// RENEW LAST TICKET -L_Renew: - if ($LID < 99999) goto L_Invalid; - set #LID,$LID; - goto L_Confirm2; - -L_ComputerGen: -// SELECTS RANDOM NUMBERS - set @L1,0; - set @L2,0; - set @L3,0; - set @L4,0; - set @L5,0; - set @L6,0; -Pick1: - set @L1,rand (1,40); -Pick2: - set @L2,rand (1,40); - if (@L2 == @L1) goto Pick2; -Pick3: - set @L3,rand (1,40); - if (@L3 == @L2) goto Pick3; - if (@L3 == @L1) goto Pick3; -Pick4: - set @L4,rand (1,40); - if (@L4 == @L2) goto Pick4; - if (@L4 == @L1) goto Pick4; - if (@L4 == @L3) goto Pick4; -Pick5: - set @L5,rand (1,40); - if (@L5 == @L1) goto Pick5; - if (@L5 == @L2) goto Pick5; - if (@L5 == @L3) goto Pick5; - if (@L5 == @L4) goto Pick5; -Pick6: - set @L6,rand (1,40); - if (@L6 == @L1) goto Pick6; - if (@L6 == @L2) goto Pick6; - if (@L6 == @L3) goto Pick6; - if (@L6 == @L4) goto Pick6; - if (@L6 == @L5) goto Pick6; - mes "[Lottery]"; - mes "The computer has selected the following numbers:"; - mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; - next; - menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen; - -// HAND PICK LOTTERY NUMBERS -L_HandPick: - mes "[Lottery]"; - mes "Please pick your numbers (1-40):"; - set @L1,0; - set @L2,0; - set @L3,0; - set @L4,0; - set @L5,0; - set @L6,0; -Input1: - input @L1; - if (@L1 < 1 || @L1 > 40) goto Input1; - mes @L1; -Input2: - input @L2; - if (@L2 < 1 || @L2 > 40) goto Input2; - if (@L2 == @L1) goto Input2; - mes @L2; -Input3: - input @L3; - if (@L3 < 1 || @L3 > 40) goto Input3; - if (@L3 == @L1) goto Input3; - if (@L3 == @L2) goto Input3; - mes @L3; -Input4: - input @L4; - if (@L4 < 1 || @L4 > 40) goto Input4; - if (@L4 == @L1) goto Input4; - if (@L4 == @L2) goto Input4; - if (@L4 == @L3) goto Input4; - mes @L4; -Input5: - input @L5; - if (@L5 < 1 || @L5 > 40) goto Input5; - if (@L5 == @L1) goto Input5; - if (@L5 == @L2) goto Input5; - if (@L5 == @L3) goto Input5; - if (@L5 == @L4) goto Input5; - mes @L5; -Input6: - input @L6; - if (@L6 < 1 || @L6 > 40) goto Input6; - if (@L6 == @L1) goto Input6; - if (@L6 == @L2) goto Input6; - if (@L6 == @L3) goto Input6; - if (@L6 == @L4) goto Input6; - if (@L6 == @L5) goto Input6; - mes @L6; - next; - mes "[Lottery]"; - mes "Your numbers are:"; - mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; - next; - menu "Confirm",L_Confirm,"Re-Pick",L_HandPick; - -L_Confirm: - set #LW1,@L1; - set #LW2,@L2; - set #LW3,@L3; - set #LW4,@L4; - set #LW5,@L5; - set #LW6,@L6; - set #LID,$LID; -L_Confirm2: - mes "[Lottery]"; - mes "The live broadcasted draw is at 9pm."; - mes "You can claim your ticket between then and the next draw."; - next; - mes "[Lottery]"; - mes "Good luck!"; - close; - -L_Claim: - // CHECKS TICKET VALIDILITY - if (#LID != $LID2) goto L_Invalid; - // CHECKS HOW MANY NUMBERS MATCHED - set @LPrize,0; - if (#LW1 == $LW1) set @LPrize,@LPrize+1; - if (#LW1 == $LW2) set @LPrize,@LPrize+1; - if (#LW1 == $LW3) set @LPrize,@LPrize+1; - if (#LW1 == $LW4) set @LPrize,@LPrize+1; - if (#LW1 == $LW5) set @LPrize,@LPrize+1; - if (#LW1 == $LW6) set @LPrize,@LPrize+1; - if (#LW2 == $LW1) set @LPrize,@LPrize+1; - if (#LW2 == $LW2) set @LPrize,@LPrize+1; - if (#LW2 == $LW3) set @LPrize,@LPrize+1; - if (#LW2 == $LW4) set @LPrize,@LPrize+1; - if (#LW2 == $LW5) set @LPrize,@LPrize+1; - if (#LW2 == $LW6) set @LPrize,@LPrize+1; - if (#LW3 == $LW1) set @LPrize,@LPrize+1; - if (#LW3 == $LW2) set @LPrize,@LPrize+1; - if (#LW3 == $LW3) set @LPrize,@LPrize+1; - if (#LW3 == $LW4) set @LPrize,@LPrize+1; - if (#LW3 == $LW5) set @LPrize,@LPrize+1; - if (#LW3 == $LW6) set @LPrize,@LPrize+1; - if (#LW4 == $LW1) set @LPrize,@LPrize+1; - if (#LW4 == $LW2) set @LPrize,@LPrize+1; - if (#LW4 == $LW3) set @LPrize,@LPrize+1; - if (#LW4 == $LW4) set @LPrize,@LPrize+1; - if (#LW4 == $LW5) set @LPrize,@LPrize+1; - if (#LW4 == $LW6) set @LPrize,@LPrize+1; - if (#LW5 == $LW1) set @LPrize,@LPrize+1; - if (#LW5 == $LW2) set @LPrize,@LPrize+1; - if (#LW5 == $LW3) set @LPrize,@LPrize+1; - if (#LW5 == $LW4) set @LPrize,@LPrize+1; - if (#LW5 == $LW5) set @LPrize,@LPrize+1; - if (#LW5 == $LW6) set @LPrize,@LPrize+1; - if (#LW6 == $LW1) set @LPrize,@LPrize+1; - if (#LW6 == $LW2) set @LPrize,@LPrize+1; - if (#LW6 == $LW3) set @LPrize,@LPrize+1; - if (#LW6 == $LW4) set @LPrize,@LPrize+1; - if (#LW6 == $LW5) set @LPrize,@LPrize+1; - if (#LW6 == $LW6) set @LPrize,@LPrize+1; - - if (@LPrize == 6) goto LWinBig; - if (@LPrize > 3 && @LPrize < 6) goto LWinSmall; - -// NO WINNER - mes "[Lottery]"; - mes "Bad luck, it appears you do not hold a winning ticket."; - next; - mes "[Lottery]"; - mes "Better luck next time!."; - close; - -// MATCHED ALL SIX -LWinBig: - mes "[Lottery]"; - mes "You have matched all six numbers!"; - mes "Jackpot!"; - mes "You've won ^0000FF" + $L_Prize_Money + "z^000000."; - set zeny,zeny+$L_Prize_Money; - Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8; - set #LID,0; - close; - -// MATCHED AT LEAST 4 -LWinSmall: - mes "[Lottery]"; - mes "You have matched at least 4 numbers!"; - mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000."; - set zeny,zeny+$L_Prize_Money_Small; - Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8; - set #LID,0; - close; - -// NO ZENY -L_NoZeny: - mes "[Lottery]"; - mes "You can't afford a lottery ticket."; - close; - -// INVALID TICKET -L_Invalid: - mes "[Lottery]"; - mes "I'm sorry but it appears that you have an invalid ticket."; - close; - -// DOUBLE TICKET -L_DoubleTicket: - mes "[Lottery]"; - mes "It appears that you already have a ticket for today."; - mes "You may only purchase one ticket per draw."; - close; - -L_Cancel: - mes "[Lottery]"; - mes "Come back soon!"; - close; - -// GM MENU (Lets you manually do draws) -L_GM: - menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel; - - // CHECKS IF LOTTERY IS RIGGED - if ($L_Rigged == 1) goto L_Rigged_Draw; - // GENERATES RANDOM NUMBERS 1-40 -GMPick1: - set $LW1,rand (1,40); - -GMPick2: - set $LW2,rand (1,40); - if ($LW2 == $LW1) goto GMPick2; - -GMPick3: - set $LW3,rand (1,40); - if ($LW3 == $LW2) goto GMPick3; - if ($LW3 == $LW1) goto GMPick3; - -GMPick4: - set $LW4,rand (1,40); - if ($LW4 == $LW2) goto GMPick4; - if ($LW4 == $LW1) goto GMPick4; - if ($LW4 == $LW3) goto GMPick4; - -GMPick5: - set $LW5,rand (1,40); - if ($LW5 == $LW1) goto GMPick5; - if ($LW5 == $LW2) goto GMPick5; - if ($LW5 == $LW3) goto GMPick5; - if ($LW5 == $LW4) goto GMPick5; - -GMPick6: - set $LW6,rand (1,40); - if ($LW6 == $LW1) goto GMPick6; - if ($LW6 == $LW2) goto GMPick6; - if ($LW6 == $LW3) goto GMPick6; - if ($LW6 == $LW4) goto GMPick6; - if ($LW6 == $LW5) goto GMPick6; - -// BROADCASTS DRAW -L_Broadcast: - Announce "Lottery: Welcome to the special GM's lotto draw!",8; - Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; - Announce "Congratulations to the winners!",8; - -// GENERATES DRAW ID CODE -L_GenID: - set $LID2,$LID; - // SETS TOMORROW'S ID NUMBER - set $LID,rand (100000,999999); - close; - -// SETS DRAW TO RIGGED NUMBERS -L_Rigged_Draw: - set $LW1,$LR1; - set $LW2,$LR2; - set $LW3,$LR3; - set $LW4,$LR4; - set $LW5,$LR5; - set $LW6,$LR6; - set $L_Rigged,0; - goto L_Broadcast; - -// ALLOWS GM TO DO A RIGGED DRAW -L_GM_Rig: - mes "[Lottery]"; - mes "Please pick your numbers (1-40):"; - set $LR1,0; - set $LR2,0; - set $LR3,0; - set $LR4,0; - set $LR5,0; - set $LR6,0; -GMInput1: - Input $LR1; - if ($LR1 < 1 || $LR1 > 40) goto GMInput1; - mes $LR1; -GMInput2: - Input $LR2; - if ($LR2 < 1 || $LR2 > 40) goto GMInput2; - if ($LR2 == $LR1) goto GMInput2; - mes $LR2; -GMInput3: - Input $LR3; - if ($LR3 < 1 || $LR3 > 40) goto GMInput3; - if ($LR3 == $LR1) goto GMInput3; - if ($LR3 == $LR2) goto GMInput3; - mes $LR3; -GMInput4: - Input $LR4; - if ($LR4 < 1 || $LR4 > 40) goto GMInput4; - if ($LR4 == $LR1) goto GMInput4; - if ($LR4 == $LR2) goto GMInput4; - if ($LR4 == $LR3) goto GMInput4; - mes $LR4; -GMInput5: - Input $LR5; - if ($LR5 < 1 || $LR5 > 40) goto GMInput5; - if ($LR5 == $LR1) goto GMInput5; - if ($LR5 == $LR2) goto GMInput5; - if ($LR5 == $LR3) goto GMInput5; - if ($LR5 == $LR4) goto GMInput5; - mes $LR5; -GMInput6: - Input $LR6; - if ($LR6 < 1 || $LR6 > 40) goto GMInput6; - if ($LR6 == $LR1) goto GMInput6; - if ($LR6 == $LR2) goto GMInput6; - if ($LR6 == $LR3) goto GMInput6; - if ($LR6 == $LR4) goto GMInput6; - if ($LR6 == $LR5) goto GMInput6; - mes $LR6; - next; - mes "[Lottery]"; - mes "Lottery rigged for next draw."; - set $L_Rigged,1; - close; -} +//===== rAthena Script ======================================= +//= Lottery +//===== By: ================================================== +//= acky +//===== Current Version: ===================================== +//= 1.2.1a +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Daily lottery draw +//===== Additional Comments: ================================= +//= Numbers drawn daily (Time is configured line 29) +//= *Added GM-Riggability +//= *Ability to renew ticket +//= *Improved interface +//= *Fixed minor bug where first load didn't work. +//= 1.2.1a fix due to new script engine +//============================================================ + +- script lotterygenerator -1,{ +OnInit: + set $L_TicketPrice,4750; // TICKET COST + set $L_Prize_Money,5000000; // JACKPOT AMOUNT + set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE + if ($LID == 0) goto L_GenID; + end; + + //Modify for own time +OnClock2045: + // CHECKS IF LOTTERY IS RIGGED + if ($L_Rigged == 1) goto L_Rigged_Draw; + // GENERATES RANDOM NUMBERS 1-40 +Pick1: + set $LW1,rand (1,40); + +Pick2: + set $LW2,rand (1,40); + if ($LW2 == $LW1) goto Pick2; + +Pick3: + set $LW3,rand (1,40); + if ($LW3 == $LW2) goto Pick3; + if ($LW3 == $LW1) goto Pick3; + +Pick4: + set $LW4,rand (1,40); + if ($LW4 == $LW2) goto Pick4; + if ($LW4 == $LW1) goto Pick4; + if ($LW4 == $LW3) goto Pick4; + +Pick5: + set $LW5,rand (1,40); + if ($LW5 == $LW1) goto Pick5; + if ($LW5 == $LW2) goto Pick5; + if ($LW5 == $LW3) goto Pick5; + if ($LW5 == $LW4) goto Pick5; + +Pick6: + set $LW6,rand (1,40); + if ($LW6 == $LW1) goto Pick6; + if ($LW6 == $LW2) goto Pick6; + if ($LW6 == $LW3) goto Pick6; + if ($LW6 == $LW4) goto Pick6; + if ($LW6 == $LW5) goto Pick6; + + // BROADCASTS DRAW +L_Broadcast: + Announce "Lottery: Welcome to tonight's lotto draw!",8; + Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; + Announce "Congratulations to the winners of tonight!",8; + + // GENERATES DRAW ID CODE +L_GenID: + set $LID2,$LID; + // SETS TOMORROW'S ID NUMBER + set $LID,rand (100000,999999); + end; + + // SETS DRAW TO RIGGED NUMBERS +L_Rigged_Draw: + set $LW1,$LR1; + set $LW2,$LR2; + set $LW3,$LR3; + set $LW4,$LR4; + set $LW5,$LR5; + set $LW6,$LR6; + set $L_Rigged,0; + goto L_Broadcast; +} + +prontera,141,182,5 script Lottery 76,{ +L_Begin: + mes "[Lottery]"; + mes "Winning Lotto Numbers ("+$LID2+"):"; + mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000"; + if ($LID > 99999) mes "Your Ticket ("+#LID+"):"; + if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000"; + mes "Next Draw-ID: ^FF0000" + $LID + "^000000."; + next; + if (getgmlevel() > 90) goto L_GM; + menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel; + +// PURCHASE TICKET +L_Buy: + if (#LID == $LID && #L1 != 0) goto L_DoubleTicket; + mes "[Lottery]"; + mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000."; + mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000."; + next; + menu "Buy Ticket",-,"Cancel",L_Cancel; + if (zeny < $L_TicketPrice) goto L_NoZeny; + set zeny,zeny-$L_TicketPrice; + mes "[Lottery]"; + mes "Would you like your numbers hand picked or computer generated?"; + next; + menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew; + +// RENEW LAST TICKET +L_Renew: + if ($LID < 99999) goto L_Invalid; + set #LID,$LID; + goto L_Confirm2; + +L_ComputerGen: +// SELECTS RANDOM NUMBERS + set @L1,0; + set @L2,0; + set @L3,0; + set @L4,0; + set @L5,0; + set @L6,0; +Pick1: + set @L1,rand (1,40); +Pick2: + set @L2,rand (1,40); + if (@L2 == @L1) goto Pick2; +Pick3: + set @L3,rand (1,40); + if (@L3 == @L2) goto Pick3; + if (@L3 == @L1) goto Pick3; +Pick4: + set @L4,rand (1,40); + if (@L4 == @L2) goto Pick4; + if (@L4 == @L1) goto Pick4; + if (@L4 == @L3) goto Pick4; +Pick5: + set @L5,rand (1,40); + if (@L5 == @L1) goto Pick5; + if (@L5 == @L2) goto Pick5; + if (@L5 == @L3) goto Pick5; + if (@L5 == @L4) goto Pick5; +Pick6: + set @L6,rand (1,40); + if (@L6 == @L1) goto Pick6; + if (@L6 == @L2) goto Pick6; + if (@L6 == @L3) goto Pick6; + if (@L6 == @L4) goto Pick6; + if (@L6 == @L5) goto Pick6; + mes "[Lottery]"; + mes "The computer has selected the following numbers:"; + mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; + next; + menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen; + +// HAND PICK LOTTERY NUMBERS +L_HandPick: + mes "[Lottery]"; + mes "Please pick your numbers (1-40):"; + set @L1,0; + set @L2,0; + set @L3,0; + set @L4,0; + set @L5,0; + set @L6,0; +Input1: + input @L1; + if (@L1 < 1 || @L1 > 40) goto Input1; + mes @L1; +Input2: + input @L2; + if (@L2 < 1 || @L2 > 40) goto Input2; + if (@L2 == @L1) goto Input2; + mes @L2; +Input3: + input @L3; + if (@L3 < 1 || @L3 > 40) goto Input3; + if (@L3 == @L1) goto Input3; + if (@L3 == @L2) goto Input3; + mes @L3; +Input4: + input @L4; + if (@L4 < 1 || @L4 > 40) goto Input4; + if (@L4 == @L1) goto Input4; + if (@L4 == @L2) goto Input4; + if (@L4 == @L3) goto Input4; + mes @L4; +Input5: + input @L5; + if (@L5 < 1 || @L5 > 40) goto Input5; + if (@L5 == @L1) goto Input5; + if (@L5 == @L2) goto Input5; + if (@L5 == @L3) goto Input5; + if (@L5 == @L4) goto Input5; + mes @L5; +Input6: + input @L6; + if (@L6 < 1 || @L6 > 40) goto Input6; + if (@L6 == @L1) goto Input6; + if (@L6 == @L2) goto Input6; + if (@L6 == @L3) goto Input6; + if (@L6 == @L4) goto Input6; + if (@L6 == @L5) goto Input6; + mes @L6; + next; + mes "[Lottery]"; + mes "Your numbers are:"; + mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; + next; + menu "Confirm",L_Confirm,"Re-Pick",L_HandPick; + +L_Confirm: + set #LW1,@L1; + set #LW2,@L2; + set #LW3,@L3; + set #LW4,@L4; + set #LW5,@L5; + set #LW6,@L6; + set #LID,$LID; +L_Confirm2: + mes "[Lottery]"; + mes "The live broadcasted draw is at 9pm."; + mes "You can claim your ticket between then and the next draw."; + next; + mes "[Lottery]"; + mes "Good luck!"; + close; + +L_Claim: + // CHECKS TICKET VALIDILITY + if (#LID != $LID2) goto L_Invalid; + // CHECKS HOW MANY NUMBERS MATCHED + set @LPrize,0; + if (#LW1 == $LW1) set @LPrize,@LPrize+1; + if (#LW1 == $LW2) set @LPrize,@LPrize+1; + if (#LW1 == $LW3) set @LPrize,@LPrize+1; + if (#LW1 == $LW4) set @LPrize,@LPrize+1; + if (#LW1 == $LW5) set @LPrize,@LPrize+1; + if (#LW1 == $LW6) set @LPrize,@LPrize+1; + if (#LW2 == $LW1) set @LPrize,@LPrize+1; + if (#LW2 == $LW2) set @LPrize,@LPrize+1; + if (#LW2 == $LW3) set @LPrize,@LPrize+1; + if (#LW2 == $LW4) set @LPrize,@LPrize+1; + if (#LW2 == $LW5) set @LPrize,@LPrize+1; + if (#LW2 == $LW6) set @LPrize,@LPrize+1; + if (#LW3 == $LW1) set @LPrize,@LPrize+1; + if (#LW3 == $LW2) set @LPrize,@LPrize+1; + if (#LW3 == $LW3) set @LPrize,@LPrize+1; + if (#LW3 == $LW4) set @LPrize,@LPrize+1; + if (#LW3 == $LW5) set @LPrize,@LPrize+1; + if (#LW3 == $LW6) set @LPrize,@LPrize+1; + if (#LW4 == $LW1) set @LPrize,@LPrize+1; + if (#LW4 == $LW2) set @LPrize,@LPrize+1; + if (#LW4 == $LW3) set @LPrize,@LPrize+1; + if (#LW4 == $LW4) set @LPrize,@LPrize+1; + if (#LW4 == $LW5) set @LPrize,@LPrize+1; + if (#LW4 == $LW6) set @LPrize,@LPrize+1; + if (#LW5 == $LW1) set @LPrize,@LPrize+1; + if (#LW5 == $LW2) set @LPrize,@LPrize+1; + if (#LW5 == $LW3) set @LPrize,@LPrize+1; + if (#LW5 == $LW4) set @LPrize,@LPrize+1; + if (#LW5 == $LW5) set @LPrize,@LPrize+1; + if (#LW5 == $LW6) set @LPrize,@LPrize+1; + if (#LW6 == $LW1) set @LPrize,@LPrize+1; + if (#LW6 == $LW2) set @LPrize,@LPrize+1; + if (#LW6 == $LW3) set @LPrize,@LPrize+1; + if (#LW6 == $LW4) set @LPrize,@LPrize+1; + if (#LW6 == $LW5) set @LPrize,@LPrize+1; + if (#LW6 == $LW6) set @LPrize,@LPrize+1; + + if (@LPrize == 6) goto LWinBig; + if (@LPrize > 3 && @LPrize < 6) goto LWinSmall; + +// NO WINNER + mes "[Lottery]"; + mes "Bad luck, it appears you do not hold a winning ticket."; + next; + mes "[Lottery]"; + mes "Better luck next time!."; + close; + +// MATCHED ALL SIX +LWinBig: + mes "[Lottery]"; + mes "You have matched all six numbers!"; + mes "Jackpot!"; + mes "You've won ^0000FF" + $L_Prize_Money + "z^000000."; + set zeny,zeny+$L_Prize_Money; + Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8; + set #LID,0; + close; + +// MATCHED AT LEAST 4 +LWinSmall: + mes "[Lottery]"; + mes "You have matched at least 4 numbers!"; + mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000."; + set zeny,zeny+$L_Prize_Money_Small; + Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8; + set #LID,0; + close; + +// NO ZENY +L_NoZeny: + mes "[Lottery]"; + mes "You can't afford a lottery ticket."; + close; + +// INVALID TICKET +L_Invalid: + mes "[Lottery]"; + mes "I'm sorry but it appears that you have an invalid ticket."; + close; + +// DOUBLE TICKET +L_DoubleTicket: + mes "[Lottery]"; + mes "It appears that you already have a ticket for today."; + mes "You may only purchase one ticket per draw."; + close; + +L_Cancel: + mes "[Lottery]"; + mes "Come back soon!"; + close; + +// GM MENU (Lets you manually do draws) +L_GM: + menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel; + + // CHECKS IF LOTTERY IS RIGGED + if ($L_Rigged == 1) goto L_Rigged_Draw; + // GENERATES RANDOM NUMBERS 1-40 +GMPick1: + set $LW1,rand (1,40); + +GMPick2: + set $LW2,rand (1,40); + if ($LW2 == $LW1) goto GMPick2; + +GMPick3: + set $LW3,rand (1,40); + if ($LW3 == $LW2) goto GMPick3; + if ($LW3 == $LW1) goto GMPick3; + +GMPick4: + set $LW4,rand (1,40); + if ($LW4 == $LW2) goto GMPick4; + if ($LW4 == $LW1) goto GMPick4; + if ($LW4 == $LW3) goto GMPick4; + +GMPick5: + set $LW5,rand (1,40); + if ($LW5 == $LW1) goto GMPick5; + if ($LW5 == $LW2) goto GMPick5; + if ($LW5 == $LW3) goto GMPick5; + if ($LW5 == $LW4) goto GMPick5; + +GMPick6: + set $LW6,rand (1,40); + if ($LW6 == $LW1) goto GMPick6; + if ($LW6 == $LW2) goto GMPick6; + if ($LW6 == $LW3) goto GMPick6; + if ($LW6 == $LW4) goto GMPick6; + if ($LW6 == $LW5) goto GMPick6; + +// BROADCASTS DRAW +L_Broadcast: + Announce "Lottery: Welcome to the special GM's lotto draw!",8; + Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; + Announce "Congratulations to the winners!",8; + +// GENERATES DRAW ID CODE +L_GenID: + set $LID2,$LID; + // SETS TOMORROW'S ID NUMBER + set $LID,rand (100000,999999); + close; + +// SETS DRAW TO RIGGED NUMBERS +L_Rigged_Draw: + set $LW1,$LR1; + set $LW2,$LR2; + set $LW3,$LR3; + set $LW4,$LR4; + set $LW5,$LR5; + set $LW6,$LR6; + set $L_Rigged,0; + goto L_Broadcast; + +// ALLOWS GM TO DO A RIGGED DRAW +L_GM_Rig: + mes "[Lottery]"; + mes "Please pick your numbers (1-40):"; + set $LR1,0; + set $LR2,0; + set $LR3,0; + set $LR4,0; + set $LR5,0; + set $LR6,0; +GMInput1: + Input $LR1; + if ($LR1 < 1 || $LR1 > 40) goto GMInput1; + mes $LR1; +GMInput2: + Input $LR2; + if ($LR2 < 1 || $LR2 > 40) goto GMInput2; + if ($LR2 == $LR1) goto GMInput2; + mes $LR2; +GMInput3: + Input $LR3; + if ($LR3 < 1 || $LR3 > 40) goto GMInput3; + if ($LR3 == $LR1) goto GMInput3; + if ($LR3 == $LR2) goto GMInput3; + mes $LR3; +GMInput4: + Input $LR4; + if ($LR4 < 1 || $LR4 > 40) goto GMInput4; + if ($LR4 == $LR1) goto GMInput4; + if ($LR4 == $LR2) goto GMInput4; + if ($LR4 == $LR3) goto GMInput4; + mes $LR4; +GMInput5: + Input $LR5; + if ($LR5 < 1 || $LR5 > 40) goto GMInput5; + if ($LR5 == $LR1) goto GMInput5; + if ($LR5 == $LR2) goto GMInput5; + if ($LR5 == $LR3) goto GMInput5; + if ($LR5 == $LR4) goto GMInput5; + mes $LR5; +GMInput6: + Input $LR6; + if ($LR6 < 1 || $LR6 > 40) goto GMInput6; + if ($LR6 == $LR1) goto GMInput6; + if ($LR6 == $LR2) goto GMInput6; + if ($LR6 == $LR3) goto GMInput6; + if ($LR6 == $LR4) goto GMInput6; + if ($LR6 == $LR5) goto GMInput6; + mes $LR6; + next; + mes "[Lottery]"; + mes "Lottery rigged for next draw."; + set $L_Rigged,1; + close; +} -- cgit v1.2.3-60-g2f50