Is it something like this you had in mind?

Code:
alias mputtok {
  if $0 < 4 || 3 \\ $calc($0 -4) {
    echo -ac info * $!mputtok: incorrect amount of parameters
    return
  }
  var %string = $1, %i = 2, %ii = 3, %iii = 4
  while %iii <= $0 {
    %string = $puttok(%string,$($ $+ %i,2),$($ $+ %ii,2),$($ $+ %iii,2))
    inc %i 3 | inc %ii 3 | inc %iii 3
  }
  return %string
}

$mputtok(a.s.d.f,1,1,46,2,2,46,3,3,46,4,4,46) returns 1.2.3.4