Date: 2015/10/22 16:08:16 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
"Citizenship":
type: assignment
interact scripts:
- 1 Offer Citizenship
actions:
on assignment:
# This enables interaction with NPC via clicking, entering proximity and damage.
- trigger name:click toggle:true
- trigger name:proximity toggle:true
# Make the NPC look at players
- lookclose state:true
"Offer Citizenship":
type: interact
steps:
1:
proximity trigger:
entry:
script:
- ^narrate "<aqua><npc.name><red> looks down at you from his counter...""
- ^chat "Oh great.... <yellow>Another<green> adventurer"
- ^narrate "<aqua><npc.name><red> rolls his eyes and sighs..."
- ^chat "If you are interested in citizenship for a town click me and we can get this over with."
- ^playsound location:<npc.location> sound:chicken_idle
click trigger:
script:
- chat "Would you like to join the <yellow>Hatchling <green>Isle or take the <yellow>Bathum <green>citizenship test?"
chat trigger:
1:
Trigger: "I would like to joing /Hatchling/ Isle."
Script:
- execute as_op "townyadmin town Bathum remove <player.name>"
- execute as_op "townyadmin town FarmField add <player.name>"
- execute as_op "region addmember NewHatchlingIsle <player.name>"
2:
trigger: "I would like to take the /Bathum/ test."
Script:
- if <player.flag[Fishing]> == Claimed {
- narrate "<npc.name> rolls their eyes in clear dissapointment."
- chat "<yellow>You again... You can only apply for citizenship to Bathum once a day."
}
else {
- flag player passBathumQuiz:true
- inventory open d:in@BathumQuiz1
}
##
## Bathum Quiz
##
BathumQuiz1:
type: inventory
inventory: CHEST
title: <&c>Answer to question one? <&9>
size: 9
definitions:
A: i@BathumQuiz1AnswerA
B: i@BathumQuiz1AnswerB
C: i@BathumQuiz1AnswerC
D: i@BathumQuiz1AnswerD
E: i@BathumQuiz1AnswerE
slots:
- "[A] [] [B] [] [C] [] [D] [] [E]"
BathumQuiz1AnswerA:
type: item
material: red_wool
display name: "Wrong"
correct: false
BathumQuiz1AnswerB:
type: item
material: blue_wool
display name: "Wrong"
correct: false
BathumQuiz1AnswerC:
type: item
material: green_wool
display name: "Wrong"
correct: false
BathumQuiz1AnswerD:
type: item
material: yellow_wool
display name: "Correct"
correct: true
BathumQuiz1AnswerE:
type: item
material: Black_wool
display name: "Wrong"
correct: false
BathumQuiz2:
type: inventory
inventory: CHEST
title: <&c>Answer to question two? <&9>
size: 9
definitions:
A: i@BathumQuiz2AnswerA
B: i@BathumQuiz2AnswerB
C: i@BathumQuiz2AnswerC
D: i@BathumQuiz2AnswerD
E: i@BathumQuiz2AnswerE
slots:
- "[A] [] [B] [] [C] [] [D] [] [E]"
BathumQuiz2AnswerA:
type: item
material: red_wool
display name: "Wrong"
correct: false
BathumQuiz2AnswerB:
type: item
material: blue_wool
display name: "Correct"
correct: true
BathumQuiz2AnswerC:
type: item
material: green_wool
display name: "Wrong"
correct: false
BathumQuiz2AnswerD:
type: item
material: yellow_wool
display name: "Wrong"
correct: false
BathumQuiz2AnswerE:
type: item
material: Black_wool
display name: "Wrong"
correct: false
BathumQuiz3:
type: inventory
inventory: CHEST
title: <&c>Answer to question three? <&9>
size: 9
definitions:
A: i@BathumQuiz3AnswerA
B: i@BathumQuiz3AnswerB
C: i@BathumQuiz3AnswerC
D: i@BathumQuiz3AnswerD
E: i@BathumQuiz3AnswerE
slots:
- "[A] [] [B] [] [C] [] [D] [] [E]"
BathumQuiz3AnswerA:
type: item
material: red_wool
display name: "Wrong"
correct: false
BathumQuiz3AnswerB:
type: item
material: blue_wool
display name: "Wrong"
correct: false
BathumQuiz3AnswerC:
type: item
material: green_wool
display name: "Wrong"
correct: false
BathumQuiz3AnswerD:
type: item
material: yellow_wool
display name: "Wrong"
correct: false
BathumQuiz3AnswerE:
type: item
material: Black_wool
display name: "Correct"
correct: true
##
## Bathum Quiz Events
##
BathumQuizEvents:
type: world
events:
## Question 1
on player clicks BathumQuiz1AnswerA in BathumQuiz1:
- flag player passBathumQuiz <i@BathumQuiz1AnswerA.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz2
on player clicks BathumQuiz1AnswerB in BathumQuiz1:
- flag player passBathumQuiz <i@BathumQuiz1AnswerB.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz2
on player clicks BathumQuiz1AnswerC in BathumQuiz1:
- flag player passBathumQuiz <i@BathumQuiz1AnswerC.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz2
on player clicks BathumQuiz1AnswerD in BathumQuiz1:
- flag player passBathumQuiz <i@BathumQuiz1AnswerD.script.yaml_key[correct]>
- narrate <i@BathumQuiz1AnswerD.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz2
on player clicks BathumQuiz1AnswerE in BathumQuiz1:
- flag player passBathumQuiz <i@BathumQuiz1AnswerE.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz2
## Question 2
on player clicks BathumQuiz2AnswerA in BathumQuiz2:
- flag player passBathumQuiz <i@BathumQuiz2AnswerA.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz3
on player clicks BathumQuiz2AnswerB in BathumQuiz2:
- flag player passBathumQuiz <i@BathumQuiz2AnswerB.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz3
on player clicks BathumQuiz2AnswerC in BathumQuiz2:
- flag player passBathumQuiz <i@BathumQuiz2AnswerC.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz3
on player clicks BathumQuiz2AnswerD in BathumQuiz2:
- flag player passBathumQuiz <i@BathumQuiz2AnswerD.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz3
on player clicks BathumQuiz2AnswerE in BathumQuiz2:
- flag player passBathumQuiz <i@BathumQuiz2AnswerE.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- inventory open d:in@BathumQuiz3
## Question 3
on player clicks BathumQuiz3AnswerA in BathumQuiz3:
- flag player passBathumQuiz <i@BathumQuiz3AnswerA.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- run BathumQuizEnd
on player clicks BathumQuiz3AnswerB in BathumQuiz3:
- flag player passBathumQuiz <i@BathumQuiz3AnswerB.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- run BathumQuizEnd
on player clicks BathumQuiz3AnswerC in BathumQuiz3:
- flag player passBathumQuiz <i@BathumQuiz3AnswerC.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- run BathumQuizEnd
on player clicks BathumQuiz3AnswerD in BathumQuiz3:
- flag player passBathumQuiz <i@BathumQuiz3AnswerD.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- run BathumQuizEnd
on player clicks BathumQuiz3AnswerE in BathumQuiz3:
- flag player passBathumQuiz <i@BathumQuiz3AnswerE.script.yaml_key[correct]>
- determine cancelled passively
- inventory close d:<context.inventory>
- run BathumQuizEnd
BathumQuizEnd:
type: task
script:
- narrate "Testing <player.flag[passBathumQuiz]> against true"
- if player.flag[passBathumQuiz] == "true" {
- execute as_op "townyadmin town FarmField remove <player.name>"
- execute as_op "townyadmin town Bathum add <player.name>"
- execute as_op "region addmember Bathum <player.name>"
}
else {
- ^flag <player> bathumQuiz:Failed "duration:20h"
- narrate "With a shake of their head they stamp a red X on your test."
- narrate "I'm sorry. At least one of your questions were answered wrong. You can try again in a day."
}