CloseMaxScript6 命令
命令表达一段代码,你可以为不同的功能片段设置不同的命令
可以单独使用,也可以组合使用
命令授权
在命令执行前将会执行一次授权代码
根据授权代码最后语句返回true/false来判断是否继续执行命令(非false则判定为true)
设置命令授权代码
config.UseCommandAuth = true config.CommandAuthSource = (Cmxs6Publisher.readFile (thisDir + @"授权代码.ms"))
设置命令
方式1
外部设置,在打包时设置命令
-- cmdName --命令名字 -- useAuth --该是否使用授权 -- src --命令内容源代码 -- compress:false 是否开启压缩(文件太小可能导致压缩后尺寸更大) config.AddCommandSource "功能1" true (Cmxs6Publisher.readFile (thisDir + @"功能1.ms")) compress:false
方式2
在源代码内部进行标记,会在编译时将内容提取并将标记移除,本质与方式1并无差别
- 以
@cmxs_cmd_auth
或@cmxs_cmd
开头 - [] 内填写命令名字
- 最后接需要调用的代码
global LA3DB02C873334E4F8 '@cmxs_cmd_auth [工具2] LA3DB02C873334E4F8()' fn LA3DB02C873334E4F8 = ( print "这是第二个工具" )
命令名字不区分大小写,建议使用全小写英文数字和下划线来进行命名
调用命令
product.Call "ExecuteCommand" "工具2"
- 返回值
"<no_cmd>" 未找到命令 "<ok>" 执行成功 "<err>" 执行失败
异步调用命令
注意:异步调用不能操作max对象,否则会崩溃或者出错
请在授权代码和命令中避开对max对象的操作
如果命令当前正在执行中,则不会触发
-- cmdName --命令名字 -- delay --延迟毫秒数 product.Call "ExecuteCommandAsync" "工具2" 2000
- 返回值
调用成功,返回true
存在调用,返回false
请不要关注返回值和错误,异步调用不可控制
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步