Congrats on posting your first snippet. The only thing I can say is the if ($nick==$nick) statement is really not necessary. It will always return true. If you are going to build further on this snippet, you may want to consider what happens if alot of users join at once or a server reset. You might flood out.
Unfortunately, colored buttons have to be drawn using bitmap images in DCX. You can either specify a button bitmap or just use an image control. The windows API allows you to change the background color of a button object, but DCX does not support the property of BackColor yet, as far as i know.
Looking at the documentation, I have never messed with hgradient or vgradient. I do not know how to use them.
On the note of reducing code, if using v6.35 or higher, you can use:
:P I was actually using on me:*:join:#:{ but changed it to the regular join event, because the $ial().mark becomes empty when a user hops. Perhaps I have thought wrong in the process of making the script.
A socket bot, if coded correctly, will always be a few ms faster than a mIRC script. mIRC interprets tons of information based upon irc protocols. The socket bot only handles what is defined in the code.
I think the first if statement should be && and not ||. If user is op AND you are op, versus If user is op OR you are op.. otherwise it still tries to work if you are not op.
There are a few other things beyond what napa and jethro are suggesting (which are very valid), but not relevant to functionality.
Ask away if you need help adding what they suggested. Keep up the work!
Honestly, when i see scripts like this, I get tempted to flood the user off the server... permitting flood settings, number of active channels, and all other things..
The only ay to improve is to learn the hard way.. well there is a lot of hard way to come..
I just noticed how the number of thoughts changes from page to page.
44,000 was just the initial number. The socket updates the rt.idx which is the $r value after the socket runs once. But you are right Jethro, I am grabbing the wrong number. I will update to set the initial $r to 40,000 and have the sockread fetch the number of thoughts and not the number of comments.