北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5345|回复: 2

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

[复制链接]
发表于 2017-1-7 08:34:33 | 显示全部楼层 |阅读模式
本帖最后由 foolenough 于 2017-1-22 11:34 AM 编辑

^[> ]*你一觉醒来,精神抖擞地活动了几下手脚。$
^[> ]*你刚在三分钟内睡过一觉\, 多睡对身体有害无益\!$
^[> ]*你现在精力充沛。$
^[> ]*你现在精不够,无法控制内息的流动!$
^[> ]*你现在的气太少了,无法产生内息运行全身经脉。$
^[> ]*你吐纳完毕,睁开双眼,站了起来。$
^[> ]*你运功完毕,深深吸了口气,站了起来。$
^[> ]*你的内力修为似乎已经达到了瓶颈。$^[> ]*你的精力修为已经达到了瓶颈。$
^[> ]*你深深吸了几口气,脸色看起来好多了。$
^[> ]*你略一凝神,精神看起来好多了。$
^[> ]*你的内力不够。$
^[> ]*你共请教了(\S+)次$
^[> ]*你\S+练习\S+,获得了\S+进步!$
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 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[1]
    local v=u[2]
    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("一千零三百十六万零三百零六")
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2017-3-25 15:32:31 | 显示全部楼层
顶!!!!!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 03:57 AM , Processed in 0.009844 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表