Date: 2024/05/24 03:57:21 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
- if <player.has_flag[npc_engaged]>:
- narrate format:cchat "We shall speak shortly, but the time is not right."
- stop
# Check for a cooldown before dealing with engage so we don't have to disengage inside the if
- if <player.has_flag[quest_one_complete]>:
# While a cooldown *could* be a step or a `cooldown` command, having it as a flag allows you to track and display the cooldown timer clearly, which players will appreciate.
- random:
- narrate format:cchat "Thank you for your service!"
- narrate format:cchat "Do not let me down!"
- narrate format:cchat "For the Imperial Empire!"
- flag player quest_one_ongoing:!
- flag player npc_engaged:!
- zap *
# If we put the script *after* an engage, the disengage would go here - just before any 'stop' command.
- stop
- if <player.has_flag[quest_three_complete]>:
# While a cooldown *could* be a step or a `cooldown` command, having it as a flag allows you to track and display the cooldown timer clearly, which players will appreciate.
- random:
- narrate format:cchat "You really are impressive!"
- narrate format:cchat "Do us proud Agent <player.name>."
- narrate format:cchat "Lieutenant Straxus has requested you in the Hyperia Mines immediately!"
- flag player quest_one_ongoing:!
- flag player npc_engaged:!
- zap *
# If we put the script *after* an engage, the disengage would go here - just before any 'stop' command.
- stop
# Add the engage flag for one minute - either it will be cleared via the flag command, or if something bugs, it will clear on its own after a minute
- if <player.has_flag[quest_two_complete]>:
- narrate format:cchat "We are fortunate to have you here Agent, thank you for your efforts."
- wait 5s
- narrate format:cchat "Are you ready for your next mission?"
- wait 3s
- flag <player> npc_engaged expire:2m
- narrate format:instruction_format "Click <&b><&o><element[Yes.].click_chat[yes.]><&7><&o> or <&b><&o><element[No.].click_chat[no.]>"
- zap startmissiontwo
- if <player.has_flag[quest_four_complete]>:
# While a cooldown *could* be a step or a `cooldown` command, having it as a flag allows you to track and display the cooldown timer clearly, which players will appreciate.
- random:
- narrate format:cchat "You really are impressive!"
- narrate format:cchat "Do us proud Agent <player.name>."
- flag player quest_one_ongoing:!
- flag player npc_engaged:!
- zap *
# If we put the script *after* an engage, the disengage would go here - just before any 'stop' command.
- stop
# Add the engage flag for one minute - either it will be cleared via the flag command, or if something bugs, it will clear on its own after a minute
- if <player.has_flag[quest_five_complete]>:
# While a cooldown *could* be a step or a `cooldown` command, having it as a flag allows you to track and display the cooldown timer clearly, which players will appreciate.
- random:
- narrate format:cchat "You really are impressive!"
- narrate format:cchat "Do us proud Agent <player.name>."
- flag player quest_one_ongoing:!
- flag player npc_engaged:!
- zap *
# If we put the script *after* an engage, the disengage would go here - just before any 'stop' command.
- stop
# Add the engage flag for one minute - either it will be cleared via the flag command, or if something bugs, it will clear on its own after a minute
- if <player.has_flag[quest_six_complete]>:
# While a cooldown *could* be a step or a `cooldown` command, having it as a flag allows you to track and display the cooldown timer clearly, which players will appreciate.
- random:
- narrate format:cchat "You really are impressive!"
- narrate format:cchat "Do us proud Agent <player.name>."
- flag player quest_one_ongoing:!
- flag player npc_engaged:!
- zap *
# If we put the script *after* an engage, the disengage would go here - just before any 'stop' command.
- stop
# Add the engage flag for one minute - either it will be cleared via the flag command, or if something bugs, it will clear on its own after a minute
- else:
- flag player npc_engaged expire:2m
# Alternately, instead of the player flags, you can use engage commands to engage per-NPC,
# which is simpler to do (it's all in the one short command) but gets in the way of other players often
#- engage
- narrate format:cchat "Well, it’s about time they sent someone over to deal with this mess."
- wait 5s
- narrate format:cchat "Agent <player.name>, welcome to Hyperia. I trust your journey was eventful?"
- wait 5s
# The player can type 'yes' or 'no' into chat normally, OR click the word to automatically say it
- flag player npc_engaged:!
- narrate format:instruction_format "Click <&b><&o><element[Yes.].click_chat[yes.]><&7><&o> or <&b><&o><element[No.].click_chat[no.]>"
# Zap to the step that contains the chat trigger. Add a five minute limit so if the player runs away and comes back, the NPC isn't still expecting a response.
- zap accept_question
#- disengage