|
本帖最后由 joyce@tj 于 2019-5-16 23:07 编辑
附件是文本文件,改一下扩展名为lua即可。
供大家研究探讨,可以节省一些set指令。
- -- joyce@tj 2019.4.14
- -- usage:
- -- set()
- -- set('ynj')
- -- set('ynj','YES')
- -- unset('ynj')
- Set = {}
- function set(name,value)
- local l_value
- value = value or "YES"
- -- set()
- if name == nil then
- if not GetTriggerInfo('set',8) then set_trigger() end
- Set = {}
- return exe('set')
- end
- -- set('ynj')
- for k,v in pairs(Set) do
- if k == name then
- l_value = v --找Set表已存在的值
- break
- end
- end
- if l_value == value then --如果Set表已存在值相同,退出
- return
- else
- wait.make(function()
- repeat
- exe('set '..name..' '..value)
- _,w = wait.regexp ("^(> )*设定环境变量:(\\S+) = (\\S+)$",1)
- if w then
- local l_name = w[2]
- local l_value = w[3]
- if l_name and l_value then
- if flag.trace == true then print(l_name..' '..l_value) end
- if string.find(l_value,'"') then
- Set[l_name] = trim(l_value,'"')
- else
- Set[l_name] = tonumber(l_value)
- end
- end
- end
- until Set[name] == value
- end)
- end
- end
- function unset(name)
- -- unset 变量,并同步Set表,如果表中本来也不存在,不执行exe
- for k,v in pairs(Set) do
- if k == name then
- wait.make(function()
- repeat
- exe('unset '..name)
- l,w = wait.regexp ("^(> )*Ok.$",1)
- if string.find(l,"Ok") then Set[name] = nil end
- until Set[name] == nil
- end)
- end
- end
- end
- function set_trigger()
- local l_match = ''
- l_match = l_match..'env_msg|wimpycmd|block|public|no_accept|no_follow|积蓄|fight_player|kill_msg|look'
- l_match = l_match..'|over_buy|no_kill_ap|buf_off|no_auto_pfm|brief|武馆玉肌丸'
- l_match = l_match..'|jyzj|double_attack|lbwb|ynj|whdmd|jybgz|hubo_switch|pxj|qzs|szj|hmg|txj|po|玉女心经'
- l_match = l_match..'|wimpy|debuff_boost|fatal_boost'
- create_trigger_j('set','general','^('..l_match..')\\s{1,19}(\\S+)
- ,'set_Set','y',50)
- end
- function set_Set(n,l,w)
- local l_name = w[1]
- local l_value = w[2]
- if l_name and l_value then
- if string.find(l_value,'"') then
- Set[l_name] = trim(l_value,'"')
- else
- Set[l_name] = tonumber(l_value)
- end
- end
- if flag.trace == true then print(l_name..' '..Set[l_name]) end
- end
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
评分
-
1
查看全部评分
-
|