Paste #61974: yeet

Date: 2019/11/12 15:22:46 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


gladiatorarena:
    type: assignment
    actions:
        on assignment:
        - trigger name:click state:true
        - trigger name:chat state:true
    interact scripts:
    - gladiatorarena_interact

#formatting ---------------------------------------------------
#I've committed to the "Talk" format so I'm not gonna change it. e.e
NPCTalk:
    type: format
    format: "<npc.name><&co> <&l>-<&l>-<&l>-<&l>> <&b><&l>You<&8><&co> <&6><text>"
ConsoleTalk:
    type: format
    format: "<&l><&o><&7><text>"
ErrorTalk:
    type: format
    format: "<&4>Error<&f><&co> <&f><text>"
#end formatting ------------------------------------------------

#Inventory
NPCinventory:
    type: inventory
    title: "<&6>Join Minigame?"
    size: 9
    definitions:
        1: Yesitem
        2: Noitem
        3:
    slots:
    - "[] [] [] [1] [] [2] [] [] []"
#Inventory event handler
NPCinventory_handler:
    type: world
    events:
        on player clicks in NPCinventory priority:100:
        - determine passively cancelled
        on player drags in NPCinventory priority:100:
        - determine passively cancelled
        on player clicks yesitem in NPCinventory:
        - if <player.has_flag[allowcmd]>:!
            - inventory close
            - narrate format:errortalk "Error! you dont have permission to execute this!"
            - stop
        - inventory close
        - narrate "<&l><&o><&3>Loading..."
        - permission add minigame.minigame group:default
        - execute as_player "mg join EMGladiatorArena"
        - permission remove minigame.minigame
        - flag player allowcmd:!
        - wait 1s
        - narrate "<&l><&o><&a>Loaded!"
        on player clicks noitem in NPCinventory:
        - if <player.has_flag[allowcmd]>:!
            - inventory close
            - narrate "<&4>Error<&r><&co> <&f>Error! you dont have permission to execute this!"
            - stop
        - narrate "<&l><&o><&3>Loading..."
        - inventory clear d:NPCinventory
        - inventory set i@yesitem d:in@NPCinventory slot:7
        - narrate "<&l><&o><&a>Done"
#Items ---------------------------------------------------
Yesitem:
    type: item
    material: lime_stained_glass_pane
    display name: "<&l><&a>Yes!"

Noitem:
    type: item
    material: red_stained_glass_pane
    display name: "<&l><&4>No!"
#End items -----------------------------------------------

#Commands to run -----------------------------------------
yesgladiatorarena:
    type: command
    name: yesgladiatorarena
    description: "The yes command for the JG script"
    usage: /
    allowed help:
    - determine false
    script:
    - if <player.has_flag[allowcmd]>:!
        - narrate "<&4>Error<&r><&co> <&f>Error! you dont have permission to execute this!"
        - stop
    - flag player allowcmd:!
    - narrate "<&l><&o><&3>Loading..."
    - zap 2 gladiatorarena_interact
    - narrate "<&l><&o><&a>Loaded!"
    - narrate format:consoletalk "Interact with the NPC to continue"

nogladiatorarena:
    type: command
    name: nogladiatorarena
    description: "The no command for the JG script"
    usage: /
    allowed help:
    - determine false
    script:
    - flag player npc_engaged
    - if <player.has_flag[allowcmd]>:!
        - narrate "<&4>Error<&r><&co> <&f>Error! you dont have permission to execute this!"
        - stop
    - flag player allowcmd:!
    - narrate format:NPCTalk "Okay, bye then!"
    - flag player npc_engaged:!
    - narrate format:ConsoleTalk "The npc is no longer interacting with you!"
    - stop

joinmg:
    type: command
    name: "joinmg"
    description: "The join command for the minigame EMGladiatorArena"
    usage: /
    allowed help:
    - determine false
    script:
    - if <player.has_flag[allowcmd]>:!
        - narrate "<&4>Error<&r><&co> <&f>Error! you dont have permission to execute this!"
        - stop
    - flag player allowcmd:!
#Commands end --------------------------------------------

#Interact script
gladiatorarena_interact:
    type: interact
    steps:
        1:
            click trigger:
                script:
                - flag player npc_engaged
                - if <player.has_flag[clicked]>:
                    #If player clicks more than once
                    - narrate format:errortalk "Error! You've clicked more than once!"
                    - wait 10s
                    - flag player clicked:!
                    - flag player npc_engaged:!
                    - stop
                - if <player.has_flag[hasrunnarrate]>:
                    - if <player.has_flag[clicked]>:
                        #If player clicks more than once after running narrate
                        - narrate format:errortalk "Error! You've clicked more than once!"
                        - wait 10s
                        - flag player clicked:!
                        - flag player npc_engaged:!
                        - stop
                    - flag player allowcmd
                    - narrate format:NPCTalk "Would you like to join the arena?"
                    - wait 2s
                    - inventory open D:in@NPCinventory
                    - flag player npc_engaged:!
                    - stop
                - flag player clicked
                - flag player allowcmd
                - narrate format:NPCTalk "Welcome, would you like some information about the arena?"
                - narrate "<&l><&7>~<&l><&0>~<element[<&a><&l>Yes!].on_click[/yesgladiatorarena].type[run_command].on_hover[<&c>Click <&f>to learn more from this <&k>v<&4><&o><&b>shady <&b>individual<&k>v]><&l><&0>~<&l><&7>~<&r>  <&6><&l>| <&l><&7>~<&l><&0>~<element[<&4><&l>No!].on_click[/nogladiatorarena].type[run_command].on_hover[<&c>Click <&f>to walk away from this <&k>v<&4><&o><&b>shady <&b>individual<&k>v]><&l><&0>~<&l><&7>~<&r>"
                - flag player npc_engaged:!
        2:
            click trigger:
                script:
                - flag player npc_engaged
                - zap 2
                - narrate format:consoletalk "Interact with the NPC to continue"
                - flag player npc_engaged:!
        3:
            click trigger:
                script:
                - flag player npc_engaged
                - flag player hasrunnarrate
                - zap 1
                - narrate format:consoletalk "Interact with the NPC to continue"
                - flag player npc_engaged:!