Hi, I'm coding a mirc script...
Anyone knows how to save users of a channel on a file .txt?
Thanks for help.
alias savenicks {
var %i = 1
while ( $nick(#,%i) ) {
write nicks.txt $ifmatch
inc %i
}
}
sorry, but I'm at beginning... how to recall this "alias"?
Put it in remotes and type /savenicks in a channel, then open nicks.txt from your mIRC directory.
go to Tools -> Scripts Editor and put it in Remotes, or remove the word "alias" in the first line and put in in Aliases.
Thanks, it works! but is it possible to do this every time I enter the channel, without write the command "/savenicks"?
use a trigger when you join a channel: on $me:JOIN:#:{ savenick } in your remote section..
sorry, but I don't understand... how to do this trigger?
Add this in your remote section.. ALT + R in your mirc..
on $me:JOIN:#:{ savenick }
That doesn't work.
on me:*:JOIN:#:{ savenicks }
No. Try it. It doesn't work with a $, it does without.
mmm it doesn't work... but the command "savenicks" must be placed in remote.ini or aliases.ini?
No, it doesn't works with...
on me:*:JOIN:#:{ savenicks }
it save only my name...
I know why it doesn't work, it is because on JOIN the names list hasn't been recieved yet..
on me:*:JOIN:#:{
set %join $+ # 1
}
raw 366:*:{
if ( $eval(% $+ join $+ $2,2) ) {
savenicks
unset %join $+ $2
}
}
It all goes in remotes.
and if I would do enter the script in a list of channels saved in a file .txt? Exist a FOR cicle?
How can I do?
it doesn't works...
on me:*:JOIN:#:{
set %join $+ # 1
}
raw 366:*:{
if ( $eval(% $+ join $+ $2,2) ) {
savenicks unset %join $+ $2
}
}
You missed a carriage return after savenicks.
in the text I put, but doesn't work too
is not possible to make a pause before to execute command?
Yes. use a time.. .timer 1 1 command
you means
.timer 1 1 savenicks
?
yes.. on the join command..
I tried this but nothing...
on me:*:JOIN:#:{
.timer 1 1 savenicks
}
Then your mIRC is screwed. that code is solid.
I have Mirc 6.03... I need to insert some routine or something?
Please, help me!
We helped you all we could. If the code doesn't work, it's something that you did wrong. Please tell us exactly what you did...
make shure you dont have any on join events abow the one with the timer.. mirc takes the first one, then it halts.. so it wont get the one below that one..
I put
on me:*:JOIN:#:{
.timer 1 1 savenicks
}
on top of remote (ALT-R), then I put after
alias savenicks {
var %i = 1
while ( $nick(#,%i) ) {
write nicks.txt $ifmatch
inc %i
}
}
is it right?
hmm..
on me:*:JOIN:#:{
.timer 1 1 savenicks
}
i think you should remove the red stuff..
but it doesn't work the "timer"...
I cancel the red but nothing...
timer requires some code?
Try typing /!remote on and see if it works.
it say "remote active (events...)" but nothing...
I download Mirc 6.12 from this site, I insert the code in script.ini (remote) but nothing...
It's my pc that is crush? or is the code?
You NEED that red code sparta told you to remove..
on me:*:JOIN:#:{
set %join $+ # 1
}
raw 366:*:{
if ( $eval(% $+ join $+ $2,2) ) {
savenicks $2
unset %join $+ $2
}
}
alias savenicks {
var %i = 1
while ( $nick($1,%i) ) {
write nicks.txt $ifmatch
inc %i
}
}
add these to a new script file...
finally, it works!! Unbelievable!! GREAT!!
only a problem, it saves my name too... each time...
is possible not to save?
I'm late, but yes.
alias savenicks {
var %i = 1
while ( $nick($1,%i) ) {
if ($ifmatch != $me) { write nicks.txt $ifmatch }
inc %i
}
}
or..
alias savenicks {
var %i = 1
while ( $nick($1,%i) ) {
write nicks.txt $ifmatch
inc %i
}
write -ds $+ $me nicks.txt
}
You can choose any of both, but be sure to read the help file for both regardless of the one you choose.