本帖最后由 dnd 于 2012-11-18 01:51 AM 编辑
- require "wait"
- -- ------------------------------------------------- 初始化一些必要的数据-- -----------------------------------------------function init () wait.make (function() while true do cmd_count = 0 cmd_count_start = GetInfo (232) wait.time (1) end end)end
- -- ------------------------------------------------- 防止输入指令过快-- -----------------------------------------------function anti_toofast() local t cmd_count = cmd_count + 1 if cmd_count < 15 then return end cmd_count_end = GetInfo (232) t = cmd_count_end - cmd_count_start t = 1 - (t - t%0.1) + 0.1 if t < 0.1 then t = 0.1 end print ("输入指令速度控制:等待"..t.."秒...") wait.time (t)end
- -- ------------------------------------------------- 执行函数,加入了anti_toofast()-- -----------------------------------------------runre = rex.new ("([^;*\\\\]+)")function exe (str) if str == "" or str == nil then return end _cmds = {} local i = 0 n = runre:gmatch (str, function (m, t) i = i + 1 _cmds[i] = m end) if (_cmds == nil) then return end for i, cmd in pairs (_cmds) do anti_toofast() Queue (cmd, 0) Note (cmd) endend
- -- -----------------------------------------------
- -- 获取hp信息
- -- -----------------------------------------------
- function get_hpinfo()
- local m={}
- exe("hpbrief")
- l,w=wait.regexp("#(.*),(\\d+),(\\d+),(\\d+),(\\d+),(\\d+)")
- m.exp=w[1]
- m.pot=w[2]
- m.neili_max=w[3]*1
- m.neili_cur=w[4]*1
- m.jingli_max=w[5]*1
- m.jingli_cur=w[6]*1
- l,w=wait.regexp("#(.*),(\\d+),(\\d+),(\\d+),(\\d+),(\\d+)")
- m.qixue_max=w[1]*1
- m.qixue_percent=w[2]*1
- m.qixue_cur=w[3]*1
- m.jingshen_max=w[4]*1
- m.jingshen_percent=w[5]*1
- m.jingshen_cur=w[6]*1
- m.qixue_zb=m.qixue_cur*100/m.qixue_max
- m.neili_percent=m.neili_cur*100/m.neili_max
- m.hpb=m.qixue_cur*10/(m.neili_cur+1)
- return m
- end
- -- -----------------------------------------------
- -- dazuo到双倍内力,误差小于26内力小点
- -- -----------------------------------------------
- function dazuo()
- while true do
- hp=get_hpinfo()
- if hp.qixue_cur>=hp.qixue_max*0.9 then
- if hp.jingshen_cur>=hp.jingshen_max*0.9 then
- if hp.neili_cur>=(hp.neili_max*2-26) then
- print("打坐双倍内力完毕!")
- break
- else
- if (hp.neili_max*2-hp.neili_cur-10) > (hp.qixue_cur*0.91-1) then
- exe("dazuo "..(hp.qixue_cur*0.91-1)/1.3)
- l,w=wait.regexp("你运功完毕,深深吸了口气,站了起来。|你将真气在体内沿脉络运行了一圈,缓缓纳入丹田,放下手,长吐了一口气。|你只觉神元归一,全身精力弥漫,无以复加,忍不住长啸一声,徐徐站了起来。")
- else
- exe("dazuo "..(hp.neili_max*2-hp.neili_cur-10)/1.3)
- l,w=wait.regexp("你运功完毕,深深吸了口气,站了起来。|你将真气在体内沿脉络运行了一圈,缓缓纳入丹田,放下手,长吐了一口气。|你只觉神元归一,全身精力弥漫,无以复加,忍不住长啸一声,徐徐站了起来。")
- end
- end
- else
- exe("exert regenerate")
- end
- else
- exe("exert recover")
- end
- end
- end
复制代码
这个可以做成插件,比如上述代码作为mylib.lua,插件代码为:
-
- name="dazuo"
- id="b6a5dab140f604c9559af393"
- language="Lua"
- date_written="2012-11-09 08:46:53"
- requires="4.84"
- version="1.0"
- >
-
- name="dazuo_start"
- script="main"
- match="#dazuo"
- enabled="y"
- sequence="100"
- >
-
复制代码
把F12的宏设置成#dazuo,
这样以后按F12就会自动打坐到双倍内力。 |