找回密码
 注册
搜索
查看: 873|回复: 13

请大昏神修复华山任务的bug

[复制链接]
门派:不明
发表于 2016-11-8 17:28:05 | 显示全部楼层 |阅读模式
本帖最后由 mmdnt@tj 于 2016-11-8 17:31 编辑

做华山任务2 的时候发现一个问题

1. 如tianyi 所说
  1. huashan_yls_ask=function(n,l,w)

  2.     EnableTriggerGroup("huashan_yls",false)   

  3.     DeleteTriggerGroup("huashan_yls_ask")

  4.     create_trigger_t('huashan_yls_ask1','^(> )*你向岳灵珊打听有关『力不从心』的消息。','','huashan_yls_back')

  5.     SetTriggerOption("huashan_yls_ask1","group","huashan_yls_ask")

  6.     EnableTriggerGroup("huashan_yls_ask",false)

  7.     if w[2]=='二' then
  8.                 return huashan_yls_back()

  9.     else
  10.           --return check_bei(huashan_yls_lbcx)    ----这里表示只做huasha1,

  11.       return check_bei(huashan_heal)               --这里表示要做huashan2,可以根据自己的需求判定

  12.     end

  13. end
复制代码


2.因为华山2的npc 是满世界到处跑的,但原code,强制定义了 dest.area='华山',导致任务2无法完成,故对任务2进行修正,主要是huashan_find 这个函数
代码如下:
  1. huashan_find=function(n,l,w)

  2.     local flag_huashan=0

  3.     dis_all()

  4.     job.target=tostring(w[2])

  5.         job.killer={}

  6.         job.killer[job.target]=true

  7.     allskills()

  8.     DeleteTriggerGroup("huashan_find")

  9.     create_trigger_t('huashan_find1','^( )*'..job.target..'\\((\\D*)\\)','','huashan_fight')

  10.     SetTriggerOption("huashan_find1","group","huashan_find")

  11.     job.flag()

  12.     --dest.room=job.room                                                        
  13.     Note(job.room)                                      
  14.         if string.len(job.room)<=6 then             --这里根据华山任务2的地点变量决定NPC 是否位于华山,如果3个字(字符长度<=6) 一般应该是在华山
  15.                 dest.area="华山"
  16.                 dest.room=job.room
  17.         else                                                 --字符长度大于6之后会位于别的区域
  18.                 dest.room,dest.area=getAddr(job.room)      ----采用getAddr() 函数对区域和房间定位
  19.         end
  20.         Note('去'..dest.area..'的'..dest.room..'追杀')
  21.     if not path_cal() then

  22.        dest.area="华山村"

  23.     end

  24.         messageShow(dest.area,dest.room)

  25.     flag.times=1

  26.         messageShow('华山任务:追杀逃跑到【'..job.room..'】的【'..job.target..'】。')

  27.     return go(find,dest.area,dest.room)

  28. end
复制代码


修复后的log 如下

<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->


冷不防从树林里杀出一个蒙面人夺下你的令牌,向兰州城古浪处夺路逃去。
你一把抓向蒙面人试图抢回令牌,但被蒙面人敏捷得躲了过去,你顺手扯下蒙面人的面罩,发现原来是曾经名震江湖的花凯清。
兰州城古浪
去兰州城的古浪追杀



<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->


突然从树林深处杀出一个蒙面人抢去你的令牌,向侧廊方向逃去。
你一把抓向蒙面人试图抢回令牌,但被蒙面人敏捷得躲了过去,你顺手扯下蒙面人的面罩,发现原来是曾经名震江湖的敖友。
侧廊
去华山的侧廊追杀



之前报错的log
http://www.sjever.net/bbs/forum. ... p;page=1#pid1230209

评分

1

查看全部评分

门派:不明
 楼主| 发表于 2016-11-8 17:37:36 | 显示全部楼层
完整log之一


<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->


