Well, it was a good try but I think this kind of addons can be done by only a Menu in Channel/Status/...
This will give an error if the dialog is already open:
menu channel {
Servicii server: { dialog -m opersscript opersscript }
}
You can do it like this:
menu channel {
Servicii server:dialog $iif(!$dialog(opersscript),-m,-v) opersscript opersscript
}
Another thing about your dialog handling:
if ($did == 23) { /msg nickserv set language 1 }
if ($did == 24) { /msg nickserv set language 2 }
if ($did == 25) { /msg nickserv set language 3 }
if ($did == 26) { /msg nickserv set language 4 }
if ($did == 27) { /msg nickserv set language 5 }
if ($did == 28) { /msg nickserv set language 6 }
if ($did == 29) { /msg nickserv set language 7 }
if ($did == 30) { /msg nickserv set language 8 }
if ($did == 31) { /msg nickserv set language 9 }
if ($did == 32) { /msg nickserv set language 10 }
if ($did == 33) { /msg nickserv set language 11 }
if ($did == 34) { /msg nickserv set language 12 }
if ($did == 35) { /msg nickserv set language 13 }
This can be much shorter and easier:
on *:DIALOG:opersscript:sclick:23-35: {
msg nickserv set language $calc($did - 22)
}
Note: You don't need / in your codes, it's unnecessary. Btw, also there are more things that you can make them better...
Good luck ;)