Paste #73703: Emotes by Kiryll

Date: 2020/08/01 20:29:14 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


#Emotes Script by Kiryll :: @kiryllp on Twitter#

#Command to manually open up the emotes menu#
emotes:
    type: command
    name: emote
    description: opens the emote menu
    usage: /emote
    debug: false
    aliases:
    - emotes
    - emoticon
    - emoticons
    - em
    script:
        - if <context.args.size> == 0:
            - if <player.has_flag[emoteon]>:
                - actionbar "<&4> Emote cooldown"
            - else:
                - inventory open d:emote_inventory
#Emotes Menu#
emote_inventory:
    debug: false
    type: inventory
    inventory: chest
    title: <&7>Emotes
    size: 9
    slots:
    - [grin] [smile] [straight] [cheeky] [sad] [angry] [wink] [surprised] [coy]
#Items within the Emotes Menu#
grin:
    type: item
    material: player_head
    display name: <&8>Ecstatic
    lore:
    - <&7>Chat Shortcut: :D
    mechanisms:
        skull_skin: 21ea013f-072a-44e5-85af-0d9f35d6c642|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmFiYzI3NDU0MzUxZWY1Yjk0NjQxNTgxOTgzMjJhNjU2NmY2MzNiOTkwMzMyYWI5NDZlNDVmMjc2ZDRjYjcifX19
smile:
    type: item
    material: player_head
    display name: <&8>Happy
    lore:
    - <&7>Chat Shortcut: :)
    mechanisms:
        skull_skin: 08918b23-63ba-4886-b08f-59a271b91575|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDU4NjUzNmRmOTMwNmNjMWFjNmY0OTg5NDRiNDVmOGEwYmUyMDRmMzc4NmQ5ZGFiNzIxMWQ1YWRjY2JlNjkyIn19fQ==
straight:
    type: item
    material: player_head
    display name: <&8>Unamused
    lore:
    - <&7>Chat Shortcut: :|
    mechanisms:
        skull_skin: cd2e8f12-3703-4289-acab-73239545085f|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODY3Mjk2NjJmMjA0YzZlNjM0YjM5MzFlMDdlNTRkMWM2MzQyNDRiOGU2ZmViMTI3M2JhNmE1Y2M0YWM4YjcifX19
cheeky:
    type: item
    material: player_head
    display name:  <&8>Cheeky
    lore:
    - <&7>Chat Shortcut: :.
    mechanisms:
        skull_skin: 01c5c10e-fb64-4aee-9dbe-cdf99acf5ea2|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA2YzI2OTk1OTk1MjNjMTEzNWE3MWZmM2FkMzc5ZjMyZTUzNTQ4MjU1ZGRmNzc3YzM3NDU3YmJiZjczIn19fQ==
