/* immobilizer v2.0 Author: Georgy Chakarov Version: 3dsmax 2009 or later (probably older versions too) like "freeze", but object stay selectable usefull for cameras, lights etc. my site: http://georgychakarov.hit.bg/ */ /****************************************************************************************************************************/ /* FUNCTIONS /****************************************************************************************************************************/ macroScript Immobilizer2 category:"Georgy Chakarov" ButtonText:"immobilizer 2.0" tooltip:"immobilizer 2.0" icon:#("gch_icons",5) ( immobilized_color = color 220 68 97 restored_obj_color = color 255 128 0 restored_light_color = color 255 229 0 restored_camera_color = color 87 120 204 emptyarray = "#{}" ( if selection.count > 1 then ( if (GetTransformLockFlags selection[1]) as string != emptyarray then ( setTransformLockFlags $ #{} for i = 1 to $.count do ( if (superClassOf(selection[i]) as string) == "light" then ( selection[i].wirecolor = restored_light_color ) else if (superClassOf(selection[i]) as string) == "camera" or (ClassOf(selection[i]) as string) == "Targetobject" then ( selection[i].wirecolor = restored_camera_color ) else ( selection[i].wirecolor = restored_obj_color ) ) ) else ( setTransformLockFlags $ #{1..9} $.wirecolor = immobilized_color ) ) else ( if (GetTransformLockFlags $) as string != emptyarray then ( setTransformLockFlags $ #{} if (superClassOf $ as string) == "light" then ( $.wirecolor = restored_light_color ) else if (superClassOf $ as string) == "camera" or (ClassOf $ as string) == "Targetobject" then ( $.wirecolor = restored_camera_color ) else ( $.wirecolor = restored_obj_color ) ) else ( setTransformLockFlags $ #{1..9} $.wirecolor = immobilized_color ) ) ) )