Paste #47740: Untitled Paste

Date: 2018/06/08 05:26:55 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


rtd_gui_task: 
  type: task 
  debug: false 
  speed: 0 
  prefix: '&ss1&ss2&ss1&ss5&ss2&ss0&ss2&ss0&ss0&ss5&ss1&ss8&ss2&ss5&ss0&ss7&ss2&ss1&ss0&ss9&ssr' 
  script: 
  - define base_inv '' 
  #- define base_inv 'in@generic[title=<&6><&l>Lottery GUI;size=27;contents=li@i@air]' 
  - inventory open 'd:in@generic[title=<script.yaml_key[prefix].unescaped><&6><&l>Lottery GUI;size=27]' 
  - wait 1t 
  - repeat 50 { 
    - define rng '<util.random.int[1].to[200]>' 
    - if <def[rng]> < 30 { 
      - define item 'i@iron_sword[display_name=&sseLottery Sword;lore=&ss6Whippity whoopity, you now have a sword!;enchantments=DURABILITY,2|DAMAGE_ALL,3]' 
    }  
    else if <def[rng]> < 40 { 
      - define item 'i@largetoken'
    }  
    else if <def[rng]> < 60 { 
      - define item 'i@diamond_chestplate[display_name=&ssaLottery Chestplate;nbt_attributes=generic.armor/chest/0/1]' 
    } 
    else if <def[rng]> < 85 { 
      - define item 'i@lootpot'
    } 
    else if <def[rng]> < 110 { 
      - define item 'i@FartPotion'
    } 
    else if <def[rng]> < 140 { 
      - define item 'i@lifegem' 
    } 
    else if <def[rng]> < 145 {
      - define item 'i@relic'
    }
    else if <def[rng]> < 165 {
      - define item 'i@smalltoken'
    }
    else if <def[rng]> < 175 {
      - define item 'i@mediumtoken'
    }
    else if <def[rng]> < 190 {
      - define item 'i@dirt[display_name=<&6>Dertt :c]'
    }
    # 15% chance 
    else { 
      - define item 'i@LuckyTag' 
    } 
    - if <def[item]> != <def[prev_item]||i@air> { 
      - inventory open 
        'd:in@generic[title=<script.yaml_key[prefix].unescaped><&6><&l>Lottery GUI;size=27;contents=li@i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|<def[item]>]' 
    } 
    - define prev_item '<def[item]>' 
    - wait <el@2.71828182846.power[<def[value].mul[0.125].sub[3]>].round_up>t 
  } 
  - wait 1s 
  - narrate "<&6>[<&b>Lottery<&6>] <&e>Congratulations! You got <def[item].display_name>!"
  - give <def[item]> 
  - flag player can_close_inv 
  - inventory close 

rtd_gui_evts: 
  type: world 
  debug: false 
  events: 
    on player closes inventory: 
    - if <context.inventory.title.escaped.starts_with[&ss1&ss2&ss1&ss5&ss2&ss0&ss2&ss0&ss0&ss5&ss1&ss8&ss2&ss5&ss0&ss7&ss2&ss1&ss0&ss9&ssr]> { 
      - if !<player.has_flag[can_close_inv]> { 
        - determine cancelled 
      } 
      - flag player can_close_inv:! 
    }