Date: 2016/03/27 15:15:32 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
npc_fermier:
type: assignment
interact scripts:
- 0 vaches_du_fermier
vaches_du_fermier:
type: interact
steps:
1:
click trigger:
script:
#le if regarde si le joueur a fait le tutoriel
- if <player.flag[havedonetutorial]> == true {
#if qui regarde si le joueur a une quête en cours.
- if <player.flag[questinprogress]> == none {
- if <player_has.flag[npc_engaged]> queue clear
- flag player npc_engaged
- engage
- narrate format:chatc "Ah, bonjour fermier! Comment allez-vous?"
- narrate format:cchat "Bonjour <player.name>. Je suis un peu découragé par la situation. "
- wait 2s
- narrate format:chatc "Mais que se passe-t-il?"
- wait 2s
- narrate format:cchat "Mes vaches se sont... disons... multipliées par magie cette nuit. Je ne comprends pas trop pourquoi."
- wait 2s
- narrate format:cchat "Voudriez-vous m'aider à faire le ménage?"
- disengage
#Réfère à un narrate format:cchat trigger
- narrate format:qchat "Vous pouvez accepter ou refuser la quête en répondant par <gold>'Oui' <aqua>ou par <gold>'Non'."
- zap 2
#else if qui regarde si le joueur a une quête en cours. Si valeur différente de 'none', il se fait dire qu'il doit terminer sa quête.
} else if <player.flag[questinprogress] != none {
- narrate format:qchat "Avant de pouvoir accepter une nouvelle quête, vous devez terminer celle en cours!"
- narrate format:qchat "Quête en cours : <player.flag[questinprogress]> de <player.flag[npcname]>."
- zap 1
}
} else if <player.flag[havedonetutorial] || false> != true {
- narrate format:qchat "Vous devez terminer le tutoriel avant de pouvoir débuter une quête. Retournez voir Edouard à l'hôtel de ville."
- zap 1
}
2:
chat trigger:
oui:
#Le joueur peut accepter la quête en répondant "Oui". Le NPC lui donne alors toute l'information nécessaire.
trigger: /Regex:Oui|oui|OUI/!
script:
- if <player_has.flag[npc_engaged]> queue clear
- flag player npc_engaged
- engage
- narrate format:cchat "Merci <player.name>! Sauf que j'ai oublié de vous dire un détail..."
- wait 2s
- narrate format:cchat "Disons que mon troupeau de vaches a été envahi par une horde de zombies."
- wait 1s
- narrate format:cchat "Il vous faudra donc vous en débarasser. "
- wait 2s
- narrate format:cchat "Par contre, j'ai pensé à tout : allez voir le forgeron, il va vous arranger ça!"
- narrate format:qchat " Nouvel objectif : Allez à la forge et parlez au forgeron de la part du fermier."
- zap 3
- flag player npc_engaged:!
- flag player 'questinprogress:Les vaches du fermier'
- flag player npcname:<npc.name>
- flag player TalkToBlacksmith
- disengage
non:
#Le joueur peut refuser la quête en répondant "Non".
trigger: /Regex:Non|NON|non/!
script:
- narrate format:cchat "Comme vous voudrez <player.name>. Revenez me voir si vous changez d'avis."
- zap 1
3:
click trigger:
script:
- if <player_has.flag[HaveTalkedToBlacksmith]> {
- if <player_has.flag[npc_engaged]> queue clear
- flag player npc_engaged
- engage
- narrate format:cchat "Ah, je vois que vous avez parlé au forgeron!"
- wait 2s
- narrate format:cchat "Il était à peu près temps. Vous en avez mis du temps bon sens."
- wait 2s
- narrate format:cchat "La prochaine fois sachez ne pas traîner en chemin."
- wait 2s
- narrate format:cchat "Bon, revenons à nos moutons! Ou plutôt, à nos vaches! Ha-ha-ha!"
- wait 2s
- narrate format:cchat "Venez avec moi, je vais vous guider vers ma ferme."
#- ^create player Fermier <npc.location> save:Fermier
#- ^adjust <player> hide_entity:<npc>
#- ^adjust <server.list_online_players.exclude[<player>]> hide_entity:<entry[Fermier].created_npc>
- ^run fermier_talk <npc>
#- ^run fermier_path npc:<entry[Fermier].created_npc> def:<^npc>
- disengage
- flag player npc_engaged:!
- flag player HaveTalkedToBlacksmith:!
} else random {
- narrate format:cchat "Qu'attendez-vous pour aller parler au forgeron?"
- narrate format:cchat "Mais vous êtes lents. Je vous ai déjà dis quoi faire : parlez au forgeron!"
- narrate format:cchat "Bon! Il était temps que vous soyez de retour! Ah, mais vous n'avez pas parlé au forgeron? Vous m'agacez. Allez, plus vite <player.name>!"
}
4:
click trigger:
script:
- if <player.has_flag[vaches_du_fermier_zombie_kill]> == 14 {
- flag player vaches_du_fermier_zombie_kill:!
- narrate format:cchat "Ah! Enfin! Ils sont tous morts!"
- wait 2s
- narrate format:cchat "Il ne manque plus que les vaches"
- wait 1s
- narrate format:qchat " Nouvel objectif : Tuez 10 vaches"
- wait 10t
- spawn cow <l@-53,68,-120,flat_city> target:<player>
- spawn cow <l@-56,68,-120,flat_city> target:<player>
- spawn cow <l@-59,68,-120,flat_city> target:<player>
- spawn cow <l@-62,68,-120,flat_city> target:<player>
- spawn cow <l@-58,68,-120,flat_city> target:<player>
- spawn cow <l@-58,68,-120,flat_city> target:<player>
- spawn cow <l@-56,68,-137,flat_city> target:<player>
- spawn cow <l@-53,68,-137,flat_city> target:<player>
- spawn cow <l@-59,68,-137,flat_city> target:<player>
- spawn cow <l@-62,68,-137,flat_city> target:<player>
- zap 5
} else {
- narrate format:cchat "Mais qu'attendez-vous pour tuer les zombies?!?"
- wait 1s
- narrate format:cchat "PLUS VITE!!!"
}
5:
click trigger:
script:
- if <player.has_flag[vaches_du_fermier_cow_kill]> == 10 {
- engage
- narrate format:cchat "Finalement! Merci énormément <player.name> de votre aide!"
- narrate format:cchat "Je n'ai pas grand chose à vous offrir..."
- narrate format:cchat "J'espère que ceci vous conviendra! Aurevoir et merci!"
- narrate format:qchat "Quête terminée : Les vaches du fermier"
- narrate format:qchat "Récompense obtenue : 20 émeraudes"
- flag player questinprogress:none
- flag player vaches_du_fermier_cow_kill:!
- flag player npcname:!
- give emerald qty:20
- disengage
} else {
- narrate format:cchat "Il vous reste les vaches! Finissez-en!"
}
fermier_path:
type: task
definitions: masternpc
script:
- -walk <def[masternpc].anchor[fermier1]> auto_range
- -walk <def[masternpc].anchor[fermier2]> auto_range
- -walk <def[masternpc].anchor[fermier3]> auto_range
- -walk <def[masternpc].anchor[fermier4]> auto_range
- -walk <def[masternpc].anchor[fermier5]> auto_range
- ^flag player farmer5
- ^flag step5
- -walk <def[masternpc].anchor[fermier6]> auto_range
- wait 1
- remove <npc>
- adjust <player> show_entity:<def[masternpc]>
- zap 4 script:s@vaches_du_fermier
fermier_talk:
type: task
script:
- while <npc.flag[steo].is[OR_LESS].than[1]> {
- wait 1
}
- narrate format:cchat "Nous y voilà! Attention, voilà les zombie!"
- wait 1
- narrate format:cchat "Tuez-les jusqu'au dernier!"
- narrate format:qchat " Nouvel objectif: Débarassez-vous des zombie!"
zombie_event:
type: world
events:
on player enters cu@farmer_cuboid:
- if <player_has.flag[farmer5]> {
- spawn zombie <l@-60,68,-141,flat_city> target:<player>
- spawn zombie <l@-64,68,-143,flat_city> target:<player>
- spawn zombie <l@-62,68,-146,flat_city> target:<player>
- spawn zombie <l@-60,68,-149,flat_city> target:<player>
- spawn zombie <l@-64,68,-149,flat_city> target:<player>
- spawn zombie <l@-67,68,-153,flat_city> target:<player>
- spawn zombie <l@-68,68,-155,flat_city> target:<player>
- spawn zombie <l@-69,68,-153,flat_city> target:<player>
- spawn zombie <l@-77,68,-154,flat_city> target:<player>
- spawn zombie <l@-77,68,-150,flat_city> target:<player>
- spawn zombie <l@-78,68,-147,flat_city> target:<player>
- spawn zombie <l@-83,68,-145,flat_city> target:<player>
- spawn zombie <l@-82,68,-150,flat_city> target:<player>
- spawn zombie <l@-79,68,-142,flat_city> target:<player>
} else {
- queue clear
}
cuboid_event:
type: world
events:
on server start:
- note cu@-64,68,-135,flat_city|-71,68,-147,flat_city as:farmer_cuboid
zombie_kill:
type: world
events:
on player kills zombie:
- if <player.has_flag[farmer5]> {
- flag player vaches_du_fermier_zombie_kill:++
- if <player.has_flag[vaches_du_fermier_zombie_kill]> == 14 {
- narrate format:qchat " Nouvel objectif : Retournez parler au fermier"
}
} else queue clear
cow_kill:
type: world
events:
on player kills cow:
- if <player.has_flag[farmer5]> {
- flag player vaches_du_fermier_cow_kill:++
- if <player.has_flag[vaches_du_fermier_cow_kill]> == 10 {
- narrate format:cchat "Ah! Finalement! Mon problème est réglé!"
- narrate format:cchat "Je vous en suis extrêmement reconnaissant <player.name>!"
- narrate format:cchat "Mes moyens sont limités, alors je ne veux vous offrir une grosse récompense..."
- narrate format:cchat "Je peux tout de même vous donner 15 émeraudes. Vous pouvez également garder l'épée du forgeron, elle vous sera utile dans le futur!"
- narrate format:cchat "N'hésitez pas à venir me voir quand vous voulez! Aurevoir!"
}
} else queue clear