mIRC Home    About    Download    Register    News    Help

Print Thread
Page 1 of 3 1 2 3
#160482 27/09/06 04:50 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
I found this in the forum announce

I would like something similar but istead of announce TEXT to a different channel I want to play a sound (.wav file) when some user on a channel type a certain TEXT

something like
Code:
on 1:call me:*:#CHAN1: {
  if ($nick == billgates) { sound/ PlayThisSoundfile.wav $1- }
}  


I know this i completly wrong but I think you´ll understand

billgates say "call me" in #CHAN-1
and
mom say "hello" in #CHAN-2

in booth cases I want to hear a soundfile played, but not when they or any other person say something.

#160483 27/09/06 04:56 PM
Joined: Sep 2003
Posts: 261
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Sep 2003
Posts: 261
Well syntax is ok on the sound line just take out the /

on *:TEXT:call me:#chan:


We don't just write the scripts, we put them to the test! (ScriptBusters)
#160484 27/09/06 05:09 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
Thanks!

Is this correct to add more rules:

Code:
on *:TEXT:call me:#chan1: {
  if ($nick == billgates) { sound/ PlayThisSoundfile.wav $1- }
} 
on *:TEXT:hello:#chan2: {
  if ($nick == mom) { sound/ PlayThisSoundfile.wav $1- }
}

#160485 27/09/06 05:54 PM
Joined: Sep 2003
Posts: 261
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Sep 2003
Posts: 261
on text yourself crazy smile. I usually if i use on text for things, place everything under 1 like so

Code:
on *:text:*:#: {
  if ($chan == #chan1) {
    if ($nick == whoever) { 
      if (call me == $1-2) { do this }
    }
  }
  if ($chan == #chan2) { etc... }
}


We don't just write the scripts, we put them to the test! (ScriptBusters)
#160486 27/09/06 07:07 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
What am I doing wrong? I´t wont work

Code:
on *:text:*:#: {
  if ($chan == #chan1) {
    if ($nick == billgates) { 
      if (call me == $1-2) { sound PlayMe.wav $1- }
    }
  }
  if ($chan == #chan2) {
    if ($nick == mom) { 
      if (hello == $1-2) { sound PlayMe2.wav $1- }
    }

#160487 27/09/06 07:40 PM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
I would try something like this:

Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == billgates) {
      var %string = call me
      if (%string isin $2-) { splay song1.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == mom) { 
      var %string = hello
      if (%string isin $2-) { splay song2.wav }
    }
  }
}


I tested this code, and it should work.
Just make sure that the sound that you want to play is in your sounds directory:
C:\Program Files\mIRC\Sounds\
for example.

#160488 27/09/06 07:43 PM
Joined: Sep 2003
Posts: 261
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Sep 2003
Posts: 261
Bad thing about isin is it matches any occurance of "call me". Use $1- if you use his. Though there are better ways to solve these examples are for beginners smile.


We don't just write the scripts, we put them to the test! (ScriptBusters)
#160489 27/09/06 07:45 PM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
yeah, but only when billgates says it.
which is what he wanted I think.

#160490 27/09/06 07:50 PM
Joined: Sep 2003
Posts: 261
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Sep 2003
Posts: 261
True, billgates could say :hello there call me a small guy. or he could just say:call me. isin is good for that kind of matching. I was just basing what i showed him from his example of text frown.


We don't just write the scripts, we put them to the test! (ScriptBusters)
#160491 27/09/06 08:03 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
Still nothing:(

Can´t understand whats wrong

note!
I use mirc in D:\Program Files\mIRC
and the .wav in D:\Program Files\mIRC\sounds

That should not matter right?

#160492 27/09/06 08:07 PM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
No, that shouldn't matter.
Can you paste the code that you use?
The last time you pasted your code, you missed some brackets }

Also, rename the sound file, to a 1 word name like:
song.wav
I'm not sure if that makes a difference.

Also, make sure that you have this code only 1 time.
And there can be only one on:TEXT: event per script file.

