Paste #53377: Chat Channels

Date: 2019/03/21 17:53:04 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Nickname:
    type: command
    debug: false
    name: nick
    usage: /nick
    alisaes:
    - nickname
    permission: dchatmod
    script:
        - narrate "<&6>Do <&2>/nick (playername) (nickname) <&6>to give a player a nickname"
        - narrate "<&6>Maximum of 4 words in the nickname"
        ##Admin
        - if <context.args.size.is[==].to[2]> && <player.has_permission[dchatadmin]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&9><&lb><context.args.get[2]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[3]> && <player.has_permission[dchatadmin]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&9><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[4]> && <player.has_permission[dchatadmin]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&9><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[5]> && <player.has_permission[dchatadmin]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&9><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&sp><context.args.get[5]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
         ##Mod
        - if <context.args.size.is[==].to[2]> && <player.has_permission[dchatmod]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&3><&lb><context.args.get[2]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[3]> && <player.has_permission[dchatmod]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&3><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[4]> && <player.has_permission[dchatmod]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&3><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[5]> && <player.has_permission[dchatmod]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&3><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&sp><context.args.get[5]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        ##Builder
        - if <context.args.size.is[==].to[2]> && <player.has_permission[dchatbuilder]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&e><&lb><context.args.get[2]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[3]> && <player.has_permission[dchatbuilder]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&e><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[4]> && <player.has_permission[dchatbuilder]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&e><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[5]> && <player.has_permission[dchatbuilder]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&e><&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&sp><context.args.get[5]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        ##Member
        - if <context.args.size.is[==].to[2]> && <player.has_permission[dchatmember]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&lb><context.args.get[2]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[3]> && <player.has_permission[dchatmember]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&lb><context.args.get[2]||><&sp><context.args.get[3]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[4]> && <player.has_permission[dchatmember]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear
        - if <context.args.size.is[==].to[5]> && <player.has_permission[dchatmember]>:
            - flag <server.match_player[<context.args.get[1]>]> nickname:<&lb><context.args.get[2]||><&sp><context.args.get[3]||><&sp><context.args.get[4]||><&sp><context.args.get[5]||><&rb>
            - narrate "<&6><bold>This players nickname is now <&2><server.match_player[<context.args.get[1]>].flag[nickname]>"
            - narrate "<&6><bold>Your nickname has been changed to <&2><server.match_player[<context.args.get[1]>].flag[nickname]>" targets:<server.match_player[<context.args.get[1]>]>
            - queue clear

ICChatEnter:
    type: command
    debug: false
    name: ic
    usage: /ic
    script:
        - if <player.flag[chatchannel].is[!=].to[ICChat]>:
            - flag player chatchannel:ICChat
            - narrate "<&6>You enter the <&2>IC <&6>chat channel"
            - queue clear
        - if <player.flag[chatchannel].is[==].to[ICChat]>:
            - narrate "<&6>You are already in the <&2>IC <&6>chat channel"
            - queue clear
OOCChatEnter:
    type: command
    debug: false
    name: ooc
    usage: /ooc
    script:
        - if <player.flag[chatchannel].is[!=].to[OOCChat]>:
            - flag player chatchannel:OOCChat
            - narrate "<&6>You enter <&2>OOC <&6>chat channel"
            - queue clear
        - if <player.flag[chatchannel].is[==].to[OOCChat]>:
            - narrate "<&6>You are already in the <&2>OOC <&6>chat channel"
            - queue clear
WhisperChatEnter:
    type: command
    debug: false
    name: whis
    usage: /whis
    aliases:
    - whisper
    - wh
    script:
        - if <player.flag[chatchannel].is[!=].to[WhisperChat]>:
            - flag player chatchannel:WhisperChat
            - narrate "<&6>You enter the <&2>Whisper <&6>chat channel"
            - queue clear
        - if <player.flag[chatchannel].is[==].to[WhisperChat]>:
            - narrate "<&6>You are already in the <&2>Whisper <&6>chat channel"
            - queue clear
BuilderChatEnter:
    type: command
    debug: false
    name: builder
    usage: /builder
    aliases:
    - build
    - bu
    script:
        - if <player.flag[chatchannel].is[!=].to[BuilderChat]>:
            - flag player chatchannel:BuilderChat
            - narrate "<&6>You enter <&2>Builder <&6>chat channel"
            - queue clear
        - if <player.flag[chatchannel].is[==].to[BuilderChat]>:
            - narrate "<&6>You are already in the <&2>Builder <&6>chat channel"
            - queue clear
