Paste #4457: Untitled Paste

Date: 2014/05/19 02:14:36 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


"broadcast_startup":
  type: world
  debug: false
  events:
    on server start:
    - run broadcast delay:2m
    - run broadcastloader instantly
    on broadcast command:
    - if <context.args.get[1]> == reload {
      - if !<player.has_permission[broadcast.reload]> {
        - queue clear
        }
      - yaml load:larkspurbroadcasts.yml id:larkspurbroadcasts
      - narrate "<&6>The broadcast saves have been reloaded."
      } else {
      - narrate "<&c> invalid arguments. do /broadcast reload."
      }
    - determine fulfilled
broadcastloader:
  type: task
  debug: false
  script:
    - if <server.has_file[larkspurbroadcasts.yml]> {
      - yaml 'load:larkspurbroadcasts.yml' id:larkspurbroadcasts
      } else {
      - yaml create id:larkspurbroadcasts
      - yaml id:larkspurbroadcasts set "broadcasts.zone1:|:message 1|message 2"
      - yaml id:larkspurbroadcasts set "broadcasts.zone2to5:|:message 1|message 2"
      - yaml id:larkspurbroadcasts set "broadcasts.zone6to9:|:message 1|message 2"
      - yaml id:larkspurbroadcasts set "broadcasts.zone10to13:|:message 1|message 2"
      - yaml id:larkspurbroadcasts set "broadcasts.zone14to17:|:message 1|message 2"
      - yaml id:larkspurbroadcasts set "broadcasts.no_zones:|:message 1|message 2"
      - yaml 'savefile:larkspurbroadcasts.yml' id:larkspurbroadcasts
      }
"broadcast":
    type: task
    debug: true
    script:
    - foreach <server.list_online_players> {
      - if <%value%.location.in_region[zone1]> {
        - define message '<yaml[larkspurbroadcasts].read[broadcasts.zone1].as_list.exclude[<%value%.flag[lastbroadcast]||>].random>'
        } else if <%value%.location.in_region[zone2|zone3|zone4|zone5]> {
        - define message '<yaml[larkspurbroadcasts].read[broadcasts.zone2to5].as_list.exclude[<%value%.flag[lastbroadcast]||>].random>'
        } else if <%value%.location.in_region[zone6|zone7|zone8|zone9]> {
        - define message '<yaml[larkspurbroadcasts].read[broadcasts.zone6to9].as_list.exclude[<%value%.flag[lastbroadcast]||>].random>'
        } else if <%value%.location.in_region[zone10|zone11|zone12|zone13]> {
        - define message '<yaml[larkspurbroadcasts].read[broadcasts.zone10to13].as_list.exclude[<%value%.flag[lastbroadcast]||>].random>'
        } else if <%value%.location.in_region[zone14|zone15|zone16|zone17]> {
        - define message '<yaml[larkspurbroadcasts].read[broadcasts.zone14to17].as_list.exclude[<%value%.flag[lastbroadcast]||>].random>'
        } else {
        - define message '<yaml[larkspurbroadcasts].read[broadcasts.no_zones].as_list.exclude[<%value%.flag[lastbroadcast]||>].random>'
        }
      - narrate "<def[message].replace[$a].with[<&a>].replace[$b].with[<&b>].replace[$c].with[<&c>].replace[$d].with[<&d>].replace[$e].with[<&e>].replace[$f].with[<&f>].replace[$1].with[<&1>].replace[$2].with[<&2>].replace[$3].with[<&3>].replace[$4].with[<&4>].replace[$5].with[<&5>].replace[$6].with[<&6>].replace[$7].with[<&7>].replace[$8].with[<&8>].replace[$9].with[<&9>].replace[$0].with[<&0>].replace[$l].with[<&l>].replace[$m].with[<&m>].replace[$n].with[<&n>].replace[$o].with[<&o>].replace[$k].with[<&k>]>" targets:%value%
      - flag %value% 'lastbroadcast:%message%'
      }
    - run broadcast delay:2m