#160493 27/09/06 08:11 PM
Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
Quote:
Still nothing:(

Can´t understand whats wrong

note!
I use mirc in D:\Program Files\mIRC
and the .wav in D:\Program Files\mIRC\sounds

That should not matter right?


Code:
on *:TEXT:*:#:{
if ($nick == whatevernick) && ($1-$2 == Call me) && ($len($1-) == 7) { splay $mircdirsounds\filename.wav }
}


So if $nick would == whatevernick and his text would be call me it would play the filename.wav in the SOUNDS dir

also a LENGHT checker to make sure only CALL ME should be there


Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
#160494 27/09/06 08:21 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
This is what I have in tab "Remote"

Code:
 on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == billgates) {
      var %string = call
      if (%string isin $1-) { splay notice.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == mom) { 
      var %string = hello
      if (%string isin $1-) { splay notice.wav }
    }
  }
} 



Also, rename the sound file, so a 1 word name like:
DONE

Also, make sure that you have this code only 1 time:
DONE

And there can be only one on:TEXT: event per script file
DONE

#160495 27/09/06 08:23 PM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
Weird, that should work.
At least for me it does.

I presume you are sure that it is billgates in #chan1 saying call
and its mom in #chan2 saying hello

Well, I wouldn't know in that case.
The code works in any case, so that shouldn't be the problem.

#160496 27/09/06 09:03 PM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Did you change #chan1 and #chan2 to the channels you want to use it in? You don't want to leave those as they are unless you're actually in #chan1 and #chan2.


Invision Support
#Invision on irc.irchighway.net
#160497 27/09/06 09:20 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
Yes. in those channels
correct nicknames
correct messages
tried both $1- and $2-
changed .wav file to see if the problem was there both used long (100kb) and short (20kb)

what else have I done?
restart of mirc and pc


here is the funny part! it worked one time then it sudenly stop working again???

THIS IS THE EXACT CODE I HAVE
Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == billgates) {
      var %string = call
      if (%string isin $1-) { splay notice.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == mom) { 
      var %string = hello
      if (%string isin $1-) { splay notice.wav }
    }
  }
}   

#160498 27/09/06 09:29 PM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
One more thing you could try, is just remove all the code from the remote file that you have.
Then go to File - New
Save the new remote file with a new name.
Paste the code again.
And try it again.

#160499 27/09/06 09:43 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
I think I found where the problem begin

If I only use this it´s OK an working fine
Code:
 on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == billgates) {
      var %string = call
      if (%string isin $1-) { splay notice.wav }
    } 



BUT! when i use the whole code it´s NOT working
Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == billgates) {
      var %string = call
      if (%string isin $1-) { splay notice.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == mom) { 
      var %string = hello
      if (%string isin $1-) { splay notice.wav }
    }
  }
}   

#160500 27/09/06 09:57 PM
Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
Quote:
I think I found where the problem begin

If I only use this it´s OK an working fine
Code:
 on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == billgates) {
      var %string = call
      if (%string isin $1-) { splay notice.wav }
    } 



BUT! when i use the whole code it´s NOT working
Code:
on *:text:*:#:{
[color:red]if ($nick == billgates) && ($nick ison #chan1) {    [/color]
      if (call isin $1-) { splay notice.wav }
  }
[color:red]elseif ($nick == mom) && ($nick ison #channel2) { [/color]
      if (hello isin $1-) { splay notice.wav }
    }
}   


Btw i edited the code a little just above here

The problem i usee with that script is that IF $chan == CHAN1 and then else if $chan == chan2

well it should start by evaluatiing the nicknames first and at same time evaluating weather this nick is on channel 1 or 2

the code obviously wont work if mom ison channel 1 or if billgates ison #channel 2

but start by evaluating the $nicks in that method

as well has creating a var for the strings why not just use

if (word isin $1-) or if you need more then one word if (word word iswm $1-)

---

edited code to remove the uneccesary var

#160501 27/09/06 10:15 PM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
Yeah, I also like that new code better indead.
I originally added the variable, since I didnt get it to work when we started with detecting "call me" (two words).

But still, I don't think this will solve the problem, since the code I posted worked fine as well, although it was a little longer and contained an unneeded variable.

#160502 27/09/06 10:18 PM
Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
Quote:
Yeah, I also like that new code better indead.
I originally added the variable, since I didnt get it to work when we started with detecting "call me" (two words).

