|
发表于 2018-6-23 10:44:18
|
显示全部楼层
本帖最后由 marmot@tj 于 2018-6-23 21:47 编辑
跟风神的类似的,只是我原先弄得比较复杂,原来的思路是捡起来后不管,身上负重超过一定数值就去杂货铺,然后检查身上甲胄的名称和id,符合存储条件的进行存储,存储完后再检查有没有需要分解的,有的话再去大理裁缝店进行分解。现在则是捡完后立马判断是分解还是储存,任务间隙直接跑一趟。因为掉落几率很低,所以不会太频繁跑。而且也不用像我原来判断这判断那的很麻烦加大内存开销。
我的做法:
和风神一样在shujian.lua的function hp_trigger()中加入
create_trigger_t('hp25','^(> )*你眼中一亮看到\\D*的身边掉落一件(\\D*)。','','armor_drop')
SetTriggerOption("hp25","group","hp")
并把fuction check_food_over()按以下修改
check_food_over()
if kuang_cur and kuang_cur>2000 then
return Ronglian()
end
if armor_cmd == 'check' and armor_id ~= nil then
return go(armor_cun,'city/zahuopu')
elseif armor_cmd == 'dismantle' and armor_id ~= nil then
return go(armor_dismantle,'dali/caifeng')
end
return check_heal()
end[/code]
然后新建一个lua,文件名随意自己认识就好,例如叫armorx.lua,内容为以下代码并在shujian.lua里 require "armorx":
[code]armor_total = 0
armor_super = 0
armor_great = 0
armor_good = 0
armor_normal = 0
armor_cnt = 0
function armor_drop(n,l,w)
armorname = w[2]
DeleteTrigger('armorcheck1')
create_trigger_t('armorcheck1','^(> )*'..armorname..' = (\\D*)','','armor_check')
EnableTrigger('armorcheck1',true)
exe('id here')
armor_total = armor_total + 1
if job.name == 'wudang' then
messageShowT('武当任务NPC【'..job.target..'】掉落'..armorname..'一件。','aqua')
elseif job.name == 'xueshan' then
messageShowT('雪山任务NPC【'..job.target..'】掉落'..armorname..'一件。','aqua')
elseif job.name == 'Dummyjob' then
messageShowT('杀大米任务NPC【'..job.target4..'】掉落'..armorname..'一件。','aqua')
end
messageShowT('本次运行总共掉落甲胄'..armor_total..'件。','aqua')
end
function armor_check(n,l,w)
if armorname ~= '甲胄' then
armor_id = w[2]
local armor_set = {}
if string.find(armor_id,",") then
armor_set = utils.split(armor_id,',')
armor_id = armor_set[1]
armor_id = Trim(armor_id)
armor_cnt = armor_cnt + 1
exe('get '..armor_id)
messageShowT('拾取战利品'..armorname..'|'..armor_id..'一件。','gold')
end
if string.find(armorname,'(干将|莫邪|鱼肠|太阿|巨阙|纯钩|湛卢|工布|胜邪|龙泉|轩辕|神通|无极|八卦|乔依乌斯|太白|乾坤|太极|天地|风云|浩气|炼狱|三清|昆仑)甲') then
armor_cmd = 'check'
armor_super = armor_super + 1
elseif not string.find(armorname,'(干将|莫邪|鱼肠|太阿|巨阙|纯钩|湛卢|工布|胜邪|龙泉|轩辕|神通|无极|八卦|乔依乌斯|太白|乾坤|太极|天地|风云|浩气|炼狱|三清|昆仑)甲') and armor_id ~= 'good armor' then
armor_cmd = 'dismantle'
armor_great = armor_great + 1
elseif armor_id == 'good armor' then
armor_cmd = 'dismantle'
armor_good = armor_good + 1
end
messageShowT('本次运行共拾取甲胄'..armor_cnt..'件。按品质分别为:Super'..armor_super..'件,Great'..armor_great..'件,Good'..armor_good..'件,Normal'..armor_normal..'件。','gold')
end
DeleteTrigger('armorcheck1')
end
function armor_cun()
job.name = 'cunarmor'
exe('remove '..armor_id)
exe('cun '..armor_id)
messageShowT('寄存'..armorname..'|'..armor_id..'一件!','gold')
armorname = nil
armor_id = nil
armor_cmd = nil
return check_busy(check_heal)
end
function armor_dismantle()
job.name = 'dismantle'
exe('remove '..armor_id)
exe('dismantle '..armor_id..';y')
messageShowT('拆解'..armorname..'|'..armor_id..'一件!','red')
armorname = nil
armor_id = nil
armor_cmd = nil
return check_busy(check_heal)
end
06/23/18 10:43:53【marmot】武当任务NPC【邱后陈】掉落地门甲胄一件。
06/23/18 10:43:53【marmot】本次运行总共掉落甲胄1件。
06/23/18 10:43:53【marmot】拾取战利品地门甲胄|good armor一件。
06/23/18 10:43:53【marmot】本次运行共拾取甲胄1件。按品质分别为:Super0件,Great0件,Good1件,Normal0件。
06/23/18 10:44:30【marmot】拆解地门甲胄|good armor一件!
|
大概就是这样的,其实跟风神的差不多的,只是我的要简单粗暴一些纯看名字决定要不要保存或分解。大家还是用风神的版本好了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
评分
-
2
查看全部评分
-
|