Ah ha!
The error your getting pretty much shows that ULX isn't your direct problem.
I searched my archive ulx 1.13 directory for any text containing eventPlayerSay
ulx_base.lua has it, and its handling of text is quite nice, IMO.
It also has no lower string function anywhere near line 211 as indicated in your error.
It actually tests to see if you're saying something from console.
If you are saying something from console, it pretty much stops processing any further, and allows whatever you say to be spit back out.
if userid == 0 then -- If this is the dedicated server, ignore it or we'll have problem
return strText
end
However, if you aren't saying in console, it goes on to check if what you've said is a ULX command.
If its not, it will always return what you said using return.
I'd be willing to bet your other admin script's eventPlayerSay functions aren't quite as nice about playing with others. Most likely not testing if the console said it, and, possibly, not returning the text that was stated, whether it was one of its commands or not.
The more I look into Megiddo's code, the more I appreciate it. I see insight to things that I can just barely scratch the surface of.
As for how to fix you're other scripts, well, that might take a bit.
I'd start with asking about it with whoever made it if you aren't a coder yourself.
One quick start that would fix your console 'say' error would be to add the above code snippet into the function of your other script(s) that use eventPlayerSay
Just make sure to replace the variable names.
Example, if your other script uses 'eventPlayerSay(whosaidit, whatwassaid, teamtheyareon)
then yours would need to be
if whosaidit == 0 then -- If this is the dedicated server, ignore it or we'll have problem
return whatwassaid
end