|
Joined: Mar 2003
Posts: 1,271
Hoopy frood
|
OP
Hoopy frood
Joined: Mar 2003
Posts: 1,271 |
I've known about $lof for a long time, and that it's not listed in the helpfile. Now I find that /action is also not documented. Were they just missed, or left out on purpose?
LocutusofBorg
DALnet #Helpdesk I hear and I forget. I see and I remember. I do and I understand. -Confucius
|
|
|
|
Joined: Mar 2003
Posts: 272
Fjord artisan
|
Fjord artisan
Joined: Mar 2003
Posts: 272 |
Some command parameters are also missing, such as /alias -l
- cF Dedicated helper for rent.
|
|
|
|
Joined: Mar 2003
Posts: 1,271
Hoopy frood
|
OP
Hoopy frood
Joined: Mar 2003
Posts: 1,271 |
Actually - that one is covered in the information about creating aliases:
If you specify the -l switch in the alias definition, the alias becomes accessible only by commands in the same script and invisible to the command line and other scripts.
alias -l add { %x = $1 + $2 return %x }
LocutusofBorg
DALnet #Helpdesk I hear and I forget. I see and I remember. I do and I understand. -Confucius
|
|
|
|
Joined: Mar 2003
Posts: 272
Fjord artisan
|
Fjord artisan
Joined: Mar 2003
Posts: 272 |
It still should be in the /help /alias section...
- cF Dedicated helper for rent.
|
|
|
|
Joined: Mar 2003
Posts: 1,271
Hoopy frood
|
OP
Hoopy frood
Joined: Mar 2003
Posts: 1,271 |
Perhaps, but that's beside the point I was making. It's in there. Far as I know $lof and /action are not.
DALnet #Helpdesk I hear and I forget. I see and I remember. I do and I understand. -Confucius
|
|
|
|
Joined: Dec 2002
Posts: 2,809
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,809 |
Perhaps that is because they weren't meant to be used. Perhaps $lof was something Khaled thought of then decided against, but never removed it.
|
|
|
|
Joined: Dec 2002
Posts: 3,138
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 3,138 |
Quote from mIRC 5.51 versions.txt: 134.Added $file(filename).size,.mtime identifier, .mtime returns a $ctime value indicating when the file was last modified.
Note: $lof() is supported for now but will be removed in future.
$lof(filename) was replaced by $file(filename).size (although the .size isn't needed, it will return the file size without it). $lof was left in for compatability.
|
|
|
|
Joined: Feb 2003
Posts: 2,812
Hoopy frood
|
Hoopy frood
Joined: Feb 2003
Posts: 2,812 |
ALIAS -l is an Event Prefix, and has nothing to do with the command /Alias. /Alias -l does NOT work.
The other identifiers I know that are not listed are as follows. (from what I can recall off the top of my head) Some were removed from the help file, some never even made it in.
$colour() -- now $color() $lof() -- now $file().size $inpaste -- an identifier I personally asked to be added. Works in On INPUT and tells you if the text being inputted was from a paste. Compliments the $ctrlenter identifier. $iaddress, $naddress, $raddress -- now $dns() but $iaddress is still necessary as $dns() doesn't cover that info. $token() -- now $gettok() and friends. $mp3() -- now $sound() $shoe() -- now $sock() $r() -- short for $rand() $true, $false, $yes, $no, $cancel -- responses from various functions, similar to $null but not mentioned in the help file. /XYZZY -- Nothing happens. The operator !=== is also not mentioned in the help file. It stands for Not-Equals-Case-Sensitive. One might assume !== is correct, but it is not.
That's all for now, I'm sure I'll be adding more as soon as I hit post.
- Raccoon
Well. At least I won lunch. Good philosophy, see good in bad, I like!
|
|
|
|
Joined: Dec 2002
Posts: 1,922
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 1,922 |
That was an helpful post. Thanks!
|
|
|
|
Joined: May 2003
Posts: 177
Vogon poet
|
Vogon poet
Joined: May 2003
Posts: 177 |
heh, $shoe? I never knew about that one...
|
|
|
|
Joined: Feb 2003
Posts: 2,812
Hoopy frood
|
Hoopy frood
Joined: Feb 2003
Posts: 2,812 |
perceptive. At least someone reads my posts.
Well. At least I won lunch. Good philosophy, see good in bad, I like!
|
|
|
|
Joined: Feb 2003
Posts: 32
Ameglian cow
|
Ameglian cow
Joined: Feb 2003
Posts: 32 |
A few more i can think of are
/setlayer $pi And the 'flat' style for checkboxes.
|
|
|
|
Joined: May 2003
Posts: 177
Vogon poet
|
Vogon poet
Joined: May 2003
Posts: 177 |
lol how did you find out about $pi? Anyway, $beta is also undocumented.
|
|
|
|
Joined: Dec 2002
Posts: 2,809
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,809 |
$pi is virtually useless. For whatever reason, mIRC has decided to display 21 digits for $pi. Well, $calc can't handle 21 digits. If you type $calc($pi) you can see mIRC quickly trims it to 7 digits. Meaning, if you need pi your best bet is to just do alias mypi { return 3.141593 } rather than use mIRC's built in $pi since it will make things slower since each time it is used it has to be rounded.
|
|
|
|
Joined: Dec 2002
Posts: 1,922
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 1,922 |
Seemingly it's still faster to let mirc round $pi than to call a custom identifier.
|
|
|
|
Joined: Dec 2002
Posts: 2,809
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,809 |
Well then be like all the cool people and just memorize pi! 3.14159!
|
|
|
|
Joined: Feb 2003
Posts: 2,812
Hoopy frood
|
Hoopy frood
Joined: Feb 2003
Posts: 2,812 |
Very cool additions SaX0n and Prizm. What does /setlayer do though, is it a draw command for picture windows?
- Raccoon
Well. At least I won lunch. Good philosophy, see good in bad, I like!
|
|
|
|
Joined: Dec 2002
Posts: 2,809
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,809 |
It makes a mIRC transparent
|
|
|
|
Joined: Jan 2003
Posts: 2,523
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,523 |
Syntax: /setlayer N [window] N must be a number from 0 to 255. 0 is full trasparency, 255 is full opacity The [window] parameter is optional; if not specified, /setlayer affects the main mirc window. Of course, the target window (if any) must be a desktop one.
Another useful (at least for me) undocumented identifier is $nickmode , which works exactly like $prefix, but returns the letters instead of the symbols. $evalnext(stuff,N) also works like $eval(stuff,N+1). I remember a post in the old boards talking about $eval() being buggy. Oddly enough, $evalnext() didn't have that bug (I don't remember anything about the bug anymore and maybe it's fixed by now).
/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
|
|
|
|
Joined: Dec 2002
Posts: 1,922
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 1,922 |
We faced $evalnext() on this board, too see this thread. And btw, /registration is also undocumented :tongue:
|
|
|
|
Joined: Feb 2003
Posts: 8
Nutrimatic drinks dispenser
|
Nutrimatic drinks dispenser
Joined: Feb 2003
Posts: 8 |
Some other "hidden" stuff
$nopnick(#, N) - return number of non-ops on # (if N = 0) or the Nth non-op $nvnick(#, N) - same as above, but exculeds in addition to ops voice too
|
|
|
|
Joined: Dec 2002
Posts: 2,962
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,962 |
Both of those identifiers are undocumented because they're deprecated in favour of $nick().
Spelling mistakes, grammatical errors, and stupid comments are intentional.
|
|
|
|
Joined: Dec 2002
Posts: 2,809
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,809 |
Why do you people want to use undocumented features so much? Perhaps there is a reason they are undocumented. Maybe they don't work well, maybe they will be gone in the next version. I remember when I wrote a program that used some undocumented windows functions, then when XP came out my program stopped working alltogether, why? MS decided that the undocumented function I had been using was no longer needed, so they removed it. There is generally a reason some things are documented and other things aren't. Especially when it has been brought up numerous times that these things are not documented. If Khaled wanted them in the docs, don't you think he would have done it the first 10 times these were mentioned?
|
|
|
|
Joined: Jan 2003
Posts: 2,523
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,523 |
If Khaled wanted them in the docs, don't you think he would have done it the first 10 times these were mentioned?
Are you sure he would do that for every case? How can you rule out the possibility that they are left out because he forgot about them, neglected them or simply didn't have enough time to polish up the documentation? There are other reasons I can think of too, but this is not the point here.
And even if it is as you say, so what? What if all this undocumented stuff is not working perfect? What if they are gone in the next ver? I don't know about you, but I'm not using mirc to control my nuclear reactor. If something breaks in the next ver, I fix it. Scripters that release their work can simply write a patch/update.
To answer your first question (although the answer should've been obvious to you), I use some undocumented features because they suit my needs and make my life easier. I believe lots of other scripters do that too. For example, should I forget about $nickmode because it's undocumented and instead write a script that parses 005 and stores that info somewhere? If you want your script to "always work" (there's no such thing anyway) don't use these features. But the fact that other people are willing to take that "risk" should not be surprising to you.
/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
|
|
|
|
Joined: Dec 2002
Posts: 2,809
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,809 |
Do you honestly think he forgot about $true and $false? Maybe about half of the scripts pasted on here use those. There is no way he could have forgotten they exist. For example, should I forget about $nickmode because it's undocumented and instead write a script that parses 005 and stores that info somewhere?
Well thats what I did, $isupport(token), it determines if the token exists, and if it has a value the value is returned. I'd much rather use that than rely on something that may suddenly disappear. And it isn't suprising that people use it, it's just stupid imho. Consider /setlayer. I make a script that uses setlayer. My users love it, they love that you can make it transparent, and everything. Now 6.04 comes out, and /setlayer is gone. Users complain it doesn't work anymore. I can't simply "code a workaround" because there is no workaround, the feature is gone, now I am forced to remove a popular feature of my script. I don't consider that to be a good thing.
|
|
|
|
Anonymous
Unregistered
|
Anonymous
Unregistered
|
I parse 005 myself too .. for the same reasons .. so I wouldn't have to fix it later lol .. plus there's a lot more in 005 than just prefix & I wanted to be able to have it all.
Last edited by r0ck; 16/05/03 07:48 PM.
|
|
|
|
Joined: Dec 2002
Posts: 196
Vogon poet
|
Vogon poet
Joined: Dec 2002
Posts: 196 |
Anyway, of these, $* is probably one of the most useful undocumented features - which should be documented.
|
|
|
|
Joined: Apr 2003
Posts: 426
Fjord artisan
|
Fjord artisan
Joined: Apr 2003
Posts: 426 |
If that's the case, don't use anything in mIRC. Because heaven forbid, $version might just suddenly dissapear, or $hfind, or anything else for that matter. You do make a valid point that they may be undocumented for good reasons, yet I think you would also be a little more open minded to other possibilities, such as Khaled forgetting to put them in, or not having time to do so. I know for sure I have a really hard time trying to remember every single detail about my script, and I also know that there are some things in my script that I purposely don't document. Be a little more open minded
-------- mIRC - fun for all the family (except grandma and grandpa)
|
|
|
|
Joined: Feb 2003
Posts: 2,812
Hoopy frood
|
Hoopy frood
Joined: Feb 2003
Posts: 2,812 |
Remember I posted $inpaste. It's a function that Khaled kindly implimented becasue I asked him to. It has been around since about 5.7ish and has never made the help file. I don't see $inpaste suddenly disappearing in the next version, simply because it's still undocumented. Not without taking $ctrlenter with it.
- Raccoon
Well. At least I won lunch. Good philosophy, see good in bad, I like!
|
|
|
|
Joined: Dec 2002
Posts: 774
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 774 |
$inpaste Returns $true if a user typed Control+V or Shift+Insert to paste text into an editbox, mainly useful when processing an on INPUT event. /help Other Identifiers
//if ( khaled isgod ) echo yes | else echo no
|
|
|
|
Joined: Feb 2003
Posts: 2,812
Hoopy frood
|
Hoopy frood
Joined: Feb 2003
Posts: 2,812 |
touche. *grumbles at Tjerk for not including it in the search list, or with On INPUT*
- Raccoon
Well. At least I won lunch. Good philosophy, see good in bad, I like!
|
|
|
|
|