mIRC Home    About    Download    Register    News    Help

Print Thread
Page 3 of 4 1 2 3 4
Re: Writing a bot [Re: Riamus2] #186681 24/09/07 09:12 PM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
Elseif and Else are just beyond my comprehension right now. I just recently got the hang of using identifiers($1,$2,etc) and even more recently got a handle on if statements. I'll get there eventually, like I always do, it'll just take a while. It took me months to get this far. =P

Re: Writing a bot [Re: Mpot] #186694 24/09/07 10:24 PM
Joined: Oct 2004
Posts: 8,330
Riamus2 Offline
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
They really aren't hard. This should help... I'll use text examples rather than script ones so it's easier to picture.

Premise:
I'm having a party and depending on the number of visitors who plan to attend, I'll have to decide how much food to buy.

Comparison (this is the IF/ELSEIF/ELSE part):
If 20 or more people come, I need to buy $100 worth of food. "Else" if 10-19 people come, I only need to buy $60 worth of food. "Else" if less than 10 come, I only need to buy $30 worth of food.

As you can see, only one of those will be true no matter what. I checked IF on the first one, then ELSEIF on the second, then ELSE (or ELSEIF works as well) on the third.

The way it works is:

; Check this line first. If it matches, skip all ELSEIF/ELSE that directly follow.
IF ()
; If the IF failed, check this. If it matches, skip any other ELSEIF's that follow as well as any ELSE at the end.
ELSEIF ()
; If the ELSEIF failed, check this. Only 1 ELSE can be used in a group of IF/ELSEIF/ELSE or IF/ELSE and can only be at the end of a group of IF/ELSEIF/ELSE or IF/ELSE. So if the ELSE matches or doesn't match, you just continue on from there as there isn't anything else to skip.
ELSE ()

A group of IF/ELSEIF/ELSE or IF/ELSE can have only 1 IF and only 0 or 1 ELSE, but can have an unlimited number (0+) of ELSEIF between them. If you have anything else in the middle, it will break/split the group.
---
This is a single group. After the first match, all following items will be ignored.

IF ()
ELSEIF ()
ELSEIF ()
ELSEIF ()
ELSE ()

---
This is 2 groups. Notice that the first doesn't use an ELSE and the second doesn't use an ELSEIF. That's up to you and what you're doing. If something matches in the first group, everything following that is IN that group will be skipped. Then, if anything matches in the second group, anything following that is IN that group will be skipped.

IF ()
ELSEIF ()
ELSEIF ()
MSG $CHAN ....
IF ()
ELSE ()
---

Basically, ELSEIF is just like IF, but follows the IF and does the same thing as IF except that it will be skipped if the IF or an ELSEIF that is before it matches. This prevents any need to halt the script and speeds things up as well rather than checking a lot of IFs that don't need to be checked if you already know they'll fail because of a match on an earlier IF.

An ELSE is always at the end (if used) and basically says that if nothing else matched in the group, this is done no matter what. It's only done if the IF and any ELSEIF's in the group don't match. You'd use ELSE anytime that you are covering all possibilities in a comparison, such as checking 3 things (0-9, 10-19, 20+). If those are the only possible matches, and you checked 0-9 and 10-19, then you already know that if they failed, then it has to be 20+. So rather than checking it, you can just use ELSE and avoid the check.

I hope that helps to explain it. If you have questions, just ask. ELSEIF and ELSE are really not any different from IF except that they can be skipped if something before them matches.


Invision Support
#Invision on irc.irchighway.net
Re: Writing a bot [Re: Riamus2] #186698 25/09/07 12:26 AM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
I sorta put the | halt in to prevent continuesd checking of IF's when one matches. Then again, you said not to use | halt, so I'll have to see what I can do.

And yes, after re-reading it to get it in my brain, you have explained this quite admirably. On my join script, for instance, would I want to use

if
elseif
elseif
elseif
else error msg?

Because, I want to try and get error checking into it. I've already got in the errors for missing paramaters, but what about responses from services, IE wrong pass? Or banned? Or AKICK? etc? How could I restructure the !join script I posted, using if, elseif, and else, and modifying nothing else except the use of statements, no variables or stuff I don't get?

Last edited by Mpot; 25/09/07 12:30 AM.
Re: Writing a bot [Re: Mpot] #186700 25/09/07 01:10 AM
Joined: Oct 2004
Posts: 8,330
Riamus2 Offline
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Here's an example using your script of how it could look.


PART SECTION:
Note that since both PART sections have the same basic format, I'll only show one and you can just make the other look the same.

