// We will Lock you 7.5 v0.325 @name "We will Lock you" @version 2.4 @warnings @script generic @define DESCRIPT "We will Lock you" var c1,c2,c3,c4,c5,c6,c7,c8,c9; generic { var CurItems = Scene().getSelect(); if(CurItems == nil) return; var ItemNum = CurItems.size(); var EnableScl; if(CurItems[1].isMesh() || CurItems[1].isBone()) EnableScl = true; else EnableScl = false; reqbegin(DESCRIPT); reqsize(260,106); t1 = ctltext("","ItemLock"); ctlposition(t1, 5, 2); c0 = ctlchoice("", 1,@"Not Mod"," Lock","UnLock","Toggle"@, false); ctlposition(c0,50, 2, 204); t2 = ctltext("","AxizLock"); ctlposition(t2, 5, 22); t3 = ctltext("","Toggle->"); ctlposition(t3, 5, 36); cA = ctlbutton(" X Y Z", 64, "changeXYZ"); ctlposition(cA, 56, 24, 64); c1 = ctlcheckbox("", false); ctlposition(c1, 56, 44, 21); c2 = ctlcheckbox("", false); ctlposition(c2, 77, 44, 21); c3 = ctlcheckbox("", false); ctlposition(c3, 98, 44, 21); cB = ctlbutton(" H P B", 64, "changeHPB"); ctlposition(cB,123, 24, 64); c4 = ctlcheckbox("", false); ctlposition(c4,123, 44, 21); c5 = ctlcheckbox("", false); ctlposition(c5,144, 44, 21); c6 = ctlcheckbox("", false); ctlposition(c6,165, 44, 21); cC = ctlbutton("sX sY sZ", 64, "changeSXYZ"); ctlposition(cC,190, 24, 64); c7 = ctlcheckbox("", false); ctlposition(c7,190, 44, 21); c8 = ctlcheckbox("", false); ctlposition(c8,211, 44, 21); c9 = ctlcheckbox("", false); ctlposition(c9,232, 44, 21); return if !reqpost(); var LockType = getvalue(c0); var Xchk = getvalue(c1); var Ychk = getvalue(c2) * 2; var Zchk = getvalue(c3) * 4; var Hchk = getvalue(c4); var Pchk = getvalue(c5) * 2; var Bchk = getvalue(c6) * 4; var SXchk = getvalue(c7); var SYchk = getvalue(c8) * 2; var SZchk = getvalue(c9) * 4; reqend(); for(i = 1; i <= ItemNum; i++){ SelectItem(CurItems[i].id); // ItemLock()は引数無視のトグル動作 switch(LockType){ case 1: break; case 2: if(!CurItems[i].locked) ItemLock(1); break; case 3: if(CurItems[i].locked) ItemLock(0); break; case 4: ItemLock(1); break; default: break; } c = SXchk + SYchk + SZchk; if(c != 0 && EnableScl){ StretchTool(); changeExec(c); } c = Hchk + Pchk + Bchk; if(c != 0){ RotateTool(); changeExec(c); } c = Xchk + Ychk + Zchk; if(c != 0){ MoveTool(); changeExec(c); } } if(ItemNum > 1){ for(i = ItemNum - 1; i >= 1; i--) AddToSelection(CurItems[i].id); } return; } // -------------------- changeExec: v { switch(v){ case 1: EnableXH(); break; case 2: EnableYP(); break; case 3: EnableXH(); EnableYP(); break; case 4: EnableZB(); break; case 5: EnableXH(); EnableZB(); break; case 6: EnableYP(); EnableZB(); break; case 7: EnableXH(); EnableYP(); EnableZB(); break; default: break; } } changeXYZ { setvalue(c1, getvalue(c1) ^ 1); setvalue(c2, getvalue(c2) ^ 1); setvalue(c3, getvalue(c3) ^ 1); } changeHPB { setvalue(c4, getvalue(c4) ^ 1); setvalue(c5, getvalue(c5) ^ 1); setvalue(c6, getvalue(c6) ^ 1); } changeSXYZ { setvalue(c7, getvalue(c7) ^ 1); setvalue(c8, getvalue(c8) ^ 1); setvalue(c9, getvalue(c9) ^ 1); }