But still, I don't think this will solve the problem, since the code I posted worked fine as well, although it was a little longer and contained an unneeded variable.


it should work just fine is the variables are all in place meaning that nick from channel 1 should be nick from channel 1 and not 2

and nick from channel 2 should be nick from channel 2 not 1 saying the proper words.

call me is easily identified by using if (call me iswm $1-) or if ($1-$2 == call me)


Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
#160503 27/09/06 10:20 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
true;)

Tried on a frech installed PC. Still nothing.

Works fine with just 1 command but not when you add more than that.

#160504 27/09/06 10:23 PM
Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
Quote:
true;)

Tried on a frech installed PC. Still nothing.

Works fine with just 1 command but not when you add more than that.


ok are you SURE that your setting the proper environment when testing like Billgates ison #channel 1 saying call?

and mom is on channel 2 saying hello?

because that should work just fine I tested the environment and everything runs

HEre try this code remove all exisiting code and make sure notice.wav is in your SOUNDS folder in your miRCdir

Code:
on *:text:*:#:{
  if ($nick == billgates) && ($nick ison #chat) && (call isin $1-) { echo -a $nick said your name and the word call was in | splay $mircdirsounds\notice.wav }
  elseif ($nick == mom) && ($nick ison #channel2) && (hello isin $1-) { echo -a $nick said your name and the word call was in | splay $mircdirsounds\notice.wav }
}


Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
#160505 27/09/06 10:36 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
Code:
on *:text:*:#:{
  if ($nick == metest1) && ($nick ison #help) {    
    if (test isin $1-) { splay ready.wav }
  }
  elseif ($nick == metest2) && ($nick ison #helpgood) { 
    if (hello isin $1-) { splay ready.wav }
  }
}  


THIS IS ???
I´m remote with different user in both those channels
listen to this!
Wen I type test in any of those channels with nick "metest1" it I here the sound. ??? hmm

When using nick "metest2" in any of those 2 channels. I DON´T here anything?

#160506 27/09/06 10:48 PM
Joined: Sep 2003
Posts: 261
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Sep 2003
Posts: 261
Quote:

THIS IS ???
I´m remote with different user in both those channels
listen to this!
Wen I type test in any of those channels with nick "metest1" it I here the sound. ??? hmm

When using nick "metest2" in any of those 2 channels. I DON´T here anything?


First you may hear the sound if metest1 is on #help and #helpgood at the same time. Did you join #helpgood as metest1 then test it or were you in both channels?
This is why i go for ($chan == #help) and not ($nick ison #help). Cus you can be on that channel and it will always work no matter what. But if the channel equals what you tell it to, then it only works there.

Second, are you typing hello or text with metest2? I'd get rid of elseif and just use if. Some times, elseif isn't really needed.


We don't just write the scripts, we put them to the test! (ScriptBusters)
#160507 27/09/06 10:49 PM
Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
Quote:
Code:
on *:text:*:#:{
  if ($nick == metest1) && ($nick ison #help) {    
    if (test isin $1-) { splay ready.wav }
  }
  elseif ($nick == metest2) && ($nick ison #helpgood) { 
    if (hello isin $1-) { splay ready.wav }
  }
}  


THIS IS ???
I´m remote with different user in both those channels
listen to this!
Wen I type test in any of those channels with nick "metest1" it I here the sound. ??? hmm

When using nick "metest2" in any of those 2 channels. I DON´T here anything?


Well i was assuming that he was on 2 different channels thus why he wanted it to be seperated. but if he wanted the $nicks to do stuff on their own he can remove the #channel sdtuff all togheter and just evaluate the nicks

ok so when your using metest2 in channel #helpgood and you type hello does it work or doesnt work? remember what you see in the script


Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
#160508 28/09/06 12:43 AM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Quote:
call me is easily identified by using if (call me iswm $1-) or if ($1-$2 == call me)


Just a note, you don't need the second $... if ($1-2 == call me) is fine. Not a problem, obviously... just commenting. laugh

And it does sound like he's typing "test" with both nicks instead of "test" with nick1 and "hello" with nick2.


