Oct 27, 2005
Do not pmsg me for help.

Activity Stream

FiberOPtics commented on a Page, /pause  -  Aug 10, 2015

Hey guys, sorry for that negative rant back there in January 2006, don't take it too seriously please :)

jaytea is right, I must have been ticked off that day, lol, embarrassing to read it in retrospect!

hixxy, I'm trying to remember your previous nickname, I've seen it in countless posts, and on the tip of my tongue, but can't quite get it.

What a great time it was in those years, back in university, all I did was go out and if i wasn't out, i was spending time on IRC. In the early years on Dalnet heavily into DBZ under the alias Perfecta_Cellka or later Cellka where I was a SOP on #dbzirc and co-founder of #dbzmedia.

FiberOPtics was my scripting alter ego that I used in the message boards, already then I didn't chat much, but the scripting was too much fun. My education and jobs have no link to coding or anything like that, but 2 years ago, for fun, decided to learn python, I missed scripting. Made an IRC chat client, a webpage with python backend, and most recently I'm using it for home automation. Guess the tinkering with code will never die.

Some of my favourites and most memorable scripters were qwerty, Online, jaytea, Iori/Pai, myndzi, Hammer. In later generations I know myggan & hixxy were also very good. I'm sure there were so many more but those names I can remember easily!

jaytea, remember when qwerty was challenging us on the regex commatizer? Man those were the days!

Have fun :)

FiberOPtics commented on a Page, Fun Talkers  -  Jan 23, 2006

Use $replacecs if you want case sensitivity.

FiberOPtics commented on a Page, /pause  -  Jan 14, 2006

You don\'t understand.

It\'s not so much the fact that I got a 6, although it is far beneath what it is worth, no matter if I\'m the author, I\'m objective enough to know quality code when I see it.

My gripe is that I get a grade that is only just above some of the absolute garbage that gets posted here. I don\'t know about others, but for me, that is completely insulting. You know, my code actually works! Some of the snippets that got submitted here this week don\'t even work properly, or are suffering from design mistakes that shouldn\'t be there in the first place. That\'s why I was mad, I\'m almost getting the same score as those people, and they can\'t even script!

The score of a snippet says something about the quality of the snippet, of the code, of its usefulness, on how much care the author used when creating the snippet. Do you know how much time I spent on writing the documentation for my snippets? Take a look at my $fileinfo snippet, writing the documentation for that took longer than writing the code.

Anyway, what bothers me the most is that people who don\'t have a clue about mIRC scripting have the ability to grade me with whatever score they want.

Unfortunately, I\'m not the kind of person that can cope with something like that, I don\'t want just anyone grading my code, when I know I\'m 10x better at scripting than the person grading me in the first place. I feel like a professor getting graded a D by a freshman student.

You may call that childish if you wish, but that\'s simply how I perceive things. I\'m not going to beg people to give me a big score, so the only thing to prevent getting a low score is simply no longer submitting code.

I\'m aware my reaction was a overly dramatic, but to be honest I was seriously pissed off, because that\'s the kind of person I am when things happen that I don\'t agree with. I\'m aware that when you\'re pissed of, your not nearly as rational as you are in normal situations. So yes, I did overreact.

I\'m keeping the rest of my snippets for sites where only qualified people may grade submissions, and where people appreciate good code.

I have nothing further to say.

FiberOPtics commented on a Page, /pause  -  Jan 14, 2006

Btw, giving this snippet a 6 is an insult to me.

The error checking alone for this snippet is more code than some of the stuff some people submit here, and it\'s 10x more innovative than something like a \"random nick colorer\" the snippet before this that got a 5. Preposterous.

Do you people think you can just come up with functionality like this as if it\'s nothing?

This is complete bullshit, goodbye

FiberOPtics commented on a Page, Anti-Advertising  -  Jan 14, 2006

//if (www isin awww) echo -a match

This script is terrible.

FiberOPtics commented on a Page, /pause  -  Jan 14, 2006

The notes look normal to me. They look weird for you?

FiberOPtics commented on a Page, Easy Disk Information  -  Jan 14, 2006

You can simplify your looping process if you start at var %i = 1 and loop through $disk(%i), since $disk accepts either a name like c: or a number N which represents the N\'th drive. Let me illustrate:

var %i = 1
while (!$disk(%i)) inc %i
; stuff with $disk(%i).[property]

But anyway, once again there is a fundamental design flaw in this, because if you have a floppy inserted in your a: drive, then it will return stats about this floppy drive instead of your c: drive.

Furthermore, as in my case, you may have disk partitions, of which we won\'t get to see any statistics with your code, only of the first partition.

It would be much more convenient, if you made an identifier that takes as parameter the path to the drive, such as c or d, and that your snippet returns the same stats as now, but for the specified drive.

In other words $diskstats() instead of just $diskstats.

FiberOPtics created a Page  -  Jan 14, 2006

Author: FiberOPtics Email: Usage: /pause <s|ms> <N>, where s stands for seconds, and ms for milliseconds. Examples: //echo -a hi | pause s 3 | echo -a sup //echo -a 1 2 3... | pause ms 1500 | echo -a 4 Purpose: Will pause the script engine on the current thread from processing, until the specified interval in seconds "s" or milliseconds "ms" has passed. Reqs:..

