mIRC Home    About    Download    Register    News    Help

Print Thread
#191062 01/12/07 04:06 PM
Joined: Feb 2006
Posts: 97
O
Babel fish
OP Offline
Babel fish
O
Joined: Feb 2006
Posts: 97
I was wondering if it was possible to have multiple ontext events in different channels that need to perform same events?

Example:
on :TEXT:*Join*:#channel1: || on :TEXT:*Joined*:#channel2: {
{ perform.join }
}

It didn't work here

Joined: Feb 2003
Posts: 3,432
S
Hoopy frood
Offline
Hoopy frood
S
Joined: Feb 2003
Posts: 3,432
Code:
on *:JOIN:#: {
 if ($chan == #channel) { do stuff }
 else if ($chan == #channel2) { do more stuff }
 if ($nick == $me) { perform.join }


if ($me != tired) { return } | else { echo -a Get a pot of coffee now $+($me,.) }
Joined: Nov 2006
Posts: 1,559
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Nov 2006
Posts: 1,559
If you really mean 'on text':
You can group the conditions, but you cannot use the || && etc operators in the event definition.
Try something like (pseudocode):
on text in some channel {
if ([color:#990000]([color:#CC9933](the channel is channel1) AND (*join* matches the text))[/color] OR ([color:#cc6600](the channel is channel2) AND (*joined* matches the text))[/color])[/color] { stuff }
}

Code:
on *:TEXT:*:#: {
  if ((($chan == #chan1) && (*join* iswm $1-)) || (($chan == #chan2) && (*joined* iswm $1-))) { perform.join }
}


Joined: Oct 2007
Posts: 92
N
Babel fish
Offline
Babel fish
N
Joined: Oct 2007
Posts: 92
Code:
on :TEXT:*Join*:#channel1,#channe2:{ perform.join }


Joined: Feb 2006
Posts: 97
O
Babel fish
OP Offline
Babel fish
O
Joined: Feb 2006
Posts: 97
@Horstl, with your example i'm getting "* /if: insufficient parameters (line 2, script.mrc)"
Your code looks more usable as nomer2007 example is more limited for me but i'm gonna try to get it working

Joined: Nov 2006
Posts: 1,559
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Nov 2006
Posts: 1,559
Alternatively, if you get problems with the brackets, spread the 'pairs of conditions' to multiple lines, e.g.:
Code:
on *:TEXT:*:#: {
  if (($chan == #SomeChannel) && (*sometext* iswm $1-)) { perform.join }
  elseif (($chan == #AnotherChannel) && (*some other text* iswm $1-)) { perform.join }
}


Joined: Oct 2007
Posts: 92
N
Babel fish
Offline
Babel fish
N
Joined: Oct 2007
Posts: 92
or to make it shorter
Code:
on *:text:*:#chan1,#chan2:{
  if *sometext* iswm $1-  { perform }
  elseif *anothertext* iswm $1- { perform }
}

Joined: Nov 2006
Posts: 1,559
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Nov 2006
Posts: 1,559
Again (refering to both posts you wrote), this is not exactly the same: he wanted to perform two (or more) different text comparisons on two (or more) chans in one event (or a "group" of events)...

Joined: Feb 2006
Posts: 97
O
Babel fish
OP Offline
Babel fish
O
Joined: Feb 2006
Posts: 97
@Horstl, your correct.
2 different text comparisons on 2 different channels in 1 event.

I don't know what was wrong with first version.
I guess it's not possible to use || in such script lines, anyway learned another thing today, thanks.

Joined: Oct 2007
Posts: 92
N
Babel fish
Offline
Babel fish
N
Joined: Oct 2007
Posts: 92
Code:
Example:
on :TEXT:*Join*:#channel1: || on :TEXT:*Joined*:#channel2: {
{ perform.join }
}

That's your first sample of question

*join* and *joined* texts will be triggered on a simple *join* text right?

Joined: Sep 2006
Posts: 18
T
Pikka bird
Offline
Pikka bird
T
Joined: Sep 2006
Posts: 18
Originally Posted By: nomer2007
Code:
Example:
on :TEXT:*Join*:#channel1: || on :TEXT:*Joined*:#channel2: {
{ perform.join }
}

That's your first sample of question

*join* and *joined* texts will be triggered on a simple *join* text right?


Sort of.

"Joined" would trigger *Join*, but "Join" would not trigger *Joined*.

Also, he/she is trying to trigger *Join* on #channel1. Then *Joined* on #channel2. So I'm not sure if it would conflict anyway. Although from what I can see, Ots is trying to trigger the same event from both conditions. (Can't remember what i mean, lol)

Personally I would use Horstl's Script/Code for this purpose, although I havt tried it, so I cant work out what would be wrong with it. (Referring to Ots saying they got an 'if' error.)

Anyway, correct me if I'm wrong on anything smile

Last edited by TTSpazmo; 04/12/07 07:25 PM.
Joined: Oct 2007
Posts: 92
N
Babel fish
Offline
Babel fish
N
Joined: Oct 2007
Posts: 92
Quote:
"Joined" would trigger *Join*, but "Join" would not trigger *Joined*.


Code:
on *:text:*join*:#:


is the same as

Code:
if *join* iswm $1-


re-join , joining , join or joined text will be triggered

Joined: Nov 2006
Posts: 1,559
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Nov 2006
Posts: 1,559
Well (not stressing the theory of sets too much), now imagine he wants to match *apples* on chan 1 and *pineapples* on chan 2... the OP asked for two different comparisons, so imho we should provide for this.

Joined: Feb 2006
Posts: 97
O
Babel fish
OP Offline
Babel fish
O
Joined: Feb 2006
Posts: 97
Originally Posted By: Horstl
Well (not stressing the theory of sets too much), now imagine he wants to match *apples* on chan 1 and *pineapples* on chan 2... the OP asked for two different comparisons, so imho we should provide for this.
Every1 thanks for helping out, learned a lot.

ow it's not my intention to do script request but more learning from it.

Btw @Horstl, your first version works out fine, it seems some other addon in my version running here is bugging some commands, did a clean install on diff system and everything works fine.

Joined: Dec 2007
Posts: 16
R
Pikka bird
Offline
Pikka bird
R
Joined: Dec 2007
Posts: 16
Originally Posted By: nomer2007
Quote:
"Joined" would trigger *Join*, but "Join" would not trigger *Joined*.


Code:
on *:text:*join*:#:


is the same as

Code:
if *join* iswm $1-


re-join , joining , join or joined text will be triggered


yea thats where i would do on *:text:joined:#:{ code }

text matches if only contains this word
text* matches if text starts with this word
*text matches if text ends with this word
*text* matches if text contains this word anywhere

or... if ($1 == joined)
or... if (joined isin $1) which is the basically same

Last edited by r34dm4n; 06/12/07 09:34 AM.

Link Copied to Clipboard