// HPB ControllerType v0.3 @name "HPBCtlType" @version 2.5 @warnings @script generic @define DESCRIPT "HPB ControllerType" var c0,c1,c2; generic { @if version == 2.5 var CurItems = Scene().getSelect(); if(CurItems == nil) return; @else if(Scene().getSelect() == nil) return; @end @if version < 2.2 // LW93 var HPList = @"NotMod","KeyFrame","P\@Target","Velocity"," IK","Al2Path"@; var B_List = @"NotMod","KeyFrame","--------", "-------", " IK","Al2Path"@; var A_List = @" ---","Key Frames"," IK","Align2Path"@; // 使う時は文字列。 0-4 var SwHP = @"0","0","1","2","3","4"@; var Sw_B = @"0","0","0","0","3","4"@; @end @if version > 2.7 // LW9/92 var HPList = @"NotMod","KeyFrame","P\@Target","Velocity"," IK","Al2Path"@; var B_List = @"NotMod","KeyFrame","--------", "-------", " IK","Al2Path"@; var A_List = @" ---","Key Frames"," IK","Align2Path"@; // 使う時は文字列。 0-4 var SwHP = @"0","0","1","2","3","4"@; var Sw_B = @"0","0","0","0","3","4"@; @end @if version == 2.7 // LW8 var HPList = @"Not Mod.","Key Frames","Point\@Targ","Align2Path"," IK"@; var B_List = @"Not Mod.","Key Frames","---------", " --------", " IK"@; var A_List = @" ---","Key Frames"," IK"@; // 使う時は文字列。 0-4 var SwHP = @"0","0","1","2","3"@; var Sw_B = @"0","0","0","0","3"@; @end @if version == 2.6 // LW75CD var HPList = @"Not Mod.","Key Frames","Point\@Targ","Align2Path"," IK"@; var B_List = @"Not Mod.","Key Frames","---------", " --------", " IK"@; var A_List = @" ---","Key Frames"," IK"@; // 使う時は文字列。 0-4 var SwHP = @"0","0","1","2","3"@; var Sw_B = @"0","0","0","0","3"@; @end @if version == 2.5 // LW75 var HPList = @"Not Mod.","Key Frames","Point\@Targ","Align2Path"," IK"@; var B_List = @"Not Mod.","Key Frames","---------", " --------", " IK"@; var A_List = @" ---","Key Frames"," IK"@; var SwHP = @0,1,2,3,4@; var Sw_B = @0,1,0,0,4@; @end reqbegin(DESCRIPT); reqsize(350,125); t0 = ctltext("","H-"); ctlposition(t0, 3, 5); t1 = ctltext("","P-"); ctlposition(t1, 3,24); t2 = ctltext("","B-"); ctlposition(t2, 3,43); c0 = ctlchoice("", 1, HPList, false); ctlposition(c0,15, 2,330); c1 = ctlchoice("", 1, HPList, false); ctlposition(c1,15,21,330); c2 = ctlchoice("", 1, B_List, false); ctlposition(c2,15,40,330); t3 = ctltext("","for HPB"); ctlposition(t3, 3,67); c3 = ctlchoice("", 1, A_List, false); ctlposition(c3,45,64); ctlrefresh(c3, "changeVal"); return if !reqpost(); HOn = getvalue(c0); POn = getvalue(c1); BOn = getvalue(c2); reqend(); var SelAxiz = 0; if(HOn != 1) SelAxiz += 1; if(POn != 1) SelAxiz += 2; if(BOn == 2 || BOn >= 5) SelAxiz += 4; if(!SelAxiz){ info("
Not Select Axis"); return; } @if version == 2.5 var ItemNum = CurItems.size(); for(i = 1; i <= ItemNum; i++){ SelectItem(CurItems[i].id); switch(SelAxiz){ case 1: HController(SwHP[HOn]); break; case 2: PController(SwHP[POn]); break; case 3: HController(SwHP[HOn]); PController(SwHP[POn]); break; case 4: BController(Sw_B[BOn]); break; case 5: HController(SwHP[HOn]); BController(Sw_B[BOn]); break; case 6: PController(SwHP[POn]); BController(Sw_B[BOn]); break; case 7: HController(SwHP[HOn]); PController(SwHP[POn]); BController(Sw_B[BOn]); break; default : break; } } if(ItemNum > 1) for(i = ItemNum - 1; i >= 1; i--) AddToSelection(CurItems[i].id); @else switch(SelAxiz){ case 1: CommandInput("HController " + SwHP[HOn]); break; case 2: CommandInput("PController " + SwHP[POn]); break; case 3: CommandInput("HController " + SwHP[HOn]); CommandInput("PController " + SwHP[POn]); break; case 4: CommandInput("BController " + Sw_B[BOn]); break; case 5: CommandInput("HController " + SwHP[HOn]); CommandInput("BController " + Sw_B[BOn]); break; case 6: CommandInput("PController " + SwHP[POn]); CommandInput("BController " + Sw_B[BOn]); break; case 7: CommandInput("HController " + SwHP[HOn]); CommandInput("PController " + SwHP[POn]); CommandInput("BController " + Sw_B[BOn]); break; default : break; } @end } // --------------------------- changeVal: v { if(v == 3) v = 5; else if(v == 4) v = 6; // ctlchoiceへ外部からsetvalueする時は LS25:0,1,2〜、LS26:1,2、3〜 @if version == 2.5 v -= 1; @end setvalue(c0, v); setvalue(c1, v); setvalue(c2, v); }