Paste #15085: Diff note for paste #15084

Date: 2015/04/14 19:34:04 UTC-07:00
Type: Diff Report

View Raw Paste Download This Paste
Copy Link


 dLottery:
   type: world
   events:
     on player clicks in inventory:
       - if <context.inventory.replace[<player.name>].is[!=].to[in@dLottery]> queue clear
       - if <context.item.replace[i@].split[_].get[1].is[=].to[dLottery]> {
         - run s@dLottery_clerk 'p:<c.item.split[_].get[2]>' 'npc:<player.flag[dLotteryclerk].as_npc>'
         - flag player 'dLotteryclerk:!'
         - inventory close 'd:in@<player.name>dLottery'
         - note remove 'as:<player.name>dLottery'
         }
       - if <context.item.material.name.replace[i@].is[=].to[<player.flag[block]>]> {
         - if <c.item.qty> == 9 {
           - inventory remove 'd:in@<player.name>dLottery' 'o:i@<c.item.material.name>[display_name=<&e>Number_<&6><c.slot>;lore=<&e>click to add;quantity=8]'
           - Determine CANCELLED 
           - queue clear         
           }
         - inventory add 'd:in@<player.name>dLottery' 'o:i@<c.item.material.name>[display_name=<&e>Number_<&6><c.slot>;lore=<&e>click to add]' 'slot:<context.slot>'
         }
       - if <c.item.replace[i@].is[=].to[sel_book]> {
         - if <player.flag[pick].is[=].to[3]> {
           - define number '<c.inventory.slot[1].qty>-<c.inventory.slot[2].qty>-<c.inventory.slot[3].qty>'
           - inventory close 'd:in@<player.name>dLottery'
           - give "i@dLottery_Pick3_Ticket[display_name=<&e>D<&6>lottery<&e>T<&6>icket<&e>_%number%_date-bought_<util.date.time.day>/<util.date.time.month>/<util.date.time.year>]"
           - narrate format:GenericNPCFormat "come back tommorow to see if you won!"
           }
         - if <player.flag[pick].is[=].to[4]> {
           - define number '<c.inventory.slot[1].qty>-<c.inventory.slot[2].qty>-<c.inventory.slot[3].qty>-<c.inventory.slot[4].qty>'
           - inventory close 'd:in@<player.name>dLottery'
           - give "i@dLottery_Pick4_Ticket[display_name=<&e>D<&6>lottery<&e>T<&6>icket<&e>_%number%_date-bought_<util.date.time.day>/<util.date.time.month>/<util.date.time.year>]"
           - narrate format:GenericNPCFormat "come back tommorow to see if you won!"
           }
         }
       - Determine CANCELLED        
     on player closes inventory:
       - if <c.inventory.is[==].to[in@<player.name>dLottery]||false> {
         - note remove 'as:<player.name>dLottery'
         - flag player 'dLotteryclerk:!'
         }
 datecheck:
   type: procedure
   script:
-  - define date1 <player.item_in_hand.split[_].get[4]>
+  - define date1 <player.item_in_hand.display.split[_].get[4]>
   - define day_bought <def[date1].split[/].get[1]>
   - define month_bought <def[date1].split[/].get[2]>
   - define year_bought <def[date1].split[/].get[3]>
   - define day <util.date.time.day.sub[1]>
   - define month <util.date.time.month>
   - define year <util.date.time.year>
