Jump to content

TG007

Admin
  • Posts

    319
  • Joined

  • Last visited

Everything posted by TG007

  1. Ok i'll make some edits. As for the font preview it does have to be that big as different fonts show differently. Not so much heightwise, so i could maybe change height but the width has to be what it is. Actually it needs to just a hair longer for some fonts And i'm getting old and my eyes are not whut they used to be but thanks for the suggestions.. i'll try them out.
  2. plus he is rather daft muahahahahahahha nah seriously.. i think he is still in the code for release mode as that is what he did for so long. Now he really doesn't intend to release it but still codes as if he was. So maybe if ya'll are really really nice to him he will start releasing his stuff again. As I do get his work from time to time I'm telling you that because of a few idiots everyone is missing out on some really good stuff.
  3. another dialog and i changed the icons at the bottom to a dropdown w/ icons under switchbar treeview.
  4. I believe he should have said something to you before he went and did that. As for his motives for doing it one can only hope his intentions were to help users. Ziggy has alot of talent in that area so it's nice he is taking the time to help users that prefer xchat. We thank you both very much for your contributions. Look forward to your next update haggis.
  5. with the amount of screenspace i have and the size of the image i should have no problem in that area
  6. Got bored while cusa was down. Script works well for multiple servers. Even changes bg image and icons automatically based on server.
  7. I meant to add that to this thread before but got sidetracked.. sorry
  8. doesn't bother me.. i made it for ppl to use.. i think it's in poor taste to claim it as their own but still i know i made it and i still think it's kewl ppl like it lol.
  9. Someone used something i made.. whether it's ripped or not i think that's kewl beans lol.
  10. oh you are going to puff up his already over inflated ego with that statement.
  11. muahhahahahahahahahah we got ozzy scripting again
  12. they are the same icons as chatsusa use. well except the mirc one.. I added that to show scripts
  13. Here's what i'm working on.. mostly nicklist stuff done.
  14. Hot off the presses: Ozzy10 to square off with khar in a no holds barred battle royal cage match. This monumental battle has been in the horizon for many months and it finally about to happen. This time it's personal. Both sides are ready for blood. Prepare yourself for the bloodshed as these two warriors go at it. Will it be the seasoned no nonsense ( or sense of humor ) Ozzy10 with his patented "DEATH BLOW" ? Or will it be the newcomer khar, who is fresh on the scene but quickly rising to the top of the ranks. Will his move the "SLOBBER KNOCKER" be enough. Remember folks you can only see it here. Don't miss the action. Warning: Some content is not suitable for young children. Parental Guidance is suggested. This battle has been rated R for Gore, Blood, Slime, Extreme Violence, Foul Language, and Brief Nudity.
  15. Khar we have opened up the news so that other users can submit.. Click Here For More Info It shows the last 10 topics ( not posts ) on main page under User News
  16. Make Firefox Faster After you get past the beginner stage with Firefox, try this "power-user" trick to make it download pages faster by allowing multiple connections so it can download more than one file at a time. It's only useful for broadband users, so if you're still on dial-up you can just skip this one for now. Here's something for broadband people that will really speed Firefox up: 1.Type "about:config" into the address bar and hit return. Scroll down and look for the following entries: network.http.pipelining network.http.proxy.pipelining network.http.pipelining.maxrequests Normally the browser will make one request to a web page at a time. When you enable pipelining it will make several at once, which really speeds up page loading. 2. Alter the entries as follows: Set "network.http.pipelining" to "true" Set "network.http.proxy.pipelining" to "true" Set "network.http.pipelining.maxrequests" to some number like 30. This means it will make 30 requests at once. 3. Lastly right-click anywhere and select New-> Integer. Name it "nglayout.initialpaint.delay" and set its value to "0". This value is the amount of time the browser waits before it acts on information it receives. If you're using a broadband connection you'll load pages MUCH faster now!
  17. User submitted news is exactly what it says. If you wish to be a part of our news posters please pm myself or ozzy and we will add you to a special group that allows you to post news that will appear as a user submitted news topic on the main page of the site. You can post interesting news you find. Please only contact us if you seriously mean to post often with quality news.
  18. Release 5 Written by Pasmal Courtesy of http://helpdesk.zaz.net A few words before I start. Back to the basics: Opening a Socket Back to the basics: Closing a Socket Writing to a socket Reading data from a socket A worked example of a basci HTTP Client Acting as a server Worked example of acting as a server Worked example of acting as a direct chat server Protocol? What Protocol? The Sockmark Socket Identifiers A few words before I start. Sockets were introduced into mIRC in version 5.3 and are used to help control raw connections to other computers (connected to the internet). A word of warning, if you are not very familiar with aliases, remotes, identifiers and variables then I strongly suggest you learn them up first. In other words, this is not for the newbie scripter. Please note that this introduction is just that, not a complete guide on how to master sockets, nor does it cover UDP sockets, so everything in this introduction is for TCP sockets.. Mastering sockets takes A LOT of practice, time, and patience. "It may not happen overnight, but it will happen" Back to the basics: Opening a Socket It is rather simple to open a socket connect using mIRC. The /sockopen command does this. Its format: /sockopen sockname server port Sockname is just a name that you make up, it does not have to stand for anything. Server is the server you want to connect to. NOTE: http:// and ftp:// is not part of a server name. So if I wanted to open a socket to http://www.cnn.com I would type /sockopen cnn www.cnn.com 80 NOT /sockopen cnn http://www.cnn.com 80 . The port you choose is very important, different types of servers use different ports. Below are some common ports and their uses: 80 HTTP (web server) 6667 IRC 110 POP3 (incoming email) Of course there are many more. The on SOCKOPEN event reacts when a socket is opened. Its format: on *:SOCKOPEN:sockname: commands I will make several examples once I have covered most of the basics Back to the basics: Closing a Socket To close a socket you need to know only one thing: the name of the socket. The command to close a socket is /sockclose sockname. The event which reacts when a socket is closed is on SOCKCLOSE. Its format is: on *:SOCKCLOSE:sockname: commands You may also use wildcards for the sockname. Writing to a socket Writing or sending data to a socket requires the /sockwrite command. Its format is the following: /sockwrite -n sockname data e.g. to request a file from a web server: /sockwrite -n sockname GET /directory/filename HTTP/1.0 Data is the binary or ASCII text you want to send. If you wanted to get a file from a web server, you would probably use: The -n switch is used to append a $crlf (carriage return, line feed) to the end of the data. This basiclly tells the computer you are sending the data to, that its the end of the line. If you did not use -n or $crlf then the computer usually would not respond until you did use -n or $crlf (i.e. its like queing lots and lots of lines, then finally letting them go, except the other computer will see it as just one long line). Note:The HTTP/1.0 is not required but if you do use it, you need to send an additional sockwrite command to tell the server you have finished sending data (Because the HTTP/1.x protocols allow for addition data to be sent with the request). The additional sockwrite command is /sockwrite sockname$crlf. You can also use wildcards in the sockname in the /sockwrite command. e.g. /sockwrite -n www* GET / will send "GET /" to all sockets that start with www. Side Note: Once the data from each sockwrite command has been received, the on SOCKWRITE event will trigger. This is a fairly unknown event. What I found useful about it is that it allows you to not "throttle" all your data at once, but send one "packet" at a time until all of the data needed to be sent has been sent. This means you won't overflow the socket and crash mIRC Of course I only use this method for large data sends (i.e. files over a few k's) in my mIRC Web Server. What I do is I use binary functions (bread, bwrite, &binary-variables) to send a file requested by another computer. I send the file in lots of 4096 bytes. After each lot of 4096 bytes is sent, the on SOCKWRITE event reacts, which I then create a script to make it send the next lot of 4096 bytes etc... This is alot better from a method using loops & $read -l or even loops and binary as it dosn't lock up mIRC/sometimes crash it. Reading data from a socket To read what the computer at the other end of the connection is sending back to you, you need to use the sockread command in conjunction with on SOCKREAD. The format for /sockread is: /sockread %variable It basically sets whatever data came through the socket to a variable. This command can only be used inside the on SOCKREAD event. The format for on SOCKREAD is: on *:SOCKREAD:sockname: commands Below is an example of how to read then display the data sent to you: on *:SOCKREAD:sockname:{ if ($sockerr > 0) return ; The $sockerr identifier will only return a number greater than 0 when an error has ; occured in the connection. :nextread sockread %temp if ($sockbr == 0) return ; $sockbr returns the number of bytes read by the sockread command. Its a good way to ; check if you actually read anything. if (%temp) { echo %temp } goto nextread } A worked example of a basic HTTP Client In remotes put: on *:SOCKOPEN:http: { echo -s *** $sockname was just opened, Retrieving file sock.nfo ; $sockname stands for the name of the socket, i.e. http sockwrite -n $sockname GET /~mcopley/sock.nfo HTTP/1.0 sockwrite $sockname $crlf ; sent data to http socket requesting the file /~mcopley/sock.nfo ; you may sometimes get a file not found message even though you know ; it exists. This is usually because you need to specify a Host: or Referer: ; For more information on the HTTP protocol click here. } on *:SOCKCLOSE:http: { echo -s *** $sockname just closed } on *:SOCKREAD:http: { if ($sockerr > 0) return :nextread sockread %temp ; read the data coming from the socket if ($sockbr == 0) return ; if i've read all the data, stop if (%temp) { echo %temp } ; if there was stuff received from the socket, then echo it goto nextread } Then in your status window (It does not have to be the status window) type: /sockopen http homepages.ihug.co.nz 80 (Note how I did not put http:// in front of homepages.ihug.co.nz) Acting as a server Yeup, mIRC lets you act as a server - that is accept connections coming from other computers. You need to use the /socklisten command, the format is: /socklisten sockname port When mIRC does detect someone is trying to connect onto a port you selected with /socklisten, the on SOCKLISTEN event kicks in. Its format is the following: on *:SOCKLISTEN:sockname: commands But just because someone is trying to connect means they have, you have to use the /sockaccept command to accept their connection. This means that you are allowing whoever it is to connect to your computer. The format for /sockaccept is: /sockaccept sockname When assigning a name, do not use the same sockname as your on SOCKLISTEN. Either use a modification of it, or a totally different name altogether. After you use the sockaccept command, that particular connection will now be refered to as the name of the socket that you accepted it to. Example: /socklisten test 90 on *:SOCKLISTEN:test: { echo -s *** Incoming connection. sockaccept test $+ $rand(1,100) } This will accept the incoming connection on port 90, and will name the connection test1-100. It can be any number from 1 to 100. Some people, including myself, like to use $ticks in the socket name, as its highly unlikely the script will even try to accept the connection under a sockname that already exists (as compared to $rand). Even better, I use a combination: sockaccept blah $+ $rand(100,999) $+ $ticks. So lets say someone tried to connect to us on port 90: The script will then accept their connection, and name it something like 'test93'. From now on that single socket/connection will be called test93. If we want to send data to that socket we write /sockwrite -switches test93 data NOT /sockwrite -switches test data. This is why $sockname comes in handy, as it allows you to interact with a socket without knowing its full name. Worked example of acting as a one way server This is a type of one sided chat (Finger/info reply if you will) Server Side: Activate socklisten by typing: /socklisten inf 90 In remotes put: on *:SOCKLISTEN:inf: { echo -s *** Incoming chat connection, sending text to it. set -u3 %temp.socketname info $+ $rand(1,300) ;make up a half random name for the socket sockaccept %temp.socketname ;accept the socket sockwrite -n %temp.socketname Welcome to my One Sided Chat - A Socket Server sockwrite -n %temp.socketname What you are receiving is just info about myself sockwrite -n %temp.socketname - sockwrite -n %temp.socketname Nick: $me sockwrite -n %temp.socketname Time $time sockwrite -n %temp.socketname Other Stuff: I like making socket stuff with mIRC sockwrite -n %temp.socketname Oh, and be sure to use the latest mIRC! sockwrite -n %temp.socketname - sockwrite -n %temp.socketname Byeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee! ;send data to the socket .timer 1 1 sockclose %temp.socketname ;close the socket after 1 second, allowing time for all data to be sent } on *:SOCKCLOSE:info*: { echo -s *** $sockname has been terminated } Client Side: To open a connection type: /sockopen clientinfo address 90 In remotes put: on *:SOCKOPEN:clientinfo: { window @ClientInfo titlebar @ClientInfo from $sock($sockname).ip } on *:SOCKCLOSE:clientInfo: { echo -s *** Closed connection with $sock($sockname).ip } on *:SOCKREAD:clientInfo: { if ($sockerr > 0) return :nextread sockread %temp if ($sockbr == 0) return if (%temp) aline @ClientInfo %temp ;writes the received text to the window @ClientInfo goto nextread } Of course you are not limited to just one way communication with socklisten, you can do both ways. It is possible to make mail,irc,web, and ftp servers. Its just a matter of know how. Worked example of acting as a direct chat server Server Side: /socklisten chat 6600 [This is typed in the command line, NOT placed in remotes] on *:SOCKLISTEN:chat: { echo -s *** Incoming chat connection, sending text to it. set %temp.socketname chatter $+ $rand(1,300) ;make up a half random name for the socket sockaccept %temp.socketname ;accept the socket window -e @Chat sockwrite -n %temp.socketname Connection Established. You are talking to $me ;opens a window, and tells the other person your nickname. } on *:SOCKREAD:chatter*: { if ($sockerr > 0) return :nextread sockread %temp if ($sockbr == 0) return if (%temp) aline @Chat %temp ;writes the received text to the window @Chat goto nextread } on *:INPUT:@Chat: { if ($left($1,1) != /) { ;makes sure your not trying to do a command sockwrite -n %temp.socketname < $+ $me $+ > $1- ;sends the text to the other person halt } } on *:SOCKCLOSE:chatter*: aline @Chat >>> Connection has been closed at $time Client Side: To start a chat, type /sockopen clientchat ip 6600 on *:SOCKOPEN:clientchat: { window -e @Chat sockwrite -n $sockname Connection Established. You are talking to $me ;opens the window @Chat and sends a message to the other ; person informing them of your nickname } on *:SOCKCLOSE:clientchat: aline @Chat >>> Connection has been closed at $time on *:INPUT:@Chat: { if ($left($1,1) != /) { ;checks to see if you are not doing a command sockwrite -n ClientChat < $+ $me $+ > $1- ;sends your text to the other person halt } } on *:SOCKREAD:clientchat: { if ($sockerr > 0) return :nextread sockread %temp if ($sockbr == 0) return if (%temp) aline @Chat %temp ;writes the received text to the window @Chat goto nextread } Protocol? What Protocol? A protocol, simply put, is the format in which clients and servers interact with each other. There is not one protocol, but many. WWW,IRC,E-mail,FTP,etc... all have there own protocols. Without knowing the correct protocol, you will not be able to successfully interact with the server or client. If you ever need to find the protol for a type of server/connection, try searching http://www.altavista.com/ for "server-type protocol" i.e. "http protocol". Or use mIRC to help find it - or at least some of it. #HelpDesk's Documentation site has an Internet Protocol Section as well. I have used mIRC to find out the format for requesting a file from a web server. I used the on SOCKLISTEN and on SOCKREAD events. Example: In Remotes I put: on *:SOCKLISTEN:www: { ;this event acts as a server, thus when the web browser connects to it ; the web browser will see it as a web server and act like normal. sockaccept web $+ $ticks echo -s *** Connection Accepted. } on *:SOCKREAD:web*: { sockread %temp if (%temp) echo -s %temp ; echo-s the text sent by the browser to your status window. ;The text sent is based on the HTTPd protocol. } In the status window I typed /socklisten www 80 Then I opened Netscape and connected to http://127.0.0.1/ (This should try to connect to your computer). Goto mIRC and look in your status - you should see some text, these lines are what netscape uses to get files from the web. So what you saw was your browser using the httpd protocol to retrieve a file from the web. Now we use what we learned and reverse the process. Instead of being the server, we then act as the client. A httpd client example was done previously in this introduction. You can try to modify this process for use with other types of applications such as an IRC client. The Sockmark The /sockmark command fills the .mark attribute of a socket with the specified info for later reference via the $sock().mark property. If you do not specify any text, the mark is cleared. The mark can hold up to 512 bytes. Consider this like each socket can have an individual variable. The command to '/set its variable' is /sockmark sockname text (Similar to /set %var value if you ask me). To recall the mark attribute simply use $sock(sockname).mark. Example: Lets say you have a socket script which connects to an IRC server using the socket "server". Each time you change nicks on the IRC Server, you could get your script to write the new nickname into the sockets mark attribute via something like: /sockmark server NEWNICK Then to recall it (perhaps for use with a custom identifier) use $sock(server).mark. Lets say we did make a custom identifier that returned our current nickname, it would use the .mark attribute as shown: alias socknick if ($sock(server).mark != $null) { return $sock(server).mark } NOTE: You may also use wildcards when using the /sockmark command to set multiple matching sockets to that same information. Other types of scripts where the sockmark will come in handy are file downloaders (keep track of header info), and party lines (keep track of nickname, access, other preferences). Socket Identifiers mIRC Sockets only have a few identifiers. Below is a list with a short explanation: Identifier: Usage: $Sock(Name,N).property Properties (all optional): name, port, ip, status, sent, rcvd, sq, rq, ls, lr, mark, type, saddr, sport, to .name returns the name of the socket (e.g. $sock(a*,1).name will return the name of the first socket starting with a. .port returns what port the socket is on (Note that when you ACCEPT a socket, it can be using a different port from the port you listened to/accepted from) .ip returns the IP Address of the socket. (e.g. $sock(a*,1).ip returns the IP of the first socket that starts with a. .status returns the status of the socket (either connecting or active). .sent and .rcvd return the number of bytes sent and rcvd over that connection so far. .sq and .rq return the number of bytes queued in the send and receive buffers respectively. A use for this is to check if there is room for more data to be sent/received to/from the socket. .ls and .lr return the number of seconds since the connection last sent and last received info. .mark is a user storage area max. 512 bytes (see /sockmark). It just returns the value in the specififed sockets storage area. You can set this value via /sockmark sockname value. .type returns the socket type, TCP or UDP .saddr and .sport return the source address and port of the last received UDP packet. .to returns the number of seconds the socket has been open. NOTE: The N parameter is OPTIONAL. Also, if you want to return the number of all open sockets use $sock(*,0) not $sock(0). $Sockname This identifier returns the name of the current socket. It can only be used from within a socket event or an alias called by a socket event. One of the most common uses for this identifier is in events where all or part of the socket name is unknown to you (See Acting As A Server). e.g: $sock($sockname).property /sockwrite -n $sockname data /sockclose $sockname etc.... $Sockerr $sockerr is set to a value after each socket command/event and must be checked after each socket command and before processing an event to see if an error occurred. OK I admit I'm slack here, and hardly ever use this identifier. $Sockbr $sockbr is set to the number of bytes read by a /sockread command. It is used to test whether any information was in fact read from the buffer. This lets you stop an event before the script starts interperating it, thus saving alot of error messages. $Portfree(N) Returns $true if the specified port number is not in use, otherwise returns $false. e.g. $portfree(6667) would return $true is the port 667 was FREE, else it would return $false isf something was using that port.
  19. How to use Smilesview.dll ( by Warrior124 ) First off, you will need to make a directory so that you can copy smilesview.dll to the directory you have created, and have the dll renamed to something else so that you can use it in multiple rooms. Here is how to do this. on ^*:JOIN:#:{ if ($nick == $me) { if (!$exists($mircdirdlls)) { mkdir dlls } copy -o smilesview.dll dlls/Dll $+ $window($chan).hwnd $+ .dll dll dlls/Dll $+ $window($chan).hwnd $+ .dll attach $window($chan).hwnd dll dlls/Dll $+ $window($chan).hwnd $+ .dll navigate about:blank } Okay, onto creating smilies. First, you will need pictures of smilies to use. I suggest putting these pictures into their own directory so that your script won't look cluttered. Next, you will need to make a code to call on these pics to replace certain text such as . Here is what I mean. This code will replace your channel window with a webpage window. Now, you will need to set some specifics so that events can write to this webpage window. Normal mirc code will not work. So, you have to use HTML to write to the window. Here is an example to write someone's text to the window. alias echo { set %echo $switch($1-) if ($chan) { dll DllTmp\Dll $+ $window(%chan $+ $chan).hwnd $+ .dll writeln <basefont color=" $+ %fontcolor $+ " size=2 face=Tahoma Border="5"><br> $+ %echo } elseif ($window(@ $+ $nick)) { dll DllTmp\Dll $+ $window($active).hwnd $+ .dll writeln <basefont color="blue" size=2 face=Tahoma Border="5"><br> $+ %echo } else { echo $1- } } Now, you can use regular mirc code to echo text to your window. on ^*:TEXT:*:#: { echo $chan $nick $+ : %echo } on ^*:INPUT:#:{ msg $chan $1- | echo $chan $me $+ : %echo } Now, for kick messages, and such you will need to change the html color code, and then change it back to the color you had before. Here is what I have. on ^*:KICK:#:{ set %fontcolor red if ($knick != $me) { echo $chan $nick kicked $knick out of $comchan($nick,1) $2- } set %fontcolor blue } alias switch { if (.com == $right($1-,4)) || (.net == $right($1-,4)) || (.org == $right($1-,4)) || (.uk == $right($1-,3)) { var %switch = %echo %switch = $replace(%switch, $+ %echo $+ ,$chr(32)) } else { var %switch = %echo %switch = $replace(%switch,[Owner],<img SRC=" $+ $mircdir $+ images\owner.bmp">,[Host],<img SRC=" $+ $mircdir $+ images\host.bmp">,[Participant],<img SRC=" $+ $mircdir $+ images\Participant.bmp">,[Spectator],<img SRC=" $+ $mircdir $+ images\Spec.ico">) %switch = $replace(%switch,<. $+ $nick $+ >,$chr(32),$nick $+ : -tmi2 < $+ $switch($nick) $+ > $1-,$chr(32),<@ $+ $nick $+ >,$chr(32),$nick $+ : -tmi2 < $+ $switch($nick) $+ > $1-,$chr(32),-ti2,$chr(32),$chan,$chr(32),nipple, ,fag, ,person, ,faggit, ,lesbian, ,sex, ,sexy, ,*, ,omfg, ,mfg, ,sux, ,suck, ,sperm, ,wtf, ,shl0ng, ,shlong, ,thingy, ,bich, ,dog, ,anal, ,anally, ,analy, ,slpoited, ,exploit, ,azz, ,cream, ,creaming, ,lmmafo, ,lmmfao, ,shexy, ,holy, ) %switch = $replace(%switch,rosygarden, ,flower, ,dog, ,bastard, ,very nice person, ,piss, ,fart, ,thingy, ,damn, ,phuck, ,starwars,<img SRC=" $+ $mircdir $+ images\starwars.gif">,lmao, ,lmfao, ,dammit, ,pist, ,ass, ,thingy, ,thingy, ,thingy, ,breast, ) %switch = $replace(%switch,//msnico,<img SRC=" $+ $mircdir $+ images\msn.ico">,f*ck, ,:f,<img SRC=" $+ $mircdir $+ images\flower.bmp"> ) %switch = $replace(%switch,:l,<img SRC=" $+ $mircdir $+ images\love.bmp">,:>,<img SRC=" $+ $mircdir $+ images\smile.bmp">,:'<,<img SRC=" $+ $mircdir $+ images\cry.bmp">,:??,<img SRC=" $+ $mircdir $+ images\owner1.bmp">,:?,<img SRC=" $+ $mircdir $+ images\host1.bmp">,:d,<img src=" $+ $mircdir $+ images/smileD.gif">,:'d,<img src=" $+ $mircdir $+ images/happy.bmp">,:],<img src=" $+ $mircdir $+ images/ninja.gif">,=],<img src=" $+ $mircdir $+ images/torch.gif">,God, ) %switch = $replace(%switch,//voi,<img SRC=" $+ $mircdir $+ images\Participant.bmp">,:' $+ $chr(40),<img SRC=" $+ $mircdir $+ images\cry.gif">,: $+ $chr(40),<img SRC=" $+ $mircdir $+ images\sad.gif">,:S,<img SRC=" $+ $mircdir $+ images\crooked.gif">,( $+ 6 $+ ),<img SRC=" $+ $mircdir $+ images\devil.gif">,o_o,<img SRC=" $+ $mircdir $+ images\shocked.gif">,: $+ $chr(41),<img SRC=" $+ $mircdir $+ images\smileN.gif">,:x,<img SRC=" $+ $mircdir $+ images\unsure.gif">,:o,<img SRC=" $+ $mircdir $+ images\SmileO.gif">,:|,<img SRC=" $+ $mircdir $+ images\dazed.gif">,:$,<img SRC=" $+ $mircdir $+ images\blush.gif">,//voice,<img SRC=" $+ $mircdir $+ images\voice.gif">,:P,<img SRC=" $+ $mircdir $+ images\smileP.gif">,:'P,<img SRC=" $+ $mircdir $+ images\childish.bmp">,8D,<img SRC=" $+ $mircdir $+ images\test1.gif">) %switch = $replace(%switch,//half,<PARAM NAME=textColor VALUE="White"><p>Test</P> ,//owner,<img SRC=" $+ $mircdir $+ images\owner.bmp">,^^,<img SRC=" $+ $mircdir $+ images\smile2.gif">,o.o,<img SRC=" $+ $mircdir $+ images\Bounce.gif">,=/,<img SRC=" $+ $mircdir $+ images\NotSure.gif">,=/,<img SRC=" $+ $mircdir $+ images\NotSure.gif">,:[,<img SRC=" $+ $mircdir $+ images\vampire.gif">,( $+ N $+ ),<img SRC=" $+ $mircdir $+ images\no.gif">,( $+ S $+ ),<img SRC=" $+ $mircdir $+ images\sleep.gif">,( $+ i $+ ),<img SRC=" $+ $mircdir $+ images\idea.gif">,( $+ T $+ ),<img SRC=" $+ $mircdir $+ images\phone.gif">,x_x,<img SRC=" $+ $mircdir $+ images\nani.gif">,(|),<img SRC=" $+ $mircdir $+ images\slepy.gif">,^o,<img SRC=" $+ $mircdir $+ images\sarcasm.gif">,//op,<img SRC=" $+ $mircdir $+ images\owner.bmp">,( $+ h $+ ),<img SRC=" $+ $mircdir $+ images\test1.gif">,:'o,<img SRC=" $+ $mircdir $+ images\shocked.bmp">) %switch = $replace(%switch,( $+ y $+ ),<img SRC=" $+ $mircdir $+ images\yes.gif">,:@,<img SRC=" $+ $mircdir $+ images\smileM.gif">,( $+ @ $+ ),<img SRC=" $+ $mircdir $+ images\anger.gif">,( $+ c $+ ),<img SRC=" $+ $mircdir $+ images\cauldron.gif">,( $+ a $+ ),<img SRC=" $+ $mircdir $+ images\angel.gif">,;p,<img SRC=" $+ $mircdir $+ images\WinP.gif">,8P,<img SRC=" $+ $mircdir $+ images\LunP.gif">,( $+ p $+ ),<img SRC=" $+ $mircdir $+ images\camera.gif">,( $+ f $+ ),<img SRC=" $+ $mircdir $+ images\rose.gif">,( $+ b $+ ),<img SRC=" $+ $mircdir $+ images\beer.gif">,; $+ $chr(41),<img SRC=" $+ $mircdir $+ images\wink.gif">,( $+ m $+ ),<img SRC=" $+ $mircdir $+ images\messenger.gif">,( $+ k $+ ),<img SRC=" $+ $mircdir $+ images\kiss.gif">,( $+ l $+ ),<img SRC=" $+ $mircdir $+ images\love.gif">,( $+ 8 $+ ),<img SRC=" $+ $mircdir $+ images\note.gif">,( $+ * $+ ),<img SRC=" $+ $mircdir $+ images\star.gif">) %switch = $replace(%switch,$dname(Word_Kill,3).text,$chr(32)) %switch = $replace(%switch,á¼ ,n) %switch = $replace(%switch,á½·,i) %switch = $replace(%switch,Ž,z) %switch = $replace(%switch,Ã…',l) %switch = $replace(%switch,ï?¨,h) %switch = $replace(%switch,ïEUR ïEUR¡,!) %switch = $replace(%switch,ïEUR¢,") %switch = $replace(%switch,ïEUR¤,$) %switch = $replace(%switch,Ã?,u) %switch = $replace(%switch, ïEUR£,$chr(37)) %switch = $replace(%switch,ïEURÂ¥,%) %switch = $replace(%switch,ïEUR¦,&) %switch = $replace(%switch,ïEUR§,') %switch = $replace(%switch,Ã?í,v) %switch = $replace(%switch,ï?§,g) %switch = $replace(%switch,â,T) %switch = $replace(%switch,Ã^,J) %switch = $replace(%switch,Å©,u) %switch = $replace(%switch,Ö½,.) %switch = $replace(%switch,ÑOE,b) %switch = $replace(%switch,âEUR¼,!!) %switch = $replace(%switch,ÑY,u) %switch = $replace(%switch,ĵ,j) %switch = $replace(%switch,â·,$chr(183)) %switch = $replace(%switch,Ãs,K) %switch = $replace(%switch,Χ,X) %switch = $replace(%switch,â"¢,(tm)) %switch = $replace(%switch,ï?<,k) %switch = $replace(%switch,Ã?L,u) %switch = $replace(%switch,ÃZ,w) %switch = $replace(%switch,ÃY,N) %switch = $replace(%switch,áºfá,w) %switch = $replace(%switch,ÑS,b) %switch = $replace(%switch,Ã?r,u) %switch = $replace(%switch,Ã’",?) %switch = $replace(%switch,ı,i) %switch = $replace(%switch,Ö¾,-) %switch = $replace(%switch,Ρ,P) %switch = $replace(%switch,Ã…,u) %switch = $replace(%switch,ï?^,H) %switch = $replace(%switch,á»",E) %switch = $replace(%switch,ï?¦,f) %switch = $replace(%switch,Ã…S,N) %switch = $replace(%switch,Ñ^,W) %switch = $replace(%switch,ï®',S) %switch = $replace(%switch,ẵ,a) %switch = $replace(%switch,Å¢,T) %switch = $replace(%switch,ïEUR¡,!) %switch = $replace(%switch,ï?',R) %switch = $replace(%switch,â^',E) %switch = $replace(%switch,á»±,u) %switch = $replace(%switch,âEUR©, ) %switch = $replace(%switch,à ¸¥,a) %switch = $replace(%switch,ïº,c) %switch = $replace(%switch,Ò¯,$chr(19)) %switch = $replace(%switch,â(tm)Â¥,$chr(19)) %switch = $replace(%switch,õ,e) %switch = $replace(%switch,âEUR ,?) %switch = $replace(%switch,ÃŽY,O) %switch = $replace(%switch,ïEUR½,=) %switch = $replace(%switch,Ãz,Þ) return %switch } } Not only is this a good method for calling on your pics, but it is also good for censoring words as well that you just don't care to see.
  20. MDX Toolbar Tutorial By Tek Introduction Before we begin, make sure that you have have the following: › mdx.dll - Click Here › bars.mdx - Click Here › ktools.dll - Click Here In this tutorial we will cover: › Toolbars › More soon! Toolbars ;Example dialog code dialog example { title "Example" size -1 -1 1000 18 option dbu list 1, 1 2 1000 14, size } on *:dialog:example:init:0:{ ;You must ALWAYS do this if you are going to use mdx on a control or dialog ;This tells mdx your mIRC version and the dialog you will be adding controls to dll mdx.dll SetMircVersion $version dll mdx.dll MarkDialog $dname ;This sets the desired listbox control to a toolbar control, we will look at the different styles later dll mdx.dll SetControlMDX $dname 1 ToolBar list arrows flat wrap nodivider > bars.mdx ;Takes away the dialog's titlebar and border and takes off the control's border dll mdx.dll SetDialog $dname style dll mdx.dll SetBorderStyle 1 ;Sets icon size did -i $dname 1 1 bmpsize 16 16 ;Adds icon IDs to the control did -i $dname 1 1 setimage icon small icon1.ico did -i $dname 1 1 setimage icon small icon2.ico ;Adds items into the control ;The bolded +a is called a FLAG - we will go through them later ;The bolded 1 is the icon ID that we set previously, using 1 will return icon1.ico, using 2 would return icon2.ico ;The bolded Hello is item's text, this can have a value or be left blank ;The bolded Tooltip! is the items tooltip, this text will appear when you hover over the item did -a $dname 1 +a 1 Hello $chr(9) Tooltip! did -a $dname 1 +a 2 Goodbye $chr(9) Tooltip! ;use this if you want to dock the dialog over mIRC's default dll ktools.dll DockToolbar $dialog($dname).hwnd } ;this is the event that will determine which button you clicked and what it will do on *:dialog:example:sclick:1:{ ;Sets %click to the ID that you clicked, the first toolbar item will return 2 var %click $did($dname,1).sel ;Checks if %click is the same as the selected item if (%click == 2) { ;Command you want to use goes here! } elseif (%click == 3) { ;Command you want to use goes here! } } Styles There are five styles for a toolbar, they are: › flat › list › wrap › nodivider › Arrows › flat Flat means that the toolbar has flat buttons, an example with the flat style used: If you didn't use flat, it would look like this: In my opinion flat style is better, but it is entirely up to you › list Using the list style it makes the text of an item aligned to the right instead of to the bottom, an example of list being used is: Yes, i know it is the same picture as before, but that's what the list style looks like lol W ithout the list style, if you're docking the dialog into the mIRC default you wont be able to see it propely › wrap The wrap style ensures that the toolbar wraps to the next line on seperator boundaries › nodivider Using the nodivider style ensures the two pixel divider at the toolbar will not be shown, this should always be used on docked toolbars so that you can see the actual toolbar › arrows If you use the +v flag on an item it will show an arrow next to the item, this arrow is triggered as a double click (dclick) Common Flags +v This is the flag that sets a little arrow next to your items (if your toolbar has the arrow style) when you click the arrow, it will act like a double click so you need to put your events for clicking arrows on a dclick +c This makes the item act like a checkbox +cg This groups the buttons together like radio boxes +d Disables the toolbar item +i "Indeterminate" - this means that the button is grayed +p The item is pushed in, like it would if you clicked it with +c/+cg on +x The item is checked +w You have specified an item width (+w <width>)
×
×
  • Create New...