- D1 Meta Docs - Denizen Script -
Home Page / Pi to one million places / Contact mcmonkey / Donate / Paste Scripts / Denizen Help /
You are browsing as a guest.
Login | Register


Click here to create your own public paste ~ ~ click to duplicate and edit this paste


TitleUntitled Paste
TypeDenizen Script
Date2019/11/06 08:43:13 UTC-08:00
ByGuest
Other
Paste
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
11100
MyAssignmentScript:
    type: assignment
    actions:
        on assignment:
        - chat "I has been assigned!"
        - trigger name:proximity state:true
    Interact Scripts:
    - Quests_Priest
Quests_Priest:
  type: Interact
  Steps:
    '1':
            Proximity trigger:
                Entry:
                    Script:
                    - narrate hello
                    - spawn ARMOR_STAND[custom_name="<&a>Quest available!";custom_name_visibility=true;gravity=false] <npc.location.above[1]> save:new
                    - spawn ARMOR_STAND[custom_name="<&e>Quest ongoing!";custom_name_visibility=true;gravity=false] <npc.location.above[1]> save:ongoing
                    - spawn ARMOR_STAND[custom_name="<&c>Quest finished!";custom_name_visibility=true;gravity=false] <npc.location.above[1]> save:finish
                    - adjust <player> hide_entity:<entry[new]>
                    - adjust <player> hide_entity:<entry[ongoing]>
                    - adjust <player> hide_entity:<entry[finish]>
                    - if <player.flag[<player.uuid>_priest_daily_set]>:
                      - adjust <player> show_entity:<entry[ongoing]>
                    - if <player.flag[<player.uuid>_priest_daily_set]> !:
                      - adjust <player> show_entity:<entry[new]>
                    - if <player.flag[<player.uuid>_priest_rewarded]> !:
                      - adjust <player> show_entity:<entry[finish]>
    '2':
      click trigger:
        script:

          - if <player.flag[<player.uuid>_priest_day_reset].sub[<util.date.time.day>]> != 0 || <player.has_flag[<player.uuid>_priest_day_reset]> !:

            - flag player <player.uuid>_priest_daily_set:false
            - flag player <player.uuid>_priest_rewarded:false

          - if <player.flag[<player.uuid>_priest_daily_set]>:
            - if <player.inventory.contains[<player.flag[<player.uuid>_daily_priest].get[2]>].quantity[<player.flag[<player.uuid>_daily_priest].get[1]>]> || <player.flag[<player.uuid>_priest_rewarded]> !:
              - take <player.flag[<player.uuid>_daily_priest].get[2]> quantity:<player.flag[<player.uuid>_daily_priest].get[1]>
              - define "pt:<&6><&l>[<&6>Priest<&6><&l>]"
              - define "w1:<[pt]> <&f>Thanks for these materials, <&e><player.name><&f>!"
              - define "w2:<[pt]> <&f>I will have new quests for you tomorrow!"
              - narrate "<[w1]>"
              - wait <[w1].length.div[2]>t
              - narrate "<[w2]>"
              - wait 1s
              - flag player <player.uuid>_priest_daily_completed:true
              # Prepare rewards
              - choose "<player.flag[<player.uuid>_daily_priest].get[4]>":
                - case "I":
                  - define enchantlvl:1
                - case "II":
                  - define enchantlvl:2
              - choose "<player.flag[<player.uuid>_daily_priest].get[3]>":
                - case "Efficiency":
                  - define enchant:DIG_SPEED
                - case "Sharpness":
                  - define enchant:DAMAGE_ALL
                - case "Unbreaking":
                  - define enchant:DURABILITY
                - case "Smite":
                  - define enchant:DAMAGE_UNDEAD
                - case "Fortune":
                  - define enchant:LOOT_BONUS_BLOCKS
                - case "Power":
                  - define enchant:ARROW_DAMAGE
                - case "Feather Falling":
                  - define enchant:PROTECTION_FALL
              - narrate "<[pt]> <&f>Here is your <&d>reward<&f>."
              - wait 1s
              - give i@enchanted_book[enchantments=<[enchant]>,<[enchantlvl]>]
              - flag player <player.uuid>_priest_rewarded:true
            - else if <player.inventory.contains[<player.flag[<player.uuid>_daily_priest].get[2]>].quantity[<player.flag[<player.uuid>_daily_priest].get[1]>]> || <player.flag[<player.uuid>_priest_rewarded]>:
              - define "pt:<&6><&l>[<&6>Priest<&6><&l>]"
              - define "w1:<[pt]> <&f>Thanks for these materials, <&e><player.name><&f>!"
              - define "w2:<[pt]> <&f>I hope you come back tomorrow!"
              - narrate "<[w1]>"
              - wait <[w1].length.div[2]>t
              - narrate "<[w2]>"
            - else:
              - narrate "<&6><&l>[<&6>Priest<&6><&l>] <&f>I needed <&a><player.flag[<player.uuid>_daily_priest].get[1]> <&translate[item.minecraft.<player.flag[<player.uuid>_daily_priest].get[2]>]>(s)<&f> and was going to give you a book of <&d><player.flag[<player.uuid>_daily_priest].get[3]> <player.flag[<player.uuid>_daily_priest].get[4]><&f>, come back to me when you have the <&a><&translate[item.minecraft.<player.flag[<player.uuid>_daily_priest].get[2]>]>(s)"
          - if <player.flag[<player.uuid>_priest_daily_set]> !:

            - engage

            - flag player <player.uuid>_priest_day_reset:<util.date.time.day>

            - flag player <player.uuid>_daily_priest:!
            - define "material_amount:<util.random.int[5].to[20]>"
            - define "material_name:<list[iron_ingot|emerald|bread].random>"
            - define "enchant_name:<list[Efficiency|Sharpness|Unbreaking|Smite|Protection|Fortune|Power|Feather Falling].random>"
            - define "enchant_level:<list[I|II].random>"

            - flag player <player.uuid>_daily_priest:->:<[material_amount]>
            - flag player <player.uuid>_daily_priest:->:<[material_name]>
            - flag player <player.uuid>_daily_priest:->:<[enchant_name]>
            - flag player <player.uuid>_daily_priest:->:<[enchant_level]>

            - define "pt:<&6><&l>[<&6>Priest<&6><&l>]"
            - define "w1:<[pt]> <list[<&f>Oh, <&e><player.name><&f>!|<&f>Hello <&e><player.name><&f>!|<&f>Nice to see you <&e><player.name><&f>!|<&f>It's <&e><player.name><&f>!|<&f>Greetings to my church <&e><player.name><&f>!].random>"
            - define "w2:<[pt]> <list[<&f>I need to you do a little job for me|<&f>Would you collect some materials for me?|<&f>Do you happen to have some of these materials around?|<&f>Would you like to take this offer?|<&f>Are you up for a job, <&e><player.name><&f>?].random>"
            - define "w3:<[pt]> <&f>I need <&a><player.flag[<player.uuid>_daily_priest].get[1]> <&translate[item.minecraft.<player.flag[<player.uuid>_daily_priest].get[2]>]>(s)<&f>, in exchange I can give you this book of <&d><player.flag[<player.uuid>_daily_priest].get[3]> <player.flag[<player.uuid>_daily_priest].get[4]><&f>."
            - narrate "<[w1]>"
            - wait <[w1].length.div[2]>t
            - narrate "<[w2]>"
            - wait <[w2].length.div[2]>t
            - narrate "<[w3]>"
            - flag player <player.uuid>_priest_daily_set:true
            - disengage



RawRaw



Pastes made: 62530