找回密码
 注册
搜索
查看: 1815|回复: 10

一步一步,成为背尸侠

[复制链接]
门派:大轮寺
发表于 2019-7-17 17:35:03 | 显示全部楼层 |阅读模式

========================
huashan_cut=function()
DeleteTimer('huashan_killheqi')
    EnableTriggerGroup("huashan_fight",false)
    EnableTriggerGroup("huashan_find",false)
    DeleteTriggerGroup("huashan_cut")
    create_trigger_t('huashan_cut1','^(> )*你将(\\D*)的尸体扶了起来背在背上。','','huashan_cut_con')
    create_trigger_t('huashan_cut2','^(> )*(乱切别人杀的人干嘛啊|你手上这件兵器无锋无刃|你得用件锋利的器具才能切下这尸体的头来)','','huashan_cut_weapon')
    SetTriggerOption("huashan_cut1","group","huashan_cut")
    SetTriggerOption("huashan_cut2","group","huashan_cut")
        create_trigger_t('huashan_cut3','^(> )*只听“咔”的一声,你将(\\D*)的首级斩了下来,提在手中。','','huashan_cut_con')
    SetTriggerOption("huashan_cut3","group","huashan_cut")
        job.killer={}
       fight.time.e=os.time()
       fight.time.over=fight.time.e-fight.time.b
        messageShowT('华山任务:战斗用时:【'..fight.time.over..'】秒,搞定蒙面人:【'..job.target..'】。')
        road.id=nil --搜索结束的房间很大可能不是你的任务地点,交任务的go函数会认为你还在第一步的road.id,计算路径返程,这里地点就存在问题了,而且locate定位函数并不会更新road.id,所以偶尔会发呆。
    return check_halt(huashan_cut_act)
end

====================

由于一开始我直接替换了切,所以导致1和3的位置变了,不过不影响,添加背尸体描述 执行 huashan_cut_con



huashan_cut_con=function(n,l,w)
if tostring(w[2]) ~= job.target then
exe('drop corpse 2')
else
exe('drop corpse 2')
EnableTimer('huashan_beishixia',false)   --关闭计时器
DeleteTimer('huashan_beishixia')  --删除计时器
huashan_beishix=0    --背尸体成功,设置判断所需变量为零
    DeleteTriggerGroup("all_fight")
        kezhiwugongclose()
        exe('pfmset')
        flag.find=1
    if job.target~=tostring(w[2]) then
       exe('drop corpse')
       return check_halt(huashan_cut_act)
    else
       EnableTriggerGroup("huashan_cut",false)
       return go(huashan_yls,'华山','祭坛')
    end
end
end
=======================

这个就是背尸体的判断了,由于尸体不能多背--(会被喷的,我喷了别的背尸侠好久,终于下决心让与其喷人还不如让别人喷我),所以想要判断是不是自己的任务怪尸体,这里把上面触发语句中第二个括号的内容tostring(w[2])和任务抢令牌的蒙面人名字job.target进行比对,如果不是自己的任务怪,那么丢掉第二具尸体,如果成功,返回去交任务。接下来看看怎么去成为背尸侠

huashan_cut_act=function()
    DeleteTimer('perform')
        if string.find(job.where,"绝情谷大室") or string.find(job.where,"绝情谷小室") then --如果任务地点是绝情谷,换成切头模式
    --weapon_unwield()  --由于我不需要换武器,关闭了
    --weaponWieldCut()
        exe('wield chungou sword;uweapon shape chungou sword')
    for i=1,2 do   --原来是5
       exe('halt;get ling pai from corpse '..i)  --切头必须先拿令牌,不然尸体就被踢飞了
       exe('qie corpse '..i)
    end
        else             --不需要考虑负重的情况下,开始背尸侠操作
        exe('get corpse;get ling pai from corpse')  --直接拿corpse,然后拿身上corpse的令牌
        end
        return check_halt(huashan_qiecorpse)   --由于会遇到类似铁掌帮众这些存在,有时候不能qie 头成功,或者战斗中给busy了,所以开始备胎
end

