I suggest using this: (Works better and always returns something.)
on $*:text:/^[.!@]topic\b/iS:#: {
if ($nick isop $chan) && ($address($nick,3) == $address($me) {
.cs set $chan topiclock off
topic $chan $2-
return
}
elseif ($nick !isop $chan) && ($address($nick,3) != $address($me) {
notice $nick Error: You have to be a op to use this command.
return
}
if ($2 == $null) {
notice $nick Error: Please provide a topic (Syntax: !topic (Topic)
return
}