找回密码
 注册
搜索
查看: 5654|回复: 53

三种内力药完美服用解决方案!

[复制链接]
门派:桃花岛
发表于 2019-2-27 13:34:42 | 显示全部楼层 |阅读模式
本帖最后由 liumaisj@tj 于 2019-2-27 13:46 编辑

现在pk多了,护镖和上山也多了,导致内力经常不够的同学看过来。
经一周测试无误,分享内息丸、川贝内息丸和黄芪内息丹的无busy服用办法!

首先,打开shujian.lua

第一步:

count={}
count.gold_max=15
count.nxw_max=20
count.cbw_max=20
count.hqd_max=20

count.cty_max=20
count.hxd_max=5
count.dhd_max=5
drug={}
drug.heal='chantui yao'
drug.neili1='neixi wan'
drug.neili2='chuanbei wan'
drug.neili3='huangqi dan'

drug.jingxue='huoxue dan'

找到原有的内力药的名称定义,改为drug.neili1,drug.neili2,drug.neili3,分别对应内息丸,川贝丸和黄芪丹。设定内息丸,川贝丸和黄芪丹的上限分别为20颗

cty_cur=0
nxw_cur=0
cbw_cur=0
hqd_cur=0

hxd_cur=0

找到原来nxw_cur变量的定义,在它下边添加cbw_cur,hqd_cur变量,分别赋值为0(后边将用这三个变量来跟踪记录三种药品的存量)
-----------

第二步:

drugBuy ={
["川贝内息丸"] = {"dali/yaopu","zhiye/yaodian1"},
["邪气丸"] = {"dali/yaopu","zhiye/yaodian1"},
["正气丹"] = {"dali/yaopu","zhiye/yaodian1"},
["养精丹"] = {"dali/yaopu","zhiye/yaodian1"},
["补气丸"] = {"dali/yaopu","zhiye/yaodian1"},
["续精丹"] = {"dali/yaopu","zhiye/yaodian1"},
["内息丸"] = {"dali/yaopu","zhiye/yaodian1"},
["补食丹"] = {"dali/yaopu","zhiye/yaodian1"},
["补水丸"] = {"dali/yaopu","zhiye/yaodian1"},
["金疮药"] = {"dali/yaopu","zhiye/yaodian1"},
["疗精丹"] = {"dali/yaopu","zhiye/yaodian1"},
["正气丹"] = {"dali/yaopu","zhiye/yaodian1"},
["邪气丸"] = {"dali/yaopu","zhiye/yaodian1"},
["延年养精丹"] = {"dali/yaopu","zhiye/yaodian1"},
["茯苓补气丸"] = {"dali/yaopu","zhiye/yaodian1"},
["当归续精丹"] = {"dali/yaopu","zhiye/yaodian1"},
["黄芪内息丹"] = {"dali/yaopu","zhiye/yaodian1"},
["蝉蜕金疮药"] = {"dali/yaopu","zhiye/yaodian1"},
["活血疗精丹"] = {"dali/yaopu","zhiye/yaodian1"},
["解毒丸"] = {"dali/yaopu","zhiye/yaodian1"},
["大还丹"] = "city/dangpu",
["火折"] = {"xueshan/laifu","suzhou/baodaiqiao"},
["牛皮酒袋"] = {"city/xiaochidian"},
}

添加三种药品的购买地点。

--------

第三步:

function hp_trigger()
   create_trigger_t('hp20',"^(> )*你(服下一颗活血疗精丹,顿时感觉精血不再流失|服下一颗内息丸,顿时觉得内力充沛了不少|服下一颗川贝内息丸,顿时感觉内力充沛|服下一颗黄芪内息丹,顿时感觉空虚的丹田充盈了不少|敷上一副蝉蜕金疮药,顿时感觉伤势好了不少|吃下一颗大还丹顿时伤势痊愈气血充盈)。",'','hpeatOver')

加入3种药品的疗伤恢复描述!

评分

2

查看全部评分

门派:桃花岛
 楼主| 发表于 2019-2-27 13:40:50 | 显示全部楼层
本帖最后由 kkfromch@tj 于 2019-2-28 00:42 编辑

第四步:

