set timescale is a system action that will affect all behaviors and timedelta'd actions
it also affects sounds
as far as making it happen gradually
just do something like
if key "s" pressed
---set global("bullettime") = 1
if global("bullettime")=1
---system.compare Timescale > 0.3
------set timescale to clamp(timescale-0.1,0.3,1)
if global("bullettime")=0
---system.compare Timescale < 1
------set timescale to clamp(timescale+0.1,0.3,1)