忽然从树林里窜出一个蒙面人一把抢去你的令牌,向药房处夺路逃去。
你一把抓向蒙面人试图抢回令牌,但被蒙面人敏捷得躲了过去,你顺手扯下蒙面人的面罩,发现原来是曾经名震江湖的包璞。
药房
去华山的药房追杀
树林 - east、north、west
> 没有这个技能种类,用 enable ? 可以查看有哪些种类。
> 你现在不忙。
> 你把 "action" 设定为 "正在定位" 成功完成。
> 在这个房间中, 生物及物品的(英文)名称如下:
深深幽 = mmdnt
> 设定环境变量:look = "YES"
> 【你现在正处于华山
                           松树林              
                             |     
                 松树林-----
树林-----松树林   
                                    
                                               
树林 -
松树林|松树林-----树林-----松树林树林
    这里是华山村里的一片杨树林,如果你没有好身手,可千万不要在此地久
留,据说这里强盗出没,抢劫、杀人的事情经常发生。
  
这是一个初夏的上午,太阳正高挂在东方的天空中。
    这里明显的出口是 east、northwest
> 现在是书剑乙巳年四月十八日辰时三刻。
您已经连续玩了一天四十八分五十一秒。
你最近玩了一天七小时四十九分三十八秒。
贵宾系统提示:您目前不是贵宾,如何成为贵宾请看( help vip )。
> 你现在不忙。
> Ok.
> Ok.
> 你现在不忙。
> 你现在不忙。
> 松树林 - east、north、south、west
> 你现在精力充沛。
> 你把 "action" 设定为 "正在赶路中" 成功完成。
> 松树林 - east、north、south、west
> 松树林 - east、north、south、west
  箫(Xiao)
> 石屋 - west
  华山派第十二代弟子「神剑轩辕」穆人清(Mu renqing)
> 你把 "action" 设定为 "正在定位" 成功完成。
> 在这个房间中, 生物及物品的(英文)名称如下:
深深幽 = mmdnt
穆人清 = mu renqing, mu, renqing
> 设定环境变量:look = "YES"
> 【你现在正处于华山
                                               
                                    
                 松树林-----
石屋               
                                    
                                               
石屋 -
松树林-----石屋石屋
    你走进石屋,屋内尘封蛛结,显然是许久没有人住了。
    这里唯一的出口是
west
  华山派第十二代弟子「神剑轩辕」穆人清(Mu renqing)
> 现在是书剑乙巳年四月十八日辰时三刻。
您已经连续玩了一天四十八分五十一秒。
你最近玩了一天七小时四十九分三十八秒。
贵宾系统提示:您目前不是贵宾,如何成为贵宾请看( help vip )。
> Ok.
> Ok.
> 你把 "action" 设定为 "等待一下" 成功完成。
> 你把 "action" 设定为 "正在赶路中" 成功完成。
> 松树林 - east、north、south、west
  箫(Xiao)
> 山脚下 - north、south、southeast、west
  挑夫(Tiao fu)
> 莎萝坪 - northeast、northwest、southup
  江湖豪客(Hao ke)
> 青柯坪 - eastup、northdown
  江湖豪客(Hao ke)
  腐烂的男尸(Nan shi)
> 千尺幢 - southup、westdown
  剑客(Jian ke)
> 百尺峡 - eastup、northdown
  本禹的尸体(Corpse)
  邓部的尸体(Corpse)
  猴子(Hou zi)
  挑夫(Tiao fu)
  成闻伟的尸体(Corpse)
> 老君沟 - southup、westdown
  猴子(Hou zi)
> 猢狲愁 - northdown、southup
  猴子(Hou zi)
> 苍龙岭 - northdown、southdown、westup
  猴子(Hou zi)
  羊舌的尸体(Corpse)
  挑夫(Tiao fu)
> 你长长地舒了一口气。
> 你把 "action" 设定为 "正在赶路中" 成功完成。
> 镇岳宫 - eastup、northup、southup
  挑夫(Tiao fu)
