вызов 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
)
335   2  

2 ответов:

Здесь хорошо различать два возможных решения:

  1. FileIn
  2. включить

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

    Ничего не найдено.