FiberOPtics commented on a Page, /amsg & /ame  -  Jan 13, 2006

Btw the same recursion happens for example with filter and the -k flag.


alias test filter -fk $mircini test

Basically, the same case where the alias is called but not directly from the alias, rather it\'s filter that calls test here, which in term calls the filter again, which in term calls test again, etc, infinite recursion, making your mIRC crash.

Same example as the /scon or /scid case.

Here\'s another fun one:

alias test1 test2
alias test2 test1

(the above example used to work fine in older versions for 500 calls or something then it stopped, but in the current version it just crashes instantly)

FiberOPtics commented on a Page, /amsg & /ame  -  Jan 13, 2006

When you pass a command to scon it is called not directly from the same alias anymore, which will create this recursion.

Try this:

alias test scon -a test

(it will close your mIRC)

There used to be a defense mechanism that would prevent mIRC from crashing, but in 6.16 this mechanism is broken.

FiberOPtics commented on a Page, /amsg & /ame  -  Jan 12, 2006

Oh btw, I forgot to mention, there is a HUGE mistake in your code.

$scon(0) returns the total amount of open server windows. Let\'s say this is 3.

You are looping from %t = 1 till 3 then, with %t being 1, 2, 3.

You then do: scid %t, which will set the active server window to the one that has as $cid the value %t.


The $cid of a server window, is a gloval variable in mIRC internal\'s, that is not reset until you close mIRC. When you open a new server window, mIRC checks this value, increments it, and assigns the new value as the $cid to this server window.

Let me illustrate where I am going with this:

->You have 2 server windows open, with $cid\'s 1 and 2.
->You close server window 2, and then open a new one.
-> The new one now has $cid 3, but you still only have 2 server windows open, with $cid\'s 1 and 3.

Do you notice how when you are looping, you will try to do \"scid 2\" which will try to set the active connection to a server window that doesn\'t exist!

The trick here is not to use /scid, but to use /scon. /scid takes a $cid, whilst /scon takes a number that represents the N\'th window, which is what you are looking for.

In our example, when you do scon %c, it will set it to the second server window, which is the one with $cid 3.

FiberOPtics commented on a Page, /amsg & /ame  -  Jan 12, 2006

You can simply do:

alias amsgx var %msg = $1- | scon -at1 amsg % $+ msg
alias amex var %msg = $1- | scon -at1 ame % $+ msg

It\'s really a bad idea to name your aliases the same as the built-in aliases, because now when someone does an /ame, it will do it on all server windows.

The reason that I use a variable and escape it in the code like that, is because there is danger of dubble evaluation when using the scon/scid commands. This is illustrated when doing: //scon -a echo -a $!me

Additionally, you are not checking $status on each server, which will result into an error when you try to describe or message a channel on an offline server window.

Also, as I stated in another comment section, $chan() doesn\'t make a distinction between channels that you are in, and those that were left open after a disconnect (channels you are no longer in, in other words), so you should loop with $comchan($me,%x)

But anyway, like said, looping isn\'t needed at all.

Btw if you decided to recreate the aliases to use scon -at1 ame/amsg, then you MUST escape the ame/amsg commands by prefixing them with a ! or it would close your mIRC because of infinite recursion.


alias amsg var %msg = $1- | scon -at1 !amsg % $+ msg
alias ame var %msg = $1- | scon -at1 !ame % $+ msg

FiberOPtics commented on a Page, chans peak mass counter all chans)  -  Jan 10, 2006

No problem :)

FiberOPtics commented on a Page, chans peak mass counter all chans)  -  Jan 10, 2006

Yikes that url didn\'t get formatted.

Btw you should loop through $comchan($me,%i) instead of $chan, because $chan makes no distinction between channels that you are in, and channels you are not in. When you disconnect from IRC, and have the optoin \"keep channels open\", and you reconnect, without rejoining those chans, those channel windows stay open and $chan includes those.

$comchan($me,N) only takes into account actual online channels.

FiberOPtics commented on a Page, chans peak mass counter all chans)  -  Jan 10, 2006

The reason why you get errors when not using the correct syntax is explained here

FiberOPtics commented on a Page, Mathmatical sin,cos,tan functions  -  Jan 10, 2006

What do you mean \"it\'s easy\"? Of course it is, you just put built-in identifiers in a few aliases that echo instead of return the value.

I think people can type //echo -a $sin().deg theirselves, or make a small custom alias theirselves to echo instead of return the value.

I don\'t understand why you would submit something like this, I mean, you could start submitting stuff like this for every built-in identifier... pointless.

Here\'s my newest mathematical snippet! alias calcit echo -a $calc($1)

I\'m not trying to hurt your feelings or anything, but honestly, is this a joke or are you for real about this?

FiberOPtics commented on a Page, $fileinfo & $findfileinfo: 37 types of info  -  Jan 04, 2006

Thank you tank59, I appreciate your comment.

