foolenough 发表于 2017-1-7 08:34:33

小石榴的常用触发条件与lua函数库

本帖最后由 foolenough 于 2017-1-22 11:34 AM 编辑

^[> ]*你一觉醒来,精神抖擞地活动了几下手脚。$
^[> ]*你刚在三分钟内睡过一觉\, 多睡对身体有害无益\!$
^[> ]*你现在精力充沛。$
^[> ]*你现在精不够,无法控制内息的流动!$
^[> ]*你现在的气太少了,无法产生内息运行全身经脉。$
^[> ]*你吐纳完毕,睁开双眼,站了起来。$
^[> ]*你运功完毕,深深吸了口气,站了起来。$
^[> ]*你的内力修为似乎已经达到了瓶颈。$^[> ]*你的精力修为已经达到了瓶颈。$
^[> ]*你深深吸了几口气,脸色看起来好多了。$
^[> ]*你略一凝神,精神看起来好多了。$
^[> ]*你的内力不够。$
^[> ]*你共请教了(\S+)次$
^[> ]*你\S+练习\S+,获得了\S+进步!$

foolenough 发表于 2017-1-22 11:37:30

中文数字转英文数字,用于领悟机器人计算sk命令计算当前最大等级
^[> ]*你目前所学过的技能.*你的技能等级最多能达到(\S+)级

local units={{10000,"万"},{1000,"千"},{100,"百"},{10,"十"}}

function ch_to_number(ch,factor)
ch=string.gsub(ch,"零","")
--print(ch..","..factor)

for _,u in pairs(units) do
    local k=u
    local v=u
    local s,t=string.find(ch,v)
    if s~=nil then
      local a=string.sub(ch,1,s-1)
      local b=string.sub(ch,t+1)
--      print(a,b)
      return k*ch_to_number(a,k)+ch_to_number(b,k/10);
    end
end

if ch==nil or ch=="" then
    if factor==1 then return 0
    else return 1 end
end
if ch=="一" then return 1 end
if ch=="二" then return 2 end
if ch=="三" then return 3 end
if ch=="四" then return 4 end
if ch=="五" then return 5 end
if ch=="六" then return 6 end
if ch=="七" then return 7 end
if ch=="八" then return 8 end
if ch=="九" then return 9 end
return 111;
end

function test(ch)
print(ch.."=="..ch_to_number(ch,1))
end

test("十六")
test("六十六")
test("三百零六")
test("一百十六")
test("三百一十六")
test("一千三百零六")
test("一万一千三百零六")
test("一万零三百零六")
test("一千零三百十六万零三百零六")

nandi 发表于 2017-3-25 15:32:31

顶!!!!!
页: [1]
查看完整版本: 小石榴的常用触发条件与lua函数库