Paste #122994: if clauses

Date: 2024/05/24 03:57:21 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


 - 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