Riamus2 good work, i take the code to improve it...
On green my modifications...


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

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

on *:part:#replaceforyourchannel: {
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:#replaceforyourchannel: {
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?
write -dl1 joinlist.txt
}
}

on *:text:!done:#replaceforyourchannel: {
if ($nick isop $chan) {
if (%help.next ison $chan) { ban -ku10 $chan %help.next | kick $chan %help.next If you dont need more, please, out from #replaceforyourchannel }
}
}


Sorry, I don't speak english wink

Cya.-