Well.. First, what is wrong with mIRC? While I supposed new version do have some added things, like regular expressions, I have found it filled with odd things. As an example, there is a thing called #idlerpg on one server. The concept (as insane as it sounds) is to idle your way to character improvement. A line with someone logging in is like:
Fred, a level 53 Big white rabbit, has logged in. He will level in 1 day, 21:10:01.
The problem being that neither 'Fred', nor 'Big white rabbit' are going to appear that way all the time. Both could consist or only one word, multiple words, etc. While the wildcard system can deal with this, the way mIRC handles returning items from a line, literally $1 = first word, $2 = second word, etc., it is a lot more complicated than Mushclient's system.
There are other things I have found to be similarly frustrating about it, not the least being, at least in the version I have been using, the help file for all its features itself. Like I told someone on a forum I was getting help with something for it with, I have gotten used to Mushclient, where the limitations are more about what I am willing to try, not what or how it is designed to work.
Second.. Why is it Lua dependant? Well, that should be obvious. I suppose you could do it in Python as well, since it also supplies threads, I think. But the key issue here is that you need something for the world to connect to and something to connect to the IRC server. This could be a special designed Proxy, sort of like what I made previously to test scripts and things with Mushclient, but if you where to do it without any external applications, then you have to have code running parallel to the client. The IRC part must be able to capture stuff as it arrives from the server continuously. this means you can't just suspend that part when doing something else, then start it again when you need it. Lua is one of, if not the only, script system that lets you run such processes parallel to Mushclient, without completely locking up the client and making it impossible to use anyway.
As for the arguement about it not being for IRC... I got a similar arguement when I compared how triggers worked in MC with mIRC. My only response to the arguement was "Huh?". Yeah, it isn't designed to handle the nicks and other server specific parts of the IRC protocol, however, what is really the difference between mud text and IRC text? Both use ansi and both are well... text. If you dump the text from the server to a telnet port and MC recieves it there, then there is no effective difference. The differences are all in the underpinnings, the core operation and that can be done through the scripting. Well, and minor differences in the way the windows operate... But the mere fact that it should be possible at all, make the arguement that it isn't designed for it a matter of programming support for it, not a limitation of overall function.
As for the final issue.. Having to append the name of the channel, so that the channel is recognized is not imho practical. However... There is nothing to prevent using a template window that 'passes' the stuff you type back to the main world. The template would have an alias you could call when created, which set a variable for that world specific to that 'channel'. The template world could then automatically append the channel it belonged to.
Anyway. mIRC isn't looking 'quite' as bad as it was. I am just so used to the way Mushclient did things that it was like being handed a 'programmable' calculator and initially discovering that all it seemed to do is the basic four functions. lol I still find it more convoluted and frustrating, but it isn't quite as bad as I thought. Frankly though, I would still prefer an adaptation closer to MC, especially since it appears 5.91, which I am using, may have a "in 30-days I die" feature I didn't know about and I may lose the only client I do have at the moment. mIRC just feels sort of clastraphobic after using MC. |