|
Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
|
OP
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483 |
I can't find the raw for join.
I'm going to make: * nick (identd@host) has joined #channel and is an clone of clonenick
If there is no clone: * nick (identd@host) has joined #channel
but whats the raw? I tryed many, but no.
|
|
|
|
Joined: Dec 2002
Posts: 2,033
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,033 |
There is no raw for it.
/help on join
|
|
|
|
Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
|
OP
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483 |
Thanks for fast reply.
But how to replace the nick han joined with the new nick has joined and is a clone?
like
on join if nick is clone { Replace join message } else nothing
|
|
|
|
Joined: Dec 2002
Posts: 2,033
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,033 |
Use the ^ prefix with the haltdef command. on ^!*:JOIN:#: { if nick is clone { haltdef Replace join message } } But do your own routine for clone checking as that one isn't real. Also, the ! prefix prevents it from being triggered when you join. You could do...
on ^!*:JOIN:#: {
if ($ialchan($mask($fulladdress,2),#,2)) {
haltdef
Replace join message
}
}
Also you could replace $mask($fulladdress,2) with $wildsite
Last edited by RoCk; 11/02/08 10:56 PM.
|
|
|
|
Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
|
OP
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483 |
I had this: on ^!*:JOIN:#: {
if ($address($me,2) == $address($nick,2)) {
var %clone = $address($nick,2) | var %m = $nick(#,0) | var %i = 1 | haltdef
while (%i <= %m) {
if (%clone == $address($nick(#,%i) ,2)) {
if ($nick != $nick(#, %i)) { echo 3 -lt $chan * $nick ( $+ $remove($address($nick,1),*!*) $+ ) has joined # and is an clone of $nick(#,%i) ( $+ $remove($address($nick(#,%i),1),*!*) $+ ) }
}
inc %i
}
}
} but your is probably better.
|
|
|
|
Joined: Dec 2002
Posts: 2,033
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 2,033 |
You're wanting to catch your own clones ?
|
|
|
|
Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
|
OP
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483 |
I don't want to catch my own clones. on ^!*:JOIN:#: {
var %clone = $address($nick,2) | var %m = $nick(#,0) | var %i = 1
while (%i <= %m) {
if (%clone == $address($nick(#,%i),2)) {
if ($nick != $nick(#, %i)) { echo -l $chan $nick(#,%i) ( $+ $remove($address($nick(#,%i),1),*!*) $+ ) is a clone of $nick }
}
inc %i
}
} This will reply: Paven (balle@85.19.*) is a clone of Paven1 Paven2 (balle@85.19.*) is a clone of Paven1 (Feb 12 00:37:50) * Paven1 (balle@85.19.*) has joined #channelHow to get the last line (join) to be first? Eg: (Feb 12 00:37:50) * Paven1 (balle@85.19.*) has joined #channelPaven (balle@85.19.*) is a clone of Paven1 Paven2 (balle@85.19.*) is a clone of Paven1 One last thing, how to get the clones in one line? And then the replys will show: (Feb 12 00:37:50) * Paven1 (balle@85.19.*) has joined #channelPaven and Paven2 is clones of Paven1 If there is more than 3 clones: Paven, Paven2 and Paven3 is clones of Paven1 And if just one clone: Paven is a clone of Paven1
|
|
|
|
Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
|
OP
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483 |
I'm going for this code, but how to get the <nick> has joined to come before the echo without using timer? (Feb 13 09:57:38) * test (test@192.168.1.1) has joined #test (Feb 13 09:57:39) * test (test@192.168.1.1) is clone of test2 (test2@192.168.1.1) on ^!*:JOIN:#:{
if %join.clone.scan == on {
var %clone = $address($nick,2) | var %m = $nick(#,0) | var %i = 1
while (%i <= %m) {
if (%clone == $address($nick(#,%i),2)) && ($nick != $nick(#, %i)) { .timer 1 1 echo -lt $chan * $nick ( $+ $remove($address($nick,5),$nick,!) $+ ) is clone of $nick(#,%i) ( $+ $remove($address($nick(#,%i),5),$nick(#,%i),!) $+ ) }
inc %i
}
}
}
Last edited by Deep3D; 13/02/08 09:50 AM.
|
|
|
|
Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
|
OP
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483 |
bump.. the question above. please help out. =)
|
|
|
|
Joined: Apr 2004
Posts: 759
Hoopy frood
|
Hoopy frood
Joined: Apr 2004
Posts: 759 |
Im not sure i understand you correctly the nick has joined message should already come before the clone scan message
$maybe
|
|
|
|
Joined: Dec 2002
Posts: 3,138
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 3,138 |
Either use 0-delay timer or remove ^ from the event prefixes - it's not needed unless you intend to hide the default message.
|
|
|
|
Joined: May 2003
Posts: 41
Ameglian cow
|
Ameglian cow
Joined: May 2003
Posts: 41 |
could u not have both on same line???
on ^!*:JOIN:#:{
if %join.clone.scan == on {
var %x_match = [[ $+ $ialchan($address($nick,2),#,0) Clone $+ $iif($ialchan($address($nick,2),#,0) > 1,s) $+ ]]
var %x = $ialchan($address($nick,2),#,0) , %nicks
if (%x > 1) {
while (%x) { %nicks = %nicks $ialchan($address($nick,2),#,%x).nick | dec %x }
}
%xnicks = [[ $+ %nicks $+ ]]
echo $colour(join) $target *** [Join] $nick has joined # %x_match $iif( $ialchan($address($nick,2),#,0) > 1 , %xnicks )
haltdef
}
}
*** [Join] nick has joined #Scripting [3 Clones] [nick1 nick2 nick3]
If At First You Don't Succeed, Ask Someone For Help......
|
|
|
|
Joined: Oct 2003
Posts: 3,918
Hoopy frood
|
Hoopy frood
Joined: Oct 2003
Posts: 3,918 |
Are you asking if you can? or are you showing us that you can? The answer is yes, as you showed.
- argv[0] on EFnet #mIRC - "Life is a pointer to an integer without a cast"
|
|
|
|
Joined: May 2003
Posts: 41
Ameglian cow
|
Ameglian cow
Joined: May 2003
Posts: 41 |
could u not have both on same line??? It was a direct question to Deep3D asking if all details on one line was more suited. REF: (Feb 13 09:57:38) * test (test@192.168.1.1) has joined #test (Feb 13 09:57:39) * test (test@192.168.1.1) is clone of test2 (test2@192.168.1.1)
If At First You Don't Succeed, Ask Someone For Help......
|
|
|
|
Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
|
OP
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483 |
I decide to use your script Damsulegna! It works great, thank you. I changed the code alittle on ^!*:join:#:{
if %join.clone.scan == on {
var %x_match = ( $+ $ialchan($address($nick,2),#,0) clone $+ $iif($ialchan($address($nick,2),#,0) > 1,s) $+ :
var %x = $ialchan($address($nick,2),#,0) , %nicks
if (%x > 1) {
while (%x) { %nicks = %nicks $ialchan($address($nick,2),#,%x).nick | dec %x }
}
%xnicks = %nicks $+ )
echo $colour(join) -lt $target * $nick ( $+ $remove($address($nick,5),$nick,!) $+ ) has joined # %x_match $iif( $ialchan($address($nick,2),#,0) > 1 , %xnicks )
haltdef
}
} If nick joins and has no clones, it displays: * test (test@192.168.1.100) has joined #test (1 clone: How to prevent it from using the echo when there is no clones?
Last edited by Deep3D; 19/02/08 01:29 AM.
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,330 |
Just use the $iif to check the number of clones that you already have, but stick the %x_match in there...
echo $colour(join) -lt $target * $nick ( $+ $remove($address($nick,5),$nick,!) $+ ) has joined # $iif( $ialchan($address($nick,2),#,0) > 1 , %x_match %xnicks )
Or, if I read your question wrong and you don't want the join echoed at all, just stick it all into the $iif.
Invision Support #Invision on irc.irchighway.net
|
|
|
|
|