以前古墓有坐骑,转派到大轮寺之后我关闭了一个月的绝情谷大室小室,这里出问题会饿死,而且是切头的情况下,别提拿的是corpse了,所以还是切头好。

function huashan_qiecorpse()               --这个程序也是直接就刷下来的,如果已经拿到尸体或者头,就不会执行了,因为程序已经跳转去找岳灵珊
if string.find(job.where,"绝情谷大室") or string.find(job.where,"绝情谷小室") then
exe('wield chungou sword;uweapon shape chungou sword')
for i=1,2 do
       exe('qie corpse '..i)
       exe('qie corpse '..i)
   end
   end
print('开启背尸侠预防计时器')           
        create_timer_s('huashan_beishixia',2,'huashan_beishixia')        --打开计时器,开始背尸侠之旅,执行huashan_beishixia函数2秒一次
end


function huashan_beishixia()
huashan_beishix= huashan_beishix or 0        --定义一个变量huashan_beishix,如果值为空无状态,初始化为0
print('huashan_beishix'..huashan_beishix)
if huashan_beishix < 3 then                          --当这个值小于3的时候
huashan_beishix = huashan_beishix + 1         --增加1
print(huashan_beishix)
if string.find(job.where,"绝情谷大室") or string.find(job.where,"绝情谷小室") then          --兵分两路,如果需要考虑绝情谷的负重问题
exe('wield chungou sword;uweapon shape chungou sword;qie corpse;qie corpse 2')       --执行切头,或许可以考虑加上拿令牌指令在前面,保险一点
else
exe('get corpse;get ling pai from corpse;drop corpse 2')           --还是安心当背尸侠好,丢下第二具尸体(如果有的话)
end
else                  --好了,经过几次尝试,我们可能已经拿不到正确的尸体了,被别的背尸侠折磨了,这时候huashan_beishix < 3已经不存在了
print('又被华山背尸侠折磨了!')
return huashanFindFail()         --那就回去痛快的放弃任务吧
end
end


另外,搜索head,在需要给head的地方添加给尸体命令,在需要drop head的地方添加drop corpse命令,这里就不写了

评分

2

查看全部评分

门派:大轮寺
 楼主| 发表于 2019-7-17 17:38:27 | 显示全部楼层
exe('wield chungou sword;uweapon shape chungou sword')
这些指令是我用的,新来的背尸侠自己定制咯

为什么要成为背尸侠呢?因为qie corpse有busy,目测2秒左右,每次华山任务2个尸体,那就是4秒
一个任务省4秒,1个小时应该能省下差不多一个任务的时间了
门派:丐帮
发表于 2019-7-17 18:55:12 | 显示全部楼层
这个好啊,又提升效率了,周末有空改一下。
门派:大轮寺
 楼主| 发表于 2019-7-17 20:24:15 | 显示全部楼层
return huashanFindFail()   
忘记说了,放弃任务里面也得设置变量为0并且关闭计时器的,huashanFindFail这个函数里面
门派:昆仑派
发表于 2019-7-18 10:37:57 | 显示全部楼层
抢尸体的又多了哈               
门派:大轮寺
 楼主| 发表于 2019-7-18 13:33:43 | 显示全部楼层
yunny@tj 发表于 2019-7-18 10:37
抢尸体的又多了哈

这个真没抢,只捡一个,不是自己的就放下
门派:昆仑派
发表于 2019-7-18 14:18:11 | 显示全部楼层
ruanjian@tj 发表于 2019-7-18 13:33
这个真没抢,只捡一个,不是自己的就放下

是啊  那师太做的机器人够高级~               
门派:桃花岛
发表于 2019-7-18 14:27:42 | 显示全部楼层
师太威武,支持,大写的服。
门派:大轮寺
 楼主| 发表于 2019-7-27 09:14:55 | 显示全部楼层
有很低的几率出现多个auto kill情况没打死捣乱npc拿了尸体get不起lingpai的情况
应该可以在岳灵珊给coprse的时候添加一个拿令牌命令在前面解决
门派:武当派
发表于 2019-7-29 11:14:02 | 显示全部楼层
幸福 居然还有注释说明 师太威武 为你点赞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-8 20:17 , Processed in 0.065549 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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