找回密码
 注册
搜索
查看: 852|回复: 9

关于版主梅庄修复方案的关键补充及说明!

[复制链接]
门派:姑苏慕容
发表于 2019-4-5 22:06:48 | 显示全部楼层 |阅读模式
本帖最后由 ooxx@tj 于 2019-4-5 22:06 编辑

最近按版主的“重大发现,彻底修复误入梅林问题!”帖子中的方案修改完成,但是每次运行都有报错,强迫症表示无法忍受,经过版主提醒及本人仔细排查,现将梅庄修复方案的关键补充及说明说明如下:
1.在lujing.lua中找到函数local_unknown_room,替换为如下代码:
  1. local_unknown_room=function(n,l,w)
  2.     local s=w[2]
  3.         if s=='梅林' then
  4.            locl.room='梅林'
  5.            return
  6.         end
  7.     unknown_room_relation=(string.gsub(s,' ',''))
  8.     r_r=string.reverse(unknown_room_relation)
  9.     _, i = string.find(r_r,'[\n]')
  10.     locl.room = (string.sub(unknown_room_relation, 1-i))
  11.     exe('unset look')
  12.         locl.where=locl.area..locl.room
  13.     print(locl.where,locl.area,locl.room)
  14.     locl.room_relation = (string.gsub(unknown_room_relation,'[\n]',''))
  15. end
复制代码

2.我按上面的方法修改了,结果在出梅林的时候还是反复死机,想了很久,最后才发现问题居然出在,在lujing.lua中有两个名字叫wayMl的函数!!!有一个是以前老的版本,怪不得反复死机,把老的版本删除掉以后即可完美出梅林;所以请大家搜索下自己的lujing.lua,看是不是和我一样,应该可以解决了。
验证方法:sz 梅庄西湖边,一直e进入梅林
                sz 苏州城北门
应该没有问题了,反正我完美出梅林了。

评分

1

查看全部评分

门派:姑苏慕容
 楼主| 发表于 2019-4-5 22:06:49 | 显示全部楼层
为了这个问题我“浪费”了一个下午和一个晚上,不过觉得还是很开心.....
门派:天龙寺
发表于 2019-4-5 22:14:47 | 显示全部楼层
function wayMl()
    local ways = {
                ["north"] = "east",
                ["east"]  = "south",
                ["south"] = "west",
                ["west"]  = "north",
        }
        local wayt = {
                ["north"] = "west",
                ["east"]  = "north",
                ["south"] = "east",
                ["west"]  = "south",
        }
        if not tmp.way or not ways[tmp.way]then
           tmp.way = 'south'
        end
        if locl.room=="青石板大路" then
           if tmp.ml and tmp.ml=="in" then
              return wayMlOver()
           else
              tmp.way = "north"
              exe(tmp.way)
                  locate()
              return checkWait(wayMl,0.1)
           end
    end
    if locl.room=="小路" then
           if tmp.ml and tmp.ml=="out" then
              return wayMlOver()
           else
              tmp.way = "south"
              exe('south;south')
                  locate()
              return checkWait(wayMl,0.1)
           end
    end
    if locl.room~="小路" and locl.room~="青石板大路" and locl.room~="梅林" then
       return wayMlOver()
    end       
        tmp.way = ways[tmp.way]
        while not locl.exit[tmp.way] do
            Note(tmp.way)
            tmp.way = wayt[tmp.way]
        end
        exe(tmp.way)
        locate()
        return checkWait(wayMl,0.2)
end
你是说的这个么?
门派:姑苏慕容
 楼主| 发表于 2019-4-5 22:33:18 | 显示全部楼层
zhaoziyu@tj 发表于 2019-4-5 22:14
function wayMl()
    local ways = {
                ["north"] = "east",

你先看是不是存在重名的情况,删掉老的版本,改成版主的新版本即可....
门派:姑苏慕容
 楼主| 发表于 2019-4-5 22:34:01 | 显示全部楼层
这个问题困扰了我好久........
门派:天龙寺
发表于 2019-4-5 22:44:39 | 显示全部楼层
只有一个,我是才玩二个多月,下的公版,可能没有重名的吧
门派:明教
发表于 2019-4-5 23:00:57 | 显示全部楼层
ooxx@tj 发表于 2019-4-5 22:34
这个问题困扰了我好久........

你应该是新增了一个函数没有替换吧?
门派:明教
发表于 2019-4-5 23:01:31 | 显示全部楼层
ooxx@tj 发表于 2019-4-5 22:34
这个问题困扰了我好久........

话说,你那个wifi看赌博的概率是基于什么算的?
门派:桃花岛
发表于 2019-5-6 11:10:26 | 显示全部楼层
function mlOut()
也有两个需要注释掉旧的
门派:明教
发表于 2019-5-16 17:42:33 | 显示全部楼层
2个wayMl是不是内容一样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-8 14:07 , Processed in 0.021581 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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