function hpeatOver(n,l,w)
     local l=w[2]
  if string.find(l,"敷上一副蝉蜕金疮药,顿时感觉伤势好了不少") then
           cty_cur = cty_cur - 1
        end
        if string.find(l,"服下一颗内息丸,顿时觉得内力充沛了不少") then
           nxw_cur = nxw_cur - 1
        end
        if string.find(l,"服下一颗川贝内息丸,顿时感觉内力充沛") then
           cbw_cur = cbw_cur - 1
        end
        if string.find(l,"服下一颗黄芪内息丹,顿时感觉空虚的丹田充盈了不少") then
           hqd_cur = hqd_cur - 1
        end

        if string.find(l,"服下一颗活血疗精丹,顿时感觉精血不再流失") then
           DeleteTimer("eatdan")
           hxd_cur = hxd_cur - 1
        end
        if string.find(l,"吃下一颗大还丹顿时伤势痊愈气血充盈") then
           messageShow('吃大还丹了!')
           dhd_cur = dhd_cur - 1
        end
end

添加服下三种内力药之后,背囊药品数量的计算公式!

----------

第五步:

function checkPrepare()

    if (Bag and Bag["黄金"] and Bag["黄金"].cnt and Bag["黄金"].cnt<count.gold_max and score.gold>count.gold_max) or (Bag and Bag["黄金"] and Bag["黄金"].cnt and Bag["黄金"].cnt>count.gold_max*4) then
      return check_gold()
        end
        
        if score.gold and score.gold>100 and nxw_cur<5 and drugPrepare["内息丸"] then
       return checkNxw()
    end
        if score.gold and score.gold>100 and cbw_cur<5 and drugPrepare["川贝内息丸"] then
       return checkNxw()
    end
        
    if score.gold and score.gold>100 and hqd_cur<5 and drugPrepare["黄芪内息丹"] then
       return checkNxw()
    end

        
          if score.gold and score.gold>100 and cty_cur<5 and drugPrepare["蝉蜕金疮药"] then
       return checkHxd()
    end

添加背囊药品存量判断,三种药品存量都低于5颗,而且钱庄黄金大于100,则启动checkNxw()函数前去购买!


-----
第六步:

function checkBY()

   if not Beinang then Beinang={"空"} end
   for i = 1,#Beinang do
             if Beinang == "" or Beinang == nil then
                 Beinang = "数据丢失"
             end
             local l_name = Beinang
     if string.find(l_name,"蝉蜕金疮药") then
            cty_cur = trans(Beinang)
         end
        if string.find(l_name,"颗内息丸") then
            nxw_cur = trans(Beinang)
         end
         if string.find(l_name,"川贝内息丸") then
            cbw_cur = trans(Beinang)
         end
         if string.find(l_name,"黄芪内息丹") then
            hqd_cur = trans(Beinang)
         end
         if string.find(l_name,"活血疗精丹") then
            hxd_cur = trans(Beinang)
         end
         if string.find(l_name,"大还丹") then
            dhd_cur = trans(Beinang)
         end
         if string.find(l_name,"铁矿石") then
            kuang_cur = trans(Beinang)
         end
         --print(cty_cur,nxw_cur,hxd_cur,dhd_cur)
         end
end

这个是背囊药品统计,每次买药后,都会调用,实时核对数量。
门派:武当派
发表于 2019-2-27 13:49:24 | 显示全部楼层
这个很精辟详细啊,等下拿小号安装看看
谢谢了
门派:丐帮
发表于 2019-2-27 13:51:53 | 显示全部楼层
这个好,正想琢磨这事呢,这就有大神的指点了。
门派:桃花岛
 楼主| 发表于 2019-2-27 13:53:01 | 显示全部楼层
第七步:

function checkYaoBags(func)
   DeleteTriggerGroup("Yaobags")
   create_trigger_t('Yaobags1','^(> )*(\\D*)(锭|两|张)(白银|黄金|壹仟两银票)\\(','','checkBagsMoney')
   create_trigger_t('Yaobags2','^(> )*你把 "action" 设定为 "检查药品" 成功完成。$','','checkYaoBagsOver')
   create_trigger_t('Yaobags3','^(> )*(\\D*)封失落的信笺','','checkBagsletter')
   SetTriggerOption("Yaobags1","group","Yaobags")
   SetTriggerOption("Yaobags2","group","Yaobags")
   SetTriggerOption("Yaobags3","group","Yaobags")
   EnableTriggerGroup("Yaobags",true)
   cty_cur=0
   nxw_cur=0
   cbw_cur=0
   hqd_cur=0

   hxd_cur=0
   --print(cty_cur,nxw_cur,hxd_cur)
   Bag["黄金"].cnt=0
   Bag["白银"].cnt=0
   tmp.yaobags=func
   exe('i;look bei nang')
   exe('alias action 检查药品')
