mIRC Home    About    Download    Register    News    Help

Topic Options
#114508 - 15/03/05 01:08 AM Forcing update of the IAL
Volt9000 Offline
Self-satisified door

Registered: 14/03/05
Posts: 4
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?

Top
#114509 - 15/03/05 01:11 AM Re: Forcing update of the IAL
FiberOPtics Offline
Hoopy frood

Registered: 05/02/04
Posts: 2019
Loc: Leuven, Belgium
Yes, by doing a /who on the channel/nickname. /who != /whois if you're wondering btw.
_________________________
Gone.

Top
#114510 - 16/03/05 06:35 AM Re: Forcing update of the IAL
Volt9000 Offline
Self-satisified door

Registered: 14/03/05
Posts: 4
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?

Top
#114511 - 16/03/05 06:44 AM Re: Forcing update of the IAL
Relinsquish Offline
Vogon poet

Registered: 25/03/04
Posts: 175
Loc: Canada
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
}
_________________________
- Relinsquish

Top
#114512 - 16/03/05 09:11 AM Re: Forcing update of the IAL
DaveC Offline
Planetary brain

Registered: 26/09/03
Posts: 4230
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.

Top
#114513 - 16/03/05 09:37 AM Re: Forcing update of the IAL
DaveC Offline
Planetary brain

Registered: 26/09/03
Posts: 4230
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


Edited by DaveC (16/03/05 09:47 AM)

Top
#114514 - 16/03/05 11:29 AM Re: Forcing update of the IAL
Brax Offline
Vogon poet

Registered: 26/01/05
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

Top
#114515 - 17/03/05 03:26 AM Re: Forcing update of the IAL
Volt9000 Offline
Self-satisified door

Registered: 14/03/05
Posts: 4
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

Top
#114516 - 17/03/05 02:30 PM Re: Forcing update of the IAL
Relinsquish Offline
Vogon poet

Registered: 25/03/04
Posts: 175
Loc: Canada
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.
_________________________
- Relinsquish

Top