Date: 2014/05/19 02:14:36 UTC-07:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"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