Date: 2014/03/27 10:17:59 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
"reparatur":
type: assignment
actions:
on assignment:
- trigger name:chat toggle:true
- trigger name:click toggle:true
- lookclose state:true
default constants:
reparaturreparaturitem1: iron_fence
reparaturreparaturitem2: stone_brick
reparaturamount1: 64
reparaturamount2: 64
questredodelay: 20h
moneyreward: 1000
interact scripts:
- 10 reperaturquest
"reparaturquest":
type: interact
steps:
"*meet":
click trigger:
script:
- ^if <player.flag[reparaturquest]> != done {
- ^chat "Hey <player.name>, kannst du mir helfen die Spuren des letzten Ausbruchs zu bereinigen?"
- wait 1
- ^narrate "<&6>Schreibe <&a>Ja<&6> oder <&c>Nein<&6>!"
- zap step:accept duration:20s
} else {
- ^chat "Komm in <player.flag[reparaturquest].expiration.formatted> wieder,dann kannst du mir erneut helfen!"
}
"accept":
chat trigger:
"yes":
trigger: "/Ja/, ich werde dir helfen."
script:
- wait 1
- ^narrate "<&5>Die Reperatur <&6>- Quest angenommen"
- wait 1
- ^chat "<&a>Bring mir <cons:reparaturamount1> Eisengitter und <cons:reparaturamount2> Steinziegel."
- ^flag player reparaturcount1:0
- ^flag player reparaturcount2:0
- ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
- zap step:whiledelivering
"no":
trigger: "/Nein/, ich hab grad keine Zeit."
script:
- wait 1
- random {
- ^chat "Schade, dann werde ich mal jemand anderes fragen."
- ^chat "Ok, hoffentlich hilft mir jemand anderes."
}
- wait 1
- random {
- ^chat "Solltest du doch irgendwann Zeit haben, dann melde dich einfach nochmal bei mir!"
- ^chat "Sprich mich einfach nochmal an, wenn du Zeit haben solltest."
}
- zap step:meet
"everything else":
trigger: /REGEX:\w+/
script:
- wait 1
- random {
- ^chat "Tut mir leid <player.name>, aber ich weiß nicht was <&sq><&f><context.message><&9><&sq> bedeutet!"
- ^chat "Ich weiß nicht, was du mit <&sq><&f><context.message><&9><&sq> meinst!"
}
- wait 1
- ^narrate "<&6>Schreibe <&a>Ja<&6> oder <&c>Nein<&6>!"
"whiledelivering":
click trigger:
script:
- ^if <player.item_in_hand.material> == m@<cons:reparaturitem1> {
- ^if <player.flag[reparaturcount1].as_int> < <cons:reparaturamount1> {
- ^define item_in_hand <player.item_in_hand.qty>
- ^define toomuch <math.as_int:<cons:reparaturamount1>-<player.flag[reparaturcount1]>>
- ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
- ^flag player reparaturcount1:++:<player.item_in_hand.qty>
- ^take i@<cons:reparaturitem1> qty:<player.item_in_hand.qty>
- ^if <player.flag[reparaturcount1].as_int> < <cons:reparaturamount1> {
- ^chat "Danke für %item_in_hand% Eisengitter!"
- ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
} else {
- ^chat "Danke für %toomuch% Eisengitter!"
- ^flag player reparaturitem1:done
- ^if <player.flag[reparaturcount1].as_int> > <cons:reparaturamount1> {
- ^give i@<cons:reparaturitem1> qty:<math.as_int:<player.flag[reparaturcount1]>-<cons:reparaturamount1>>
}
- ^flag player reparaturcount1:<cons:reparaturamount1>
- ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
- ^if <player.flag[reparaturitem1]> == done && <player.flag[reparaturitem2]> == done {
- random {
- ^chat "Danke für deine Hilfe. Hier hast du deine Belohnung!"
- ^chat "Vielen Dank! Über <cons:moneyreward> Dollar freust du dich bestimmt!"
}
- ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
- ^flag player reparaturcount1:!
- ^flag player reparaturcount2:!
- ^flag player reparaturitem1:!
- ^flag player reparaturitem2:!
- ^chat "Damit wir mal ein Zeichen setzen musst du den letzten ausbrechen bestrafen!"
- narrate "<&5>[Quest] Geh und töte Knasti Kurt"
- ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!"
- ^flag player reparaturkill:true
- zap step:waitingkill
} else {
- ^chat "Du musst noch etwas Steinziegel zu mir bringen!"
}
}
} else {
- ^chat "Du hast bereits genügend Eisengitter abgeliefert!"
}
} else if <player.item_in_hand.material> == m@<cons:reparaturitem2> {
- ^if <player.flag[reparaturcount2].as_int> < <cons:reparaturamount2> {
- ^define item_in_hand <player.item_in_hand.qty>
- ^define toomuch <math.as_int:<cons:reparaturamount2>-<player.flag[reparaturcount2]>>
- ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
- ^flag player reparaturcount2:++:<player.item_in_hand.qty>
- ^take i@<cons:reparaturitem2> qty:<player.item_in_hand.qty>
- ^if <player.flag[reparaturcount2].as_int> < <cons:reparaturamount2> {
- ^chat "Danke für %item_in_hand% Steinziegel!"
- ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
} else {
- ^chat "Danke für %toomuch% Steinziegel!"
- ^flag player reparaturitem2:done
- ^if <player.flag[reparaturcount2].as_int> > <cons:reparaturamount2> {
- ^give i@<cons:reparaturitem2> qty:<math.as_int:<player.flag[reparaturcount2]>-<cons:reparaturamount2>>
}
- ^flag player reparaturcount2:<cons:reparaturamount2>
- ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
- ^if <player.flag[reparaturitem1]> == done && <player.flag[reparaturitem2]> == done {
- random {
- ^chat "Danke für deine Hilfe. Hier hast du deine Belohnung!"
- ^chat "Vielen Dank! Über <cons:moneyreward> Dollar freust du dich bestimmt!"
}
- ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
- ^flag player reparaturcount1:!
- ^flag player reparaturcount2:!
- ^flag player reparaturitem1:!
- ^flag player reparaturitem2:!
- ^chat "Damit wir mal ein Zeichen setzen musst du den letzten ausbrechen bestrafen!"
- narrate "<&5>[Quest] Geh und töte Knasti Kurt"
- ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!"
- ^flag player reparaturkill:true
- ^listen kill type:npc target:45 script:reparaturkillcomplete
- zap step:waitingkill
} else {
- ^chat "Du musst noch etwas Eisengitter zu mir bringen!"
}
}
} else {
- ^chat "Du hast bereits genügend Steinziegel abgeliefert!"
}
} else {
- random {
- ^chat "Ich brauche noch das Fleisch! Du kannst auch einzelne Portionen bringen!"
- ^chat "Wo bleibt das Fleisch? Du musst nicht alles auf einmal bringen!"
}
- wait 1
- ^chat "Du hast erst <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu mir gebracht!"
}
"waitingkill":
click trigger:
script:
- ^chat "Komm wieder wenn du Knasti Kurt umgebracht hast, vergiss nicht seine Schaufel!"
"whiledelivering2":
click trigger:
script:
- ^if <player.item_in_hand> == i@kurtsschaufel && <player.flag[reparaturkill]> == done {
- ^chat "Sehr sehr gut! Das ist der Beweis!"
- ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!"
- ^flag player reparaturquest:done duration:20h
- ^give money qty:<cons:moneyreward>
- ^narrate "<&2>[<&f>Money<&2>] Received <&f><cons:moneyreward> Dollars <&2>from <&f><npc.name>"
- wait 1
- ^narrate "<&5>[Die Reparatur] <&6>- Quest abgeschlossen"
} else {
- ^if <player.flag[reparaturkill]> == done && <player.item_in_hand> != i@kurtsschaufel {
- ^chat "Du musst mir noch die Schaufel bringen!"
- ^narrate "<&5>[Quest] Kann es sein, dass du die Schaufel verloren hast?"
- wait 1
- ^narrate "<&6>Schreibe <&a>Ja ich habe die Schaufel verloren<&6> oder <&c>Nein<&6>!"
}
}
chat trigger:
trigger: "/Ja ich habe die Schaufel verloren/"
script:
- ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!"
- ^flag player reparaturkill:!
- ^chat "Wie konntest du nur die Schaufel verlieren, gut gemacht...!"
- zap step:meet
- ^narrate "<&5>[Die Reparatur] - gescheitert!"
kurtsschaufel:
type: item
no_id: true
debug: false
material: wood_spade
display name: <&6>Knasti Kurts Schaufel
"reparaturkillcomplete":
type: task
script:
- ^if <player.flag[reparaturkill]> == true{
- ^narrate "<&5>[Quest] Du hast Knasti Kurt erfolgreich getötet!"
- wait 1
- ^narrate "<&5>[Quest] Bring Knasti Kurts Schaufel zurück zu WärterDaniel!"
- ^flag player reparaturkill:done
- ^give player i@kurtsschaufel
- zap script:reparaturquest step:whiledelivering2
}