七、机器人编写- 创建一个分组
- 删除一个分组
- 在一个分组下创建一个变量
- 在一个分组下创建一个函数
- 在一个分组下创建一个别名
- 在一个分组下创建一个触发器
- 删除一个变量、函数、别名和触发器
- 保存对变量、函数、别名和触发器的内容编辑
1)基础篇最基础的就是别名和触发器,这 2 个概念应该很好理解,我们以实际例子来讲解。 1.1 别名别名是比较短的字符串,方便在输入框里输入。对应的值可以是字符串,也可以是函数;函数又分同步函数和异步函数(后面会讲解区别)。 例 1:过河的时候,有的时候需要用 ride,有的时候需要 enter boat,所以设置一个别名,让过河时 2 个指令都执行。 'gogo': 'ride;enter boat;',
例 2:答题的时候每次都要输入 answer b 之类的,简化一下,改成 a b。其中 a 是别名,$1 表示第一个不定参数。 'a': 'answer $1',
例 3:把身上的一个绑定的装备取消绑定。比如要把第 2 个戒指解除绑定,正常的指令是: remove ring 2;
disload ring 2;
yes;
设置成别名 dl,对应的用法就是 dl ring 2。 arg 表示函数参数,是一个数组;例如 arg[0] 是 ring,arg[1] 是 2,arg.join(' ') 就是 ring 2sys.send() 是最基础的系统函数:发送一条指令
'dl': function (arg) {
sys.send('remove ' + arg.join(' '))
sys.send('disload ' + arg.join(' ') + ';yes;')
},
例 4:在临安给装备安装宝石。比如给第 2 个戒指镶嵌宝石,戒指有 2 个洞,需要先放 2 个宝石到桌子上,然后把装备放到桌子,然后镶嵌宝石;最终希望只输入 xiangqiang 2 ring 2。 等同于以下完整指令: put gem on zhuo;
put gem on zhuo;
put ring 2 on zhuo;
ask shangren about 篆刻铭文;
yes;
这个别名对应的函数对不熟编程的同学可能不太直观,不过可以把这个函数发给 AI 让它帮忙解释,也可以让 AI 按你的需求生成/改写。 'xiangqiang': function (arg) {
if (arg.length <= 1) { return }
let count = arg[0] || 1
let zb = arg[1]
if (arg.length > 2) { zb = zb + ' ' + arg[2] }
for (let i = 0; i < count; i++) {
sys.send('put gem on zhuo')
}
sys.send(`put ${zb} on zhuo;ask shangren about 篆刻铭文;yes`)
}
|