我好了
用了非常粗暴的办法来检测错误,简单来说就是全部利用转换成unicode的函数转换后通过一个while循环逐字挑错
转换救我老命,本来是直接检测字符串的但是中英文字符串长度不同导致出问题,利用这个刚好能把长度统一
function isAouwa(str)
a = 1
b = str2hex(str)
while (a < #b) do
c = string.sub(b,a,a+3)
if (not(c=="554a" or c=="55f7" or c=="545c" or c=="007e")) then
return false
end
a = a + 4
end
return true
end
然后在兽译中(?)的函数里加入这个检测
function renhua(msg)
local detector = string.match(msg.fromMsg,"[%s]*(.-)[%s]*$",1)
b = isAouwa(detector)
if b then
return "{nick}说:\n"..hex2str(msg.fromMsg)
else
return "嗷呜?这可不像是兽语呢,你确定没讲错吗?"
end
end