вызов maxscript из другого maxscript
Я пытаюсь написать функцию, которая вызывает внешний скрипт, но мне не везет с синтаксисом
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
)
2 ответов:
Здесь хорошо различать два возможных решения:
- FileIn
- включить
FileIn будет делать то же самое, что и "run script" или оценивать все в Редакторе. Это может сделайте функцию доступной, если она объявлена глобально (не желательно, используйте как можно меньше глобалов), если она была объявлена локально в этом скрипте, вы не можете получить к ней доступ.
Include фактически берет код из этого файла и вводит его в этот момент. Так что если у вас есть большой если вы хотите организовать все немного лучше, вы можете записать определенные функции в отдельный файл и включить эту функцию, когда скрипт будет выполнен, так что эта функция всегда будет доступна, потому что она включена в эту область.
Понял!
--- "hello_world.ms" enter function hello = ( print "hello the world" ) ---- another _script.ms fileIn "hello_world.ms" -- use function to call scriptsПривет ()
Похоже, что fileIn работает лучше, чем include
Comments