Date: 2018/06/08 05:26:55 UTC-07:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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:!
}