mIRC Home    About    Download    Register    News    Help

Print Thread
#114508 15/03/05 01:08 AM
V
Volt9000
Volt9000
V
Is it possible to force the IAL to update? I know the IAL only gets updated with a specific user when that user talks in a channel or performs an action or mode chnage, but is it possible to add a user (or all users in a channel for that matter) to the IAL without resorting to a whois lookup?

Joined: Feb 2004
Posts: 2,013
F
Hoopy frood
Offline
Hoopy frood
F
Joined: Feb 2004
Posts: 2,013
Yes, by doing a /who on the channel/nickname. /who != /whois if you're wondering btw.

V
Volt9000
Volt9000
V
Ah, great! Thanks!
Ok, this leads me to my next question...

When I right-click on a user, I want it to show their hostmask. However I first have to detect if their hostmask is in the IAL, and if not, add it in there, so the address will show up. But it doesn't quite work out the way I want. Here's what I have...

Code:
menu nicklist {
    Sample menu : .
    $submenu($testing($1))
}

alias -l testing {
    if (($1 == begin) || ($1 == end) || ($1 > 1)) { return - }
    if (!$ial($snick(#, 1))) { who $snick(#, 1) }
    return $address($snick(#, 1)) : .
}


Now, if I right-click on a nickname not in the IAL, nothing shows up under "Sample Menu." But if I right-click agian, then the address will show up (because it gets updated during the first right-click.)
Is there any way to update the IAL "on the fly" when I right-click on a username for the first time?

Joined: Mar 2004
Posts: 175
R
Vogon poet
Offline
Vogon poet
R
Joined: Mar 2004
Posts: 175
Realistically, you should always have an accurate hostmask of the user in your common channels. Unless you have tampered with /ial or /ialclear OR the user's hostmask has changed to a custom virtual host, you shouldn't need to update the IAL.

Code:
menu nicklist {
  Sample menu:
  .$ial($$1,1).host
}

D
DaveC
DaveC
D
You dont get the users host mask unless they say something in channel, or u whois them or who them, or maybe something else them, but by default there isnt anything in there.

D
DaveC
DaveC
D
Quote:
Is there any way to update the IAL "on the fly" when I right-click on a username for the first time?


no

[edit]

Well actuall there is, but i dont know if i would advise it. It flys in the face of good manners.
You well need the WhileFix.dll as well.

Code:
menu nicklist {
  hostmask for $1 is $gethostmask($1) : { }
}
alias -l gethostmask {
  if ($ial($1,1)) return $address($1,2)
  who $1
  .enable #who.haltdef
  %t = $ticks + 1000
  while (($ticks <= %t) && (!$ial($1,1)) && ($file(whilefix.dll))) { dll WhileFix.dll WhileFix }
  if ($ial($1,1)) return $address($1,2)
  return Unknown
}
#who.haltdef off
raw 352:*:{ haltdef }
raw 315:*:{ haltdef | .disable #who.haltdef }
#who.haltdef end


Simply put if there isnt a hostmask im doing a /WHO then just waiting around tell the server responds smile

Last edited by DaveC; 16/03/05 09:47 AM.
Joined: Jan 2005
Posts: 186
Vogon poet
Offline
Vogon poet
Joined: Jan 2005
Posts: 186
but why not just add little thing like:
Code:
on *:JOIN:#: {
if ($nick == $me) {
who #
}
return
}

Takes bit time with bigger channels... but you will have always 'up to date' IAL blush


echo -a $signature
V
Volt9000
Volt9000
V
Quote:
Realistically, you should always have an accurate hostmask of the user in your common channels. Unless you have tampered with /ial or /ialclear OR the user's hostmask has changed to a custom virtual host, you shouldn't need to update the IAL.

Code:
menu nicklist {
  Sample menu:
  .$ial($$1,1).host
}


That doesn't work unless the user already is in the IAL, hence the problem.

DaveC: What is this WhileFix DLL for? What does it do?

Brax: Yeah that's what I thought of doing originally, but it isn't very efficient. smile

Joined: Mar 2004
Posts: 175
R
Vogon poet
Offline
Vogon poet
R
Joined: Mar 2004
Posts: 175
WhileFix.dll allows you to run scripts without freezing mIRC. For example, you could have a variable incremented to one million in a while loop and still be able to do things in mIRC. You can download it here.

By the way, I was thinking of Brax's idea when I posted my suggestion (unfortunately mistaking /names for /who on join). I don't see why it's inefficient. It beats having to /who each person when right clicking their nickname.


Link Copied to Clipboard