Invision Support
#Invision on irc.irchighway.net
#160509 28/09/06 02:48 AM
Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
That's exactly what im thinking because I tried the script from my first script shown which i have no tested and using splay $mircdirsounds\filename.wav is a good routine of playing the theme through sounds folder. and the IF and Elseif is ok


Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
#160510 28/09/06 11:00 AM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
In status window I get this when any user write something?
* /if: close bracket not found (line 2, soundscript)

My line (the complete code) looks like this
Code:
 on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == me1) {
      var %string = hello
      if (%string isin $1-) { splay sound35kb.wav }
    }
    elseif ($chan == #chan2) {
      if ($nick == me2) {
        var %string = call
        if (%string isin $1-) { splay sound35kb.wav }
      }
      elseif ($chan == #chan3) {
        if ($nick == me3) {
          var %string = there
          if (%string isin $1-) { splay sound35kb.wav }
        }
         


Same thing here. When I tested the first part of the code it works
on *:text:*:#:{
if ($chan == #chan1) {
if ($nick == me1) {
var %string = hello
if (%string isin $1-) { splay sound35kb.wav }
}

When I add the rest "elseif" --> Nothing will work. Not even the first one.

#160511 28/09/06 03:28 PM
Joined: Sep 2003
Posts: 261
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Sep 2003
Posts: 261
Look at the code, you are missing brackets and it's offsetting everyhitng else. That could be why alot of it isn't working.
Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == me1) {
      var %string = hello
      if (%string isin $1-) { splay sound35kb.wav }
    }
  [color:red]}[/color]
  elseif ($chan == #chan2) {
    if ($nick == me2) {
      var %string = call
      if (%string isin $1-) { splay sound35kb.wav }
    }
  [color:red]}[/color]
  elseif ($chan == #chan3) {
    if ($nick == me3) {
      var %string = there
      if (%string isin $1-) { splay sound35kb.wav }
    }
   [color:red]}[/color]
 [color:red]}[/color]
 


Same here:
Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == me1) {
      var %string = hello
      if (%string isin $1-) { splay sound35kb.wav }
    }
  [color:red]}[/color]
[color:red]}[/color]



For every open {, you must have a closing }


We don't just write the scripts, we put them to the test! (ScriptBusters)
#160512 28/09/06 09:32 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
FOUND IT BY SOME HELP FROM A FRIEND laugh

WORKING CODE atleast for me;)

Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == me1) {
      var %string = hello
      if (%string [color:red]![/color]isin $1-) { splay sound35kb.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == me2) {
      var %string = call
      if (%string [color:red]![/color]isin $1-) { splay sound35kb.wav }
    }
  }
  elseif ($chan == #chan3) {
    if ($nick == me3) {
      var %string = there
      if (%string [color:red]![/color]isin $1-) { splay sound35kb.wav }
    }
   }
 } 



THANKS FOR ALL SUPPORT IN THIS FORUM! laugh

#160513 28/09/06 09:54 PM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
Hmmmm.
Doesn't it like work the other way around now?
If HELLO is NOT in $1- then play the file?

Weird, but ok. Glad to hear that you got it working.

#160514 28/09/06 10:41 PM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Yeah, the way he has it isn't right... it'll play the sound anytime the person says anything except when the word is there.

His problem was the }'s, which are fixed in his updated script.


Invision Support
#Invision on irc.irchighway.net
#160515 29/09/06 03:57 PM
Joined: Sep 2006
Posts: 71
O
Babel fish
Offline
Babel fish
O
Joined: Sep 2006
Posts: 71
this is exactly what I want also, but I want it to play a sound on any given channel when I type lol. I want it to play different sound files in a directory ex.. I say lol in a channel it reas wav files from lol dir in sounds.

#160516 29/09/06 04:44 PM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Try that. You can replace the "lol" and "hi" stuff with other words. If you want it to only trigger if that is the only word, then change "lol isin $1-" to "$1- == lol" (no quotes). Also, you can change the directory locations... right now, it's locating the LOL and HELLO folders in the mIRC directory... adjust as needed.

