forked from LordStarMUDClient/LordStar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Help.XML
118 lines (118 loc) · 74.5 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
<?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秒后自动删除:#alarm +1 {hi};
定义一个id为sayhi的闹钟,1秒后自动删除:#alarm +1 {hi} sayhi;</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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></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></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()</Desc><Example></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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command28><Command29><Name>echo</Name><Desc>向主窗中添加一条信息,模拟为服务器端信息。与服务器实际发来的信息同等处理,可以被Lua和触发器触发。</Desc><Example>添加一行文字:#echo "这是一条模拟信息!"</Example><ParasNum>1</ParasNum><Para1>(String)添加的信息</Para1></Command29><Command30><Name>echop</Name><Desc>#echoprompt命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></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></Example><ParasNum>0</ParasNum></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</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 假的};</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></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></Example><ParasNum>1</ParasNum><Para1>▽(String)写入信息</Para1></Command45><Command46><Name>longmess</Name><Desc>弹出一个窗口,显示一段信息。信息中可以使用函数、变量,也可以用\n来表示断行,在显示之前会先进行解析。</Desc><Example>#longmess 这是一个提示信息;</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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command65><Command66><Name>record</Name><Desc>用于记录向服务器发送的指令。先用不带参数的#rec开启命令记录功能,此后所有向服务器发送的指令会被逐条记录下来。再次使用#rec <变量>停止记录,并将已记录的指令保存到指定的别名中。如果第二次输入的#rec不带参数,则丢弃已经记录的所有指令。
注:记录的指令是向服务器端发送的最终指令,即经过解析之后的最终结果。空指令不会被记录下来。</Desc><Example></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></Example><ParasNum>0</ParasNum></Command69><Command70><Name>sayprompt</Name><Desc>向主窗中添加一条不加断行的客户端提示信息。该信息不会向服务器端发送,也不会被触发器触发,仅仅是作为提示信息存在。</Desc><Example></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>向指定的游戏窗口发送指令串进行解析。</Desc><Example>#sendto fy "kick";</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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></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></Example><ParasNum>1</ParasNum><Para1>▽(String)触发器的类别名</Para1></Command79><Command80><Name>t--</Name><Desc>关闭所有触发器。
默认情况下只关闭本资源包内的触发器。如果需要控制其他资源包里的触发器,应当附带参数指定目标资源包。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)目标资源包名</Para1></Command80><Command81><Name>t+</Name><Desc>打开指定类别名的触发器。不带参数时,打开类别名为空的触发器。
默认情况下只打开本资源包内的触发器。如果需要控制其他资源包里的触发器,应当在参数中用“资源包名::类别名”的方式指定目标资源包。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)触发器的类别名</Para1></Command81><Command82><Name>t++</Name><Desc>打开所有触发器。
默认情况下只关闭本资源包内的触发器。如果需要控制其他资源包里的触发器,应当附带参数指定目标资源包。</Desc><Example></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></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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></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></Example><ParasNum>2</ParasNum><Para1>(Int)定时器的定时时间</Para1><Para2>▽(String)定时器ID</Para2></Command94><Command95><Name>tz</Name><Desc>重置指定ID的定时器的定时时间。ID为空时,重置所有ID为空的定时器。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>▽(String)定时器ID</Para1></Command95><Command96><Name>unal</Name><Desc>#unalias命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command96><Command97><Name>unalias</Name><Desc>删除指定的别名。</Desc><Example></Example><ParasNum>1</ParasNum><Para1>(String)别名的名称</Para1></Command97><Command98><Name>until</Name><Desc>重复执行指令,直到逻辑判断语句结果为真时停止。
在必要时(比如陷入了死循环运算)也可使用#break命令强制终止。</Desc><Example></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></Example><ParasNum>1</ParasNum><Para1>(String)变量的名称</Para1></Command100><Command101><Name>unwa</Name><Desc>#unwait命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command101><Command102><Name>unwait</Name><Desc>清空全部延迟执行指令。用#wait命令延迟执行的指令列表将被清空,所有尚未执行的延迟指令都被删除。</Desc><Example></Example><ParasNum>0</ParasNum></Command102><Command103><Name>va</Name><Desc>#var命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command103><Command104><Name>var</Name><Desc>为指定的变量赋值。如果该变量不存在,则新建一个并赋值。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)指定的变量名,可使用函数和运算式,动态生成变量名</Para1><Para2>(String)待赋于的新值</Para2></Command104><Command105><Name>wa</Name><Desc>#wait命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command105><Command106><Name>wait</Name><Desc>延迟指定时间之后,再对逻辑语句进行判断,判断结果为真,则执行后续指令,为假则丢弃后续指令。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>▽(Int)延迟时间,以毫秒为单位,缺省默认为1000</Para1><Para2>▽(String)逻辑判断语句,缺省默认为真</Para2></Command106><Command107><Name>while</Name><Desc>重复执行指令,直到逻辑判断语句结果为假时停止。
在必要时(比如陷入了死循环运算)也可使用#break命令强制终止。</Desc><Example></Example><ParasNum>2</ParasNum><Para1>(String)逻辑判断语句</Para1><Para2>(String)执行的指令</Para2></Command107><Command108><Name>write</Name><Desc>对指定ID文件写入一行信息,写入位置位于指定行之后。
写入的信息仅保存在内存,并没有实际保存至硬盘文件,只有用户调用#close关闭文件时才执行写入硬盘操作。
相关命令与函数:#file/#close/%read()</Desc><Example></Example><ParasNum>3</ParasNum><Para1>(String)指定文件的ID</Para1><Para2>(String)写入的信息</Para2><Para3>▽(Int)写入位置行,为0时写入第一行,缺省默认写入最后一行</Para3></Command108><Command109><Name>yesno</Name><Desc>打开一个确认框,供用户进行“是”与“否”的选择,并根据选择执行相应的命令。</Desc><Example></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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></Command113><Command114><Name>dis</Name><Desc>#disconnect命令的简写。</Desc><Example></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行文字,可通过参数一指定一个数字,用来表示分窗时下窗显示的行数。</Desc><Example></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命令的简写。</Desc><Example></Example><ParasNum>0</ParasNum></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></Example><ParasNum>3</ParasNum><Para1>▽(String)服务器地址</Para1><Para2>▽(Int)服务器端口</Para2><Para3>▽(String)在新窗口自动加载的设置文件名</Para3></Command132><Command133><Name>endtr</Name><Desc>#endtrigger命令的简写</Desc><Example></Example><ParasNum>0</ParasNum></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></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></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></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></AllFunctions></LordStarHelp>