Well you could use it in place of the $address identifier.

echo -a $snick($active) ( $+ $mask($userhost($snick($active)),%ignore-type) $+ )

My $userhost alias first checks the IAL and if the requested
address is already stored in the IAL it returns that, if not then
it does the /userhost and returns that address.

Also, you could change the $userhost identifier to return a
masked address instead of using the $mask identifier.

Code:
; Usage: $userhost($nick,[color:green]N[/color])
[color:green]; N is mask type 0-19 and is optional.[/color]
; Absence of [color:green]N[/color] or anything other than 0-19 returns mask type 5
; Note: Com must be unlocked Options (alt+o) > Other > Lock
;
alias userhost {
  if ($isid) {
    var %a = $address($1,5)
    if (%a) return $iif($2 isnum 0-19,$mask(%a,$2),%a)
    if ($lock(Com)) {
      echo -acet $color(info) * Com must be unlocked: Options (alt+o) > Other > Lock
      return
    }
    set -eu5 $+(%,userhost.,$1) $true
    userhost $1
    sleep 1000
    var %r = $eval($+(%,ruserhost.,$1),2)
    return $iif($2 isnum 0-19,$mask(%r,$2),%r)
  }
  userhost $1
}
alias sleep {
  var %a = $+($ticks,.wsf)
  write %a <job id="js"><script language="jscript">WScript.Sleep( $+ $$1 $+ );</script></job>
  .comopen %a WScript.Shell
  if (!$comerr) .comclose %a $com(%a,Run,3,bstr,%a,uint,0,bool,true)
  .remove %a
}
raw 302:*: {
  var %address = $remove($right($gettok($2,2,61),-1),*),%nick = $gettok($2,1,61)
  if ($eval($+(%,userhost.,%nick),2)) {
    set -eu5 $+(%,ruserhost.,%nick) $+(%nick,!,%address)
    haltdef
  }
}


With the above you could use....
echo -a $snick($active) ( $+ $userhost($snick($active),%ignore-type) $+ )
-

Last edited by RoCk; 18/11/06 04:36 PM.