Paste #14253: killquesttest

Date: 2015/03/05 06:58:57 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


npckill:
    type: assignment
    actions:
        on assignment:
        - trigger name: click state:true
        - trigger name: chat state:true
    interact scripts:
    - 10 npckillinteract

cchat:
    type: format
    format: "<&b><npc.name> <&f>to you<&co> <&2><text>"

npckillinteract:
    type: interact
    steps:
        1:
            click trigger:
                script:
                - if <player.has_flag[npc_engaged]> queue clear
                - if <player.flag[kill_zombie_quest_cooldown]> {
                    - narrate "You can repeat this quest in <player.flag{kill_zombie_quest_cooldown}.expiration.formatted>"
                    - queue clear
                    }
                - flag player npc_engaged
                - engage
                - if <player.flag[kill_zombie_quest_count]> == 5 {
                    - narrate format:cchat "Great work! Here's your reward!"
                    - give i@diamond
                    - flag player kill_zombie_quest_count:!
                    - flag player kill_zombie_quest_cooldown duration: 1h
                    - disengage
                    - flag player npc_engaged:!
                    - queue clear
                    }
                - if <player.has_flag[kill_zombie_quest]> {
                    - narrate format:cchat "Are you done yet?"
                    - queue clear
                    }
                - narrate format:cchat "Hello there. Would you care for a special prize?"
                - wait 5t
                - narrate format:cchat "If so, you can kill 5 zombies for me."
                - wait 5t
                - narrate format:cchat "Will you accept this quest?"
                - wait 5t
                - narrate "[<&o>Type <&b><&o>Yes<&f><&o> or <&b><&o>No<&7>]"
                - flag player npc_engaged:!
                - disengage
            chat trigger:
                1:
                    trigger: /Yes/, I accept this quest
                    script:
                    - if <player.flag[kill_zombie_quest_cooldown]> {
                        - queue clear
                    }
                    - if <player.has_flag[kill_zombie_quest]> queue clear
                    - engage
                    - flag player npc_engaged
                    - narrate format:cchat "Okay Great!"
                    - wait 5t
                    - narrate "[Kill 5 Zombies!]"
                    - flag player kill_zombie_quest
                    - flag player kill_zombie_quest_count:0
                    - flag player npc_engaged:!
                    - disengage

                2:
                    trigger: /No/, I don't
                    script:
                    - if <player.has_flag[kill_zombie_quest]> queue clear
                    - random {
                        - narrate "Alright whatever"
                        - narrate "Fine! Screw off!"
                        - narrate "LEAVE!"
                        - narrate "Then go away!"
                    }

killquest_zombie_world:
    type: world
    events:
        on player kills zombie:
        - if !<player.has_flag[kill_zombie_quest]> queue clear
        - flag player kill_zombie_quest_count:++
        - if <player.flag[kill_zombie_quest_count]> == 5 {
            - narrate "[Return to the NPC]"
            - flag player kill_zombie_quest:!
        }