ModChatEnter:
    type: command
    debug: false
    name: mod
    usage: /mod
    aliases:
    - m
    - moderator
    script:
        - if <player.flag[chatchannel].is[!=].to[ModChat]>:
            - flag player chatchannel:ModChat
            - narrate "<&6>You enter <&2>Mod <&6>chat channel"
            - queue clear
        - if <player.flag[chatchannel].is[==].to[ModChat]>:
            - narrate "<&6>You are already in the <&2>Mod <&6>chat channel"
            - queue clear
AdminChatEnter:
    type: command
    debug: false
    name: admin
    usage: /admin
    aliases:
    - a
    script:
        - if <player.flag[chatchannel].is[!=].to[AdminChat]>:
            - flag player chatchannel:AdminChat
            - narrate "<&6>You enter <&2>Admin <&6>chat channel"
            - queue clear
        - if <player.flag[chatchannel].is[==].to[AdminChat]>:
            - narrate "<&6>You are already in the <&2>Admin <&6>chat channel"
            - queue clear
OOCChatViewToggle:
    type: command
    debug: false
    name: ooctoggle
    usage: /ooctoggle
    script:
        - if !<player.has_flag[OOCMute]>:
            - flag player OOCMute
            - narrate "<&6>The OOC channel is now muted for you."
            - queue clear
        - if <player.has_flag[OOCMute]>:
            - flag player OOCMute:!
            - narrate "<&6>The OOC channel is no longer muted for you."
            - queue clear
ICSpy:
    type: command
    debug: false
    name: icspy
    usage: /icspy
    script:
        - if !<player.has_flag[ICSpy]>:
            - flag player ICSpy
            - narrate "<&6>All IC chat channels are now visible for you."
            - queue clear
        - if <player.has_flag[ICSpy]>:
            - flag player ICSpy:!
            - narrate "<&6>All IC chat channels are no longer visible for you."
            - queue clear
ICChatFormat:
    type: format
    debug: false
    format: "<bold><&lb><player.flag[chatchannel]><&rb><&r><&lb><player.town.name||><&rb> <player.flag[nickname]><&co>  <&e><italic><text>"
OOCChatFormat:
    type: format
    debug: false
    format: "<bold><&lb><player.flag[chatchannel]><&rb><&r><&lb><player.town.name||><&rb> <player.flag[nickname]><&co>  <&f><text>"
WhisperFormat:
    type: format
    debug: false
    format: "<bold><&lb><player.flag[chatchannel]><&rb><&r><&lb><player.town.name||><&rb> <player.flag[nickname]><&co>  <&7><italic><text>"
BuilderChatFormat:
    type: format
    debug: false
    format: "<bold><&lb><player.flag[chatchannel]><&rb><&r><player.flag[nickname]><&co>  <&e><italic><text>"
ModChatFormat:
    type: format
    debug: false
    format: "<bold><&lb><player.flag[chatchannel]><&r><&rb><player.flag[nickname]><&co>  <&c><italic><text>"
AdminChatFormat:
    type: format
    debug: false
    format: "<bold><&lb><player.flag[chatchannel]><&r><&rb><player.flag[nickname]><&co>  <&b><italic><text>"
ChatChannels:
    type: world
    debug: true
    events:
        on player chats:
            - if <player.flag[chatchannel].is[==].to[ICChat]>:
                - foreach <player.location.find.players.within[20]>|<server.list_online_players.filter[ICSpy]>:
                    - determine "FORMAT:ICChatFormat"
            - if <player.flag[chatchannel].is[==].to[WhisperChat]>:
                - foreach <player.location.find.players.within[4]|<server.list_online_players.filter[ICSpy]>:
                    - determine "FORMAT:WhisperFormat"
            - if <player.flag[chatchannel].is[==].to[OOCChat]>:
                - foreach <server.list_online_players.filter[OOCMute].not>:
                    - determine "FORMAT:OOCChatFormat"
            - if <player.flag[chatchannel].is[==].to[BuilderChat]>:
                - foreach <server.list_online_players>  as:listener:
                    - if <def[listener].has_permission[dchatbuilder]>:
                        - determine "FORMAT:BuilderChatFormat"
            - if <player.flag[chatchannel].is[==].to[ModChat]>:
                - foreach <server.list_online_players>  as:listener:
                    - if <def[listener].has_permission[dchatmod]>:
                        - determine "FORMAT:ModChatFormat"
            - if <player.flag[chatchannel].is[==].to[AdminChat]>:
                - foreach <server.list_online_players>  as:listener:
                    - if <def[listener].has_permission[dchatadmin]>:
                        - determine "FORMAT:AdminChatFormat"