Script for control modifiers using the distance

There is a maxscript named EffectsX
I cannot find a place to download it.
There is a video in youtube demonstrating the script and it is showed the code.

I wrote in max and it is working in max 2014, but not in max 2009.
The part of scale doesn't work at all.

"rollout EffectsX "EffectsX"
(
button btn_scale "ScaleX" pos:[96,38] width:50 height:21
button btn_bend "BendX" pos:[97,81] width:48 height:21
button btn_bend_add "Add_Bend" pos:[12,103] width:56 height:21
button btn_bend_del "Del" pos:[84,103] width:54 height:21
spinner spn_scale_r "Radius" pos:[24,41] width:70 height:16 range:[1,100,1]
groupBox grp1 "BEND" pos:[8,65] width:144 height:64
groupBox grp2 "SCALE" POS:[8,25] width:144 heith:40
spinner spn_bend_r "radius" pos:[24,83] width:70 height:16 range:[1,100,1]
button btn_5_del_ch "DeleteAllChangeHandlers" pos:[14,4] width:130 height:21

on btn_5_del_ch pressed do (
deleteALLChangeHandlers id:i
)

on btn_bend_del pressed do (
for b in $box*** do (
bv=b.modifiers as string
if bv=="#modifiers(BendMod:Bend)" then deleteModifier b b.modifiers[#bend] else undefined
)
)

on btn_bend_add pressed do (
for b in $box*** do (
addModifier b (Bend ()) ui:on
b.modifiers[#bend].BendAxis = 1
b.modifiers[#bend].BendDir = 90
)
)

on btn_scale pressed do (
deleteAllChangeHandlers id:i
when transfor $point001 changes do (
for obj in $box*** do(
dis=((Distance $Point001 obj)*3)
dis2=(spn_scale_r.value*10)
if dis>=dis2 then dis=dis2 else dis
obj.scale=[dis,dis,dis]/(spn_scale_r.value*10)
)
)
)

on btn_bend pressed do (
deleteAllChangeHandlers id:i
when transform $point001 changes do (
for obj in $box*** do(
dis=((Distance $point001 obj)*spn_bend_r.value)
dis2=360
if dis>=dis2 then dis=dis2 else dis
obj.modifiers[#Bend].BendAngle=dis
)
)
)
)
CreateDialog EffectsX
"

Can someone help me to fix this script and how to understand him?