Paste #131854: map lock

Date: 2025/03/17 07:25:23 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


#███████╗██╗░░██╗███████╗███╗░░░███╗███████╗░░░░░██╗██╗███╗░░██╗
#══██╔══╝██║░░██║██╔════╝████╗░████║██╔════╝░░░░░██║██║████╗░██║
#░░██║░░░███████║█████╗░░██╔████╔██║█████╗░░░░░░░██║██║██╔██╗██║
#░░██║░░░██╔══██║██╔══╝░░██║╚██╔╝██║██╔══╝░░██╗░░██║██║██║╚████║
#░░██║░░░██║░░██║███████╗██║░╚═╝░██║███████╗╚█████╔╝██║██║░╚███║
#░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚═╝░░░░░╚═╝╚══════╝░╚════╝░╚═╝╚═╝░░╚══╝

map_lock_cmd:
    type: command
    name: art
    description: themejin's work
    usage: /art
    tab completions:
        1: lock|locksinfo
    script:
    - choose <context.args.get[1]>:
        - case lock:
            - if <context.args.get[1]||null> == null:
                - narrate '<&c>Введите аргумент!'
                - stop
            - if !<player.item_in_hand.advanced_matches[filled_map]>:
                - narrate '<&c>У вас в руке должна быть карта!'
                - stop
            - define pl <player>
            - if !<[pl].item_in_hand.has_flag[map_lock]>:
                - inventory flag slot:hand map_lock
                - narrate '<&a>Карта успешно была локнута!'
                - inventory flag slot:hand lock_history:->:<element[<&6><[pl].name><&sp><&f><util.time_now.format[dd.MM.yyyy<&sp>HH:mm]><&sp><&a>локнул<&sp><&7>карту]>
                - playsound sound:ui_loom_take_result <player.location>
                - inventory flag slot:hand locker:<player.name>
                - inventory adjust slot:hand lore:<element[<&nl><&7>Карта<&sp>была<&sp>локнута:<&sp><player.name><&nl><&7>Дата:<&sp><&6><util.time_now.format[dd.MM.yyyy<&sp>HH:mm]>]>
            - else:
                - if <[pl].item_in_hand.flag[locker]> == <player.name>:
                    - inventory flag slot:hand map_lock:!
                    - inventory adjust slot:hand lore:<empty>
                    - inventory flag slot:hand locker:!
                    - inventory flag slot:hand lock_history:->:<element[<&6><[pl].name><&sp><&f><util.time_now.format[dd.MM.yyyy<&sp>HH:mm]><&sp><&c>разлокнул<&sp><&7>карту]>
                    - narrate '<&a>Карта была разлокнута!'
                    - playsound sound:item_lodestone_compass_lock <[pl].location>
                - else:
                    - narrate '<&c>Вы не можете разлокнуть чужую карту!'
        - case locksinfo:
            - if !<player.item_in_hand.has_flag[lock_history]>:
                - narrate '<&c>Мы искали вдоль и поперек, но ничего не нашли!'
                - stop
            - if <player.has_permission[op]> || <[pl].name> == TheMeJin_:
                - foreach <player.item_in_hand.flag[lock_history]>:
                    - narrate '<[loop_index].color[<&f>]>. <[value]>'



plaki_plaki_shovel_map_events:
    type: world
    events:
        on player crafts filled_map:
        - if <context.item.has_flag[map_lock]>:
            - determine passively cancelled
            - inventory close
            - playsound sound:block_note_block_bass <player> volume:3
            - narrate '<&c>Данная карта не подлежит копированию!'
        on player clicks item in cartography slot:3:
        - define map_lock <context.inventory.slot[1].has_flag[map_lock]>
        - if <[map_lock]>:
            - determine passively cancelled
            - inventory close
            - playsound sound:block_note_block_bass <player> volume:3
            - narrate '<&c>Данная карта не подлежит копированию!'