|
Joined: Aug 2005
Posts: 1,052
Hoopy frood
|
Hoopy frood
Joined: Aug 2005
Posts: 1,052 |
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)
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
|
|
|
|
Joined: Sep 2006
Posts: 14
Pikka bird
|
OP
Pikka bird
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.
|
|
|
|
Joined: Aug 2005
Posts: 1,052
Hoopy frood
|
Hoopy frood
Joined: Aug 2005
Posts: 1,052 |
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
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 }
}
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
|
|
|
|
Joined: Sep 2006
Posts: 14
Pikka bird
|
OP
Pikka bird
Joined: Sep 2006
Posts: 14 |
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?
|
|
|
|
Joined: Sep 2003
Posts: 261
Fjord artisan
|
Fjord artisan
Joined: Sep 2003
Posts: 261 |
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)
|
|
|
|
Joined: Aug 2005
Posts: 1,052
Hoopy frood
|
Hoopy frood
Joined: Aug 2005
Posts: 1,052 |
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
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,330 |
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. 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
|
|
|
|
Joined: Aug 2005
Posts: 1,052
Hoopy frood
|
Hoopy frood
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
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
|
|
|
|
Joined: Sep 2006
Posts: 14
Pikka bird
|
OP
Pikka bird
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 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.
|
|
|
|
Joined: Sep 2003
Posts: 261
Fjord artisan
|
Fjord artisan
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.
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:
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)
|
|
|
|
Joined: Sep 2006
Posts: 14
Pikka bird
|
OP
Pikka bird
Joined: Sep 2006
Posts: 14 |
FOUND IT BY SOME HELP FROM A FRIEND WORKING CODE atleast for me;) 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!
|
|
|
|
Joined: Apr 2006
Posts: 464
Fjord artisan
|
Fjord artisan
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.
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
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
|
|
|
|
Joined: Sep 2006
Posts: 71
Babel fish
|
Babel fish
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.
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
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.
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
|
|
|
|
Joined: Sep 2006
Posts: 71
Babel fish
|
Babel fish
Joined: Sep 2006
Posts: 71 |
ok, its not working..I get this * /splay: invalid parameters
- ok it does work, but not when I enter it myself..
Last edited by o0Chris0o; 29/09/06 06:27 PM.
|
|
|
|
Joined: Sep 2003
Posts: 261
Fjord artisan
|
Fjord artisan
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)
|
|
|
|
Joined: Sep 2006
Posts: 71
Babel fish
|
Babel fish
Joined: Sep 2006
Posts: 71 |
|
|
|
|
Joined: Sep 2006
Posts: 71
Babel fish
|
Babel fish
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..
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
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).
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
|
|
|
|
|