Paste #113733: Carrier Bird

Date: 2023/08/11 09:11:18 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


carrier_bird:
    type: command
    name: b
    description: Sends a carrier bird message to another player!
    usage: /b player|message
    permission: dscript.m
    script:
     - define sender <player.display_name>
     - define target <server.match_player[<context.args.get[1]>].if_null[null].display_name>
    # Lets sender know they need to include all the arguments
     - if <context.args.size> < 2:
         - narrate "<red>/m [player] [message]"
         - stop
    # Let sender know if recipient doesn't exist
    # If incorrect name, tell user and stop
     - if <[target]> == null:
        - narrate "<yellow><context.args.get[1]><red> can not be found. Make sure you write the name correctly."
        - stop
    # Defining the message argument (2)
     - define message <context.args.remove[1].space_separated>

    # Only send a letter if sender has a piece of paper
     - if !<player.inventory.contains_item[paper]>:
        - narrate "<red>You must have a piece of paper to send."
        - stop
    # Lets the sender know they've sent the letter
     - if <[sender]>:
        - narrate "<yellow>[Carrier bird sent to <[target]>]"
        - take item:paper
    # Receiving the message as a receipent
     - if <[target]>:
        - narrate "<yellow>[Carrier bird from <[sender]>] <white><[message]>." (targets:<[target]>...) (from:<[sender]>)
        - give item:letter
letter:
    type: item
    material: paper
    display name: Letter from <[sender]>