-  - if <def[day_bought].is[==].to[<def[day]>]> && <def[year_bought].is[==].to[<def[year]>]> && <def[month_bought].is[==].to[<def[month]>]> || <def[day].is[==].to[0]> && <li@9|4|6|11.contains[<def[month_bought]>]> && <def[day_bought].is[==].to[30]> || <def[day].is[==].to[0]> && <li@1|3|5|7|8|10|12.contains[<def[month_bought]>]> && <def[day_bought].is[==].to[31]> || <def[day].is[==].to[0]> && <def[month_bought].is[==].to[2]> && <def[day_bought].is[==].to[28]> && !<def[y].div[4].is[matches].to[integer]> || <def[day].is[==].to[0]> && <def[month_bought].is[==].to[2]> && <def[day_bought].is[==].to[29]> && <def[y].div[4].is[matches].to[integer]> {
+  #still broken
+  - if (<def[day_bought].is[==].to[<def[day]>]> && <def[year_bought].is[==].to[<def[year]>]> && <def[month_bought].is[==].to[<def[month]>]>) || (<def[day].is[==].to[0]> && <li@9|4|6|11.contains[<def[month_bought]>]> && <def[day_bought].is[==].to[30]>) || (<def[day].is[==].to[0]> && <li@1|3|5|7|8|10|12.contains[<def[month_bought]>]> && <def[day_bought].is[==].to[31]>) || (<def[day].is[==].to[0]> && <def[month_bought].is[==].to[2]> && <def[day_bought].is[==].to[28]> && !<def[year].div[4].is[matches].to[integer]>) || (<def[day].is[==].to[0]> && <def[month_bought].is[==].to[2]> && <def[day_bought].is[==].to[29]> && <def[year].div[4].is[matches].to[integer]>) {
     - determine true
+    }
+    else {
+    - determine false
     }
 dLottery_clerk:
   type: assignment
   actions:
     on assignment:
       - trigger name:chat toggle:true
       - trigger name:click toggle:true
     on click:
       - if !<npc.has_flag[timer]> {
         - inject locally timer
         }
       - if <player.item_in_hand.split[_].get[1].is[==].to[i@DLOTTERY]> {
         - if <proc[datecheck]> {
           - inject locally winning 
           - if <player.has_flag[reward]> {
             - narrate format:GenericNPCFormat "wow, you won!!"
             - narrate format:GenericNPCFormat "here is <player.flag[reward]> as a reward"
+            - give money qty:<player.flag[reward]>
             - flag player reward:!
+            - take <player.item_in_hand>
             }
             else {
             - narrate format:GenericNPCFormat "sorry, mabey next time!"
+            - take <player.item_in_hand>
             }
           }
           else {
           - narrate format:GenericNPCFormat "sorry, the im not checking these tickets today"
           }
         }
         else {
+        - if <player.money.is[LESS].to[10]> {
+          - narrate format:GenericNPCFormat "you don't have enough money to buy a ticket"
+          - queue clear
+          }
         - narrate format:GenericNPCFormat "pick a ticket"
         - define GUI <player.name>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:<npc>'
         - wait 10t
         - inventory open 'd:in@%GUI%'
         }
   dLottery_draw:
     - define num1 <util.random.int[1].to[9]>
     - define num2 <util.random.int[1].to[9]>
     - define num3 <util.random.int[1].to[9]>
     - define nump3 %num1%_%num2%_%num3%
     - sign "winning number Pick3|%nump3%" <npc.location>
     - flag npc dlotpick3:%nump3%
     - define num1 <util.random.int[1].to[9]>
     - define num2 <util.random.int[1].to[9]>
     - define num3 <util.random.int[1].to[9]>
     - define num4 <util.random.int[1].to[9]>
     - define nump4 %num1%_%num2%_%num3%_%num4%
     - sign "winning number Pick3|%nump4%" <npc.location>
     - flag npc dlotpick4:%nump4%
   winning:
     - define picktype <player.item_in_hand.split[_].get[2]>
     - if <def[picktype].is[==].to[Pick4]> {
       - flag player pick4
       }
     - define numraw <player.item_in_hand.display.split[_].get[2]>
-    - define num1 <player.numraw.display.split[.].get[1]>
-    - define num2 <player.numraw.display.split[.].get[2]>
-    - define num3 <player.numraw.display.split[.].get[3]>
+    - define num1 <def[numraw].split[-].get[1]>
+    - define num2 <def[numraw].split[-].get[2]>
+    - define num3 <def[numraw].split[-].get[3]>
     - define num %num1%%num2%%num3%
     - if <player.has_flag[pick4]> {
-      - define num4 <player.numraw.display.split[.].get[4]>
+      - define num4 <def[numraw].split[-].get[4]>
       - define num %num1%%num2%%num3%%num4%
       }
     - define drawnum1 <npc.flag[dlotpick3].split[_].get[1]>
     - define drawnum2 <npc.flag[dlotpick3].split[_].get[2]>
     - define drawnum3 <npc.flag[dlotpick3].split[_].get[3]>
     - define drawnum %drawnum1%%drawnum2%%drawnum3%
     - if <player.has_flag[pick4]> {
-      - define drawnum4 <player.item_in_hand.display.split[_].get[4]>
+      - define drawnum1 <npc.flag[dlotpick4].split[_].get[1]>
+      - define drawnum2 <npc.flag[dlotpick4].split[_].get[2]>
+      - define drawnum3 <npc.flag[dlotpick4].split[_].get[3]>
+      - define drawnum4 <npc.flag[dlotpick4].split[_].get[4]>
       - define drawnum %drawnum1%%drawnum2%%drawnum3%%drawnum4%  
       }
-    - if <def[num].is[==].to[drawnum]> {
+    - if <def[num].is[==].to[%drawnum%]> {
       - if <player.has_flag[pick4]> {
         - flag player reward:5000
       }
-      - else {
+      else {
         - flag player reward:1000
         }
       }
     - if <li@%num1%|%num2%|%num3%.contains[li@%drawnum1%|%drawnum2%|%drawnum3%]> {
-      - if <player.has_flag[pick4]> {
-        - flag player reward:2000
+      - if !<player.has_flag[reward]> {
+        - if <player.has_flag[pick4]> {
+          - flag player reward:2000
+        }
+        else {
+          - flag player reward:350
+          }
+        }
       }
-      - else {
-        - flag player reward:350
+      - if !<player.has_flag[reward]> {
+        - if <player.has_flag[pick4]> {
+          - if <def[num].is[MORE].to[<def[drawnum].sub[16]>]> && <def[num].is[LESS].to[<def[drawnum].add[16]>]> {
+            - flag player reward:1000
+            }
         }
-      }
-    - if <def[num].is[MORE].to[def[drawnum].sub[5]]> && <def[num].is[LESS].to[def[drawnum].add[5]]> && !<def[num].is[==].to[drawnum]> {
-      - if <player.has_flag[pick4]> {
-        - flag player reward:1000
-      }
+        else {
+          - if <def[num].is[MORE].to[<def[drawnum].sub[6]>]> && <def[num].is[LESS].to[<def[drawnum].add[6]>]> {
+            - flag player reward:250
+            }
+          }
-      - else {
-        - flag player reward:250
         }
-      }
     - flag player pick4:!
   timer:
     - flag npc timer
     - define hour <util.date.time.hour>
     - wait 1h
     - if <def[hour].is[==].to[24]> {
       - run locally dLottery_draw
       }
       else {
       - inject locally timer
       }
   Pick3:
+    - take money qty:10
     - define num <player.name>dLottery
-    - if <player.money.is[<].to[10]> {
-      - narrate format:GenericNPCFormat "you dont have enough money"
-      - queue clear
-      }
     - flag player pick:3
     - flag player block:lime_clay
     - note in@generic[title=<&c>d<&9>Lottery<&sp><&c>T<&9>ickets;size=18] 'as:%num%'
     - foreach li@1|2|3 {
       - ^inventory add 'd:in@%num%' 'o:i@<player.flag[block]>[display_name=<&e>Number_<&6>%loop_index%;lore=<&e>click to add]' 'slot:%loop_index%'
       }
     - inventory add 'd:in@%num%' 'o:i@sel_book' 'slot:18'
+    - narrate format:GenericNPCFormat "let me just get a pen..."
     - wait 10t
     - inventory open 'd:in@%num%'
   Pick4:
-    - define num <player.name>dLottery
-    - if <player.money.is[<].to[25]> {
-      - narrate format:GenericNPCFormat "you dont have enough money"
+    - if <player.money.is[LESS].to[25]> {
+      - narrate format:GenericNPCFormat "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
       }
+    - take money qty:25
+    - define num <player.name>dLottery
     - flag player pick:4
     - flag player block:red_clay
     - note in@generic[title=<&c>d<&9>Lottery<&sp><&c>T<&9>ickets;size=18] 'as:%num%'
     - foreach li@1|2|3|4 {
       - inventory add 'd:in@%num%' 'o:<player.flag[block]>[display_name=<&e>Number_<&6>%loop_index%;lore=<&e>click to add]' 'slot:%loop_index%'
       }
-    - inventory add 'd:in@%num%' 'o:i@sel_book' 'slot:18'     
+    - inventory add 'd:in@%num%' 'o:i@sel_book' 'slot:18'
+    - narrate format:GenericNPCFormat "let me just get a pen..."    
     - wait 10t
     - 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!"
-