mIRC Home    About    Download    Register    News    Help

Print Thread
#114508 15/03/05 01:08 AM
Joined: Mar 2005
Posts: 4
V
Self-satisified door
OP Offline
Self-satisified door
V
Joined: Mar 2005
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?

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


Gone.
Joined: Mar 2005
Posts: 4
V
Self-satisified door
OP Offline
Self-satisified door
V
Joined: Mar 2005
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?

Joined: Mar 2004
Posts: 175
Vogon poet
Offline
Vogon poet
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
}


- Relinsquish
Joined: Sep 2003
Posts: 4,230
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Sep 2003
Posts: 4,230
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.

Joined: Sep 2003
Posts: 4,230
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Sep 2003
Posts: 4,230
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: 192
Vogon poet
Offline
Vogon poet
Joined: Jan 2005
Posts: 192
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
Joined: Mar 2005
Posts: 4
V
Self-satisified door
OP Offline
Self-satisified door
V
Joined: Mar 2005
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

Joined: Mar 2004
Posts: 175
Vogon poet
Offline
Vogon poet
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.


- Relinsquish

Link Copied to Clipboard