> 玉女峰 - east、northdown、northwest、south、west
  采药人(Caiyao ren)
  游客(You ke)
> 山路 - north、southeast
  猴子(Hou zi)
> 山路 - northwest、southup、southwest
  猴子(Hou zi)
> 台阶 - northdown、southup
  华山派第十四代弟子「闭嘴佛」梁发(Liang fa)
> 前厅 - east、northdown、south、west
> 侧廊 - east、west
> 练武场 - east、south
  华山派第十四代弟子「老好人」劳德诺(Lao denuo)
> 药房 - north、south
  包璞(Bao pu)
> ( 你上一个动作还没有完成,不能施用内功。)
> 设定环境变量:wimpy = 100
> 你决定打架时还手反击。
> 你决定跟随包璞一起行动。
>
你对着包璞喝道:「臭贼!你死期已到,今天就让大爷我送你上西天吧!」

看起来包璞想杀死你!
> 包璞说道:「想跑,大爷今天就超渡你!!!」
看起来包璞想杀死你!

你腰略下沉,左手收于腰际,右手握拳直冲而出!
结果包璞闷哼了一声,脸上一阵青一阵白,显然受了点内伤!
( 包璞已经伤痕累累,正在勉力支撑着不倒下去。 )

你腰略下沉,左手收于腰际,右手握拳直冲而出!
结果「砰」地一声,包璞退了两步!
( 包璞受伤过重,已经有如风中残烛,随时都可能断气。 )
「雷动九天」只能在战斗中使用。

·精血· 1869 /  1899 (100%)  ·精力· 3378 /  3401(3449)
·气血· 3861 /  3891 (100%)  ·内力· 6071 /  5273(+136)
·正气· 1,330,677       ·内力上限· 5274 /  6470
·食物·  94.32%              ·潜能·   16 /  372
·饮水·  87.50%              ·经验· 2,010,254 (90.46%)
·合气度·    173

包璞「啪」的一声倒在地上,挣扎着抽动了几下就死了。



门派:不明
 楼主| 发表于 2016-11-8 17:40:15 | 显示全部楼层
本帖最后由 mmdnt@tj 于 2016-11-8 17:43 编辑

<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->


> 东门 - east、north、northeast、south、west
  秦剑(Qin jian)
  武将(Wu jiang)
  轩辕风的尸体(Corpse)
  天杀门杀手 岑东方(Cen dongfang)
  二位官兵(Guan bing)
  卫岳的尸体(Corpse)
  趟子手(Tangzi shou)
  管锋光的尸体(Corpse)
> ( 你上一个动作还没有完成,不能施用内功。)
> 设定环境变量:wimpy = 100
> 你决定打架时还手反击。
> 你决定跟随秦剑一起行动。
>
你对着秦剑喝道:「臭贼!你死期已到,今天就让大爷我送你上西天吧!」

看起来秦剑想杀死你!
> 秦剑说道:「想跑,大爷今天就超渡你!!!」
看起来秦剑想杀死你!
你将手中的长剑插回剑鞘。

你腰略下沉,左手收于腰际,右手握拳直冲而出!
结果「砰」地一声,秦剑退了两步!
( 秦剑已经伤痕累累,正在勉力支撑着不倒下去。 )

你腰略下沉,左手收于腰际,右手握拳直冲而出!
结果「砰」地一声,秦剑退了两步!
( 秦剑已经陷入半昏迷状态,随时都可能摔倒晕去。 )
「雷动九天」只能在战斗中使用。

·精血· 1869 /  1899 (100%)  ·精力· 3384 /  3401(3449)
·气血· 3861 /  3891 (100%)  ·内力· 7876 /  5273(+136)
·正气· 1,330,922       ·内力上限· 5274 /  6470
·食物·  92.05%              ·潜能·   98 /  372
·饮水·  86.36%              ·经验· 2,010,567 (91.87%)
·合气度·    174