Code:
on *:text:*:#: {
  if (lol isin $1-) {
    splay $findfile($mircdir\lol\,*.wav,$rand(1,$findfile($mircdir\lol\,*.wav,0)))
  }
 elseif (hi isin $1-) {
    splay $findfile($mircdir\hello\,*.wav,$rand(1,$findfile($mircdir\hello\,*.wav,0)))
  }
}


Note that it is set up to play the first matching sound and not any others... so, if someone typed "hi ... this is fun. lol", it will play the LOL sound, but not the HI sound (LOL is first in the script). This is why I think use $1- == lol would be easier as you wouldn't have more than one word at a time. You could take out the else in the elseif (just use if) and then it would probably queue those up and play one, then play the other... not sure that you really want that, though.


Invision Support
#Invision on irc.irchighway.net
#160517 29/09/06 06:23 PM
Joined: Sep 2006
Posts: 71
O
Babel fish
Offline
Babel fish
O
Joined: Sep 2006
Posts: 71
Quote:
ok, its not working..I get this

Code:
* /splay: invalid parameters
-  


ok it does work, but not when I enter it myself..

Last edited by o0Chris0o; 29/09/06 06:27 PM.
#160518 29/09/06 09:38 PM
Joined: Sep 2003
Posts: 261
S
Fjord artisan
Offline
Fjord artisan
S
Joined: Sep 2003
Posts: 261
use on INPUT for what you type.


We don't just write the scripts, we put them to the test! (ScriptBusters)
#160519 30/09/06 04:19 AM
Joined: Sep 2006
Posts: 71
O
Babel fish
Offline
Babel fish
O
Joined: Sep 2006
Posts: 71
where it says on text?

#160520 30/09/06 07:38 AM
Joined: Sep 2006
Posts: 71
O
Babel fish
Offline
Babel fish
O
Joined: Sep 2006
Posts: 71
hmmm still don't work when I enter "lol" in any channel..but it works for anyone else..hmm weird..

#160521 30/09/06 01:10 PM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
on TEXT does *not* work for yourself. You need to use on INPUT (which is formatted a little differently).
Code:
on *:input:#: {
  if (lol isin $1-) {
    splay $findfile($mircdir\lol\,*.wav,$rand(1,$findfile($mircdir\lol\,*.wav,0)))
  }
  elseif (hi isin $1-) {
    splay $findfile($mircdir\hello\,*.wav,$rand(1,$findfile($mircdir\hello\,*.wav,0)))
  }
}


*You'll still need the original code I posted... the original is for others typing text and this is for you typing text*


Invision Support
#Invision on irc.irchighway.net
#160522 01/10/06 12:06 AM
Joined: Sep 2006
Posts: 71
O
Babel fish
Offline
Babel fish
O
Joined: Sep 2006
Posts: 71
alright, great! it works! umm..how would I go abouts making a dialog (I think that is what its called) so I can enable it or disable it?

#160523 01/10/06 04:43 PM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
A dialog takes time and isn't something I'll write. If you want to make one, you can read /help dialogs to see how.

Instead, here's a quick right click method:

Code:
on *:text:*:*: {
  if (lol isin $1- && %play.sound == On) {
    splay $findfile($mircdir\lol\,*.wav,$rand(1,$findfile($mircdir\lol\,*.wav,0)))
  }
  elseif (hi isin $1- && %play.sound == On) {
    splay $findfile($mircdir\hello\,*.wav,$rand(1,$findfile($mircdir\hello\,*.wav,0)))
  }
}

on *:input:*: {
  if (lol isin $1- && %play.sound == On) {
    splay $findfile($mircdir\lol\,*.wav,$rand(1,$findfile($mircdir\lol\,*.wav,0)))
  }
  elseif (hi isin $1- && %play.sound == On) {
    splay $findfile($mircdir\hello\,*.wav,$rand(1,$findfile($mircdir\hello\,*.wav,0)))
  }
}

menu * {
  Sounds
  .$iif(%play.sound == On,Turn Sounds Off,Turn Sounds On): $iif(%play.sound == On,set %play.sound Off,set %play.sound On)
}


Just right click to turn the sounds On/Off.


Invision Support
#Invision on irc.irchighway.net
#160524 02/10/06 12:56 AM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
I was posting some days ago "WORKING CODE atleast for me;)"

