3ds Max 2022.1 Update 以降、「スクリプトのプランティング」を防ぐ目的で、各種のファイル アクセス関数が完全修飾パスなしで指定されたファイルを検索する動作が標準化されました。「スクリプトのプランティング」は、悪意のあるスクリプトをロードするようにアプリケーションを誘導するために使用されるテクニックです。MAXScript は、いくつかの適切にコントロールされた場所からスクリプトをロードするだけで、このセキュリティの脆弱性を緩和します。
次の表に、完全なパスを指定しない場合に、ファイルまたはスクリプトをロードする関数がファイルを検索する場所を示します。
| MAXScript 関数 | 現在の MZP | 現在のスクリプトのディレクトリ | ユーザ スクリプト | システム スクリプト | ユーザ スタートアップ スクリプト | システム スタートアップ スクリプト |
|---|---|---|---|---|---|---|
| fileIn | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| include | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| encryptScript | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ |
| edit | ✓ | ✗ | ✓ | ✓ | ✗ | ✗ |
| openFile | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| createFile | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| openEncryptedFile | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| openLog | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| callbacks.AddScript | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| mzp run | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| PFlow pf.Final_Step_Update_Script_File pf.Every_Step_Update_Script_File |
✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| python.ExecuteFile | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
| startup.ms | N.A. | N.A. | ✓ | ✓ | ✓ | ✓ |
#userscripts、#systemscripts、#userstartupscripts、#startupScripts に対応する場所です。「3ds Max システム ディレクトリ」を参照してください。