NEW in 3ds Max 2013:
When performing a UI action from a scripted rollout, MAXScript disables the MacroRecorder.
To allow the code emission from UI actions modifying existing paramBlock parameters, the following context was added in 3ds Max 2013:
with macroRecorderEmitterEnabled <bool_expr> <expr>
When <bool_expr> evaluates to true , the MacroRecorder will be enabled and relevant changes to paramBlock parameters, as well as scene node creation, will trigger
code emission. Creation arguments will not be recorded.
When <bool_expr> evaluates to false , or if the context is not specified at all, the expression will produce no Macro Recorder output.
NoteOther scene changes like object deletion, or calls to other functionality except for paramBlock changes will not produce Macro Recorder output.
EXAMPLE
|
rollout testMacroRecorderEmission "Test MRec Emission"
(
local theSpheres = #()
checkbox chk_emitMacroRecorderCode "Emit MacroRecorder Code"
button btn_modifyRandomSphere "Modify Random Sphere Radius"
on btn_modifyRandomSphere pressed do
(
with macroRecorderEmitterEnabled chk_emitMacroRecorderCode.checked
(
theSpheres[random 1 theSpheres.count].radius = random 10 100
)
)
on testMacroRecorderEmission open do
(
for y = 1 to 5 do
for x = 1 to 5 do
append theSpheres (sphere radius:10 pos:[x*50,y*50,0])
)
)
createDialog testMacroRecorderEmission
|