找回密码
 注册
搜索
楼主: fqyy@tj

mush路径构建的核心哪位大神给解读一下

[复制链接]
门派:天龙寺
发表于 2017-4-29 02:07:09 | 显示全部楼层
modman@tj 发表于 2017-4-29 02:04
不要动气 ,我也正在看这里的代码。。。没那么熟
可是,我每次wd练武场,都会走到zsl

而且
Room {
        id = "mingjiao/didao/senlin",
        name = "紫杉林",
        ways = {
                ["#outzsl"] = "mingjiao/shuiqi",
                ["#tianMen"] = "mingjiao/didao/men-tian",
                ["#diMen"] = "mingjiao/didao/men-di",
                ["#fengMen"] = "mingjiao/didao/men-feng",
                ["#leiMen"] = "mingjiao/didao/men-lei",
        },
        lengths = {
                ["#outzsl"] = 50,
                ["#tianMen"] = 1,
                ["#diMen"] = 1,
                ["#fengMen"] = 1,
                ["#leiMen"] = 1,
        },
}
这里权重已经给了50,可不知道为什么还是会进去
门派:华山派
发表于 2017-4-29 02:12:56 | 显示全部楼层
本帖最后由 xyxs@tj 于 2017-4-29 02:27 编辑

50是出zsl的权重
进去的权重我看了一下是3
  1. Room {
  2.         id = "mingjiao/jinqi",
  3.         name = "锐金旗",
  4.         ways = {
  5.                 ["southeast"] = "mingjiao/rukou",
  6.                 ["south"] = "mingjiao/zl7",
  7.                 ["east"] = "mingjiao/didao/senlin",
  8.                 ["west"] = "mingjiao/shiwang",
  9.         },
  10.         lengths={
  11.              ["east"] = 3,
  12.         },
  13.         objs = {
  14.           ["庄铮"] = "zhuang zheng",
  15.            },
  16. }
复制代码

其他旗也是3
你可以设大一些,但是当搜索范围超过这个值还是会走进去
打个比方,
假如搜索范围设的是6,
如果起始的room到zsl的lengths之和小于等于6
那么zsl就在搜索范围内,还是会走进去的
当然如果lengths设的太大,zsl就不会搜索,可能会找不到任务npc
门派:天龙寺
发表于 2017-4-29 02:30:52 | 显示全部楼层
xyxs@tj 发表于 2017-4-29 02:12
50是出zsl的权重
进去的权重我看了一下是3

所以,fqyy的猜测应该是对的,不过这个值设到多少合适就有点儿麻烦
还是我之前的想法靠谱一些,搜第一遍的时候,把这几个入口关掉,第二遍再打开
门派:天龙寺
发表于 2017-4-29 02:32:21 | 显示全部楼层
xyxs@tj 发表于 2017-4-29 02:12
50是出zsl的权重
进去的权重我看了一下是3

搜索那里的code还没看懂呢,坐等你们几个更新了,哈哈
门派:华山派
发表于 2017-4-29 02:38:29 | 显示全部楼层
本帖最后由 xyxs@tj 于 2017-4-29 02:39 编辑
modman@tj 发表于 2017-4-29 02:30
所以,fqyy的猜测应该是对的,不过这个值设到多少合适就有点儿麻烦
还是我之前的想法靠谱一些,搜第一遍 ...


那很简单,第一遍搜索时将lengths设大一些
  1. Room {
  2.         id = "mingjiao/jinqi",
  3.         name = "锐金旗",
  4.         ways = {
  5.                 ["southeast"] = "mingjiao/rukou",
  6.                 ["south"] = "mingjiao/zl7",
  7.                 ["east"] = "mingjiao/didao/senlin",
  8.                 ["west"] = "mingjiao/shiwang",
  9.         },
  10.         lengths={
  11.              ["east"] = "if flag.times and flag.times==1 then return 50 else return 3",
  12.         },
  13.         objs = {
  14.           ["庄铮"] = "zhuang zheng",
  15.            },
  16. }
复制代码
门派:天龙寺
发表于 2017-4-29 02:39:20 | 显示全部楼层


高手!这样应该就没啥问题了吧!50能不能确保第二遍搜索进得去?
门派:华山派
发表于 2017-4-29 02:40:38 | 显示全部楼层
modman@tj 发表于 2017-4-29 02:39
高手!这样应该就没啥问题了吧!50能不能确保第二遍搜索进得去?


第二遍搜索lengths返回的是3,不是50
没测试过,哈哈
你们自己测试一下
应该没问题
门派:天龙寺
发表于 2017-4-29 02:42:06 | 显示全部楼层
xyxs@tj 发表于 2017-4-29 02:40
没测试过,哈哈
你们自己测试一下

我先改成20看一下,mj地图小,光搜mj上面的20多步应该够了
门派:华山派
发表于 2017-4-29 02:48:00 | 显示全部楼层
本帖最后由 xyxs@tj 于 2017-4-29 02:52 编辑

其实,先搜索外面并不一定快
任务npc正好在zsl里呢

门派:华山派
发表于 2017-4-29 02:49:25 | 显示全部楼层
漏了个end
  1. Room {
  2.         id = "mingjiao/jinqi",
  3.         name = "锐金旗",
  4.         ways = {
  5.                 ["southeast"] = "mingjiao/rukou",
  6.                 ["south"] = "mingjiao/zl7",
  7.                 ["east"] = "mingjiao/didao/senlin",
  8.                 ["west"] = "mingjiao/shiwang",
  9.         },
  10.         lengths={
  11.              ["east"] = "if flag.times and flag.times==1 then return 50 else return 3 end",
  12.         },
  13.         objs = {
  14.           ["庄铮"] = "zhuang zheng",
  15.            },
  16. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-19 15:39 , Processed in 0.028119 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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