|
发现公版的转换函数有问题,score超过十万,或者身上10~20gold,都会导致机器人获取数值时,数字转换错误。
修正如下,请用下面的代码替换原来的trans函数,函数在shujian中。
这个会对机器人运行有影响,比如身上gold多了会去存,少了会去取等等。
还是silver,同样的道理。好了,说完了,希望大家喜欢!
- function trans(num)
- if not num then
- return 0
- end
- local _, _, wan, other = string.find(num, "^(.-)万(.*)$")
- local result = 0
- if wan then
- result = result + trans0(wan) * 10000
- num = other
- end
- result = result + trans0(num)
- return result
- end
- function trans0(num)
- num = string.gsub(num,"^十(.*)$","一十%1")
- num = string.gsub(num,"零十","一十")
- num = string.gsub(num,"零","")
- local result = 0
- local numbers = {"一","二","三","四","五","六","七","八","九"}
- for k,v in pairs(numbers) do
- num = string.gsub(num,v,k)
- end
- local units = {["0|"] = "十", ["00|"] = "百", ["000|"] = "千"}
- for k,v in pairs(units) do
- num = string.gsub(num,v,k)
- end
- for v in string.gmatch(num,"(%d+)") do
- result = result + v
- end
- return result
- end
复制代码 |
评分
-
2
查看全部评分
-
|