Date: 2015/05/30 09:04:43 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
npcchat:
type: format
format: "<red><npc.name>: <white><text>"
StableWS:
type: world
events:
on player join:
- if <player.has_flag[haveHorse]> {
- inject locally HorseRes
}
on player quits:
- if <player.has_flag[haveHorse]> {
- ^execute as_server "npc sel <player.flag[horse].replace[n@]>"
- ^execute as_server "npc despawn"
}
HorseRez:
- if <player.has_flag[haveHorse]> {
- ^execute as_server "npc spawn <player.flag[haveHorse].replace[n@]>"
- ^execute as_server "npc sel <player.flag[haveHorse].replace[n@]>"
- ^execute as_server "npc move location:<player.location>"
}
StableShop:
type: assignment
debug: false
default constants:
HorseCost: 500
actions:
on assignment:
- trigger name:click state:true
- trigger name:chat state:true
interact scripts:
- 10 Stableman
Stableman:
type: interact
steps:
1:
click trigger:
script:
- flag player haveHorse:!
- if <player.has_flag[haveHorse]> {
- narrate format:npcchat "You already have a horse, Come buy another if it dies."
} else {
- narrate format:npcchat "Hello <player.name>."
- wait 0.5
- narrate format:npcchat "Would you like to buy a horse for $500?"
- wait 0.2
- narrate "Say Yes or No."
}
chat trigger:
1:
trigger: /Yes/, I'll take a horse.
script:
- if <player.money> < <npc.constant[HorseCost]> {
- narrate format:npcchat "You don't have enough money to buy a horse."
- wait 0.2
- narrate format:npcchat "Come back when you have enough."
- disengage
- zap step:2
} else {
- take money qty:<npc.constant[HorseCost]>
- create horse <player.name>'s Horse <player.location> save:myhorse
- flag player haveHorse:<entry[myhorse].created_npc>
- ^execute as_server "npc select <player.flag[haveHorse].replace[n@]>"
- ^execute as_server "npc owner <player.name>"
- ^execute as_server "npc vulnerable"
}
2:
trigger: /No/, I don't need a horse right now.
script:
- random {
- narrate format:npcchat "Ok, come again soon!"
- narrate format:npcchat "No problem, you're welcome back any time!"
- narrate format:npcchat "That's fine, now beat it!"
}
- zap step:2
TheHorse:
type: assignment
debug: false
Actions:
on death:
- flag player haveHorse:!
- ^execute as_server "npc remove <player.flag[haveHorse].replace[n@]>"
ActionTest:
type: assignment
actions:
on assignment:
- trait state:true health
on death:
- announce "Test!"