This was the code:(
Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == me1) {
      var %string = hello
      if (%string !isin $1-) { splay sound35kb.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == me2) {
      var %string = call
      if (%string !isin $1-) { splay sound35kb.wav }
    }
  }
  elseif ($chan == #chan3) {
    if ($nick == me3) {
      var %string = there
      if (%string !isin $1-) { splay sound35kb.wav }
    }
   }
 } 
 


OK! You all had right;) It schould not contain !isin just isin.

It worked and played the sound but for wrong reason...
and I think I found why it wouldn´t play with just isin.
Those users I tested with used color in their text.
When a user have another color (other than black) it won´t play the sound.

me1 say "hello" in #chan1 = working
me1 say "hello" in chan1 = NOT working (NOTE
the purple color)

Does this sound possible? and if it does;
Is there any way to add color info?

#160525 02/10/06 02:01 AM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
I´m stugling

Also notice that lets say 2 of those 3 users sit in same #chan.
me1 and me2 sit in #chan1
Then I hear sound when me1 type "hello"
but not when me2 type "call"

Code:
on *:text:*:#:{
  if ($chan == #[color:red]chan1[/color]) {
    if ($nick == [color:blue]me1[/color]) {
      var %string = [color:green]hello[/color]
      if (%string isin $1-) { splay sound35kb.wav }
    }
  }
  elseif ($chan == #[color:red]chan1[/color]) {
    if ($nick == [color:blue]me2[/color]) {
      var %string = [color:brown]call[/color]
      if (%string isin $1-) { splay sound35kb.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == me3) {
      var %string = there
      if (%string isin $1-) { splay sound35kb.wav }
    }
   }
 }

#160526 02/10/06 05:23 AM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
Well, I think the problem is that you have if chan1, and elseif chan1. Try the code below:
Code:
on *:text:*:#:{
  if ($chan == #chan1) {
    if ($nick == me1) {
      if (hello isin $1-) { splay sound35kb.wav }
    }
    elseif ($nick == me2) {
      if (call isin $1-) { splay sound35kb.wav }
    }
  }
  elseif ($chan == #chan2) {
    if ($nick == me3) {
      if (there isin $1-) { splay sound35kb.wav }
    }
  }
} 

#160527 02/10/06 05:29 AM
Joined: Apr 2006
Posts: 464
O
Fjord artisan
Offline
Fjord artisan
O
Joined: Apr 2006
Posts: 464
You could also try this
Code:
on *:text:*:#:{
  if ($chan == #chan1) && ($nick == me1) && (hello isin $1-) { splay sound35kb.wav }
  elseif ($chan == #chan1) && ($nick == me2) && (call isin $1-) { splay sound35kb.wav }
  elseif ($chan == #chan2) && ($nick == me3) && (there isin $1-) { splay sound35kb.wav }
}  


I didn't test it, but it's worth a try. It should work imo.

Note: with nicknames me1 and me2, I hope it's not referring to your own nick.
This code will only trigger when someone else in the channel is saying hello, call or there.

#160528 02/10/06 01:09 PM
Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
You can do either code that OrionsBelt posted. Just replace:

if (lol isin $1-)

with:

if (lol isin $strip($1-))

Do this with all words. That will take care of your color problem.


Invision Support
#Invision on irc.irchighway.net
#160529 02/10/06 03:09 PM
Joined: Sep 2006
Posts: 14
R
Ratoko Offline OP
Pikka bird
OP Offline
Pikka bird
R
Joined: Sep 2006
Posts: 14
The code is excellent
Thank you again smile

Code:
on *:text:*:#:{
if ($chan == #chan1) && ($nick == me1) && (hello isin $strip($1-)) { splay sound35kb.wav }
elseif ($chan == #chan1) && ($nick == me2) && (call isin $strip($1-)) { splay sound35kb.wav }
elseif ($chan == #chan2) && ($nick == me3) && (there isin $strip($1-)) { splay sound35kb.wav }
}   


I also added the (text isin $strip($1-)) --> Thanks

Page 1 of 3 1 2 3

Link Copied to Clipboard