(1) your codes written badly, the initial 4 conditions should not be in the while loop
on *:input:*:{
if ($left($1,1) != /) && (!$ctrlenter) && ($active != Status Window) && ($status == connected) && ($chan)) {
var %i = 1| while (%i <= $nick($chan,0)) { if ($1 == $nick($chan,%i) { say my stuffs here | halt } | inc %i }
}
}
(2) Even more of a problem is that your actually looping at all and doing a INPUT:*
on *:input:#:{ if ($left($1,1) != /) && (!$ctrlenter) && ($1 ison $chan)) { say my stuffs here | halt } }
;or even just
on *:input:#:{ if ((!$ctrlenter) && ($1 ison $chan)) { say my stuffs here | halt } }
(3) Its likely the line appears twice becuase some other script also has an on input
locate it and add the & directive