sad:
    type: item
    material: player_head
    display name:  <&8>Sad
    lore:
    - <&7>Chat Shortcut: :(
    mechanisms:
        skull_skin: 051472ab-756d-4cd4-92f4-d00393969e30|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjhiOWMzYmU1ODRjMTBiOGY0ODc1ZGY2NjcyNTQ0ZGNjMTI4Y2ZhMmNhNjY4ZGFlYmM1MTI0ZjM3ZmM4YzdiIn19fQ==
angry:
    type: item
    material: player_head
    display name:  <&8>Angry
    lore:
    - <&7>Chat Shortcut: <&gt>:(
    mechanisms:
        skull_skin: 34cca4a8-56e3-47c5-b953-37647975b11a|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmI5YjdiNzVkOTVkZmVhMTI0MzFkMzg2YWQyYjg4NTMyYTA0NDY1ZDBhYTk0MTkzMGMwZjQzZmVkMjIxZWE1In19fQ==
wink:
    type: item
    material: player_head
    display name: <&8>Flirtatious
    lore:
    - <&7>Chat Shortcut: ;)
    mechanisms:
        skull_skin: af5c1f87-b63a-4033-afac-cb3fa80b52cd|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmJiN2MxYTViZGZmMjlhNWUzYzY3ZTNkZGUwNTQzNjgwMjZjNGM5ZWM3MzY3ZWUzYTYxNTE1MmIzMjdkMjE1In19fQ==
surprised:
    type: item
    material: player_head
    display name: <&8>Suprised
    lore:
    - <&7>Chat Shortcut: :o
    mechanisms:
        skull_skin: 0c5be661-7d7f-4322-8d5a-ceefebbdb479|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBmMDkyOTc1MGI5NDRjMzQyMzFhZjIxNTY1OWQ3Mzc5OGFiNTgzM2Y1YmEzNmVkMjRmYzJmMTg0ZTI0YTlhIn19fQ==
coy:
    type: item
    material: player_head
    display name: <&8>Coy
    lore:
    - <&7>Chat Shortcut: :3
    mechanisms:
        skull_skin: 547861a8-8ce4-4ac3-9aaf-85d379752d6b|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2MzOTU3OTBjYTMyY2NkNDgwNDY0YWVmOGIzYzgyNjczZWM3NWRlNjc5Y2M3N2IyMmYyZjFjMjIzN2EwMjVhNCJ9fX0=

using_emote:
    debug: false
    type: task
    definitions: skull_uuid|skull_blob|emote_type
    script:
        - if <player.inventory.slot[40].material.name> = air && !<player.has_flag[emoteon]>:
            - flag player emoteon duration:70t
            - equip <player> head:<item[player_head].with[skull_skin=<[skull_uuid]>|<[skull_blob]>]>
            - inventory close
            - actionbar "<&8> Currently Displaying: <[emote_type]> Emote"
            - if <[emote_type]> == Flirtatious:
                - playeffect effect:Heart at:<player.location.add[0,2,0]> visibility:50 quantity:1 offset:0.0
                - wait 60t
            - else if <[emote_type]> == Angry:
                - repeat 12:
                    - playeffect effect:smoke at:<player.location.add[0,2,0]> visibility:50 quantity:2 offset:0.0 velocity:20
                    - wait 5t
            - else:
                - wait 60t
            - equip <player> head:air
        - else:
            - if <player.has_flag[emoteon]>:
                - actionbar "<&4> Emote Cooldown"
            - else:
                - actionbar "<&4> Remove armor from Head slot before doing Emotes"
            - inventory close
emote_inventory_Handler:
    type: world
    debug: false
    events:
        # Handlers for buttons within the Emotes Menu#
        on player clicks grin in emote_inventory:
            - run using_emote def:21ea013f-072a-44e5-85af-0d9f35d6c642|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmFiYzI3NDU0MzUxZWY1Yjk0NjQxNTgxOTgzMjJhNjU2NmY2MzNiOTkwMzMyYWI5NDZlNDVmMjc2ZDRjYjcifX19|Ecstatic
        on player clicks smile in emote_inventory:
            - run using_emote def:08918b23-63ba-4886-b08f-59a271b91575|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDU4NjUzNmRmOTMwNmNjMWFjNmY0OTg5NDRiNDVmOGEwYmUyMDRmMzc4NmQ5ZGFiNzIxMWQ1YWRjY2JlNjkyIn19fQ==|Smile
        on player clicks straight in emote_inventory:
            - run using_emote def:cd2e8f12-3703-4289-acab-73239545085f|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODY3Mjk2NjJmMjA0YzZlNjM0YjM5MzFlMDdlNTRkMWM2MzQyNDRiOGU2ZmViMTI3M2JhNmE1Y2M0YWM4YjcifX19|Unamused
        on player clicks cheeky in emote_inventory:
            - run using_emote def:01c5c10e-fb64-4aee-9dbe-cdf99acf5ea2|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA2YzI2OTk1OTk1MjNjMTEzNWE3MWZmM2FkMzc5ZjMyZTUzNTQ4MjU1ZGRmNzc3YzM3NDU3YmJiZjczIn19fQ==|Cheeky
        on player clicks sad in emote_inventory:
            - run using_emote def:051472ab-756d-4cd4-92f4-d00393969e30|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjhiOWMzYmU1ODRjMTBiOGY0ODc1ZGY2NjcyNTQ0ZGNjMTI4Y2ZhMmNhNjY4ZGFlYmM1MTI0ZjM3ZmM4YzdiIn19fQ==|Sad
        on player clicks angry in emote_inventory:
            - run using_emote def:34cca4a8-56e3-47c5-b953-37647975b11a|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmI5YjdiNzVkOTVkZmVhMTI0MzFkMzg2YWQyYjg4NTMyYTA0NDY1ZDBhYTk0MTkzMGMwZjQzZmVkMjIxZWE1In19fQ==|Angry
        on player clicks wink in emote_inventory:
            - run using_emote def:af5c1f87-b63a-4033-afac-cb3fa80b52cd|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmJiN2MxYTViZGZmMjlhNWUzYzY3ZTNkZGUwNTQzNjgwMjZjNGM5ZWM3MzY3ZWUzYTYxNTE1MmIzMjdkMjE1In19fQ==|Flirtatious
        on player clicks surprised in emote_inventory:
            - run using_emote def:0c5be661-7d7f-4322-8d5a-ceefebbdb479|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBmMDkyOTc1MGI5NDRjMzQyMzFhZjIxNTY1OWQ3Mzc5OGFiNTgzM2Y1YmEzNmVkMjRmYzJmMTg0ZTI0YTlhIn19fQ==|Surprised
        on player clicks coy in emote_inventory:
            - run using_emote def:547861a8-8ce4-4ac3-9aaf-85d379752d6b|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2MzOTU3OTBjYTMyY2NkNDgwNDY0YWVmOGIzYzgyNjczZWM3NWRlNjc5Y2M3N2IyMmYyZjFjMjIzN2EwMjVhNCJ9fX0=|Coy
        #Makes sure that nobody takes the emote head off while its playing#
        on player drags in inventory:
            - if <player.has_flag[emoteon]>:
                - determine cancelled
        on player clicks in inventory:
            - if <player.has_flag[emoteon]>:
                - determine cancelled
        #Makes taking the Emote heads out of the menu impossible#
        on player clicks in emote_inventory priority:2:
        - determine cancelled
        on player drags in emote_inventory priority:2:
        - determine cancelled
#Toggles the auto Emote feature(Using Text Emotes to trigger an Emoteicon)#
emotechattoggle:
    debug: false
    type: command
    name: autoemote
    description: toggles auto emote from chat inputs
    usage: /autoemote
    script:
        - if <context.args.size> == 0:
            - if <player.has_flag[autoemoteoff]>:
                - narrate "<&8>[<&7><&l>Auto Emote Toggled On<&r><&8>]"
                - flag player autoemoteoff:!
            - else:
                - narrate "<&8>[<&7><&l>Auto Emote Toggled Off<&r><&8>]"
                - flag player autoemoteoff
#Creates shortcuts in chat that trigger the emotes or emote menu#
emote_chat:
    type: world
    debug: false
    events:
        on player chats:
            - if <context.message> == emotes:
                - determine passively cancelled
                - inventory open d:emote_inventory
            - if !<player.has_flag[autoemoteoff]>:
                - if <context.message> == :D:
                    - determine passively cancelled
                    - run using_emote def:21ea013f-072a-44e5-85af-0d9f35d6c642|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmFiYzI3NDU0MzUxZWY1Yjk0NjQxNTgxOTgzMjJhNjU2NmY2MzNiOTkwMzMyYWI5NDZlNDVmMjc2ZDRjYjcifX19|Ecstatic
                - if <context.message> == :):
                    - determine passively cancelled
                    - run using_emote def:08918b23-63ba-4886-b08f-59a271b91575|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDU4NjUzNmRmOTMwNmNjMWFjNmY0OTg5NDRiNDVmOGEwYmUyMDRmMzc4NmQ5ZGFiNzIxMWQ1YWRjY2JlNjkyIn19fQ==|Smile
                - if <context.message> == :|:
                    - determine passively cancelled
                    - run using_emote def:cd2e8f12-3703-4289-acab-73239545085f|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODY3Mjk2NjJmMjA0YzZlNjM0YjM5MzFlMDdlNTRkMWM2MzQyNDRiOGU2ZmViMTI3M2JhNmE1Y2M0YWM4YjcifX19|Unamused
                - if <context.message> == :.:
                    - determine passively cancelled
                    - run using_emote def:01c5c10e-fb64-4aee-9dbe-cdf99acf5ea2|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA2YzI2OTk1OTk1MjNjMTEzNWE3MWZmM2FkMzc5ZjMyZTUzNTQ4MjU1ZGRmNzc3YzM3NDU3YmJiZjczIn19fQ==|Cheeky
                - if <context.message> == :(:
                    - determine passively cancelled
                    - run using_emote def:051472ab-756d-4cd4-92f4-d00393969e30|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjhiOWMzYmU1ODRjMTBiOGY0ODc1ZGY2NjcyNTQ0ZGNjMTI4Y2ZhMmNhNjY4ZGFlYmM1MTI0ZjM3ZmM4YzdiIn19fQ==|Sad
                - if <context.message> == <&gt>:(:
                    - determine passively cancelled
                    - run using_emote def:34cca4a8-56e3-47c5-b953-37647975b11a|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmI5YjdiNzVkOTVkZmVhMTI0MzFkMzg2YWQyYjg4NTMyYTA0NDY1ZDBhYTk0MTkzMGMwZjQzZmVkMjIxZWE1In19fQ==|Angry
                - if <context.message> == ;):
                    - determine passively cancelled
                    - run using_emote def:af5c1f87-b63a-4033-afac-cb3fa80b52cd|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmJiN2MxYTViZGZmMjlhNWUzYzY3ZTNkZGUwNTQzNjgwMjZjNGM5ZWM3MzY3ZWUzYTYxNTE1MmIzMjdkMjE1In19fQ==|Flirtatious
                - if <context.message> == :o:
                    - determine passively cancelled
                    - run using_emote def:0c5be661-7d7f-4322-8d5a-ceefebbdb479|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBmMDkyOTc1MGI5NDRjMzQyMzFhZjIxNTY1OWQ3Mzc5OGFiNTgzM2Y1YmEzNmVkMjRmYzJmMTg0ZTI0YTlhIn19fQ==|Surprised
                - if <context.message> == :3:
                    - determine passively cancelled
                    - run using_emote def:547861a8-8ce4-4ac3-9aaf-85d379752d6b|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2MzOTU3OTBjYTMyY2NkNDgwNDY0YWVmOGIzYzgyNjczZWM3NWRlNjc5Y2M3N2IyMmYyZjFjMjIzN2EwMjVhNCJ9fX0=|Coy