I\'ve got a lot more snippets to submit, all of which provide something unique in mIRC that you won\'t find with \"regular\" scripting.

FiberOPtics commented on a Page, $foldersize using COM  -  Jan 04, 2006

Thanks, I appreciate it. This looks like a nice community btw, quite friendly people.

FiberOPtics commented on a Page, $fileinfo & $findfileinfo: 37 types of info  -  Jan 04, 2006

The primary reason that I made this was to read information about .wma files btw, something mIRC doesn\'t support. All the other properties were just a nice extra :)

FiberOPtics commented on a Page, $fileinfo & $findfileinfo: 37 types of info  -  Jan 04, 2006

It supports id3v2 if your Windows Explorer supports it. On my comp it does.

There\'s no option to specify what kind of tags to read in Windows as far as I know.

FiberOPtics commented on a Page, Basic $regex example  -  Jan 04, 2006

Btw, on another note:

$regex always returns a digit in range 0-, in other words, you don\'t need to check for > 0.

In an if statement, when checking a value like: if (value)

the condition evaluates to $true when the value is not 0, not $false, and not $null. In the same way, the if statement returns $false, if the value was either 0, $false, or $null.

Since $regex is always a digit, we can already rule out the $true and $false, leaving us with only the digit 0 to make the if condition false.

Therefore \"if ($regex([name],value,))\" is sufficient.

FiberOPtics commented on a Page, Commas  -  Jan 04, 2006

bearruler, try these:

$bytes(0.5,b) -> 1
$bytes(-100,b) -> -,100
$bytes(10000000.1234,b) -> 10,000,000
$bytes(99999999999999999,b) -> 100,000,000,000,000,000

You were saying?

FiberOPtics commented on a Page, Commas  -  Jan 04, 2006

There is an error in the description, where it says it works with atleast 50 numbers. Try this:

//echo -a $bytes(99999999999999999,b)

Result: 100,000,000,000,000,000

$bytes has trouble with rounding at 16 digits, and over 17 it start screwing up severly.


//echo -a $bytes(10000000000000000000000000,b)



See that 001 in the forth to last trio of digits?

That\'s why I made that $comma identifier, it gives support for an unlimited amount of numbers, as long as it\'s within the string too long limit.

FiberOPtics commented on a Page, Basic $regex example  -  Jan 04, 2006

You should always put your expressions between slashes / /
before you run into this situation:

//echo -a $regex(a,moo)

and wonder why it says there is 1 match...

Also, when you create regexes that capture a pattern, it\'s also a good idea to name your regexes, because everytime a regex captures, it overwrites the old results in $regml.

In cases where you are not planning to reference the captured results later with $regml, it is more efficient to create an uncapturing expression:

(?:L|l) instead of (L|l)

but anyway you should just use the i modifier which will make your expressoin case insensitive:

From: if ($regex($1-,(L|l)(O|o)(L|l)) > 0) {


if ($regex($1-,/lol/i)) {

The i modifier tells the regex engine that the specified alpha chars are case insensitive.

I could go on and on and give tips for improvement, but that would end up being a tutorial, something that already exists.

FiberOPtics created a Page  -  Jan 04, 2006

Author: FiberOPtics -- Usage: 1) $fileinfo(filepath, properties [,separator])[.raw] Will retrieve information about a file. The possible properties are listed further below. 2) $findfileinfo( initialize, properties [, seperator])[.raw] $findfileinfo() $findfileinfo(quit) Findfileinfo is specifically designed to be used when you want to retrieve properties about files from..

FiberOPtics commented on a Page, $foldersize using COM  -  Jan 04, 2006

Tried to edit my other post until I realized there\'s no edit feature.

Thanks for your comment, RoninWarrior.

FiberOPtics commented on a Page, $foldersize using COM  -  Jan 04, 2006

You guys give really low scores here o.O

Is there something wrong with the code, not functioning? This is pretty unique functionality, and retrieves the size of a folder much faster than mIRC ever could with $findfile so I\'m wondering what\'s the problem?

FiberOPtics created a Page  -  Jan 04, 2006

Author: FiberOPtics -- Purpose: Create, modify, or return information about Windows Shortcuts. The shortcuts can be either .lnk or .url files. Usage: This snippet can be used in two ways:

FiberOPtics created a Page  -  Jan 04, 2006
1 503 

Author: FiberOPtics -- Usage: $specialfolder(folder) or /specialfolder folder Purpose: Returns the path of a Windows Special Folder. This has the same functionality as nLINKn's specdir function, however with the use of COM instead of with a DLL. Categories: AllUsersAppdata AllUsersDesktop AllUsersFavorites AllUsersPrograms AllUsersStartMenu AllUsersStartup Appdata Comspec Cookies Desktop Favorites Fonts History Internetcache LocalAppdata MyDocuments MyPictures Nethood Printhood ProgramFiles Programs Recent Sendto StartMenu Startup System Templates Userprofile Windir Requirements: 17..

  1 Thread   mIRC  
FiberOPtics commented on a Page, $comma()  -  Jan 04, 2006

Thanks for the info, atleast that helps. I still think it\'s kinda silly though.

Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.