CloseMaxscript 用户手册 打包调用附属文件
适用场景
多文件脚本存在的情况
大量调用文件存在,每次都启动运行时将占用启动时间
注意
附属文件,不支持动态相对路径,需要用到路径的地方都应该由主文件统一全局管理发布
以下这些变量需要在启动文件夹中定义全局引用:getsourcefilename, getthisscriptfilename, getsourcefileoffset, getsourcefileline
等等
示例
在下面的脚本工具中
我们仅需要加密主文件即可,并不需要加密 1.ms 2.ms 3.ms .... 的部分文件
引入一个全局的执行函数,fileinPartScriptFile
建议最好改一个名字,什么都可以,就是不要叫这个名字
因为上一个看到这个文档的老哥也可能用这个名字,这样你们的函数就冲突了
xxx_cmxs_rt 也改成你自己的唯一全局变量名,注意这个变量需要在一开始就申明,如果你在后期函数内调用它,他可能就是别人的包
将原有的filein替换为引入的函数(后缀就是你自定义的后缀,详见下方)
以下代码为你的源代码修改示例
try(destroyDialog testRoll)catch() global myToolBarRootPath = getFilenamePath (getThisScriptFilename()) --在脚本运行的第一时间拿到右边变量的引用,后续这个变量可能是别人的了 global xxx_cmxs_rt = CodeContainer.maxScriptRuntime global fileinPartScriptFile fn fileinPartScriptFile dataFile = ( xxx_cmxs_rt.C037EB3749AM dataFile "flag" ) rollout testRoll "" ( button btn1 "tool1" width:80 button btn2 "tool2" width:80 button btn3 "tool3" width:80 --on btn1 pressed do filein "1.ms" --on btn2 pressed do filein "2.ms" --on btn3 pressed do filein "3.ms" on btn1 pressed do fileinPartScriptFile "c:\\1.data" on btn2 pressed do fileinPartScriptFile "c:\\2.data" on btn3 pressed do fileinPartScriptFile (myToolBarRootPath + "3.data") ) createDialog testRoll 200 200
对MyToolBar.ms文件进行加密,得到MyToolBar.mse文件
打包部分文件,在MyToolBar.ms同目录建立一个单独的 _发布.ms 文件用于发布
你可以编写自己的规则,比如使用for循环对文件进行处理
在打包前你应该删除旧的文件(以下代码并未包含删除文件的内容)
当然自动化删除复制文件非常危险,强烈建议测试时将原始文件备份到其他地方或上传至网络
以下代码为你调用打包时的代码示例
global MyToolBarRootPath = getFilenamePath (getThisScriptFilename()) --加密部分文件 fn enc scrFile savePath = ( rt = CodeContainer.maxScriptRuntime rt.C522FE03F65M scrFile savePath "flag" ) --建立发布目录 publicDir = MyToolBarRootPath + "public\\" makedir publicDir --在发布前需要运行一次加密工具 --如果存在旧文件请手动删除 --开始发布,格式随意不一定是.data,也可以是.mp4 enc (MyToolBarRootPath + "1.ms") (publicDir + "1.data") enc (MyToolBarRootPath + "2.ms") (publicDir + "2.data") enc (MyToolBarRootPath + "3.ms") (publicDir + "3.data") enc (MyToolBarRootPath + "4.ms") (publicDir + "4.data") enc (MyToolBarRootPath + "5.ms") (publicDir + "5.data")
执行上方代码,并将MyToolBar.mse与他们放在一起
运行MyToolBar.mse点击按钮,你应该获得与编写测试时的一致效果
函数示意
此函数C037EB3749AM
为打开文件并执行操作
返回值:
"<ok>"
源代码执行正确
"<error-s>"
源代码执行失败,可能代码内部逻辑问题
"<error-e>"
打开错误,可能文件未找到,或密码不正确
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步