秦剑神志迷糊,脚下一个不稳,倒在地上昏了过去。

Ok.
> 加油!加油!
> 你看着已经昏迷的秦剑,冷笑一声,上前结果了他的性命。

秦剑「啪」的一声倒在地上,挣扎着抽动了几下就死了。



<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->


11/08/16 17:38:34【mmdnt】华山村
11/08/16 17:38:34【mmdnt】华山任务:追杀逃跑到【碎石路】的【章随】。
11/08/16 17:38:43【mmdnt】华山任务:战斗用时:【6】秒,搞定蒙面人:【章随】。
11/08/16 17:38:46【mmdnt】华山任务:开始任务。
11/08/16 17:38:49【mmdnt】扬州城
11/08/16 17:38:49【mmdnt】华山任务:追杀逃跑到【扬州城东门】的【秦剑】。
11/08/16 17:38:57【mmdnt】华山任务:战斗用时:【4】秒,搞定蒙面人:【秦剑】。
11/08/16 17:39:06【mmdnt】华山任务奖励:经验:【二百一十六】点,潜能:【四十一】?


门派:不明
 楼主| 发表于 2016-11-8 17:48:42 | 显示全部楼层
本帖最后由 mmdnt@tj 于 2016-11-8 18:48 编辑

<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->


冷不丁从树林里窜出一个蒙面人夺下你的令牌,向武当后山烈火丛林处夺路逃去。
你一把抓向蒙面人试图抢回令牌,但被蒙面人敏捷得躲了过去,你顺手扯下蒙面人的面罩,发现原来是曾经名震江湖的唐雄。
武当后山烈火丛林
Run-time error
World: tj.sjever.net
Function/Sub: huashan_find called by trigger
Reason: 正在处理触发器 "huashan_npc2"
C:\MUSHS\lua\job.lua:3312: attempt to concatenate field 'room' (a boolean value)
stack traceback:
        C:\MUSHS\lua\job.lua:3312: in function <C:\MUSHS\lua\job.lua:3282>



这个地方去不了,暂时在huashan_find 添加一段
        if job.room and string.find(job.room,"武当后山") then
                Note('去不了')
         return go(huashan_shibai,'华山','正气堂')
        end
门派:华山派
发表于 2016-11-8 18:28:37 | 显示全部楼层
帮你改一下
  1.     if not path_cal() then
  2.        dest.area="华山村"
  3.     end
复制代码


这段改为
  1.     if dest.area=="华山" and not path_cal() then
  2.        dest.area="华山村"
  3.         elseif dest.area~="华山" and not path_cal() then
  4.                 return go(huashan_yls,'华山','祭坛')
  5.     end
复制代码

评分

1

查看全部评分

门派:不明
 楼主| 发表于 2016-11-8 19:05:19 | 显示全部楼层

谢谢提醒,但是是go(huashan_yls,'华山','祭坛')
还是go(huashan_shibai,'华山','正气堂')??
门派:姑苏慕容
发表于 2016-11-8 19:30:35 | 显示全部楼层
这个很少人做hs2的,一般都是做个hs1作为一个任务过度衔接的,但是主打hs2真不知道效果如何。等我找时间改一下。
门派:华山派
发表于 2016-11-8 20:17:41 | 显示全部楼层
本帖最后由 xyxs@tj 于 2016-11-8 20:18 编辑
mmdnt@tj 发表于 2016-11-8 19:05
谢谢提醒,但是是go(huashan_yls,'华山','祭坛')
还是go(huashan_shibai,'华山','正气堂')??


应该都可以的。
你这个快,用你的。
门派:桃花岛
发表于 2016-11-8 22:03:54 | 显示全部楼层
高手阿,希望下次能更新到公版里                           
门派:古墓派
发表于 2016-11-8 22:33:27 | 显示全部楼层
看下能不能多个job组合
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-3 07:32 , Processed in 0.038856 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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