#------------------------# #dLottery # #Author:zozer_firehood # # _______ # # / \ # # / ____ \ # #| / ___ | # #| / / __ | # # \ / / / # # \_______/ # #------------------------# #script http://mcmonkey.org/paste/15118 dLottery: type: world events: on player clicks in inventory: - if ].is[!=].to[in@dLottery]> queue clear - if { - run s@dLottery_clerk 'p:' 'npc:' - inventory close 'd:in@dLottery' - note remove 'as:dLottery' } - if ]> { - if == 9 { - inventory remove 'd:in@dLottery' 'o:i@[display_name=<&e>Number_<&6>;lore=<&e>click to add;quantity=8]' - Determine CANCELLED - queue clear } - inventory add 'd:in@dLottery' 'o:i@[display_name=<&e>Number_<&6>;lore=<&e>click to add]' 'slot:' } - if { - inventory close 'd:in@dLottery' - define timestamp '$1]>' - if { - define number '--' - give "i@dLottery_Pick_Ticket[display_name=<&e>D<&6>lottery<&e>T<&6>icket<&e>_%number%_date-bought_//;lore=|%timestamp%]" } - if { - define number '---' - inventory close 'd:in@dLottery' - give "i@dLottery_Pick_Ticket[display_name=<&e>D<&6>lottery<&e>T<&6>icket<&e>_%number%_date-bought_//;lore=|%timestamp%]" } - run s@dLottery_clerk 'p:chat' 'npc:' - flag player dLotteryclerk:! } - Determine CANCELLED on player closes inventory: - if dLottery]||false> { - note remove 'as:dLottery' - flag player dLotteryclerk:! } datecheck: type: procedure script: - define day_length 86400000 - define server_time - define player_time ]> - define server_day - define player_day - if { - determine true } else { - determine false } dLottery_clerk: type: assignment actions: on assignment: - trigger name:click toggle:true - trigger name:proximity state:true radius:7 cooldown:3 - lookclose true range:7 realistic - run locally dLottery_Station on enter proximity: - run locally chat instantly on click: - if ! { - inject locally timer } - if { - if { - inject locally winning - take - narrate format:GenericNPCFormat "let me see..." - if { - narrate format:GenericNPCFormat "wow, you won!!" - narrate format:GenericNPCFormat "here is as a reward" - give money qty: - narrate "dLottery:you got $ as a reward!" - flag player reward:! - narrate format:GenericNPCFormat "play again some other time!" } else { - narrate format:GenericNPCFormat "sorry buddy, mabey next time!" } } else { - narrate format:GenericNPCFormat "buddy, im not checking these tickets today" - narrate format:GenericNPCFormat "check the date on your ticket, the day after that is when i check them" } } else { - if { - narrate format:GenericNPCFormat "buddy, you don't have enough money to buy a ticket" - queue clear } - narrate format:GenericNPCFormat "hey, " - wait 1t - narrate format:GenericNPCFormat "pick a ticket" - define GUI dLottery - note in@generic[title=<&c>d<&9>Lottery<&sp><&c>T<&9>ickets;size=9] 'as:%GUI%' - inventory add 'd:in@%GUI%' 'o:i@dLottery_Pick3' 'slot:1' - inventory add 'd:in@%GUI%' 'o:i@dLottery_Pick4' 'slot:2' - flag player dLotteryclerk: - wait 8t - inventory open 'd:in@%GUI%' } chat: - if { - narrate format:GenericNPCFormat "come back tommorow to see if you won!" - queue clear } else if { - random { - define msg "okey dokey, just give me a second to get setup" - define msg "now let me get a paper and pen..." - define msg "one Pick Ticket coming up!" } - narrate format:GenericNPCFormat "%msg%" targets: } else { - random { - define msg "HEY, , come buy a lottery ticket here" - define msg "can you be the lucky winner? buy a lottery ticket!" - define msg "TICKETS, TICKETS, COME AND GET YOUR TICKETS" } - narrate format:GenericNPCFormat "%msg%" targets: dLottery_Station: - define locx - define locy - define locz - define world - foreach li@-1|0|1|2 { - define loc l@,,,%world% - modifyblock %loc% m@wood_stairs,6 - define loc l@,,,%world% - modifyblock %loc% m@wood_stairs,7 - define loc l@,,,%world% - modifyblock %loc% m@fence } - foreach li@0|1|2 { - define loc l@,,,%world% - modifyblock %loc% m@fence - define loc l@,,,%world% - modifyblock %loc% m@fence } - foreach li@-2|2 { - define loc l@,,,%world% - sign type:wall_sign "dLottery|click me to|buy a ticket" %loc% - define loc l@,,,%world% - sign type:wall_sign "Pick3|$10|Pick4|$25" %loc% } - define loc l@,,,%world% - modifyblock %loc% chest - narrate format:GenericNPCFormat "done" targets:p@zozer_firehood dLottery_draw: - define locx - define locy - define locz - define world - define num1 - define num2 - define num3 - define nump3 %num1%_%num2%_%num3% - foreach li@-1|1 { - define loc l@%locx%,,,%world% - sign type:wall_sign "Pick3|winning number|%nump3%" %loc% } - flag npc dlotpick3:%nump3% - define num1 - define num2 - define num3 - define num4 - define nump4 %num1%_%num2%_%num3%_%num4% - foreach li@-1|1 { - define loc l@,,,%world% - sign "Pick4|winning number|%nump4%" %loc% } - flag npc dlotpick4:%nump4% winning: - define picktype - if { - flag player pick4 } - define numraw - define num1 - define num2 - define num3 - define num %num1%%num2%%num3% - if { - define num4 - define num %num1%%num2%%num3%%num4% } - define drawnum1 - define drawnum2 - define drawnum3 - define drawnum %drawnum1%%drawnum2%%drawnum3% - if { - define drawnum1 - define drawnum2 - define drawnum3 - define drawnum4 - define drawnum %drawnum1%%drawnum2%%drawnum3%%drawnum4% } - if { - if { - flag player reward:5000 } else { - flag player reward:1000 } } - if { - if ! { - if { - flag player reward:2000 } else { - flag player reward:350 } } } - if ! { - if { - if ]> && ]> { - flag player reward:1000 } } else { - if ]> && ]> { - flag player reward:250 } } } - flag player pick4:! timer: - flag npc timer - define hour - wait 1h - if { - inject locally dLottery_draw - inject locally timer } else { - inject locally timer } action: - define loc - look %loc% - wait 1t - animate animation:SNEAK - repeat 3 { - wait 1s - animate animation:ARM_SWING - if { - if { - animatechest %loc% close - repeate stop } else { - flag npc openchest:++:1 } } else { - flag npc openchest:0 - animatechest %loc% } Pick3: - ^narrate format:TBFormat "i'll have a Pick3 Ticket" - ^flag player pick:3 - ^flag player name: - ^flag player foreachadd:3 - ^flag player setup - ^inject locally chat - ^inject locally action - ^flag player setup:! - ^flag player name:! - ^take money qty:10 - ^flag player block:lime_clay - ^run locally Picksetup Pick4: - ^narrate format:TBFormat "i'll have a Pick4 Ticket" - ^if { - ^narrate format:GenericNPCFormat "buddy, you don't have enough for this ticket, but you can buy a Pick3 ticket..." - ^narrate format:GenericNPCFormat "click on me again and choose the Pick3 if you want a Pick3 ticket" - ^queue clear } - ^flag player pick:4 - ^flag player name: - ^flag player foreachadd:3|4 - ^flag player setup - ^inject locally chat - ^inject locally action - ^flag player setup:! - ^flag player name:! - ^take money qty:25 - ^flag player block:red_clay - ^run locally Picksetup Picksetup: - define num dLottery - narrate format:GenericNPCFormat "now where did the pen go..." - note in@generic[title=<&c>d<&9>Lottery<&sp><&c>T<&9>ickets;size=18] 'as:%num%' - foreach li@1|2| { - inventory add 'd:in@%num%' 'o:[display_name=<&e>Number_<&6>%loop_index%;lore=<&e>click to add]' 'slot:%loop_index%' - flag player foreachadd:! } - inventory add 'd:in@%num%' 'o:i@sel_book' 'slot:18' - wait 8t - inventory open 'd:in@%num%' dLottery_Pick3: type: item material: 339 display name: "<&e>M<&6>ine<&e>C<&6>onomy <&e>D<&6>lottery" lore: - "<&5><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&a>P<&2>ick <&a>3" - "<&5>-------------------------" - "<&5>" - "<&5><&f><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&a>C<&2>ost <&f>$10" - "<&5><&f><&sp>Pick 3 numbers and see if you win" - "<&5>" - "<&5><&sp><&sp><&sp><&a><&n>W<&2><&n>inings" - "<&5>" - "<&a><&sp>E<&2>xact <&a>N<&2>umber➛<&sp><&f>$1000" - "<&a><&sp>S<&2>ame <&a>N<&2>umbers➛<&sp><&f>$350" - "<&a><&sp>W<&2>ithin <&a>5➛<&sp><&f>$250" - "<&5>" dLottery_Pick4: type: item material: 339 display name: "<&e>M<&6>ine<&e>C<&6>onomy <&e>D<&6>lottery" lore: - "<&5><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&c>P<&4>ick <&c>4" - "<&5>-------------------------" - "<&5>" - "<&5><&f><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&c>C<&4>ost <&f>$25" - "<&5><&f><&sp>Pick 4 numbers and see if you win" - "<&5>" - "<&5><&sp><&sp><&sp><&c><&n>W<&4><&n>inings" - "<&5>" - "<&c><&sp>E<&4>xact <&c>N<&4>umber➛<&sp><&f>$5000" - "<&c><&sp>S<&4>ame <&c>N<&4>umbers➛<&sp><&f>$2000" - "<&c><&sp>W<&4>ithin <&c>15➛<&sp><&f>$1000" - "<&5>" sel_book: type: item material: book display name: "<&e>click when done" dLottery_Pick3_Ticket: type: item material: 339 display name: "<&e>M<&6>ine<&e>C<&6>onomy <&e>D<&6>lottery" lore: - "<&5><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&a>P<&2>ick <&a>3" - "<&5>-------------------------" - "<&5>" - "<&5><&f><&sp>Hand this to the clerk tomorrow" - "<&5><&f><&sp>to see if you won!" dLottery_Pick4_Ticket: type: item material: 339 display name: "<&e>M<&6>ine<&e>C<&6>onomy <&e>D<&6>lottery" lore: - "<&5><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&sp><&c>P<&4>ick <&c>4" - "<&5>-------------------------" - "<&5>" - "<&5><&f><&sp>Hand this to the clerk tomorrow" - "<&5><&f><&sp>to see if you won!"