Date: 2019/06/23 18:14:57 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
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
forge_quest_start:
type: task
script:
- create player Mersius l@-167,105,129,main save:originalmersius
- flag <entry[originalmersius].created_npc> original_mersius_flag
- run forge_quest_start2 npc:<entry[originalmersius].created_npc>
forge_quest_start2:
type: task
script:
- assignment set script:s@forge_quest
forge_quest:
type: assignment
actions:
on assignment:
- trigger name:proximity state:true radius:15
interact scripts:
- 1 forge_quest_engage
################ Checks flags ##################
forge_quest_engage:
type: interact
steps:
1:
proximity trigger:
entry:
script:
- if <player.has_flag[forge_quest_engaged] {
- queue clear
}
- if !<player.has_flag[forge_town_permitted]> {
- chat "<dark_gray>Hey! What are you doing here?!"
- wait 3s
- chat "<dark_gray>If you haven't been sent, you should leave."
- wait 2s
- narrate "<dark_purple>Come back when you have the permission."
- queue clear
}
- if <player.has_flag[forge_town_permitted]> {
- flag player mersius_engaged
- create player Mersius <npc.location> save:mersius_step1
- flag <entry[mersius_step1].created_npc> mersius_step1_flag
- adjust <player> hide_entity:<npc>
- adjust <server.list_online_players.exclude[<player>]> hide_entity:<entry[mersius_step1].created_npc>
- run mersius_assign_step1 npc:<entry[mersius_step1].created_npc>
}
exit:
script:
- if !<player.has_flag[mersius_engaged]> {
- adjust <player> show_entity:<server.get_spawned_npcs_flagged[original_mersius_flag]>
- run mersius_step1_disappear npc:<server.get_spawned_npcs_flagged[mersius_step1_flag]>
}
###################### Engage Forge Quest? if flags match #################
mersius_assign_step1:
type: task
script:
- if <player.has_flag[mersius_engaged]> {
- assignment set script:s@forge_quest_yes_or_no_assign
- lookclose
- chat "<dark_gray>Hey <player.name>, Jonah told me you were coming."
- wait 27t
- chat "<dark_gray>I can show you what I need from you."
- wait 19t
- chat "<dark_gray>would you mind following me?"
- wait 13t
- narrate "<dark_purple>Type: <dark_green>Yes <dark_purple>or <dark_red>no"
}
forge_quest_yes_or_no_assign:
type: assignment
actions:
on assignment:
- trigger name:chat state:true radius:15
interact scripts:
- 100 forge_quest_yes_or_no
forge_quest_yes_or_no:
type: interact
steps:
1:
chat trigger:
1:
trigger: /no/
script:
- flag player forge_quest_declining
- wait 4t
- chat "<dark_gray>Alright, come back when you are ready."
- narrate "<dark_purple>Note that you NEED to do this quest if you want to forge with better materials."
- remove <npc>
- adjust <player> show_entity:<server.get_spawned_npcs_flagged[original_mersius_flag]>
2:
trigger: /yes/
script:
- create player Mersius <npc.location> save:mersius_step1_path
- adjust <server.list_online_players.exclude[<player>]> hide_entity:<entry[mersius_step1_path].created_npc>
- run mersius_path npc:<entry[mersius_step1_path].created_npc>
- wait 2t
- remove <npc>
mersius_step1_disappear:
type: task
script:
- remove <npc>
mersius_path:
type: task
script:
- wait 7t
- ~walk <n@43.anchor[spot1]> auto_range
- ~walk <n@43.anchor[spot2]> auto_range
- wait 13t
- chat "<dark_gray>We have found a way to open the forge door."
- wait 46t
- ~walk <n@43.anchor[spot3]> auto_range
- ~walk <n@43.anchor[spot4]> auto_range
- ~walk <n@43.anchor[spot5]> auto_range
- wait 15s
- remove <npc>
- adjust <player> show_entity:<server.get_spawned_npcs_flagged[original_mersius_flag]>
- queue clear