Well, most of that isn't necessary.
Quote:

on *:join:#replaceforyourchannel: {
if ($nick !isop #) { write joinlist.txt $nick }
}


That's not necessary as no one is op when they join. This is why you need the on OP event.

As far as all of your #chan replacements... I already mentioned that they needed changed.

Quote:
write -dl1 joinlist.txt


That part is good to have. It shouldn't make a difference, but it's a valid change to the script, though it would be better in the kick part.

Quote:

if (%help.next ison $chan) { ban -ku10 $chan %help.next | kick $chan %help.next If you dont need more, please, out from #replaceforyourchannel }


That's unnecessary. The /ban command already is kicking the person. If a message is needed, then it can be added to the end of the ban command in my script.

Below, is the updated version that has the line deletion added.

Code:
on *:join:#chan: {
  write joinlist.txt $nick
}

on *:op:#chan: {
  if ($read(joinlist.txt,w,$nick)) { write -dl $readn joinlist.txt }
}

on *:part:#chan: {
  if ($read(joinlist.txt,w,$nick)) { write -dl $readn joinlist.txt }
}

on *:quit: {
  if ($read(joinlist.txt,w,$nick)) { write -dl $readn joinlist.txt }
}

on *:text:!next:#chan: {
  if ($nick isop $chan) {
    if ($lines(joinlist.txt) == 0) { msg $chan No users waiting for help. | return }
    set %help.next $read(joinlist.txt,1)
    while (%help.next !ison $chan) {
      write -dl1 joinlist.txt
      if ($lines(joinlist.txt) == 0) { msg $chan No users waiting for help. | return }
      set %help.next $read(joinlist.txt,1)
    }
    mode $chan +v %help.next
    msg $chan %help.next $+ , how may we help you?
  }
}

on *:text:!done:#chan: {
  if ($nick isop $chan) {
    if (%help.next ison $chan) {
      ban -ku10 $chan %help.next If you need more help, you may return.
      if ($read(joinlist.txt,w,%help.next)) { write -dl $readn joinlist.txt }
    }
  }
}


Invision Support
#Invision on irc.irchighway.net