// Active/Deactive ItemMotionHandler Plugin 0.01 @name "ActDeActMotionPlug" @version 2.9 @warnings @script generic @define DESCRIPT "Motion Plugin ON/OFF" @define INIT_ITEM 1 @define INIT_MODE 1 @define INIT_HAND 1 var Handles = @"LW_Expression", "LW_Follower", "plg_Curve_Bone", "plg_Curve_Top", "plg_IK", "plg_IK_Top", "ATTarget", "ATConsDir" @; generic { reqbegin(DESCRIPT); reqsize(220,230); c0 = ctlchoice("", INIT_ITEM, @"Selected","Mesh","Bone/CurItem","Bone/All","Null","Light","Camera"@, true); ctlposition(c0, 0,51, 90); c1 = ctlchoice("", INIT_MODE, @" + Enable +"," - Disable -"@, true); ctlposition(c1, 0, 3, 90); c2 = ctlchoice("", INIT_HAND, Handles, true); ctlposition(c2, 91, 3,120); s0 = ctlsep(0,0); ctlposition(s0, 2,46, 90); return if !reqpost(); ItemType = getvalue(c0); ActMode = getvalue(c1); HandleNum = getvalue(c2); reqend(); if(ActMode != 1) ActMode = 0; var ItemNum, PlugNum; switch(ItemType){ case 1: var CurItems; CurItems = Scene().getSelect(); ItemNum = CurItems.size(); for(i = 1; i <= ItemNum; i++){ CurPlugs = CurItems[i].server("ItemMotionHandler"); if(CurPlugs){ PlugNum = CurPlugs.size(); HandleIdx = 0; for(c = 1; c <= PlugNum; c++){ if(CurPlugs[c] == Handles[HandleNum]){ HandleIdx = c; break; } } if(HandleIdx){ SelectItem(CurItems[i].id); CommandInput(string("EnableServer ItemMotionHandler ",HandleIdx," ",ActMode)); } } } if(ItemNum > 1){ SelectItem(CurItems[ItemNum].id); for(i = ItemNum - 1; i >= 1; i--) AddToSelection(CurItems[i].id); } break; default: info("Under Constraction"); break; } }