Date: 2015/04/19 20:56:15 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
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
SQLAPI:
type: world
speed: 0
debug: false
action_map:
set_list: '&pipe'
include: '->'
remove: '<-'
increment: '++|+'
decrement: '--|-'
clear: '&exc'
events:
on sqlflag command:
- if !<player.permission[sqlapi.admin]||false> && !<player.is_op> && !<c.server> {
- queue clear
}
- determine passively FULFILLED
# - define expiration '<c.args.filter[starts_with[d<&co>]]>'
- if <c.args.size> < 2 {
- narrate "<&b>SQLAPI<&co><&c> /sqlflag <<>owner<>> flagName(<&co>action)(<&co>value) (expiration<&co>duration)"
- queue clear
}
- define owner '<c.args.get[1]||null>'
- narrate "<parse:<def[owner]>>"
- if %owner% == server {
- define type 'server'
}
else if %owner% == player {
- if <c.server> {
- narrate "<&b>SQLAPI<&co><&c> Must specify valid player object from console!"
- queue clear
}
- define type 'player'
- define owner '<player>'
}
else {
- define owner "<parse:<def[owner]>>"
- narrate '<def[owner].type.to_lowercase||null>'
- if <def[owner].type||null> == player {
- define type 'player'
- define owner '<def[owner].as_player>'
}
else if <def[owner].type||null> = entity {
- define type 'entity'
- define owner '<def[owner].as_entity>'
}
else if <def[owner].type||null> = npc {
- define type 'npc'
- define owner '<def[owner].as_npc>'
}
else {
- narrate "<&b>SQLAPI<&co><&c> Must specify valid owner object!"
- queue clear
}
}
- define preparse '<c.args.get[2].escaped.split[&co]||null>'
- define size '<def[preparse].size>'
- define flagName '<def[preparse].get[1]||null>'
- if %size% == 1 {
- define flagValue 'true'
- define action 'set'
- narrate "owner %owner% %type%"
- narrate "flag <def[flagName].unescaped>"
- narrate "set boolean true"
}
else if %size% == 2 {
- define flagValue '<def[preparse].get[2]||null>'
- define action 'set'
- narrate "owner %owner% %type%"
- narrate "flag <def[flagName].unescaped>"
- narrate "action <def[action].unescaped>"
- narrate "flagValue <def[flagValue].unescaped>"
}
else {
- define action '<def[preparse].get[2]||null>'
- define flagValue '<def[preparse].get[3]||null>'
- define expiration '<c.args.get[3].sql_escaped||null>'
- if %action% != null {
- define actions '<script.list_keys[action_map]>'
- foreach %actions% {
- define map '<script.yaml_key[action_map.%action%].as_list||li@>'
- if <def[action].contains_any[%map%]||false> {
- define action '%value%'
- foreach stop
}
}
- if %actions% !contains %action% {
- define action 'set'
- define flagValue '<def[preparse].get[2]||null>|<def[preparse].get[3]||null>'
}
}
- narrate "owner %owner% %type%"
- narrate "flag <def[flagName].unescaped>"
- narrate "action <def[action].unescaped>"
- narrate "flagvalue <def[flagvalue].unescaped>"
}
- queue clear