Note that I usually do halt errors using RETURN instead of sticking them into the IF/ELSEIF/ELSE format simply to show that they are errors and the actual script shouldn't be run if there are errors. That's more of a judgement call. Note that I completely removed the last IF in the Part section because you aren't doing anything else after it and the stuff before it is just error messages that are halting.

Code:
;Part
on syscon:text:!part*:?:{
  if ($2 == $null) { notice $nick Specify channel. | return }
  if ($2 !ischan ) { notice $nick I'm already off $2 $+ . | return }
  part $2
  notice $nick Parted $2 $+ .
  write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 via msg
}


If you did IF/ELSEIF/ELSE, it would look like this (just for an example if you prefer this method to using RETURN on errors). Note that I separated the last IF into multiple lines just so it was easier to see what was going on. If you really feel the need to use pipes (|), you can do so. But you did mention making scripts that are easier to understand and less complicated and using pipes too often has the opposite effect. I personally only use them for error messages (before RETURN). But that's just my personal preference. It's up to you how you use them.
Code:
;Part
on syscon:text:!part*:?:{
  if ($2 == $null) { notice $nick Specify channel. }
  elseif ($2 !ischan ) { notice $nick I'm already off $2 $+ . }
  else {
    part $2
    notice $nick Parted $2 $+ .
    write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 via msg
  }
}


JOIN SECTION:
As with the Part section, your 2 Join scripts are basically the same, so I'm showing just the first one and you can use the same method in the second one. If you do have trouble with the second Part/Join, just ask.

Note that your GOTO doesn't do anything the way you have it, so I removed it. Also, you should avoid using GOTO as much as possible. In almost all cases, using GOTO isn't the best solution. There are some situations where it is the right solution, but they are few.

Again, I'd personally use RETURN for the errors, but since I'm showing the IF/ELSEIF/ELSE to you, I won't show the RETURN anymore. You can see how I use it in the Part section above and it would be the same idea here. Like I mentioned, RETURN is similar to HALT, but is the better choice if you have to halt a script for things like errors.

The last IF is an ELSE instead of an ELSEIF because you don't need to check anything. You already know from earlier that there IS a $2, so there's no need to check again. Also, note that in both this and the other examples, I changed the $$2 (etc) to $2 (etc). You don't need to use $$ unless you want something to not work if the value is $null. Because you're already checking if there is a value there, having $$ is redundant. Also, you'll see that I removed all forms of halting from the end of the scripts. This is because the script will halt when it's at the end anyhow. So this is also redundant.

Code:
;Join
on syscon:text:!join*:?:{
  if ($2 == $null) { notice $nick Specify channel. }
  elseif ($2 ischan) { notice $nick I'm already on $2 $+ . }
  elseif ($3 != $null) {
    join $2 $3
    notice $nick Join attempt on $2 with key $3 complete.
    write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 with key $3 via msg
  }
  else {
    join $2
    notice $nick Join attempt on $2 complete.
    write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 via msg
  }
}


URANME SECTION:
First of all, you wanted "ison" not "ischan" and you missed the $ in $me in the second IF. Now, because this is a simple THIS or THAT without anything else, you can just do IF/ELSE as shown.

Code:
; #uranme part
on uranmepart:text:!leave_uranme:*:{
  if ($me ison #uranme) { 
    part #uranme
    notice $nick Parted #uranme
  }
  else { notice $nick I'm not on #uranme. }
}


The last thing I'll note again is that you don't need to use /'s in a script. You may want to use .'s before your notices, though. That will "silence" them so that you don't see them in your bot. That's up to you, though. You may want to see them to have an idea of how often commands were used. To use .'s, just put it in front of the command, such as:

.notice $nick I'm not in $chan

Another thing that you can do, but I would probably recommend not doing it until you really feel comfortable scripting, is to connect $N's with other non-numerical text. $N is $1, $2, $3, etc. With $N's, you don't need to use $+ if you want to connect it to something that does not include a number, such as a period. You can do:

.notice $nick I'm not in $1.

... and it will work fine. I said I recommend not using this until you are more comfortable because I believe that $N is the only identifier that *can* be connected in this way and you may run into problems by connecting other identifiers without thinking about it if you get in the habit of doing this with $N's. It's up to you, though.


Invision Support
#Invision on irc.irchighway.net
Re: Writing a bot [Re: Riamus2] #186713 25/09/07 11:50 AM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
I think I really understand the IF and IFELSE stuff a lot better now. Thanks a bunch, Riamus! The only thing I can think of now:

Code:
;Join
on syscon:text:!join*:?:{
  if ($2 == $null) { notice $nick Specify channel. }
  elseif ($2 ischan) { notice $nick I'm already on $2 $+ . }
  elseif ($3 != $null) {
    join $2 $3
    notice $nick Join attempt on $2 with key $3 complete.
    write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 with key $3 via msg
  }
  elseif ($2 != $null) {
    join $2
    notice $nick Join attempt on $2 complete.
    write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 via msg
  }
  else { notice $nick Error. }
}




Re: Writing a bot [Re: Mpot] #186714 25/09/07 12:25 PM
Joined: Dec 2002
Posts: 3,547
S
SladeKraven Offline
Hoopy frood
Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
Just a little tip, you don't have to use it though...

if ($3 != $null) is the same as if ($3)

Because you're checking if $3 is not equal to $null/$false. Which is the same because it only triggers if it's $true.

The same goes for checking to see if it is $null/$false only this time prefix it with an exclamation mark.

if ($2 == $null) is the same as if ([color:red]!$2)[/color]

Re: Writing a bot [Re: SladeKraven] #186715 25/09/07 12:31 PM
Joined: Dec 2002
Posts: 2,024
R
RoCk Offline
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,024
...unless the value of $3 could be 0 or if the value of $2 could be 1 .. then you would need if ($3 != $null) and if ($2 == $null)

Re: Writing a bot [Re: RoCk] #186716 25/09/07 12:44 PM
Joined: Dec 2002
Posts: 3,547
S
SladeKraven Offline
Hoopy frood
Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
For that case yes, for his case either.

Re: Writing a bot [Re: SladeKraven] #186746 25/09/07 08:24 PM
Joined: Oct 2004
Posts: 8,330
Riamus2 Offline
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
If there is any possibility of it incorrectly working when not including == $null or != $null, then you should include them.

if (!$2) {} will trigger on 0, $false, $null. if ($2) {} will trigger on everything except 0, $false, $null. It's important to let someone learning to script know that before suggesting that they use it. And, in his case, this could be a problem. It's quite possible to tell the bot to join channel "0". It may be unlikely, but it is possible, so it's a good idea to stick to using $null because there is a possibility.

When you're 100% certain that you will not trigger it incorrectly (or not trigger it when you should) by dropping the $null part, then you can drop it. If you aren't sure, then always use == $null or != $null.

EDIT:
It will also fail to work properly for him if the channel is "1".

Last edited by Riamus2; 25/09/07 08:27 PM.

Invision Support
#Invision on irc.irchighway.net
Re: Writing a bot [Re: SladeKraven] #186748 25/09/07 08:48 PM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
Ah, see, if it sometimes works, and sometimes doesn't, then I think I'm safer with just using == $null. =P

Re: Writing a bot [Re: Mpot] #186749 25/09/07 10:01 PM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
I was just asked an interesting question. How to make a random "guess the numnber" script?

IE:

on *:TEXT:!guessnumber:#:{ }

I think it should be fairly simple, but I don't know anything about identifiers for randomness and such.

I trolled through the help and looked for random stuff. This is what I have come up with:

Code:
on *:TEXT:!guessnumber*:#:{
  set %guessnumbernum $rand(0,100) 
  echo -a The number is %guessnumbernum
  if ($2 == $null) { msg $chan Pick a number. Syntax is !guessnumber number }
  elseif ($2 != %guessnumber) {
    msg $chan Sorry, that's not the number. Try again?
    unset %guessnumbernum
  }
  elseif ($2 == %guessnumber) {
    msg $chan YOU WIN!
    unset %guesssnumbernum
  }
  else { halt }
}


Last edited by Mpot; 25/09/07 10:19 PM.
Re: Writing a bot [Re: Mpot] #186750 25/09/07 10:23 PM
Joined: Sep 2005
Posts: 2,881
H
hixxy Offline
Hoopy frood
Offline
Hoopy frood
H
Joined: Sep 2005
Posts: 2,881
That should work fine, but else { halt } is pointless seeing as mIRC does that anyway.

You could use an else { } statement instead of that second elseif too:

Code:
on *:TEXT:!guessnumber*:#:{
  var %guessnumbernum = $rand(0,100) 
  echo -a The number is %guessnumbernum
  if ($2 == $null) { msg $chan Pick a number. Syntax is !guessnumber number }
  elseif ($2 != %guessnumber) { msg $chan Sorry, that's not the number. Try again? }
  else { msg $chan YOU WIN! }
}


Also, rather than using /set and then /unset, if you declare a variable with /var it will be unset automatically when the current script ends.

Re: Writing a bot [Re: hixxy] #186751 25/09/07 10:26 PM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
Else is anything else. Don't want that. Just if it's the number. Also, thanks for the tip about /var, I didn't know that command. ^_^

I just tried my script with /var, useless.


Code:
Guess the number: The number is 4%guessnumbernum  


Was given to me in my echo.

Last edited by Mpot; 25/09/07 10:56 PM.
Re: Writing a bot [Re: Mpot] #186762 26/09/07 02:04 AM
Joined: Oct 2004
Posts: 8,330
Riamus2 Offline
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
What you had didn't check for numbers, which is why the ELSE was mentioned. Yours checked if it was == to the number and if it wasn't == to the number. A check where there are only 2 possibilities can use ELSE for the second possibility. If you want it to check for numbers...

Code:
on *:TEXT:!guessnumber*:#:{
  var %guessnumbernum = $rand(0,100) 
  echo -a The number is %guessnumbernum
  if ($2 !isnum) { msg $chan Pick a number. Syntax is !guessnumber number }
  elseif ($2 != %guessnumber) { msg $chan Sorry, that's not the number. Try again? }
  else { msg $chan YOU WIN! }
}


Note that it's changed to use !isnum and then you don't have to worry about whether or not it's a number when you get to the last two lines. ELSEIF and ELSE work just fine in this case.

As far as your echo, you are using control codes (colors), which is why you have an error. It has nothing to do with /var. You have to put spaces around the variable...

Guess the number: The number is4 %guessnumbernum  

instead of:
Guess the number: The number is 4%guessnumbernum  


Another piece of advice... Avoid using single digit color codes (like 4). Make it double digit (04) instead. Otherwise, if a number follows it (4 $+ %num where %num == 1), that will try to use color 41, which isn't the same as 4. If you make it 04, then even if a number follows (041), it won't mess up your colors.


Invision Support
#Invision on irc.irchighway.net
Re: Writing a bot [Re: Mpot] #186770 26/09/07 09:58 AM
Joined: Sep 2005
Posts: 2,881
H
hixxy Offline
Hoopy frood
Offline
Hoopy frood
H
Joined: Sep 2005
Posts: 2,881
You appear to misunderstand how else statements work, so here's few comments to explain it:

Code:
if ($2 == $null) { ; if $2 doesn't exist do this. }
elseif ($2 != %guessnumbernum) { ; if $2 isn't the correct number }
else { ; the only possibility is that it IS the correct number, otherwise the previous elseif statement would work, and this part of the script would never be reached. }

Re: Writing a bot [Re: hixxy] #186812 26/09/07 08:16 PM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
Another interesting idea of mine. Absolutely useless, but it's something to learn more about scripting.

A "code" script. IE, if I type /secret o hai thar the alias would convert the text to a code. Simple code, like wrapping the keys around the keyboard. IE, a becomes s, s becomes d, d becomes f, etc.

I know, useless, but interesting.

Re: Writing a bot [Re: Mpot] #186815 26/09/07 09:04 PM
Joined: Oct 2004
Posts: 8,330
Riamus2 Offline
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Perhaps not the best way, you could just loop through the text, one letter at a time and convert it to $chr($calc($chr(real letter) + 5)) or some such thing. Note that it would convert everything including spaces and symbols and would not stick to just letters. Of course, that could make it interesting.

Alternatively, you can force it to stay withing a range of $chr() with a simple check...

Code:
var %newletter = $calc($chr(%oldletter) + 5)
if ((%newletter > 90 && %newletter < 97) || %newletter > 122) { var %newletter = %newletter - 26 }
var %newchr = $chr(%newletter)


Basically, that will increase the $chr of whatever letter you're on when looping through the text with a $chr 5 letters higher. If it goes beyond "z" or "Z", it will loop back to the beginning so that you don't get weird characters. Note that if you put in weird characters, you will still probably get weird characters back as I didn't make it prevent that from happening.

You can loop using $mid and a while loop.

Anyhow there may be a better solution, but that's one that won't be hard to figure out (basically just stick what I gave you into a loop using $mid to find %oldletter (%oldletter will be the $asc() of the actual character.)) Note that you should skip past spaces, commas, and parentheses because $asc() won't accept those.


Invision Support
#Invision on irc.irchighway.net
Re: Writing a bot [Re: Riamus2] #186824 27/09/07 12:15 AM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
I'll take a look at working on this tomorrow. Thanks for the hints!

Re: Writing a bot [Re: Mpot] #186896 27/09/07 11:22 PM
Joined: Apr 2007
Posts: 228
M
Mpot Offline OP
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2007
Posts: 228
I attempted to optimize this script using elseif, as Riamus has suggested, but it didn't work with elseif after one if. I changed everything back to ifs, worked fine. Ideas?

Code:
;Callup Banners

on *:TEXT:-*:#: {
  if (%icybot == off) { msg $chan Sorry, IcyBot is disabled. }
  if (%banners == off) { msg $chan Sorry, banners are disabled. }  if ($1 == -mpot) { msg $chan 11,0"0,1112,11"11,122,12"12,22,2"2,210,2"2,1010,10%%%%%%0 Master Mpot 10,10%%%%%%2,10"10,22,2"2,212,2"2,1211,12"12,110,11"11,0 }
  if ($1 == -colors) { msg $chan 0,1 1 0,2 2 0,3 3 0,4 4 0,5 5 0,6 6 0,7 7 0,8 8 0,9 9 0,10 10 0,11 11 0,12 12 0,13 13 0,14 14 0,15 15 }
  if ($1 == -duncan) { msg $chan 9,0"0,910,9"9,102,10"10,22,2"2,23,2"2,33,3%%%%%%8 Duncan007 3,3%%%%%%2,3"3,22,2"2,210,2"2,109,10"10,90,9"9,0 }
  if ($1 == -ichban) { msg $chan 4,0"0,410,4"4,102,10"10,22,2"2,21,2"2,11,1%%%%%%0 IchbanRyushi 1,1%%%%%%2,1"1,22,2"2,210,2"2,104,10"10,40,4"4,0 }
  if ($1 == -kuros) { msg $chan 4,0"0,46,4"4,613,6"6,1313,13"13,1311,13"13,1111,11%%%%%%0 Kuros 11,11%%%%%%13,11"11,1313,13"13,136,13"13,64,6"6,40,4"4,0 }
  if ($1 == -ekal) { msg $chan 11,0"0,1112,11"11,122,12"12,22,2"2,210,2"2,1010,10%%%%%%0 Ekal 10,10%%%%%%2,10"10,22,2"2,212,2"2,1211,12"12,110,11"11,0 }
  if ($1 == -lunaki) { msg $chan 13,0"0,131,13"13,12,1"1,22,2"2,26,2"2,66,6%%%%%%0 Lunaki 6,6%%%%%%2,6"6,22,2"2,21,2"2,113,1"1,130,13"13,0 }
  if ($1 == -marajah) { msg $chan 3,0"0,31,3"3,15,1"1,55,5"5,52,5"5,22,2%%%%%%15 Marajah 2,2%%%%%%5,2"2,55,5"5,51,5"5,13,1"1,30,3"3,0 }
  if ($1 == -kuro) { msg $chan 6,0"0,62,6"6,212,2"2,1212,12"12,121,12"12,11,1------13Kuro-Sakura1,1-----12,1"1,1212,12"12,122,12"12,26,2"2,60,6"6,0 }
  if ($1 == -peth) { msg $chan 14,0"0,1415,14"14,151,15"15,11,1"1,17,1"1,77,7------0Penguin7,7-----1,7"7,11,1"1,115,1"1,1514,15"15,140,14"14,0 }
  if ($1 == -vrixis) { msg $chan 4,0"0,45,4"4,54,5"5,44,4"4,45,4"4,55,5------4Vrixis5,5-----4,5"5,44,4"4,45,4"4,54,5"5,40,4"4,0 }
  if ($1 == -austin) { msg $chan 1,0"0,16,1"1,615,6"6,1515,15"15,1514,15"15,1414,14------8Austindel The Horrendous14,14-----15,14"14,1515,15"15,156,15"15,61,6"6,10,1"1,0 }
  if ($1 == -iron) { msg $chan 1,0"0,12,1"1,214,2"2,1414,14"14,144,14"14,44,4------8Ironguard The Fierce4,4-----14,4"4,1414,14"14,142,14"14,21,2"2,10,1"1,0 }
}

Re: Writing a bot [Re: Mpot] #186903 28/09/07 02:02 AM
Joined: Oct 2004
Posts: 8,330
Riamus2 Offline
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
It would be much better if you give us your code attempt that uses ELSEIF and we'll help you figure out why it didn't work. It's easier to find problems than to do all of the work for you. smile


Invision Support
#Invision on irc.irchighway.net
Page 3 of 4 1 2 3 4