ffs Bielie why so many damn trigger prefixes? instead of turning topic lock off "this is assuming if they have anope services on the server" you can have chanserv set it without turning the lock off if you run this on a client with the right access.
Bielie the one you made is missing a bracket. here is the one you made cleaned up a bit
on $*:text:/^!topic\b/iS:#: {
if ($nick isop # && $2) { .cs topic # $2- }
else { .notice $nick $iif($nick !isop #,Error: You have to be a op to use this command. $&
,$iif(!$2,Error: Please provide a topic Syntax: !topic Topic here)) }
}
but for something like this i would go with one that Jethro_ made