end

函数checkYaoBags()中,添加内息丸,川贝丸和黄芪丹三种药品变量归零。

-----

第八步:

function checkBags(func)
   DeleteTriggerGroup("bags")
   create_trigger_t('bags1',"^(> )*你身上携带物品的别称如下",'','checkBagsStart')
   create_trigger_t('bags2',"^\\d*\\D*) = (\\D*)$",'','checkBagsId')
   create_trigger_t('bags3','^(> )*你目前已经拥有了(\\D*)件私有装备:(\\D*)。$','','checkBagsU')
   create_trigger_t('bags4','^(> )*(\\D*)(锭|两|张)(白银|黄金|壹仟两银票)\\(','','checkBagsMoney')
   create_trigger_t('bags5','^(> )*你把 "action" 设定为 "检查包裹" 成功完成。$','','checkBagsOver')
   create_trigger_t('bags6','^(> )*(\\D*)封失落的信笺','','checkBagsletter')
   create_trigger_t('bags7','^(> )*(\\D*)枚飞镖\\(','','checkBagsDart')
   create_trigger_t('bags8','^(> )*你身上带着(\\D*)件东西\\(负重\\s*(\\d*)\\.\\d*\\%\\):','','checkBagsW')
   SetTriggerOption("bags1","group","bags")
   SetTriggerOption("bags2","group","bags")
   SetTriggerOption("bags3","group","bags")
   SetTriggerOption("bags4","group","bags")
   SetTriggerOption("bags5","group","bags")
   SetTriggerOption("bags6","group","bags")
   SetTriggerOption("bags7","group","bags")
   SetTriggerOption("bags8","group","bags")
   EnableTriggerGroup("bags",false)
   EnableTrigger("bags1",true)
   cty_cur=0
   nxw_cur=0
   cbw_cur=0
   hqd_cur=0

   hxd_cur=0
   --print(cty_cur,nxw_cur,hxd_cur)
   bags={}
   Bag={}
   Bag["黄金"]={}
   Bag["黄金"].id={}
   Bag["黄金"].cnt=0
   Bag["白银"]={}
   Bag["白银"].id={}
   Bag["白银"].cnt=0
   Bag["枚飞镖"]={}
   Bag["枚飞镖"].id={}
   Bag["枚飞镖"].cnt=0
   tmp.bags=func
   weaponUsave={}
   exe('id')
   checkWield()
   exe('look bei nang')
   exe('uweapon;alias action 检查包裹')
end

函数checkBags()中,添加三种药品变量归零!
门派:丐帮
发表于 2019-2-27 13:53:57 | 显示全部楼层
我记得是不是有低于多少的时候吃,这里可以把三种药吃的百分比错开。
门派:桃花岛
 楼主| 发表于 2019-2-27 13:54:28 | 显示全部楼层
taot@tj 发表于 2019-2-27 13:49
这个很精辟详细啊,等下拿小号安装看看
谢谢了

上次分享的有漏洞,这是精修版!

改的地方非常多,请务必一样样核对,错漏一个地方,就会有问题了!
门派:丐帮
发表于 2019-2-27 13:56:55 | 显示全部楼层
        if hp.neili<hp.neili_max*0.5 and nxw_cur>0 then
       exe('eat '.. drug.neili)
    end
    if hp.neili<hp.neili_max*0.2 and hqw_cur>0 then
       exe('eat huangqi dan')
    end
这里是不是错开吃会不会更好些?
门派:武当派
发表于 2019-2-27 13:59:49 | 显示全部楼层
liumaisj@tj 发表于 2019-2-27 13:54
上次分享的有漏洞,这是精修版!

改的地方非常多,请务必一样样核对,错漏一个地方,就会有问题了 ...

是啊上次改了有点小问题,还是谢谢分享啊
门派:桃花岛
发表于 2019-2-27 14:00:45 | 显示全部楼层
这个正需要                           
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-9 05:25 , Processed in 0.030880 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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