-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathHelp.XML
206 lines (206 loc) · 82.1 KB
/
Help.XML
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
<?xml version="1.0" encoding="GB2312"?>
<LordStarHelp><AllCommands><Command1><Name>ab</Name><Desc>#abort命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command1><Command2><Name>abort</Name><Desc>取消同一串命令里的所有后续命令。
包括很多种情况:在命令栏里输入的一串指令、一个别名指代的全部语句、一条触发器触发之后执行的所有语句……只要是“一起”发送给系统进行解析的命令,就视为“同一串”命令。</Desc><Example>east;#if (@a>0) {#ab};west;
当变量a大于0时,后面的west指令会被丢弃。</Example><ParasNum>0</ParasNum></Command2><Command3><Name>add</Name><Desc>对参数一变量值进行加法计算。如果参数一对应的变量不存在,则新建一个并赋值。</Desc><Example>变量加一:#add count 1;
变量减一:#add count -1;</Example><ParasNum>2</ParasNum><Para1>(String)进行计算的变量名</Para1><Para2>(Int)增加值</Para2></Command3><Command4><Name>additem</Name><Desc>为集合型变量增加一个子项。当参数三不为空时,按照参数三指定的位置增加子项。</Desc><Example>增加一个子项:#add strlist "test";
在指定的位置增加子项:#add strlist "test" 3;</Example><ParasNum>3</ParasNum><Para1>(String)集合型变量的名字</Para1><Para2>(String)要增加的子项</Para2><Para3>▽(Int)在指定的位置新增子项</Para3></Command4><Command5><Name>al</Name><Desc>#alias命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command5><Command6><Name>al-</Name><Desc>根据名称指定关闭一个闹钟。</Desc><Example>关闭名称为checkidle的闹钟:#al- checkidle</Example><ParasNum>1</ParasNum><Para1>(String)闹钟名称</Para1></Command6><Command7><Name>al--</Name><Desc>关闭所有闹钟。</Desc><Example></Example><ParasNum>0</ParasNum></Command7><Command8><Name>al+</Name><Desc>根据名称指定打开一个闹钟。</Desc><Example>打开名称为idle的闹钟:#al+ idle</Example><ParasNum>1</ParasNum><Para1>(String)闹钟名称</Para1></Command8><Command9><Name>al++</Name><Desc>开启所有闹钟。</Desc><Example></Example><ParasNum>0</ParasNum></Command9><Command10><Name>alarm</Name><Desc>新建一个闹钟。</Desc><Example>定义闹钟在1秒后执行cmd指令:#alarm +1 {cmd};
定义一个id为sayhi的闹钟:#alarm +1 {cmd} sayhi;
定义闹钟在1小时1分5秒后执行cmd指令:#alarm +1:01:05 {cmd}
定义闹钟在当前游戏连接了65秒后执行cmd指令:#alarm -65 {cmd}
定义闹钟在当前游戏连接了1小时1分5秒后执行cmd指令:#alarm -1:01:05 {cmd}
定义闹钟在计算机时间11点30分10秒准点执行cmd指令:#alarm 11:30:10 {cmd}
定义闹钟每秒执行一次cmd指令:#alarm * {cmd}
定义闹钟在计算机时间的分钟数为10的倍数时执行 cmd 指令:#alarm *10:00 {cmd}
定义闹钟在计算机时间的分钟数个位数是3的倍数、十位数是2的倍数时执行cmd指令:#alarm *2*3:00 {cmd}
定义闹钟在当前游戏连接了2小时30分之后的1分钟内,每秒执行一次cmd指令:#alarm -2:30:* {cmd}
定义闹钟在当前游戏连接时间的秒数为2或3的倍数时,执行cmd指令:#alarm -(*2|*3) {cmd}
</Example><ParasNum>3</ParasNum><Para1>(String)闹钟运行的条件</Para1><Para2>(String)闹钟运行的指令</Para2><Para3>▽(String)闹钟ID</Para3></Command10><Command11><Name>alias</Name><Desc>定义或修改一个别名。</Desc><Example>定义一个别名sayhai,指令内容为hi:#alias sayhi {hi};</Example><ParasNum>2</ParasNum><Para1>(String)别名的名称</Para1><Para2>(String)别名所指代的内容</Para2></Command11><Command12><Name>buff</Name><Desc>新增或刷新一个Buff图标。当它的持续时间归零之后,执行一个指定的指令。</Desc><Example>#buff 0 2 {perform}
新增或者刷新一个ID为0的图标,持续时间为2秒。当持续时间结束之后执行perform命令。</Example><ParasNum>3</ParasNum><Para1>(Int)Buff图标的ID,可在“文件-Buff图标”菜单里查看</Para1><Para2>(Int)持续时间,以秒为单位</Para2><Para3>▽(String)持续时间归零之后执行的指令</Para3></Command12><Command13><Name>ca</Name><Desc>#case命令的简写。
根据数值执行不同的指令。指令的总数量无限制,数值为1执行第1条指令,为n则执行第n条,以此类推。如果数值为0或超过了指令总数,则不执行任何指令。</Desc><Example>根据c的数值执行对应顺序的指令:#case @c {#say %i=1} {#say %i=2}</Example><ParasNum>4</ParasNum><Para1>(Int)数值</Para1><Para2>▽(String)第1条指令</Para2><Para3>▽(String)第2条指令</Para3><Para4>类推</Para4></Command13><Command14><Name>cap</Name><Desc>#capture命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command14><Command15><Name>capture</Name><Desc>把触发行整行复制到指定的窗口。只能在触发器中使用该命令。
可选参数“/t”:使用该参数在复制的行前添加时间戳,允许自定义时间戳的颜色和格式。
默认格式:#cap window /t
自定义示例:#cap window /t:$HIY$[hh:nn:ss]$NOR$
</Desc><Example>将触发行内容复制到名字为log的窗口:#cap log /t
加上自定义颜色和格式的时间:#cap log /t:$HIY$[hh:nn:ss]$NOR$</Example><ParasNum>2</ParasNum><Para1>(String)目标窗口标签</Para1><Para2>▽ /t 可选参数</Para2></Command15><Command16><Name>case</Name><Desc>根据数值执行不同的指令。指令的总数量无限制,数值为1执行第1条指令,为n则执行第n条,以此类推。如果数值为0或超过了指令总数,则不执行任何指令。</Desc><Example>根据c的数值执行对应顺序的指令:#case @c {#say %i=1} {#say %i=2}</Example><ParasNum>4</ParasNum><Para1>(Int)数值</Para1><Para2>▽(String)第1条指令</Para2><Para3>▽(String)第2条指令</Para3><Para4>类推</Para4></Command16><Command17><Name>clearscreen</Name><Desc>清屏,清除当前窗口的所有文字。</Desc><Example>#clearscreen</Example><ParasNum>0</ParasNum></Command17><Command18><Name>clearstack</Name><Desc>清空当前窗口所携带的栈中存放的所有数据。
参考:#push/#pop</Desc><Example></Example><ParasNum>0</ParasNum></Command18><Command19><Name>close</Name><Desc>关闭一个文件,同时把对该文件执行的写入操作保存至硬盘文件。
相关命令与函数:#file/#write/%read()
一般与 #file 互为开关</Desc><Example>关闭ID为 a 的文件:#close a</Example><ParasNum>1</ParasNum><Para1>(String)要关闭的文件ID</Para1></Command19><Command20><Name>cls</Name><Desc>#clearscreen命令的简写。
清屏,清除当前窗口的所有文字。</Desc><Example></Example><ParasNum>0</ParasNum></Command20><Command21><Name>color</Name><Desc>修改当前触发行的颜色。只能在触发器中使用。可同时设置文字颜色和背景色,中间用逗号隔开。
文字颜色:black黑/red红/green绿/yellow黄/blue蓝/fuchsia紫/teal青/white白
背景颜色:bblack黑/bred红/bgreen绿/byellow黄/bblue蓝/bfuchsia紫/bteal青/bwhite白</Desc><Example>修改触发行颜色为黑底白字:#color white,bblack</Example><ParasNum>1</ParasNum><Para1>(String)颜色代码</Para1></Command21><Command22><Name>connect</Name><Desc>断开现有连接,并重新连线服务器。</Desc><Example>断开当前连接,并连接到另外一个地址:#connect 1.1.1.1 2222</Example><ParasNum>2</ParasNum><Para1>▽(String)服务器地址</Para1><Para2>▽(Int)服务器端口</Para2></Command22><Command23><Name>cq</Name><Desc>调整指令发送限速功能。不带参数时表示清空当前延迟队列里还未发送出去的所有指令。</Desc><Example>关闭限速功能:#cq 0;
设置每秒最多只发出20条指令:#cq 20;</Example><ParasNum>1</ParasNum><Para1>▽(Int)调整限速指标(n条指令/秒),为0时关闭限速</Para1></Command23><Command24><Name>delitem</Name><Desc>从集合型变量中删除第一个指定值的子项。</Desc><Example>删除变量a中保存的子项xx:#delitem a xx</Example><ParasNum>2</ParasNum><Para1>(String)集合型变量的名称</Para1><Para2>(String)要删除的子项</Para2></Command24><Command25><Name>delnitem</Name><Desc>从集合型变量中删除第n个位置上的子项。</Desc><Example>删除变量a中保存的第一个子项:#delnitem a 1</Example><ParasNum>2</ParasNum><Para1>(String)集合型变量的名称</Para1><Para2>(Int)要删除子项的位置</Para2></Command25><Command26><Name>deltrigger</Name><Desc>删除指定ID的触发器。删除指定资源包内的触发器时,参数一可以使用“packname::ID”的格式。</Desc><Example>删除pack资源包里ID为tr的触发器:#deltrigger pack::tr</Example><ParasNum>1</ParasNum><Para1>(String)触发器的ID</Para1></Command26><Command27><Name>disconnect</Name><Desc>断开当前游戏连接。</Desc><Example>断开当前游戏连接:#disconnect</Example><ParasNum>0</ParasNum></Command27><Command28><Name>dtr</Name><Desc>#deltrigger命令的简写。
删除指定ID的触发器。删除指定资源包内的触发器时,参数一可以使用“packname::ID”的格式。</Desc><Example>删除pack资源包里ID为tr的触发器:#deltrigger pack::tr</Example><ParasNum>1</ParasNum><Para1>(String)触发器的ID</Para1></Command28><Command29><Name>echo</Name><Desc>向主窗中添加一条信息,模拟为服务器端信息。与服务器实际发来的信息同等处理,可以被Lua和触发器触发。
相关命令:#say/#echo/#show</Desc><Example>添加一行文字:#echo "这是一条模拟信息!可以被触发器触发"</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command29><Command30><Name>echop</Name><Desc>#echoprompt命令的简写。
向主窗中添加一条不加断行的信息,模拟为服务器端信息。与服务器实际发来的信息同等处理,可以被Lua和触发器触发。</Desc><Example>添加一行未结尾的文字:#echo "这是一条后续模拟信息!"</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command30><Command31><Name>echoprompt</Name><Desc>向主窗中添加一条不加断行的信息,模拟为服务器端信息。与服务器实际发来的信息同等处理,可以被Lua和触发器触发。</Desc><Example>添加一行未结尾的文字:#echo "这是一条后续模拟信息!"</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command31><Command32><Name>er</Name><Desc>#erase命令的简写。
删除一个文件。</Desc><Example>删除文件:#erase "c:\abc.txt"</Example><ParasNum>1</ParasNum><Para1>(String)要删除的文件名,可使用相对路径或绝对路径</Para1></Command32><Command33><Name>erase</Name><Desc>删除一个文件。</Desc><Example>删除文件:#erase "c:\abc.txt"</Example><ParasNum>1</ParasNum><Para1>(String)要删除的文件名,可使用相对路径或绝对路径</Para1></Command33><Command34><Name>exe</Name><Desc>运行一个外部程序。</Desc><Example>运行一个程序:#exe "c:\notepad.exe"</Example><ParasNum>2</ParasNum><Para1>(String)要运行的可执行文件名</Para1><Para2>▽(String)运行时附带执行参数</Para2></Command34><Command35><Name>file</Name><Desc>打开一个纯文本文件,并为其标注ID。将文件内容读入内存,供后续读写操作使用。
相关命令与函数:#write/#close/%read()</Desc><Example>打开一个txt文件:#file a "c:\abc.txt"
读取该文件的第3行,保存到变量va中:va=%read(a,3)</Example><ParasNum>2</ParasNum><Para1>(String)为该文件标注的ID</Para1><Para2>(String)要打开的文本文件名</Para2></Command35><Command36><Name>forall</Name><Desc>对集合型字符串中包含的所有子项依次执行指令。在指令中可以使用%i来获取当前子项的值。</Desc><Example>对每个参数都执行一次#say指令:#forall "aa|bb|cc" {#say %i}</Example><ParasNum>2</ParasNum><Para1>(String)集合型字符串</Para1><Para2>(String)执行指令</Para2></Command36><Command37><Name>gag</Name><Desc>隐藏触发行,不予显示。只能在触发器中使用该命令,且不能用于延时命令之后。
注:该行信息依然存在,只是不显示而已,所以不影响触发器对其进行触发。</Desc><Example>隐藏当前触发行:#gag
隐藏所有空白行:触发器行 ^$ 命令行:#gag</Example><ParasNum>0</ParasNum></Command37><Command38><Name>getdiffcolor</Name><Desc>将触发行中的文字按照其字体颜色的不同进行排类,返回字数最少的那一类,将其文字存放在变量中。只能在触发器中使用该命令,无需使用颜色触发。</Desc><Example>保存字数最少的一类到变量a:#getdiffcolor a
保存字数第二少的一类文字:#getdiffcolor a 2</Example><ParasNum>2</ParasNum><Para1>(String)保存结果的变量名称</Para1><Para2>▽(Int)默认1表示字数最少的一类,为2则保存字数第2少的类</Para2></Command38><Command39><Name>getdiffcolorset</Name><Desc>将触发行中的文字按照其字体颜色的不同进行排类,把排类结果依据其字数从少到多的顺序排列,以集合型的方式存放在指定变量中。只能在触发器中使用该命令,无需使用颜色触发。</Desc><Example>保存排类结果到变量a:#getdiffcolorset a</Example><ParasNum>1</ParasNum><Para1>(String)保存结果的变量名称</Para1></Command39><Command40><Name>if</Name><Desc>根据逻辑判断的结果选择执行指令。</Desc><Example>#if 1=0 {#say 真的} {#say 假的};
#if 语句可以进行嵌套如:#if (@a=1) {#if (@b=1) {do something}} {#if (@b=1) {do something}}
还可以用这个方式如:#if (@a=1) {do where a=1} #if (@b=2) {do where a=2} #if (@c=3) {do where a=3}</Example><ParasNum>3</ParasNum><Para1>(String)逻辑判断语句</Para1><Para2>(String)判断结果为 True 时执行的指令</Para2><Para3>▽(String)判断结果为 False 时执行的指令</Para3></Command40><Command41><Name>ig</Name><Desc>#ignore命令的简写。
关闭当前游戏的触发器和闹钟功能。再执行一次则重新打开。</Desc><Example></Example><ParasNum>0</ParasNum></Command41><Command42><Name>ignore</Name><Desc>关闭当前游戏的触发器和闹钟功能。再执行一次则重新打开。</Desc><Example></Example><ParasNum>0</ParasNum></Command42><Command43><Name>label</Name><Desc>修改指定游戏窗口的名称标签。支持调用变量。</Desc><Example>修改当前窗口:#label nandi南帝运镖
调用变量:#label @id@name运镖
指定窗口:#lable @id@name运镖 1</Example><ParasNum>2</ParasNum><Para1>(String)新的名称</Para1><Para2>▽(Int)指定修改从左侧起第n个窗口的标签,缺省时为当前窗口</Para2></Command43><Command44><Name>load</Name><Desc>载入指定的系统配置文件。相当于“设置-载入”菜单的功能。</Desc><Example>#loadmap "fy3.lsu";
前提条件是fy3.lsu这个文件必须放在save文件夹下</Example><ParasNum>1</ParasNum><Para1>(String)系统配置文件的文件名</Para1></Command44><Command45><Name>log</Name><Desc>往日志文件中写入信息。写入信息中可以使用函数、变量,也可以用\n来表示断行,在写入之前会先进行解析。
特殊应用:在触发器指令中使用不带参数的#log命令时,将往日志文件中写入引发该触发器的目标行原始文字。</Desc><Example>往日志文件log.txt当中写入"lordstar免费挖泥利器":#log lordstar免费挖泥利器
匹配触发器写入:触发器:“你双手抱拳,作了个揖道:各位英雄请了!” 指令行:#log</Example><ParasNum>1</ParasNum><Para1>▽(String)写入信息</Para1></Command45><Command46><Name>longmess</Name><Desc>弹出一个窗口,显示一段信息。信息中可以使用函数、变量,也可以用\n来表示断行,在显示之前会先进行解析。
一般用作机器人运行前的说明</Desc><Example>#longmess 这是一个提示信息;
#longmess 本机器运行前请买好食物\n本机器人由@name制作</Example><ParasNum>1</ParasNum><Para1>(String)显示信息</Para1></Command46><Command47><Name>math</Name><Desc>对运算式进行数学计算,结果保存在指定变量中。如果变量不存在,则新建一个并赋值。</Desc><Example>#math test {1+1};</Example><ParasNum>2</ParasNum><Para1>(String)指定的变量</Para1><Para2>(String)运算式</Para2></Command47><Command48><Name>mes</Name><Desc>#mess命令的简写。</Desc><Example>#mes 这是一个自动关闭的提醒;</Example><ParasNum>1</ParasNum><Para1>(String)警示信息</Para1></Command48><Command49><Name>mess</Name><Desc>弹出一个警示窗口,显示警示信息。信息中可以使用函数、变量,在显示之前会先进行解析。警示窗口最多显示8秒,如果用户没有操作就自动关闭。</Desc><Example>#mess 这是一个自动关闭的提醒;</Example><ParasNum>1</ParasNum><Para1>(String)警示信息</Para1></Command49><Command50><Name>mxp</Name><Desc>指定url下载一个图片。可以将图片存为指定的文件名,如不指定则使用网上的原始文件名。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)下载图片的完整url地址</Para1><Para2>▽(String)下载的图片重命名为指定文件名</Para2></Command50><Command51><Name>p-</Name><Desc>停用指定名称的资源包。</Desc><Example>停用名字为fight的资源包;
#p- fight;</Example><ParasNum>1</ParasNum><Para1>(String)资源包名称</Para1></Command51><Command52><Name>p--</Name><Desc>停用所有资源包。</Desc><Example>#p--;</Example><ParasNum>0</ParasNum></Command52><Command53><Name>p+</Name><Desc>启用指定名称的资源包。</Desc><Example>启用名字为fight的资源包;
#p+ fight;</Example><ParasNum>1</ParasNum><Para1>(String)资源包名称</Para1></Command53><Command54><Name>p++</Name><Desc>启用所有资源包。</Desc><Example>#p++;</Example><ParasNum>0</ParasNum></Command54><Command55><Name>pi</Name><Desc>#pick命令的简写。
显示一个窗口,带有一个选择列表框,提示用户在列表框中进行选择,并根据选择结果执行相应的指令。
列表框默认允许选择多项,如果只允许单项选择,应设置第一个参数为“o:1”。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)列表框中的提示语与相应的指令,中间用:隔开</Para1><Para2>(String)列表框中的提示语与相应的指令,中间用:隔开</Para2><Para3>类推</Para3></Command55><Command56><Name>pick</Name><Desc>显示一个窗口,带有一个选择列表框,提示用户在列表框中进行选择,并根据选择结果执行相应的指令。
列表框默认允许选择多项,如果只允许单项选择,应设置第一个参数为“o:1”。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)列表框中的提示语与相应的指令,中间用:隔开</Para1><Para2>(String)列表框中的提示语与相应的指令,中间用:隔开</Para2><Para3>类推</Para3></Command56><Command57><Name>pop</Name><Desc>依照先进后出的原则,用将当前窗口所携带的栈最顶端的节点弹出栈空间。节点中包含的子项信息根据入栈时的顺序,依次存放到指定的变量中。如果该节点入栈时的子项数量(也就是#push的参数数量)超过出栈时提供的变量数量(#pop的参数数量),多余的子项将被丢弃。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)用于保存出栈数据的变量名</Para1><Para2>(String)用于保存出栈数据的变量名</Para2><Para3>类推</Para3></Command57><Command58><Name>popx</Name><Desc>依照先进后出的原则,用将当前窗口所携带的栈最顶端的节点弹出栈空间。节点中包含的子项信息根据入栈时的顺序,以集合型的方式存放到指定的变量中。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)用于保存出栈数据的变量名</Para1></Command58><Command59><Name>pr</Name><Desc>#prompt命令的简写。</Desc><Example>#pr id "请输入id:";</Example><ParasNum>2</ParasNum><Para1>(String)保存输入值的变量名</Para1><Para2>▽(String)提示语,提示用户应该输入什么值</Para2></Command59><Command60><Name>print</Name><Desc>向主窗中添加一条客户端提示信息。该信息不会向服务器端发送,也不会被触发器触发,仅仅是作为提示信息存在。
与#say的功能相同。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command60><Command61><Name>printp</Name><Desc>#printprompt命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command61><Command62><Name>printprompt</Name><Desc>向主窗中添加一条不加断行的客户端提示信息。该信息不会向服务器端发送,也不会被触发器触发,仅仅是作为提示信息存在。
与#sayprompt的功能相同。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command62><Command63><Name>prompt</Name><Desc>弹出一个输入窗口,供用户输入一个值,把该值保存在指定变量中。</Desc><Example>#pr id "请输入id:";</Example><ParasNum>2</ParasNum><Para1>(String)保存输入值的变量名</Para1><Para2>▽(String)提示语,提示用户应该输入什么值</Para2></Command63><Command64><Name>push</Name><Desc>将一个节点的数据压入当前窗口所携带的栈空间。每执行一次#push命令就在栈顶增加一个节点,每个节点可以包含任意个子项,子项数量由#push命令的参数数量决定。各个子项相对独立地存放,在出栈时也是独立的。#push的参数也可以为空,此时压入一个子项数量为0的空节点。
每次用#push命令压入的子项数量可以各不相同,用户需要自己留意每次压入的数量,以便于出栈时接收数据。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)入栈数据</Para1><Para2>(String)入栈数据</Para2><Para3>类推</Para3></Command64><Command65><Name>rec</Name><Desc>#record命令的简写。
用于记录向服务器发送的指令。先用不带参数的#rec开启命令记录功能,此后所有向服务器发送的指令会被逐条记录下来。再次使用#rec <变量>停止记录,并将已记录的指令保存到指定的别名中。如果第二次输入的#rec不带参数,则丢弃已经记录的所有指令。
注:记录的指令是向服务器端发送的最终指令,即经过解析之后的最终结果。空指令不会被记录下来。
一般用作路径录制的功能</Desc><Example>比如手动录制扬州客栈到武庙的路径:
第一步输入 #rec
第二部手动走路到武庙:w;n;w
第三部再次输入 #rec path
到此就完成了路径的录制功能,别名 path 就可以直接从客栈到武庙了
</Example><ParasNum>0</ParasNum></Command65><Command66><Name>record</Name><Desc>用于记录向服务器发送的指令。先用不带参数的#rec开启命令记录功能,此后所有向服务器发送的指令会被逐条记录下来。再次使用#rec <变量>停止记录,并将已记录的指令保存到指定的别名中。如果第二次输入的#rec不带参数,则丢弃已经记录的所有指令。
注:记录的指令是向服务器端发送的最终指令,即经过解析之后的最终结果。空指令不会被记录下来。
一般用作路径录制的功能</Desc><Example>比如手动录制扬州客栈到武庙的路径:
第一步输入 #rec
第二部手动走路到武庙:w;n;w
第三部再次输入 #rec path
到此就完成了路径的录制功能,别名 path 就可以直接从客栈到武庙了
</Example><ParasNum>1</ParasNum><Para1>▽(String)保存记录的别名</Para1></Command66><Command67><Name>run</Name><Desc>对指令串进行解析处理。</Desc><Example>#run "hi;kick";</Example><ParasNum>1</ParasNum><Para1>(String)进行解析的信息或指令</Para1></Command67><Command68><Name>say</Name><Desc>向主窗中添加一条客户端提示信息。该信息不会向服务器端发送,也不会被触发器触发,仅仅是作为提示信息存在。</Desc><Example>#say 显示提示信息!;</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command68><Command69><Name>sayp</Name><Desc>#sayprompt命令的简写。</Desc><Example>#say 显示提示信息!;</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command69><Command70><Name>sayprompt</Name><Desc>向主窗中添加一条不加断行的客户端提示信息。该信息不会向服务器端发送,也不会被触发器触发,仅仅是作为提示信息存在。</Desc><Example>#say 显示提示信息!;</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command70><Command71><Name>send</Name><Desc>跳过客户端解析,直接向服务器端发送指令串。</Desc><Example>#send "kick";</Example><ParasNum>1</ParasNum><Para1>(String)发送的指令</Para1></Command71><Command72><Name>sendto</Name><Desc>向指定的游戏窗口发送指令串进行解析。
可以和#show/#echo一起使用并可以调用变量、函数、颜色控制符作为记录游戏一些事项</Desc><Example>#sendto 记录 #sh $HIW$[%time(MM-DD hh:nn:ss)]$HIM$%1升级一次</Example><ParasNum>2</ParasNum><Para1>(String)目标窗口的标签</Para1><Para2>(String)进行解析的信息或指令</Para2></Command72><Command73><Name>sh</Name><Desc>#show命令的简写。</Desc><Example>#sh XX工作已经完成!</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command73><Command74><Name>show</Name><Desc>向主窗中添加一条信息。该信息被视为服务器端信息,与服务器实际发来的信息同等处理,可以被Lua和触发器触发。为了避免打断服务器信息,添加的信息会等待当前行的信息完整之后,在下一个行才添加进来。</Desc><Example>#show XX工作已经完成!</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command74><Command75><Name>showp</Name><Desc>#showprompt命令的简写。
向主窗中添加一条不加断行的信息。该信息被视为服务器端信息,与服务器实际发来的信息同等处理,可以被Lua和触发器触发。为了避免打断服务器信息,添加的信息会等待当前行的信息完整之后,在下一个行才添加进来。
</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command75><Command76><Name>showprompt</Name><Desc>向主窗中添加一条不加断行的信息。该信息被视为服务器端信息,与服务器实际发来的信息同等处理,可以被Lua和触发器触发。为了避免打断服务器信息,添加的信息会等待当前行的信息完整之后,在下一个行才添加进来。
</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command76><Command77><Name>slmove</Name><Desc>移动数据库记录指针。参数<0时表示向后移动,参数>0时表示向前移动。必须先用#sqlite命令连接数据库并打开一张SQLite数据表之后才能使用,否则将返回一条错误消息。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(Int)记录指针移动n个位置</Para1></Command77><Command78><Name>sqlite</Name><Desc>连接一个SQLite数据库文件,并打开其中一张数据表。不带任何参数时断开现有的数据库连接。可以设定参数二为空字符串(但不能缺省)来表示只连接数据库文件而不打开任何数据表。
可选参数“/m”:在参数三的位置上使用该参数时,会在内存中复制一份内存数据库,作为原数据库的副本,后续所有操作只针对该副本进行,所有变动不会保存到原数据库。这主要是为了保证原数据库的完整性,并在某些时候提高数据库访问速度。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>▽(String)数据库文件的文件名</Para1><Para2>▽(String)数据表的名称,为空表示不打开任何数据表。</Para2><Para3>▽ /m 可选参数</Para3></Command78><Command79><Name>t-</Name><Desc>关闭指定类别名的触发器。不带参数时,关闭类别名为空的触发器。
默认情况下只关闭本资源包内的触发器。如果需要控制其他资源包里的触发器,应当在参数中用“资源包名::类别名”的方式指定目标资源包。</Desc><Example>#t- 学习</Example><ParasNum>1</ParasNum><Para1>▽(String)触发器的类别名</Para1></Command79><Command80><Name>t--</Name><Desc>关闭所有触发器。
默认情况下只关闭本资源包内的触发器。如果需要控制其他资源包里的触发器,应当附带参数指定目标资源包。</Desc><Example>#t--</Example><ParasNum>1</ParasNum><Para1>▽(String)目标资源包名</Para1></Command80><Command81><Name>t+</Name><Desc>打开指定类别名的触发器。不带参数时,打开类别名为空的触发器。
默认情况下只打开本资源包内的触发器。如果需要控制其他资源包里的触发器,应当在参数中用“资源包名::类别名”的方式指定目标资源包。</Desc><Example>#t+ 学习</Example><ParasNum>1</ParasNum><Para1>▽(String)触发器的类别名</Para1></Command81><Command82><Name>t++</Name><Desc>打开所有触发器。
默认情况下只打开本资源包内的触发器。如果需要控制其他资源包里的触发器,应当附带参数指定目标资源包。</Desc><Example>#t++ pack</Example><ParasNum>1</ParasNum><Para1>▽(String)目标资源包名</Para1></Command82><Command83><Name>terminate</Name><Desc>关闭 LordStar 程序。</Desc><Example></Example><ParasNum>0</ParasNum></Command83><Command84><Name>ti</Name><Desc>打开或关闭指定ID的定时器。不指定ID时,打开或关闭ID为空的所有定时器。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(Int)为0时关闭指定定时器,任意非0值时打开</Para1><Para2>▽(String)定时器ID</Para2></Command84><Command85><Name>ti-</Name><Desc>关闭指定ID的定时器。不指定ID时,关闭ID为空的所有定时器。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)定时器ID</Para1></Command85><Command86><Name>ti--</Name><Desc>关闭所有定时器。</Desc><Example></Example><ParasNum>0</ParasNum></Command86><Command87><Name>ti+</Name><Desc>打开指定ID的定时器。不指定ID时,打开ID为空的所有定时器。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)定时器ID</Para1></Command87><Command88><Name>ti++</Name><Desc>打开所有定时器。</Desc><Example></Example><ParasNum>0</ParasNum></Command88><Command89><Name>timer</Name><Desc>新建一条定时器。
注:同一ID只能存在一条定时器,重复ID时新建的将覆盖原有的。ID为空的定时器不受数量限制。不指定ID(即ID为空)不影响定时器的使用,但无法用指令精确操作该条定时器。</Desc><Example>新建一个 ID 为 test,执行两次后删除,每三秒输入一个 hi 的指令。
#timer hi 3 2 test</Example><ParasNum>4</ParasNum><Para1>(String)该定时器要执行的指令</Para1><Para2>▽(Int)定时间隔时间(以秒为单位,支持小数),默认60秒</Para2><Para3>▽(Int)执行次数,达到次数后删除该定时器,默认-1表示无限次</Para3><Para4>▽(String)指定定时器ID。</Para4></Command89><Command90><Name>tr</Name><Desc>#trigger命令的简写。
新建一条触发器。不支持新建颜色触发。
注:同一ID只能存在一条触发器,重复ID时新建的将覆盖原有的。ID为空的触发器不受数量限制。不指定ID(即ID为空)不影响触发器的使用,但无法用指令精确操作该条触发器。</Desc><Example></Example><ParasNum>8</ParasNum><Para1>(String)触发器的触发语句</Para1><Para2>▽(String)触发器的触发指令,可使用{}囊括多条指令</Para2><Para3>▽(String)触发器的类别名称</Para3><Para4>▽(Int)触发器的冷却时间,缺省默认为0</Para4><Para5>▽(Int)触发器是否开启,非0值表示开启,缺省默认开启</Para5><Para6>▽(Int)标记位,1表示当前行触发、2表示使用正则、4表示载入时</Para6><Para7>开启、8表示颜色触发器,默认为0</Para7><Para8>▽(String)指定触发器ID</Para8></Command90><Command91><Name>trigger</Name><Desc>新建一条触发器。不支持新建颜色触发。
注:同一ID只能存在一条触发器,重复ID时新建的将覆盖原有的。ID为空的触发器不受数量限制。不指定ID(即ID为空)不影响触发器的使用,但无法用指令精确操作该条触发器。</Desc><Example></Example><ParasNum>7</ParasNum><Para1>(String)触发器的触发语句</Para1><Para2>▽(String)触发器的触发指令,可使用{}囊括多条指令</Para2><Para3>▽(String)触发器的类别名称</Para3><Para4>▽(Int)触发器的冷却时间,缺省默认为0</Para4><Para5>▽(Int)触发器是否开启,非0值表示开启,缺省默认开启</Para5><Para6>▽(Int)标记位,1表示当前行触发、2表示使用正则、4表示载入时开启、8表示颜色触发器,默认为0</Para6><Para7>▽(String)指定触发器ID</Para7></Command91><Command92><Name>triggers</Name><Desc>开启或关闭触发器和闹钟功能。不加任何参数时,将开关置为相反。
等效命令:#ignore 相当一个不带任何参数的#trs,效果是把将开关置为相反。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽ on/off 只有两个选项,分别表示开启或关闭</Para1></Command92><Command93><Name>trs</Name><Desc>#triggers命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command93><Command94><Name>ts</Name><Desc>修改指定ID的定时器的定时时间。ID为空时,修改所有ID为空的定时器的定时时间。</Desc><Example>修改定id为 dazuo 的定时器时间为50秒
#ts 50 dazuo</Example><ParasNum>2</ParasNum><Para1>(Int)定时器的定时时间</Para1><Para2>▽(String)定时器ID</Para2></Command94><Command95><Name>tz</Name><Desc>重置指定ID的定时器的定时时间。ID为空时,重置所有ID为空的定时器。</Desc><Example>重置id为 dazuo 的定时器时间
#tz dazuo</Example><ParasNum>1</ParasNum><Para1>▽(String)定时器ID</Para1></Command95><Command96><Name>unal</Name><Desc>#unalias命令的简写。</Desc><Example>删除别名:xkx
#unal xkx</Example><ParasNum>1</ParasNum><Para1>(String)别名的名称</Para1></Command96><Command97><Name>unalias</Name><Desc>删除指定的别名。</Desc><Example>删除别名:xkx
#unal xkx</Example><ParasNum>1</ParasNum><Para1>(String)别名的名称</Para1></Command97><Command98><Name>until</Name><Desc>重复执行指令,直到逻辑判断语句结果为真时停止。
在必要时(比如陷入了死循环运算)也可使用#break命令强制终止。</Desc><Example>a=0;#until @a>10 {#say a=@a;#add a 1}
重复执行参数二的指令串,当大于十次后停止</Example><ParasNum>2</ParasNum><Para1>(String)逻辑判断语句</Para1><Para2>(String)执行的指令</Para2></Command98><Command99><Name>unva</Name><Desc>#unvar命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command99><Command100><Name>unvar</Name><Desc>删除指定的变量。</Desc><Example>删除变量 num
#unvar num</Example><ParasNum>1</ParasNum><Para1>(String)变量的名称</Para1></Command100><Command101><Name>unwa</Name><Desc>#unwait命令的简写。</Desc><Example>#unwait 清空#wait命令建立的延迟指令。
#unwait wf 清空#waitfor命令建立的延迟指令。
#unwait all 清空#wait命令和#waitfor命令建立的所有延迟指令。</Example><ParasNum>1</ParasNum><Para1>▽ waitfor/wf 或 all/a 可选参数</Para1></Command101><Command102><Name>unwait</Name><Desc>清空全部延迟执行指令。用#wait命令延迟执行的指令列表将被清空,所有尚未执行的延迟指令都被删除。
可选参数“waitfor”:清空#waitfor命令建立的延迟指令。
可选参数“all”:清空#wait命令和#waitfor命令建立的所有延迟指令。</Desc><Example>#unwait 清空#wait命令建立的延迟指令。
#unwait wf 清空#waitfor命令建立的延迟指令。
#unwait all 清空#wait命令和#waitfor命令建立的所有延迟指令。</Example><ParasNum>1</ParasNum><Para1>▽ waitfor/wf 或 all/a 可选参数</Para1></Command102><Command103><Name>va</Name><Desc>#var命令的简写。
为指定的变量赋值。如果该变量不存在,则新建一个并赋值。</Desc><Example>赋值变量名 “num” 为 “1”,变量名不存在的时候自动新建。
#var num 1</Example><ParasNum>2</ParasNum><Para1>(String)指定的变量名,可使用函数和运算式,动态生成变量名</Para1><Para2>(String)待赋于的新值</Para2></Command103><Command104><Name>var</Name><Desc>为指定的变量赋值。如果该变量不存在,则新建一个并赋值。</Desc><Example>赋值变量名 “num” 为 “1”,变量名不存在的时候自动新建。
#var num 1</Example><ParasNum>2</ParasNum><Para1>(String)指定的变量名,可使用函数和运算式,动态生成变量名</Para1><Para2>(String)待赋于的新值</Para2></Command104><Command105><Name>wa</Name><Desc>#wait命令的简写。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>▽(Int)延迟时间,以毫秒为单位,缺省默认为1000</Para1><Para2>▽(String)逻辑判断语句,缺省默认为真</Para2></Command105><Command106><Name>wait</Name><Desc>延迟指定时间之后,再对逻辑语句进行判断,判断结果为真,则执行后续指令,为假则丢弃后续指令。</Desc><Example>延迟一秒后执行后续指令:
#wa 1000</Example><ParasNum>2</ParasNum><Para1>▽(Int)延迟时间,以毫秒为单位,缺省默认为1000</Para1><Para2>▽(String)逻辑判断语句,缺省默认为真</Para2></Command106><Command107><Name>while</Name><Desc>重复执行指令,直到逻辑判断语句结果为假时停止。
在必要时(比如陷入了死循环运算)也可使用#break命令强制终止。
</Desc><Example>与 #until 指令相反</Example><ParasNum>2</ParasNum><Para1>(String)逻辑判断语句</Para1><Para2>(String)执行的指令</Para2></Command107><Command108><Name>write</Name><Desc>对指定ID文件写入一行信息,写入位置位于指定行之后。
写入的信息仅保存在内存,并没有实际保存至硬盘文件,只有用户调用#close关闭文件时才执行写入硬盘操作。
相关命令与函数:#file/#close/%read()</Desc><Example>对ID是 a 的文件写入"明楼kill南帝" :#write a "明楼kill南帝 "
写入到第一行:#write a "明楼kill南帝 " 0
写入到第nn行:#write a "明楼kill南帝 " 11</Example><ParasNum>3</ParasNum><Para1>(String)指定文件的ID</Para1><Para2>(String)写入的信息</Para2><Para3>▽(Int)写入位置行,为0时写入第一行,缺省默认写入最后一行</Para3></Command108><Command109><Name>yesno</Name><Desc>打开一个确认框,供用户进行“是”与“否”的选择,并根据选择执行相应的命令。</Desc><Example>#yesno 是否做胡一刀? 是:{#var do_hyd 1} 否:{#var do_hyd 0};
弹出一个“是/否”选择对话框选择“是”的时候 执行 #var do_hyd 1。选择“否”执行 #var do_hyd 0
</Example><ParasNum>3</ParasNum><Para1>(String)提醒用户进行选择确认的提示语</Para1><Para2>(String)“是”按钮的替换提示语与执行指令,中间用:隔开</Para2><Para3>(String)“否”按钮的替换提示语与执行指令,中间用:隔开</Para3></Command109><Command110><Name>new</Name><Desc>对当前游戏新建配置。相当于“设置-新建”菜单的功能。</Desc><Example>#new</Example><ParasNum>0</ParasNum></Command110><Command111><Name>sltable</Name><Desc>在当前已连接的数据库中,使用SQL语句打开一张指定的数据表。如果此前已有打开的数据表,会先关闭该表。必须先用#sqlite命令连接数据库之后才能使用。
不带任何参数时,表示关闭现有已打开的数据表(但不会关闭数据库连接)。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>▽(String)数据表名</Para1><Para2>▽(String)SQL语句,可缺省,默认为‘SELECT * FROM 参数一’</Para2></Command111><Command112><Name>sql</Name><Desc>在当前已连接的数据库中运行一条SQL语句。必须先用#sqlite命令连接数据库之后才能使用。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)SQL语句</Para1></Command112><Command113><Name>con</Name><Desc>#connect命令的简写。
参数1、2缺省为断开现有连接,并重新连线服务器。</Desc><Example>断开当前连接,并连接到另外一个地址:#connect 1.1.1.1 2222</Example><ParasNum>2</ParasNum><Para1>▽(String)服务器地址</Para1><Para2>▽(Int)服务器端口</Para2></Command113><Command114><Name>dis</Name><Desc>#disconnect命令的简写。
断开当前游戏连接。</Desc><Example>#dis</Example><ParasNum>0</ParasNum></Command114><Command115><Name>logfile</Name><Desc>持续往指定的纯文本文件中写入游戏文字信息,直到#logfile off停止记录或游戏窗口被关闭。当开启调试模式时,写入的是服务器发来的原始信息。
注意:长时间持续不断地往文件中写入信息可能导致该文件十分庞大,从而拖累整个程序速度变慢。</Desc><Example>往log.txt文件中写入文字信息:
#logfile "log.txt";
停止记录:
#logfile off;</Example><ParasNum>1</ParasNum><Para1>▽(String)纯文本文件名或“off”关闭</Para1></Command115><Command116><Name>window</Name><Desc>#sendto命令的别名。</Desc><Example></Example><ParasNum>0</ParasNum></Command116><Command117><Name>all</Name><Desc>向所有游戏窗口发送指令串进行解析。</Desc><Example>向所有游戏窗口发送指令hi:#all hi;</Example><ParasNum>1</ParasNum><Para1>(String)进行解析的信息或指令</Para1></Command117><Command118><Name>split</Name><Desc>游戏主窗口分为上下两个子窗口并列显示,以便查看历史信息。再次执行则取消分窗显示。
分窗显示时系统默认下窗显示10行文字,可通过参数一指定一个数字,用来表示分窗时下窗显示的行数。
传统mud客户端的分屏操作</Desc><Example>可以在Ls的宏建里面新建一个快捷键,指令为 #split</Example><ParasNum>1</ParasNum><Para1>▽(Int)下窗保留文字行数</Para1></Command118><Command119><Name>reloadscript</Name><Desc>重载当前游戏所有资源包里的脚本。</Desc><Example></Example><ParasNum>0</ParasNum></Command119><Command120><Name>break</Name><Desc>终止正在进行中的所有循环命令计算,比如:#if、#while、#until。</Desc><Example>i=0;#while 1 {#add i 1;#if @i>2 {#break}}
当i的值累积超过2时,就会终止循环命令。</Example><ParasNum>0</ParasNum></Command120><Command121><Name>save</Name><Desc>将当前游戏的设置保存到指定的存盘文件。不带参数时,保存到当前游戏的默认存盘文件。</Desc><Example>#save
或者
#save temp.lsu;</Example><ParasNum>1</ParasNum><Para1>▽(String)存盘文件名</Para1></Command121><Command122><Name>delalarm</Name><Desc>删除指定ID的闹钟。</Desc><Example>删除ID名称为idle的闹钟:#delalarm idle</Example><ParasNum>1</ParasNum><Para1>(String)闹钟的ID</Para1></Command122><Command123><Name>deltimer</Name><Desc>删除指定ID的定时器。</Desc><Example>删除ID为t的定时器:#deltimer t</Example><ParasNum>1</ParasNum><Para1>(String)定时器的ID</Para1></Command123><Command124><Name>mapedit</Name><Desc>编辑当前地图中指定房间的指定字段,修改为新值。可以用“<字段1>.<字段2>”套叠的方式指定下层字段,比如“exits.south”。</Desc><Example>房间1的exits.north 设置为 2:
#mapedit 1 exits.north 2</Example><ParasNum>3</ParasNum><Para1>(String)房间ID</Para1><Para2>(String)指定字段</Para2><Para3>(String)值</Para3></Command124><Command125><Name>mapdel</Name><Desc>#mapdelete命令的简写。
编辑当前地图中指定的房间,删除指定字段。可以用“<字段1>.<字段2>”套叠的方式指定下层字段,比如“exits.south”。
当参数二为空(也就是不指定字段)时,删除整个房间。
注意:删除房间时,并不会修改其他房间到此房间的出口链接,你需要自己编辑此类链接,以免导致地图出现断链。</Desc><Example>删除房间编号为1的房间:
#mapdelete 1;
删除房间编号为1的房间中的指定字段:</Example><ParasNum>2</ParasNum><Para1>(String)房间ID</Para1><Para2>▽(String)指定字段</Para2></Command125><Command126><Name>mapdelete</Name><Desc>编辑当前地图中指定的房间,删除指定字段。可以用“<字段1>.<字段2>”套叠的方式指定下层字段,比如“exits.south”。
当参数二为空(也就是不指定字段)时,删除整个房间。
注意:删除房间时,并不会修改其他房间到此房间的出口链接,你需要自己编辑此类链接,以免导致地图出现断链。</Desc><Example>删除房间编号为1的房间:
#mapdelete 1;
删除房间编号为1的房间中的指定字段:
#mapdelete 1 exits.north;</Example><ParasNum>2</ParasNum><Para1>(String)房间ID</Para1><Para2>▽(String)指定字段</Para2></Command126><Command127><Name>beep</Name><Desc>从机器的扬声器中发出一声蜂鸣声(播放由Windows系统默认定义的声音),作为提示音。</Desc><Example></Example><ParasNum>0</ParasNum></Command127><Command128><Name>casedo</Name><Desc>根据参数一设置的初始参照值,依次判断后续各对比值,选择执行指令。对比值和指令的数量无限制,只要给定的对比值与参数一相同就执行指令。对比值可以是数值,也可以是字符。如果对比值为空,表示为默认值,当没有其他对比值符合要求时执行该指令(有则不执行)。</Desc><Example>#casedo @a {1:do1} {2:do2} {sth:do3} {:default}
假如a=1,则指令执行1后的指令,以此类推。如果变量a的内容不在列表中,则执行最后一句default指令。中间的指令集可以任意数量。</Example><ParasNum>4</ParasNum><Para1>(String)参照值</Para1><Para2>▽(String)对比值:指令</Para2><Para3>▽(String)对比值:指令</Para3><Para4>类推</Para4></Command128><Command129><Name>loadpack</Name><Desc>从指定的存盘文件中加载一个资源包。</Desc><Example>#loadpack "map.lsp";
前提条件是map.lsp这个文件必须放在package文件夹下</Example><ParasNum>1</ParasNum><Para1>(String)资源包存盘文件的文件名</Para1></Command129><Command130><Name>delpack</Name><Desc>删除指定的资源包。主资源包不能被删除,但会清空所有内容。</Desc><Example>删除资源包test:#delpack test</Example><ParasNum>1</ParasNum><Para1>(String)资源包的ID</Para1></Command130><Command131><Name>mccp</Name><Desc>显示当前MCCP的有关信息。
MCCP(Mud Client Compression Protocol)是一种MUD压缩协议,用于压缩MUD和客户端之间的数据,有助于缩减带宽开支,减少网络延迟。
</Desc><Example>#mccp</Example><ParasNum>0</ParasNum></Command131><Command132><Name>newgame</Name><Desc>新建一个游戏窗口,并连线服务器。如果不指定服务器和端口时,使用与调用此命令的窗口相同的配置。可以在参数三指定一个设置文件名,当新建窗口之后立即加载该文件中保存的设置。</Desc><Example>#newgame 42.194.194.5 8888
#newgame server.mudbest.com 1212</Example><ParasNum>3</ParasNum><Para1>▽(String)服务器地址</Para1><Para2>▽(Int)服务器端口</Para2><Para3>▽(String)在新窗口自动加载的设置文件名</Para3></Command132><Command133><Name>endtr</Name><Desc>#endtrigger命令的简写
中止同一资源包内剩余其他触发器的本次检测。
如果增加参数all,则中止所有资源包的触发器检测。</Desc><Example>#endtrigger all
当该指令被执行时,其他尚未生效的触发器都被跳过。</Example><ParasNum>1</ParasNum><Para1>▽ all 可选参数</Para1></Command133><Command134><Name>endtrigger</Name><Desc>中止同一资源包内剩余其他触发器的本次检测。
如果增加参数all,则中止所有资源包的触发器检测。</Desc><Example>#endtrigger all
当该指令被执行时,其他尚未生效的触发器都被跳过。</Example><ParasNum>1</ParasNum><Para1>▽ all 可选参数</Para1></Command134><Command135><Name>loadmap</Name><Desc>载入指定的地图文件。相当于“地图-加载”菜单的功能。</Desc><Example>#loadmap "fy3.lsm";
前提条件是fy3.lsm这个文件必须放在map文件夹下</Example><ParasNum>1</ParasNum><Para1>(String)地图文件的文件名</Para1></Command135><Command136><Name>waitfor</Name><Desc>延迟等待,在指定的触发语句被触发之后,再继续执行后续指令。如果直到超时还未被触发,则丢弃后续指令,改为执行指定的超时替换指令。
触发语句中如有截取匹配值,可在参数五指定一个变量名,以集合型变量的方式保存在该变量。不指定参数五则不保存。</Desc><Example>#waitfor {你点了点头。} 3000 0 {#say 我三秒内还没点头};#say 我在三秒内点过头
示例讲解:三秒(参数二)内没有匹配到"你点了点头"(参数一)的语句执行"#say 我在三秒内还没点头"(参数三),
如果三秒内匹配到则执行"#say 我在三秒内点过头"(参数四)</Example><ParasNum>5</ParasNum><Para1>(String)触发语句,触发规则与触发器相同</Para1><Para2>▽(Int)超时时限,以毫秒计算,缺省默认1000毫秒</Para2><Para3>▽(Int)触发语句标记,1为当前行触发、2为正则,默认为0</Para3><Para4>▽(String)超时替换指令</Para4><Para5>▽(String)保存截取匹配值的变量名</Para5></Command136><Command137><Name>loop</Name><Desc>按照指定的次数,重复执行指令。在指令中可以使用%i来获取当前重复次数,也可使用#break命令结束循环(当次循环会继续执行完),或使用#abort直接终止后续所有指令。</Desc><Example>#loop 3 {#say 这是第%i次说hi;}</Example><ParasNum>2</ParasNum><Para1>(Int)重复次数</Para1><Para2>(String)执行指令</Para2></Command137><Command138><Name>playmedia</Name><Desc>播放一个外部的多媒体文件。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)要播放的多媒体文件名</Para1></Command138><Command139><Name>playsound</Name><Desc>播放一个外部的声音文件。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)要播放的声音文件名</Para1></Command139><Command140><Name>deltriggerclass</Name><Desc>删除指定类别的所有触发器。参数为空时,删除所有类别为空的触发器。删除指定资源包内的触发器时,参数一可以使用“packname::classname”的格式。</Desc><Example>删除a资源包里类别为b的所有触发器:#deltriggerclass a::b</Example><ParasNum>1</ParasNum><Para1>▽(String)触发器的类别</Para1></Command140><Command141><Name>clearalias</Name><Desc>清空指定资源包内的所有别名。参数一为空时,默认为主资源包。</Desc><Example>清空资源包pack中的所有别名:#clearalias pack</Example><ParasNum>1</ParasNum><Para1>▽(String)资源包的名字</Para1></Command141><Command142><Name>cleartrigger</Name><Desc>清空指定资源包内的所有触发器。参数一为空时,默认为主资源包。</Desc><Example>清空资源包pack中的所有触发器:#cleartrigger pack</Example><ParasNum>1</ParasNum><Para1>▽(String)资源包的名字</Para1></Command142><Command143><Name>clearvar</Name><Desc>清空指定资源包内的所有变量。参数一为空时,默认为主资源包。</Desc><Example>清空资源包pack中的所有变量:#clearvar pack</Example><ParasNum>1</ParasNum><Para1>▽(String)资源包的名字</Para1></Command143><Command144><Name>event</Name><Desc>新建一个事件。当指定资源包时,将事件建立在此资源包里;不指定参数三(或指定的资源包不存在时),将事件建立在主资源包里。</Desc><Example>添加一个事件:#event OnSend {do sth}</Example><ParasNum>3</ParasNum><Para1>(String)所响应的事件</Para1><Para2>(String)事件触发之后所运行的指令</Para2><Para3>▽(String)指定资源包</Para3></Command144><Command145><Name>httpget</Name><Desc>使用get方法向目标服务器发送http请求。由于网络延迟,该请求的响应结果可能会有一段时间的延迟。如果指定了参数二,在请求成功之后,返回值结果将保存在参数二指定的变量中。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)目标服务器的完整URL地址</Para1><Para2>▽(String)保存服务器响应结果的变量名</Para2></Command145><Command146><Name>httppost</Name><Desc>使用post方法向目标服务器发送http请求,参数二为提交给服务器的数据。由于网络延迟,该请求的响应结果可能会有一段时间的延迟。如果指定了参数三,在请求成功之后,返回值结果将保存在参数三指定的变量中。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)目标服务器的完整URL地址</Para1><Para2>▽(String)向服务器提交的数据</Para2><Para3>▽(String)保存服务器响应结果的变量名</Para3></Command146><Command147><Name>delxitem</Name><Desc>从集合型变量中删除所有指定值的子项。</Desc><Example>删除变量a中所有子项xx:#delxitem a xx</Example><ParasNum>2</ParasNum><Para1>(String)集合型变量的名称</Para1><Para2>(String)要删除的子项</Para2></Command147><Command148><Name>dwin</Name><Desc>添加一个可见状态的小窗。</Desc><Example>添加尺寸为800*100的小窗,用于显示mxp图片:#dwin {::mxp} {mxp} 0 0 800 100 1</Example><ParasNum>7</ParasNum><Para1>(String)小窗的指令</Para1><Para2>▽(String)小窗的标题</Para2><Para3>▽(Int)小窗的左侧或右侧位置(根据左对齐或右对齐)</Para3><Para4>▽(Int)小窗的上侧位置</Para4><Para5>▽(Int)小窗的宽度</Para5><Para6>▽(Int)小窗的高度</Para6><Para7>▽(Bool)小窗是否为右对齐(0表示否,非0值表示是)</Para7></Command148><Command149><Name>status</Name><Desc>修改当前游戏窗口的提示栏信息。可以调用变量</Desc><Example>#stat @name</Example><ParasNum>1</ParasNum><Para1>(String)在提示栏上显示的信息</Para1></Command149><Command150><Name>stat</Name><Desc>#status命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command150><Command151><Name>port</Name><Desc>用于建立双向TCP连接。可用的功能选项包括:init/pass/uninit/call/zap/name/prefix/suffix/listen/who/send等。
在客户端中输入#port指令可查看各项功能的更多信息。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)功能选项</Para1><Para2>(String)参数</Para2></Command151><Command152><Name>t-id</Name><Desc>关闭指定ID的触发器。如果需要控制指定资源包里的触发器,应当使用“资源包名::ID”的格式。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)触发器的ID</Para1></Command152><Command153><Name>t+id</Name><Desc>打开指定ID的触发器。如果需要控制指定资源包里的触发器,应当使用“资源包名::ID”的格式。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)触发器的ID</Para1></Command153><Command154><Name>checkobjs</Name><Desc>显示 LordStar 现有指定对象的数量(包含所有游戏窗口的总数)。无参数时,显示所有对象的数量。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)指定对象名</Para1></Command154><Command155><Name>delevent</Name><Desc>删除指定资源包中指定类型的所有事件。事件类型ID可以查看事件编辑窗口中的英文ID,比如OnSend、OnLoad等,大小写敏感。
不指定事件类型时,删除指定资源包里的所有事件。
不指定资源包时,删除所有资源包里的类型事件。
不带任何参数时,清空全部事件。</Desc><Example>删除pack资源包中的OnSend事件:#delevent OnSend pack</Example><ParasNum>2</ParasNum><Para1>▽(String)事件类型ID</Para1><Para2>▽(String)指定资源包</Para2></Command155><Command156><Name>varcopy</Name><Desc>将参数一指定的源变量的值,复制到参数二指定的目标变量。如果源变量值包含嵌套表数据,连同所有嵌套表一并复制。
目标变量名不存在的时候会自动新建。</Desc><Example>将变量 a 的值赋值到变量 b:
#varcopy a b</Example><ParasNum>2</ParasNum><Para1>(String)源变量名</Para1><Para2>(String)目标变量名</Para2></Command156><Command157><Name>updatemxp</Name><Desc>重新从服务器原始url地址下载当前MXP图片。</Desc><Example>字面意思</Example><ParasNum>0</ParasNum></Command157><Command158><Name>grep</Name><Desc>在已打开的指定ID的文件中进行从头到尾的全量搜索,查找同时包含各参数字符串的行,搜索结果以集合型字符串的方式,存入指定的变量。</Desc><Example>从文件id为1的文件中搜索包含内容为"测试"的行,结果存到变量a中:
#grep a 1 "测试"</Example><ParasNum>5</ParasNum><Para1>(String)保持搜索结果的变量名</Para1><Para2>(String)打开文件ID</Para2><Para3>(String)查找字符串一</Para3><Para4>(String)查找字符串二</Para4><Para5>类推</Para5></Command158><Command159><Name>noop</Name><Desc>空操作,不执行任何操作。</Desc><Example>#noop</Example><ParasNum>0</ParasNum></Command159><Command160><Name>socks</Name><Desc>修改当前游戏连接的Socks代理,</Desc><Example></Example><ParasNum>5</ParasNum><Para1>(String)代理服务器地址</Para1><Para2>(Int)代理服务器端口</Para2><Para3>▽(String)级别</Para3><Para4>▽(String)用户ID</Para4><Para5>▽(String)用户密码</Para5></Command160></AllCommands><AllFunctions><Funtion1><Name>abs</Name><Desc>返回绝对值。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(Int)数字</Para1></Funtion1><Funtion2><Name>additem</Name><Desc>在集合型字符串中增加一个子项,处理结果作为返回值。当参数三不为空时,按照参数三指定的位置增加子项。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)要增加的子项</Para1><Para2>(String)集合型字符串</Para2><Para3>▽(Int)在指定的位置新增子项</Para3></Funtion2><Funtion3><Name>alias</Name><Desc>返回指定窗口的某个别名所指代的指令。不带参数二时,默认获取当前窗口的别名。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定的别名</Para1><Para2>▽(String)指定游戏窗口的名称标签</Para2></Funtion3><Funtion4><Name>arblist</Name><Desc>把字符串中的中文数字转换为阿拉伯数字。中文数字可以是不包含百、千、万分位的简化描述,比如:二四六七,同时兼容 %arbnum() 的数字格式。最大不能超过9223372036854775807。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)中文数字字符串</Para1></Funtion4><Funtion5><Name>arbnum</Name><Desc>把字符串中的中文数字转换为阿拉伯数字。中文数字应当是包含百、千、万分位的标准描述,比如:一亿零二十三万四千零六十七。最大不能超过9223372036854775807。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)中文数字字符串</Para1></Funtion5><Funtion6><Name>begins</Name><Desc>检查参数一字符串是否以参数二字符串开头,是则返回1,否则返回0。
示例:参数一:abcdef,参数二:abc,返回值为1。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(String)字符串</Para2></Funtion6><Funtion7><Name>case</Name><Desc>对参数一进行数值计算,按照计算结果返回后续参数的值。为1返回参数二、为2返回参数三,以此类推。如果计算结果≤0或大于后续参数的个数,则返回空字符。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(Int)数值</Para1><Para2>(String)返回值一</Para2><Para3>(String)返回值二</Para3><Para4>类推</Para4></Funtion7><Funtion8><Name>char</Name><Desc>对参数进行数值计算,返回对应ASCII码的字符。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(Int)数值</Para1></Funtion8><Funtion9><Name>chnnum</Name><Desc>把阿拉伯数字转换为中文数字。最大不能超过9223372036854775807。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(Int)数值</Para1></Funtion9><Funtion10><Name>concat</Name><Desc>返回所有参数字符串的串联值。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)字符串一</Para1><Para2>(String)字符串二</Para2><Para3>类推</Para3></Funtion10><Funtion11><Name>copy</Name><Desc>从参数一中复制出指定位置和长度的字符,不进行任何中文字符判断,有可能截取到半个中文字。如需进行中文字符判断,应当使用ncopy或xcopy函数。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)源字符串</Para1><Para2>(Int)复制起始位置</Para2><Para3>(Int)复制长度</Para3></Funtion11><Funtion12><Name>counteract</Name><Desc>对集合型字符串中包含的行走路径进行正反方向抵消,返回抵消清理之后的路径。
示例:s=w|w|e,返回值为w;s=e|s|w|s|n|e,返回值为e|s</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)包含方向的集合型字符串</Para1></Funtion12><Funtion13><Name>delitem</Name><Desc>在集合型字符串中查找第一个指定值的子项,删除该值之后,剩下的部分作为返回值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)查找并删除的指定值</Para1><Para2>(String)集合型字符串</Para2></Funtion13><Funtion14><Name>delnitem</Name><Desc>在集合型字符串中删除指定位置上的子项,剩下的部分作为返回值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(Int)指定删除位置</Para1><Para2>(String)集合型字符串</Para2></Funtion14><Funtion15><Name>delxitem</Name><Desc>在集合型字符串中查找所有等于指定值的子项,删除该值之后,剩下的部分作为返回值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)查找并删除的指定值</Para1><Para2>(String)集合型字符串</Para2></Funtion15><Funtion16><Name>different</Name><Desc>依次比较两个字符串中的字符,返回两者之间不相同的子串。
如果两个字符串的长度不一样,较长的那个将被截断成同样的长度之后才进行比较。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)对比字符串</Para1><Para2>(String)对比字符串</Para2></Funtion16><Funtion17><Name>diffpos</Name><Desc>依次比较两个字符串中的字符,返回两者之间不相同子串出现的位置。
如果两个字符串的长度不一样,较长的那个将被截断成同样的长度之后才进行比较。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)对比字符串</Para1><Para2>(String)对比字符串</Para2></Funtion17><Funtion18><Name>div</Name><Desc>获取参数一整除参数二的值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(Int)数值</Para1><Para2>(Int)数值</Para2></Funtion18><Funtion19><Name>dups</Name><Desc>对集合型字符串的子项进行检查,删除所有重复的子项,返回清理之后的结果。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)集合型字符串</Para1></Funtion19><Funtion20><Name>ends</Name><Desc>检查参数一字符串是否以参数二字符串结尾,是则返回1,否则返回0。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(String)字符串</Para2></Funtion20><Funtion21><Name>equal</Name><Desc>比较两个字符串和是否相同,相同返回1,不同返回0。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(String)字符串</Para2></Funtion21><Funtion22><Name>eval</Name><Desc>对参数进行数值运算。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)运算式</Para1></Funtion22><Funtion23><Name>expdir</Name><Desc>把简写的行走方向扩展为完整的拼写,或者把完整的拼写缩写为简写。
示例:e返回east;s返回south,east返回e;south返回s
</Desc><Example>%expdir(e) 返回east。
%expdir(east) 返回e。</Example><ParasNum>1</ParasNum><Para1>(String)方向简写</Para1></Funtion23><Funtion24><Name>file</Name><Desc>检查是否已经打开一份ID为参数一的文件可供读写。存在返回1,不存在返回0。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)文件ID</Para1></Funtion24><Funtion25><Name>float</Name><Desc>对参数进行浮点运算。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)浮点运算式</Para1></Funtion25><Funtion26><Name>fuzzy</Name><Desc>对两个字符串进行模糊匹配,以确定两者是否可以视为相等。匹配方法是以参数一的所有文字(含中英文)依次在参数二中进行包含比对,如果比对结果超过参数三的百分值,则认为匹配成功,返回值1,否则返回0。
参数三的值只能介于1~99之间,数值越大越难以匹配成功。也可缺省,默认值为75,即超过75%的文字匹配成功。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)字符串</Para1><Para2>(String)字符串</Para2><Para3>▽(Int)匹配百分比</Para3></Funtion26><Funtion27><Name>gamebytes</Name><Desc>返回当前游戏窗口迄今为止接收到服务器发来数据的总字节数。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion27><Funtion28><Name>gamescount</Name><Desc>返回当前程序开启的游戏窗口总数。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion28><Funtion29><Name>getglobal</Name><Desc>获取指定全局变量的值。全局变量是当前程序所有窗口都可以使用的公共变量。
不带参数时,以客户端信息方式列出当前现有的所有全局变量。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)指定的全局变量名</Para1></Funtion29><Funtion30><Name>grep</Name><Desc>在已打开的指定ID的文件中进行从头到尾的全量搜索,查找同时包含各参数字符串的行,搜索结果存为集合型字符串作为返回值。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(String)打开文件ID</Para1><Para2>(String)查找字符串一</Para2><Para3>(String)查找字符串二</Para3><Para4>类推</Para4></Funtion30><Funtion31><Name>i</Name><Desc></Desc><Example></Example><ParasNum>0</ParasNum></Funtion31><Funtion32><Name>if</Name><Desc>对参数一进行逻辑判断,为真则返回参数二的值,为假则返回参数三的值(如果没有参数三则返回空字符)。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(Bool)逻辑判断</Para1><Para2>(String)为真的返回值</Para2><Para3>▽(String)为假的返回值</Para3></Funtion32><Funtion33><Name>include</Name><Desc>将集合型字符串中各个子项依次与参数一进行比较,如果参数一中包含了所有子项字符(即所有子项都是参数一的一部分),则返回1,否则返回0。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(String)集合型字符串</Para2></Funtion33><Funtion34><Name>int</Name><Desc>对参数进行整数运算,也可用于浮点数值的取整。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)运算式</Para1></Funtion34><Funtion35><Name>isconnect</Name><Desc>判断当前游戏是否已经连上服务器,是则返回1,否则返回0。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion35><Funtion36><Name>isint</Name><Desc>判定参数是否为有效数字,是则返回1,否则返回0。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)数值</Para1></Funtion36><Funtion37><Name>ismember</Name><Desc>查找集合型字符串中是否存在指定的子项,如果存在则返回其位置,不存在返回0。
与 %itemindex() 的功能类似,但参数的位置顺序不同。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)查找子项</Para1><Para2>(String)集合型字符串</Para2></Funtion37><Funtion38><Name>item</Name><Desc>%itemvalue()函数的简写</Desc><Example></Example><ParasNum>0</ParasNum></Funtion38><Funtion39><Name>itemcount</Name><Desc>计算集合型字符串中含有多少个子项。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)集合型字符串</Para1></Funtion39><Funtion40><Name>iteminclude</Name><Desc>比较两个集合型字符串,如果参数一中包含了参数二的所有子项,则返回1,否则返回0。
与%include()函数的区别在于:%include()的参数一是一个单独的字符串,把该字符串与参数二的子项做对比;而本函数的参数一是一个集合型,把其子项与参数二的子项做一一对比。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)集合型字符串</Para1><Para2>(String)集合型字符串</Para2></Funtion40><Funtion41><Name>itemindex</Name><Desc>从集合型字符串中,查找指定子项在集合中重复出现第n次(参数三)时的位置。
参数三可以缺省,默认情况下为1,即返回指定子项第1次出现的位置。如果变量中没有包含指定子项,或是包含子项的个数小于参数三,则返回0。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)集合型字符串</Para1><Para2>(String)查找子项</Para2><Para3>▽(Int)指定出现次数</Para3></Funtion41><Funtion42><Name>itemvalue</Name><Desc>从集合型字符串中,返回指定位置上的子项值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)集合型字符串</Para1><Para2>(Int)指定位置</Para2></Funtion42><Funtion43><Name>label</Name><Desc>返回从左侧起第n个游戏窗口的标签名称。参数缺省或为零时,返回当前游戏窗口的名称。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(Int)指定窗口位置</Para1></Funtion43><Funtion44><Name>left</Name><Desc>返回字符串左侧指定数量的字符。不进行任何中文字符判断,有可能截取到半个中文字。如需进行中文字符判断,应当使用nleft或xleft函数。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion44><Funtion45><Name>len</Name><Desc>返回字符串的长度。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)字符串</Para1></Funtion45><Funtion46><Name>line</Name><Desc>获取指定名称的游戏窗口上指定行的文字信息。指定名称为空时表示获取当前游戏窗口的行信息。
指定行为0表示获取当前焦点所在行;为1表示获取最后一行;为x表示获取倒数第x行。
指定行可缺省,默认获取最后一行。但在触发器中使用时,表示获取触发行的文字。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>▽(String)游戏窗口名称</Para1><Para2>▽(Int)指定行</Para2></Funtion46><Funtion47><Name>lower</Name><Desc>返回指定字符串的字母小写值。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)源字符串</Para1></Funtion47><Funtion48><Name>match</Name><Desc>用触发器语句对字符串进行触发检查,以判断其是否符合触发条件,
返回值为1或0。相关规则与触发器相同。
如果触发器语句中设置了抓取匹配值的功能,触发成功时匹配值将存放在变量三中。如果抓取了多个值,则保存为集合型变量。未指定参数三时不保存匹配值。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)检查字符串</Para1><Para2>(String)触发器语句</Para2><Para3>▽(String)保存抓取值的变量名</Para3></Funtion48><Funtion49><Name>max</Name><Desc>返回多个数值中的最大值。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(Int)数值</Para1><Para2>(Int)数值</Para2><Para3>类推</Para3></Funtion49><Funtion50><Name>min</Name><Desc>返回多个数值中的最小值。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(Int)数值</Para1><Para2>(Int)数值</Para2><Para3>类推</Para3></Funtion50><Funtion51><Name>mod</Name><Desc>获取参数一除以参数二的余值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(Int)数值</Para1><Para2>(Int)数值</Para2></Funtion51><Funtion52><Name>null</Name><Desc>检查参数是否为空或0。为空或为零返回1,否则返回0。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)字符串</Para1></Funtion52><Funtion53><Name>numitems</Name><Desc>与%itemcount()函数相同。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion53><Funtion54><Name>numwords</Name><Desc>获取字符串中所包含单词的总数量,各单词之间以参数二作为分隔符分开。参数二缺省时默认为空格。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>▽(String)单词分隔符</Para2></Funtion54><Funtion55><Name>oppdir</Name><Desc>返回参数的反方向。
示例:e返回w;southup返回northdown。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)方向</Para1></Funtion55><Funtion56><Name>pos</Name><Desc>返回参数一第n次在参数二字符串中出现时的位置。如果参数二中不包含参数一,则返回0。不指定参数三时,默认为第1次;参数三为0时,表示查找最后一次出现的位置。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)字符串</Para1><Para2>(String)字符串</Para2><Para3>▽(Int)出现次数</Para3></Funtion56><Funtion57><Name>random</Name><Desc>只有参数一时,返回一个大于等于0且小于参数一的随机整数。有两个参数时,返回一个大于等于参数一且小于等于参数二的随机整数。
两个参数的值最大不能超过2147483647。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(Int)数值</Para1><Para2>▽(Int)数值</Para2></Funtion57><Funtion58><Name>rawline</Name><Desc>获取指定名称的游戏窗口上某一行的原始文字信息(即服务器上发来的带有各种控制码且未经解析的原始信息)。无参数二时表示获取当前游戏窗口的行信息。
参数一为0时获取当前焦点所在行;为1时表示获取最后一行,为x时获取倒数第x行。
参数一可缺省,默认获取最后一行,但在触发器中使用时,默认获取触发行的文字。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>▽(Int)数值</Para1><Para2>▽(String)游戏窗口名称</Para2></Funtion58><Funtion59><Name>read</Name><Desc>从指定ID的文件中读取位于指定行上的数据。指定行缺省或为0时表示读取当前行,为-1表示读取最后一行。
每个打开的文件都自带一个“光标”,用于指示当前位于哪一行。每执行一次%read()命令,“光标”就会自动跳转到下一行,重复执行%read()指令可以从文件的第一行一直读取至最后一行。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)文件ID</Para1><Para2>▽(Int)指定行</Para2></Funtion59><Funtion60><Name>remove</Name><Desc>返回从指定字符串中移除第一个指定子串之后剩余的字符串。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)待移除的子串</Para1><Para2>(String)源字符串</Para2></Funtion60><Funtion61><Name>repeat</Name><Desc>返回字符串重复指定次数之后的串连值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)源字符串</Para1><Para2>(Int)重复次数</Para2></Funtion61><Funtion62><Name>replace</Name><Desc>在源字符串中查找指定子串并替换为新值,如果指定的子串重复出现多次,只有第一个会被替换。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)源字符串</Para1><Para2>(String)查找子串</Para2><Para3>(String)替换新值</Para3></Funtion62><Funtion63><Name>replaceall</Name><Desc>在源字符串中查找指定子串并替换为新值,如果指定的子串重复出现多次,所有子串会被替换。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)源字符串</Para1><Para2>(String)查找子串</Para2><Para3>(String)替换新值</Para3></Funtion63><Funtion64><Name>right</Name><Desc>返回字符串右侧指定数量的字符。不进行任何中文字符判断,有可能截取到半个中文字。如需进行中文字符判断,应当使用nright或xright函数。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion64><Funtion65><Name>run</Name><Desc>对参数模拟一次指令解析,返回值为最终会向服务器发送的信息。这些信息只是被收集起来作为返回值,并不会真地被发送往服务器。但如果参数中包含了客户端命令,这些命令会被真实地执行。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)待解析的指令</Para1></Funtion65><Funtion66><Name>setglobal</Name><Desc>修改指定全局变量的值。全局变量就是当前程序所有窗口都可以使用的公共变量。函数的返回值为该变量的新值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定的全局变量名</Para1><Para2>(String)待赋予的新值</Para2></Funtion66><Funtion67><Name>slbof</Name><Desc>判断当前打开的SQLite数据库表单的当前纪录指针是否处于BOF状态。
必须先用#sqlite命令打开一张SQLite数据表之后才能使用,否则将返回一条错误消息。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion67><Funtion68><Name>sleof</Name><Desc>判断当前打开的SQLite数据库表单的当前纪录指针是否处于EOF状态。
必须先用#sqlite命令打开一张SQLite数据表之后才能使用,否则将返回一条错误消息。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion68><Funtion69><Name>slread</Name><Desc>从当前打开的SQLite数据库表单的当前纪录中读出指定字段名的数据。
可选参数:当带有参数二且不为零时,表示对读取到的数据做一个编码转换,从UTF8转换为Ansi编码。
必须先用#sqlite命令打开一张SQLite数据表之后才能使用,否则将返回一条错误消息。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定字段名称</Para1><Para2>▽ 1/0 可选参数</Para2></Funtion69><Funtion70><Name>sort</Name><Desc>对集合型字符串里的子项进行重新排序。当无参数二或参数二为零时,按照升序排序;为其他任意值时,按照降序排序。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)集合型字符串</Para1><Para2>▽(Int)指定升序或降序排序</Para2></Funtion70><Funtion71><Name>stackcount</Name><Desc>返回当前游戏窗口的临时栈中的节点数。
参考:#push/#pop</Desc><Example></Example><ParasNum>0</ParasNum></Funtion71><Funtion72><Name>syspath</Name><Desc>返回LordStar程序的完整路径名。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion72><Funtion73><Name>tick</Name><Desc>返回操作系统从启动到当前所经过的总毫秒数。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion73><Funtion74><Name>time</Name><Desc>按照参数指定格式输出系统当前时间。
默认格式为“yyyy-mm-dd hh:nn:ss”。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)时间输出格式</Para1></Funtion74><Funtion75><Name>trim</Name><Desc>清除指定字符串头尾的空格和控制字符。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)源字符串</Para1></Funtion75><Funtion76><Name>upper</Name><Desc>返回指定字符串的字母大写值。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)源字符串</Para1></Funtion76><Funtion77><Name>word</Name><Desc>从指定字符串中获取指定位置上的单词的值,各单词之间以参数三指定的分隔符分开。
参数二缺省时默认为1,分隔符缺省时默认为空格。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)源字符串</Para1><Para2>▽(Int)指定单词位置</Para2><Para3>▽(String)分隔符</Para3></Funtion77><Funtion78><Name>xcopy</Name><Desc>从参数一中复制出指定位置和长度的字符。在复制时,无论中英文均视为1个字(也就是每一个中文字也计数为1)。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)源字符串</Para1><Para2>(Int)复制起始位置</Para2><Para3>(Int)复制长度</Para3></Funtion78><Funtion79><Name>xleft</Name><Desc>返回字符串左侧指定数量的字符。在复制时,无论中英文均视为1个字(也就是每一个中文字也计数为1)。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion79><Funtion80><Name>xlen</Name><Desc>返回字符串的长度。在计算时,无论中英文均视为1个字(也就是每一个中文字也计数为1)。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)字符串</Para1></Funtion80><Funtion81><Name>xright</Name><Desc>返回字符串右侧指定数量的字符。在复制时,无论中英文均视为1个字(也就是每一个中文字也计数为1)。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion81><Funtion82><Name>var</Name><Desc>返回指定窗口的某个变量的值。不带参数二时,默认获取当前窗口的变量。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定的变量名</Para1><Para2>▽(String)指定游戏窗口的名称标签</Para2></Funtion82><Funtion83><Name>dirfiles</Name><Desc>以集合型变量的方式返回指定目录下的所有文件名。
可以用多个参数指定多个目录,返回各目录下的所有文件名。无参数时返回程序所在目录下的所有文件名。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)指定目录</Para1></Funtion83><Funtion84><Name>diffcolor</Name><Desc>根据指定的起始行和总行数,对多行文字按照字体颜色的不同进行排类,把排类结果依据其字数从少到多的顺序排列,以集合型的方式作为返回值。
无参数时表示对最后一行或触发行(在触发器中使用时)进行排类。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>▽(Int)起始行位置,1表示最后一行,2表示倒数第2行,以此类推</Para1><Para2>▽(Int)排类总行数,大于0表示往下计数,小于0表示往上计数</Para2></Funtion84><Funtion85><Name>utf8toansi</Name><Desc>把一个UTF-8编码的字符串转换为Ansi编码。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)UTF-8编码的字符串</Para1></Funtion85><Funtion86><Name>ansitoutf8</Name><Desc>把一个Ansi编码的字符串转换为UTF-8编码。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)Ansi编码的字符串</Para1></Funtion86><Funtion87><Name>a2u</Name><Desc>%ansitoutf8()函数的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion87><Funtion88><Name>u2a</Name><Desc>%utf8toansi()函数的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion88><Funtion89><Name>regex</Name><Desc>用正则表达式规则对字符串进行触发检查,以判断其是否符合触发条件。如果语句中设置了抓取匹配值,触发成功时匹配值将存放在参数三指定的变量中。无参数三则不保存。
返回值为0时表示触发不成功,非0值表示触发成功。当返回值为大于0的n值时,表示有n个匹配值,保存在参数三指定的表变量中,名字分别为参数三.1~参数三.n(比如:value.1和value.2等);当返回值为-1时,表示触发成功但没有匹配值。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)检查字符串</Para1><Para2>(String)正则表达式语句</Para2><Para3>▽(String)保存抓取值的变量名</Para3></Funtion89><Funtion90><Name>mapcount</Name><Desc>返回当前地图中房间的总个数。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion90><Funtion91><Name>mapvalue</Name><Desc>获取当前地图中指定房间某个字段的值。
当不含参数二(也就是不指定字段)时,以客户端信息方式列出指定房间的所有字段和值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)房间ID</Para1><Para2>▽(String)指定字段</Para2></Funtion91><Funtion92><Name>maplocate</Name><Desc>查找所有房间出口中包含指定值的房间,返回房间ID。如果查找结果包含多个房间,则以集合型变量的格式返回所有ID。
</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)查找指定的值</Para1></Funtion92><Funtion93><Name>maplocateobj</Name><Desc>查找所有房间物品中包含指定值的房间,返回房间ID。如果查找结果包含多个房间,则以集合型变量的格式返回所有ID。
</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)查找指定的物品</Para1></Funtion93><Funtion94><Name>mapmove</Name><Desc>从参数一指定的房间出发,进行参数二所指定的行走方案之后,返回抵达的房间ID。
行走方案中每一步之间应当用半角分号“;”分隔,可以使用#n来表示重复行走,比如“e;#5 w”。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(String)行走方案</Para2></Funtion94><Funtion95><Name>mappath</Name><Desc>返回从参数一指定的房间出发,抵达参数二指定房间的最短路径。参数三可指定各步路径之间的分隔符,默认为分号“;”</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(String)终点房间ID</Para2><Para3>▽(String)各步路径之间的分隔符,默认为分号“;”</Para3></Funtion95><Funtion96><Name>maproom</Name><Desc>查找地图中符合指定条件的房间ID。如果符合条件的房间有多个,则返回查找到的第一个。
查找条件包含房间名、描述、出口等,可以部分缺省,但不能全部为空。</Desc><Example></Example><ParasNum>5</ParasNum><Para1>▽(String)房间名称(name字段)</Para1><Para2>▽(String)房间描述(desc字段)</Para2><Para3>▽(String)房间出口(links字段)</Para3><Para4>▽(String)出口连接(relation字段)</Para4><Para5>▽(String)所属区域(area字段)</Para5></Funtion96><Funtion97><Name>mappathrooms</Name><Desc>返回从参数一指定的房间出发,抵达参数二指定房间的最短路径所经过的各房间ID。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(String)终点房间ID</Para2></Funtion97><Funtion98><Name>maptrav</Name><Desc>%maptraverse()函数的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion98><Funtion99><Name>maptraverse</Name><Desc>从参数一指定的房间出发,进行遍历并返回起始房间所走过的路径。参数二表示是否限制在本区域内遍历,参数三表示遍历最大深度房间数。参数四可指定各步路径之间的分隔符,默认为分号“;”。
当参数二为假时,不限制区域遍历,只按照参数三指定的深度进行遍历;当参数二为真时,只在本区域内进行遍历。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(Bool)是否限制区域内遍历</Para2><Para3>(Int)遍历最大深度</Para3><Para4>▽(String)各步路径之间的分隔符,默认为分号“;”</Para4></Funtion99><Funtion100><Name>maptravrooms</Name><Desc>%maptraverserooms()函数的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion100><Funtion101><Name>maptraverserooms</Name><Desc>从参数一指定的房间出发,进行遍历并返回起始房间所走过的所有房间ID。参数二表示是否限制在本区域内遍历,参数三表示遍历最大深度房间数。
当参数二为假时,不限制区域遍历,只按照参数三指定的深度进行遍历;当参数二为真时,只在本区域内进行遍历。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(Bool)是否限制区域内遍历</Para2><Para3>(Int)遍历最大深度</Para3></Funtion101><Funtion102><Name>mappathcount</Name><Desc>返回从参数一指定的房间出发,抵达参数二指定房间的最短路径共需走过的房间数。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(String)终点房间ID</Para2></Funtion102><Funtion103><Name>control</Name><Desc>用于获取各种环境设置的值。
支持的参数和返回值详见说明书。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)主键参数</Para1><Para2>(String)附属参数</Para2><Para3>▽(String/Int)扩展参数</Para3></Funtion103><Funtion104><Name>ncopy</Name><Desc>从参数一中复制出指定位置和长度的字符。在复制时会自动进行中文判断,如果存在中文字被截断的情况,就按以下办法处理:
1.如果是起点位置会截断中文字,就将起点往前移动1个字符,以确保起点字能够被完整获取。
2.如果终点位置会截断中文字,就按参数四处理:如果参数四为任意非零值时,将终点往后移动1个字符,完整复制终点字;如果参数四为零或无参数四,就往前移动1个字符。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(String)源字符串</Para1><Para2>(Int)复制起始位置</Para2><Para3>(Int)复制长度</Para3><Para4>▽(Int)控制参数</Para4></Funtion104><Funtion105><Name>nleft</Name><Desc>返回字符串左侧指定数量的字符。复制时会自动进行中文判断,如果有中文字符被切断,会自动补足1个字符,以保证在返回值里该字是完整的。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion105><Funtion106><Name>nright</Name><Desc>返回字符串右侧指定数量的字符。复制时会自动进行中文判断,如果有中文字符被切断,会自动补足1个字符,以保证在返回值里该字是完整的。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion106><Funtion107><Name>leftback</Name><Desc>返回字符串去掉右侧指定数量字符之后,左侧剩下的部分字符。不进行任何中文字符判断,有可能截取到半个中文字。如需进行中文字符判断,应当使用nleftback或xleftback函数。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion107><Funtion108><Name>rightback</Name><Desc>返回字符串去掉左侧指定数量字符之后,右侧剩下的部分字符。不进行任何中文字符判断,有可能截取到半个中文字。如需进行中文字符判断,应当使用nrightback或xrightback函数。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion108><Funtion109><Name>nleftback</Name><Desc>返回字符串去掉右侧指定数量字符之后,左侧剩下的部分字符。复制时会自动进行中文判断,如果有中文字符被切断,会自动补足1个字符,以保证在返回值里该字是完整的。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion109><Funtion110><Name>nrightback</Name><Desc>返回字符串去掉左侧指定数量字符之后,右侧剩下的部分字符。复制时会自动进行中文判断,如果有中文字符被切断,会自动补足1个字符,以保证在返回值里该字是完整的。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion110><Funtion111><Name>xleftback</Name><Desc>返回字符串去掉右侧指定数量字符之后,左侧剩下的部分字符。在复制时,无论中英文均视为1个字(也就是每一个中文字也计数为1)。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion111><Funtion112><Name>xrightback</Name><Desc>返回字符串去掉左侧指定数量字符之后,右侧剩下的部分字符。在复制时,无论中英文均视为1个字(也就是每一个中文字也计数为1)。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)字符串</Para1><Para2>(Int)指定数量</Para2></Funtion112><Funtion113><Name>ascii</Name><Desc>返回一个字符或字符串的ASCII码。如果是字符串时,依次将各字符的ASCII码排列为集合型变量。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)字符串</Para1></Funtion113><Funtion114><Name>maprooms</Name><Desc>查找地图中符合指定条件的房间ID。如果符合条件的房间有多个,则以集合型变量的方式返回各房间ID。
查找条件包含房间名、描述、出口等,可以部分缺省,但不能全部为空。</Desc><Example></Example><ParasNum>5</ParasNum><Para1>▽(String)房间名称(name字段)</Para1><Para2>▽(String)房间描述(desc字段)</Para2><Para3>▽(String)房间出口(links字段)</Para3><Para4>▽(String)出口连接(relation字段)</Para4><Para5>▽(String)所属区域(area字段)</Para5></Funtion114><Funtion115><Name>mapthrough</Name><Desc>从参数一指定的房间出发,对参数二中包含的所有房间为中心进行遍历。参数二以集合型变量的方式包含所有要遍历的中心房间,参数三表示以这些房间为中心进行多大深度的遍历。参数四可指定各步路径之间的分隔符,默认为分号“;”。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(String)遍历各中心房间</Para2><Para3>(Int)遍历最大深度</Para3><Para4>▽(String)各步路径之间的分隔符,默认为分号“;”</Para4></Funtion115><Funtion116><Name>mapcomquery</Name><Desc>在地图中查询多个字段串联组合之后的值。参数一表示要查询匹配的值,从参数二到后续的参数N表示进行组合的字段名。在查询时,将指定各字段的值依照参数顺序进行串联之后,与参数一进行比较,二者相等的为匹配成功。如果成功匹配多个房间,则以集合型变量的方式返回各房间ID。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(String)查询匹配值</Para1><Para2>(String)字段一的名称</Para2><Para3>▽(String)字段二的名称</Para3><Para4>类推</Para4></Funtion116><Funtion117><Name>bar</Name><Desc>用模拟服务器MXP代码的方式,自定义画一个血条栏图形。函数执行结果为一串MXP代码,用在小窗和#echo/#echop时可被解析成为图形。图形的底层为背景色,可以叠加任意层的不同颜色。开启文字渲染时,图形具有更漂亮的3D效果。</Desc><Example></Example><ParasNum>8</ParasNum><Para1>(Int)边框类型(目前仅能为1,待扩展)</Para1><Para2>(Int)边框宽度(1-4)</Para2><Para3>(Int)图形宽度,相当于显示对应数量的空格所占用的宽度</Para3><Para4>▽(String)第一层颜色代码</Para4><Para5>▽(Int)第一层所占宽度的百分比</Para5><Para6>▽(String)第二层颜色代码</Para6><Para7>▽(Int)第二层所占宽度的百分比</Para7><Para8>类推</Para8></Funtion117><Funtion118><Name>round</Name><Desc>对参数进行浮点运算之后,进行四舍五入转换为整型。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)浮点运算式</Para1></Funtion118><Funtion119><Name>trunc</Name><Desc>对参数进行浮点运算之后,进行取整转换为整型。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)浮点运算式</Para1></Funtion119><Funtion120><Name>maplist</Name><Desc>以集合型变量的方式,返回当前地图中所有房间的ID。
当地图房间数量很大时,返回值可能会是很长的字符串,应当慎用。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion120><Funtion121><Name>itemcommon</Name><Desc>比较各个参数中的集合型字符串,找出共有的部分子项,组成集合型字符串的方式作为返回值。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(String)集合型字符串</Para1><Para2>▽(String)集合型字符串</Para2><Para3>▽(String)集合型字符串</Para3><Para4>类推</Para4></Funtion121><Funtion122><Name>delete</Name><Desc>从参数一中删除指定位置和长度的字符。
没有进行额外的中文字符判断,所以有可能导致中文字被截断。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)源字符串</Para1><Para2>(Int)删除起始位置</Para2><Para3>(Int)删除长度</Para3></Funtion122><Funtion123><Name>insert</Name><Desc>在参数一指定的位置上插入参数三指定的字符,返回最后结果。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)源字符串</Para1><Para2>(Int)插入位置</Para2><Para3>(String)插入的字符串</Para3></Funtion123><Funtion124><Name>encodefile</Name><Desc>对指定的文件进行Base64编码,返回值为编码结果。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)文件名</Para1></Funtion124><Funtion125><Name>replaceitem</Name><Desc>将集合型字符串中等于参数二的子项全部替换为参数三。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)集合型字符串</Para1><Para2>(String)目标子项信息</Para2><Para3>(String)替换信息</Para3></Funtion125><Funtion126><Name>replacenitem</Name><Desc>将集合型字符串中指定位置上的子项替换为参数三。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)集合型字符串</Para1><Para2>(Int)目标子项的位置</Para2><Para3>(String)替换信息</Para3></Funtion126><Funtion127><Name>aliaskeys</Name><Desc>以集合型变量方式,返回指定窗口的某个别名所包含的嵌套表元素列表。不带参数二时,默认获取当前窗口的别名。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定的别名</Para1><Para2>▽(String)指定游戏窗口的名称标签</Para2></Funtion127><Funtion128><Name>varkeys</Name><Desc>以集合型变量方式,返回指定窗口的某个变量所包含的嵌套表元素列表。不带参数二时,默认获取当前窗口的变量。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定的变量名</Para1><Para2>▽(String)指定游戏窗口的名称标签</Para2></Funtion128><Funtion129><Name>itemdup</Name><Desc>计算集合型字符串中某个子项重复出现的次数。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)集合型字符串</Para1><Para2>(String)目标子项</Para2></Funtion129><Funtion130><Name>addbuff</Name><Desc>使用参数一的文字来绘制一个新的Buff图标。如果已经有一个同样文字的图标,则刷新重绘它。返回值为该图标的ID。
因为图标大小有限,参数一最好不要超过4个字,否则超出的部分可能会显示不下。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)显示在新图标中的文字</Para1><Para2>▽(String)指定字体</Para2></Funtion130><Funtion131><Name>xor</Name><Desc>对参数一和参数二进行异或运算,返回运算结果。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(Int)数值</Para1><Para2>(Int)数值</Para2></Funtion131><Funtion132><Name>capitalize</Name><Desc>将字符串中指定位置上的字母改为大写,作为返回值。参数二表示该字母在字符串中的位置。无参数二时,默认将首字母改为大写。参数二为0时,表示将最后一个字母改为大写。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定字符串</Para1><Para2>▽(Int)要改为大写的字母位置,默认值为1</Para2></Funtion132><Funtion133><Name>lineid</Name><Desc>获取指定行的行ID。在触发器中使用时,返回触发行的行ID;其他情况下使用时,返回最后一个行的行ID。</Desc><Example></Example><ParasNum>0</ParasNum></Funtion133><Funtion134><Name>linetoline</Name><Desc>根据指定的行ID,返回从起始行到结束行之间所有行的文字信息。参数三不为空时,各个行的文字信息之间以参数三作为间隔信息。</Desc><Example>显示自第1行到第10行之间的所有信息,各行之间用换行符分隔:
#say %linetoline(1,10,%char(10))</Example><ParasNum>3</ParasNum><Para1>(Int)起始行的行ID</Para1><Para2>(Int)结束行的行ID</Para2><Para3>▽(String)各行之间的间隔信息</Para3></Funtion134><Funtion135><Name>mapnear</Name><Desc>从参数一指定的房间出发,寻找距离最近的一个房间,该房间拥有的参数二指定的属性,其值等于参数三。返回值为目标房间的ID。</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(String)房间属性字段的名称</Para2><Para3>(String)房间属性字段的值</Para3></Funtion135><Funtion136><Name>mapnearpath</Name><Desc>从参数一指定的房间出发,寻找距离最近的一个房间,该房间拥有的参数二指定的属性,其值等于参数三。返回值为前往目标房间的路径,参数四可指定各步路径之间的分隔符,默认为分号“;”。</Desc><Example></Example><ParasNum>4</ParasNum><Para1>(String)起始房间ID</Para1><Para2>(String)房间属性字段的名称</Para2><Para3>(String)房间属性字段的值</Para3><Para4>▽(String)各步路径之间的分隔符,默认为分号“;”</Para4></Funtion136><Funtion137><Name>fullstr</Name><Desc>对源字符串进行填充,使之达到要求的长度。默认为使用空格填充,可以用参数三指定填充字符。默认在源字符串的左侧填充,可以用任意非零值的参数四,表示在源字符串的右侧填充。</Desc><Example>%fullstr("abc",10) 在字符串abc的左边填充了7个空格
%fullstr("abc",10," ",1) 在字符串abc的右边填充了7个空格
%fullstr("abc",10,"test") 在字符串abc的左边重复填充字符串test
</Example><ParasNum>4</ParasNum><Para1>(String)源字符串</Para1><Para2>(Int)字符串长度</Para2><Para3>▽(String)填充字符串,缺省时默认为空格</Para3><Para4>▽(Int)非零值表示在源字符串的右侧填充,缺省时默认为左侧填充</Para4></Funtion137></AllFunctions></LordStarHelp>