Paste #50964: Untitled Paste

Date: 2018/11/30 10:30:47 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


WouCookieTrailParkour:
    type: world
    debug: true
    speed: 0
    events:
        on player enters CTPStart:
        - flag player CTPStart:1
        - flag player CTPStartTime:<server.current_time_millis>

        on player enters CTPFinish:
        - choose <player.flag[CTPStart]||null>:
            - case null:
                - narrate "This is the finish line for the parkour. You can start the parkour at the Christmas tree."

            - case 1:
                # Catch time.
                - define CTPFinishTime <server.current_time_millis.sub[<player.flag[CTPStartTime]>]>

                # Calculate time.
                - define Hour <def[CTPFinishTime].div[3600000].round_down>
                - define Remainder <def[CTPFinishTime].sub[<def[Hour].mul[3600000]>]>
                - define Minutes <def[Remainder].div[60000].round_down>
                - define Remainder <def[Remainder].sub[<def[Minutes].mul[60000]>]>
                - define Seconds <def[Remainder].div[1000].round_down>

                # Adjust for single-digit times.
                - if <def[Minutes]> <= 9:
                    - define Minutes "0<def[Minutes]>"
                - if <def[Seconds]> <= 9:
                    - define Seconds "0<def[Seconds]>"

                # Announce over the lobby.
                - announce "<&e>Lets congratulate <&6><player.name> <&e>for finishing the Cookie Trail Parkour in <&6><def[Hour]><&f>.<&6><def[Minutes]><&f>.<&6><def[Seconds]><&e>!" format:ChristmasLobby

                # Give the player a celebratory cookie trophy.
                - give i@cookie[display_name=<&6>Cookie<&sp>Trail<&sp>Parkour;lore=<&f>Victor<&co><&sp><&6><player.name>|<&f>Time<&sp>taken<&co><&sp><&6><def[Hour]><&f>.<&6><def[Minutes]><&f>.<&6><def[Seconds]>|<&e>|<&f>Congratulations!]

                # Clear flags.
                - flag player CTPStartTime:!
                - flag player CTPStart:!
                # Set a PB for ... momentum.
                - if <player.has_flag[CTPPB]>:
                    - if <player.flag[CTPPB]> < <def[CTPFinishTime]>:
                        - flag player CTPPB:<def[CTPFinishTime]>
                else:
                    - flag player CTPPB:<def[CTPFinishTime]>