8

我正在尝试编写一个调用外部脚本但语法没有任何运气的函数

scripts_folder = "C:\\Program Files\\Autodesk\\3ds Max 2008\\Scripts"
var script1 = "hello_world.ms"

-- use function to call scripts
callScript(script1)

-- function callScript
function callScript script =
(
getFiles scripts_folder + "\\" + script
)
4

2 回答 2

13

最好在这里区分两种可能的解决方案:

  1. 文件输入
  2. 包括

fileIn 将执行与“运行脚本”相同的操作或在编辑器中评估所有内容。如果它是全局声明的(不优选,使用尽可能少的全局变量),它可以使函数可用,如果它是在该脚本中本地声明的,则您无法访问它。

Include 实际上从该文件中获取代码并在此时注入它。因此,如果您有一个大脚本并且您想更好地组织事物,您可以在单独的文件中编写某些函数并在脚本执行时包含该函数,以便该函数始终可以访问,因为它包含在该范围内。

于 2012-10-18T09:06:58.867 回答
4

弄清楚了!

--- "hello_world.ms"
enter function hello =
(
print "hello the world"
)


---- another _script.ms
fileIn "hello_world.ms"

-- use function to call scripts

你好 ()

似乎 fileIn 比 include 效果更好

于 2012-10-15T16:34:02.290 回答