-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathUtilityTasks.yml
123 lines (97 loc) · 3.46 KB
/
UtilityTasks.yml
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
################################################################################
# #
# U t i l i t y S c r i p t s #
# #
# #
# Just some common scripts. Use as needed #
# #
################################################################################
#------------------------------------------------------------------------------#
# Chat Stuff #
#########################
#
# Clear Chat Command
#
#
ClearChatCommand:
type: world
debug: false
events:
on clearchat command:
- if !<player.has_permission[denizen.clearchat]> queue stop
- repeat 100 {
- narrate ""
}
ToggleChatListener:
type: task
script:
- trigger name:click state:false
- trigger name:chat state:true
- wait %1%s
- trigger name:chat state:false
- trigger name:click state:true
on:
- trigger name:click state:false
- trigger name:chat state:true
off:
- trigger name:chat state:false
- trigger name:click state:true
ToggleVulnerable:
#
# Toggles npc vlunerability for the specified duration
#
type: task
script:
- ^if <npc.flag[Bio.Vulnerable]> {
- vulnerable state:false
- wait '<def[1] || 5>'s
- vulnerable state:true
}
#------------------------------------------------------------------------------#
# Some handy utilities #
# +-----------------------------------
# | ISBETWEEN utility script
# +-----------------------------------
# Find out if a number is between 2 other numbers.
# Usage: <proc[isbetween].context[5|1|10]>
isbetween:
type: procedure
definitions: val|low|high
script:
- if %val% matches double && %val% >= %low% && %val% <= %high%
determine true
else determine false
#------------------------------------------------------------------------------#
# Some Commands #
ServerNameCommand:
#
# Used for some of the Network stuff so the scripts are dynamic enough to work
# on all servers.
#
type: world
events:
on servername command:
- determine passively fulfilled
- if <context.args.is_empty||true> {
- narrate "<&b>Connected to<&co> <&a><server.flag[ServerName]>"
- queue clear
}
- if <player.has_permission[servername.admin]>
&& !<context.args.is_empty||false> {
- flag server ServerName:<context.args.get[1]>
- narrate "<&b>Server name set to<&co> <&a><server.flag[ServerName]>"
- queue clear
}
#------------------------------------------------------------------------------#
# Simple Animations #
MarkerAnimation:
type: task
debug: false
definitions: location|target|delay|repeat
script:
- ^define counter '<def[counter] || 0>'
- ^if !<def[counter].is[LESS].than[<def[repeat]>]> queue stop
- ^define counter <def[counter].add[1]>
- ^playeffect <def[location]> effect:ENDER_SIGNAL visibility:15 qty:10 targets:<def[target]>
- wait <def[delay]>t
- inject s@MarkerAnimation