/* You can find it under Category: Walid This simple script shifts transformation keyframes for animated objects by given delay 1- Select animated objects 2-Click Assign Selection 3-Click Pick Start Point, where the effect will start from 4-Click Apply Shifting 5-Press Delete to reset the animation Developed by: Walid Abou Ali Idea and supervised by : Sameh Bijo */ macroScript FRAMESHIFTER category:"Walid" tooltip:"Simple Key Shifter 1.5" ( undo off ( Global ApplyHelper Global sorted=#() global objs2=#() global objs=#() float global minimumDist=100000 global index=0 visbKeys=false; rollout help "Help" width:158 height:162 ( label lbl6 "This simple script shifts transformation keyframes for animated objects by given delay \n1- Select animated objects\n2-Click Assign Selection\n3-Click Pick Start Point, where the effect will start from\n4-Click Apply Shifting\n 5-Press Delete to reset the animation" pos:[13,10] width:143 height:175 ) rollout FRAMESHIFTER "Simple Key Shifter 1.5" width:176 height:292 ( spinner frameshift "frame shift " pos:[28,12] width:121 height:16 range:[0,100,10] scale:1 button assignSelected "Assign Selection" pos:[24,53] width:128 height:38 pickbutton pickHelper "Pick Start Point" pos:[24,102] width:128 height:33 enabled:false button ApplyB "Apply Shifting" pos:[25,145] width:127 height:37 enabled:false toolTip:"" button deleteB "Delete Shifting" pos:[25,196] width:127 height:37 enabled:false button btn5 "Help" pos:[56,240] width:64 height:21 label lbl4 "Developed By: Walid Abou Ali" pos:[16,264] width:144 height:16 checkbox chk2 "Checkbox" pos:[26,33] width:15 height:13 enabled:true checked:false label lbl2 "has visivibility keys" pos:[44,33] width:98 height:15 on chk2 changed theState do ( visbKeys=chk2.checked; ) on assignSelected pressed do ( if $selection.count > 0 then ( for i=1 to $selection.count do ( append objs $selection[i] ) assignselected.text="objects assigned" pickHelper.enabled=true ) else ( messagebox "no objects selected" ) ) on pickHelper picked obj do ( ApplyHelper=obj ApplyB.enabled=true pickHelper.text=obj.name ) on ApplyB pressed do ( for p=1 to objs.count do ( append objs2 objs[p] ) num=objs2.count for n=1 to num do ( for i=1 to objs2.count do ( cur=distance ApplyHelper objs2[i] if cur