北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 9750|回复: 11

新手初探lua版逍遥行数据库,求教房间描述相同但出口不同的情况如何处理?

[复制链接]
发表于 2016-10-9 09:20:02 | 显示全部楼层 |阅读模式
本帖最后由 songtao 于 2016-10-9 01:58 AM 编辑

一直使用feichangdao完善的lua版逍遥行,gt到各个节点非常好用。但是由于数据库是阉割版,很多节点不能用gt,自己能力所限,也没有进行维护。
这两天比较清闲,下载了官方免费的SQLite Expert Personal 4.2(x64)软件,试着打开了pkuxkx_p2palias_v2016.db这个文件。
然后...一脸的懵逼...



请看图,很多字段的内容都是乱码。
感觉是字符编码问题,百度了一下,确认了自己的猜测,但是没有好的办法。将乱码复制到NotePad++转码,仍然是乱码。
于是拜读了原作者的帖子,用#loc指令丰富了一些节点信息。
这部分原作者在回复里已经说明了,我再截个图给同样的新手们介绍一下。
以完善建康府通济门节点为例。这个地点可以通过gt jiankangtongjimen到达,但是不能从通济门gt到别的节点。
1.到达通济门,输入#loc,弹出窗口“库内未查询到该节点,【是否】将此地录制入库?”--->>>选择“是”。
2.弹出窗口“是否录入该新节点?”?”--->>>选择“是”。
3.弹出窗口“【录入该节点ID】:(拼音全称,如yangzhou。若输入-1则视为放弃输入。)”--->>>输入“jiankangtongjimen”,点击“确定”。
注:节点ID是从数据库表MUD_Node,nodeid字段得来的,见下面的截图。

4.弹出窗口“录入新节点[ jiankangtongjimen]所在【区域】:”--->>>我输入的是“建康府”,估计影响不大,点击“确定”。
5.弹出窗口“录入该新节点[ jiankangtongjimen]【简写代码】:”--->>>输入“jktjm”,点击“确定”。
注:s_id字段得来的,见上一截图。
6.弹出窗口“该新节点[ jiankangtongjimen]为数据库已有节点,是否将此地房间信息覆盖库内信息?。”--->>>点击“是”。
7.弹出窗口“【是否】录入该新节点[ jiankangtongjimen]的子节点?"--->>>点击“否”。
大功告成。现在可以从这个地点gt了。

但是遇到一些问题。如题,很多房间的描述相同,但出口不同。不知道如何处理?是否有字段需要做特殊标记?
另外relaiton这个字段是做什么用的呢?都是乱码看不出来。请教各位大神。

预告:抽空补充相关内容。马上开会了。



北大侠客行MUD,中国最好的MUD

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2016-10-9 11:13:16 | 显示全部楼层
relation就是解决这个问题的
你搞地图的时候记得fullme 就能用起来relation
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2016-10-9 11:53:25 | 显示全部楼层
本帖最后由 songtao 于 2016-10-9 03:55 AM 编辑

回复 2# imoen

多谢多谢。仍然存在一些疑问。
比如古墓有很多墓道,我fullme有小地图时,在gumumudao01用了#loc后,在gumumudao02再用#loc,出现提示:
[:mapper:]::当前节点号::[  145  ](ID:gumumudao01,SID:gumumd1)
唯一节点,节点号>>[ 145 ]<<  ::区域::>[ 古墓 ]<

也就是说本该是02处的【墓道】被识别为01了。
于是我在数据库文件中将01的描述等信息复制到02,再手动录入了出口(出口exits这个字段不是乱码)。
但结果仍然出现这个提示。也就是说还是不能识别正确的地点。
我也试了#edit,没有添加描述的功能。
目前我的水平也不清楚如何直接向数据库中添加,主要是受乱码的干扰。
请问这样的问题如何解决?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2016-10-9 13:45:16 | 显示全部楼层
回复 3# songtao


    古墓墓道好像就是没办法 好几个地方出口描述完全一样
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2016-10-9 15:59:19 | 显示全部楼层
回复 4# imoen


    如果是曲阜的青石官道之类,描述相同,但出口明显不同的情况呢?是否可以在数据库中有所标记?

     我也看了feichangdao的xml文件,很多语句被注释了,不知道是否需要用原版的插件才可以。但是原版的过河会崩溃...

    最后,非常感谢指点
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2016-10-9 17:41:48 | 显示全部楼层
回复 5# songtao


    曲阜的是可以分辨的 前提是你采集数据库和使用数据库是都fullme了。这样每个房间顶上会显示相邻房间名,就很好区分了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2016-10-12 12:55:56 | 显示全部楼层
工具栏->Tools->General->Encoding
可以选择编码,选择Default ANSI code page
就会显示乱码了。

顺便请问下,这个fullme是什么意思?
我现在只有4M,是不是5M以后,要fullme,look后才会显示相邻的房间?
我现在不fullme没影响,是么?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2016-10-12 13:04:16 | 显示全部楼层
回复 7# yjqa


   

    并没有编码这个选项啊。
    5M以下不fullme也是有小地图的。这倒是提醒了我,可以用个4m的小号

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2016-10-12 13:08:16 | 显示全部楼层
回复 6# imoen


在小地图打开的前提下,还是不能正确识别。是不是有什么其他问题?
下面的log是录入嘉兴马车行和泉州马车行时出现的问题。此时fullme,已有小地图。


                           铁枪庙              
                             |     
                         计氏马车分行            
                                    
                                               
计氏马车分行 -
    这里是一家马车行,挂着一个招牌(paizi),店里的马车(che)停得满满当当
的。
    你可以看看(look):paizi,che
    这里唯一的出口是 north。
>
设定环境变量:no_more = "infoend"
::未给新节点: jiaxingmachehang :加入新的子节点!
::NewNode_Recording::..........
::NewNode_Recording::......OKOK!
>
注:完成录入。
l
                           铁枪庙              
                             |     
                         计氏马车分行            
                                    
                                               
计氏马车分行 -
    这里是一家马车行,挂着一个招牌(paizi),店里的马车(che)停得满满当当
的。
    你可以看看(look):paizi,che
    这里唯一的出口是 north。
>
                           铁枪庙              
                             |     
                         计氏马车分行            
                                    
                                               
计氏马车分行 -
    这里是一家马车行,挂着一个招牌(paizi),店里的马车(che)停得满满当当
的。
    你可以看看(look):paizi,che
    这里唯一的出口是 north。
>
设定环境变量:no_more = "infoend"
[:mapper:]::当前节点号::[  307  ](ID:jiaxingmachehang,SID:jxmch)
::>> jiaxingmachehang,quanzhoumachehang <<::
搜索用时:0.0059999999994034秒
当前行走步数:8
路线为::>>n;w;s;s;s;s;w;n<<::
>
注:gt到泉州马车行,过程略。

计氏马车分行
    这里唯一的出口是 south。
>
完成行走!!
>
设定环境变量:no_more = "walkend"
>
                                               
                                    
                         计氏马车分行            
                             |     
                            西街               
计氏马车分行 -
    这里是一家马车行,挂着一个招牌(paizi),店里的马车(che)停得满满当当
的。
    你可以看看(look):paizi,che
    这里唯一的出口是 south。
>
设定环境变量:no_more = "infoend"
[:mapper:]::当前节点号::[  307  ](ID:jiaxingmachehang,SID:jxmch)
唯一节点,节点号>>[ 307 ]<<  ::区域::>[ 嘉兴 ]<
>

注:识别为嘉兴马车行。真是让我很无奈。

拜托大神指点。   
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2016-10-12 17:23:55 | 显示全部楼层
看了下pkuxkx_p2palias_v2016.xml这个文件,其实只是匹配了nodename(房间名)和description(描述信息),并没有匹配出口和关联房间,所以导致了你这种问题,你可以试试修改下pkuxkx_p2palias_v2016.xml

查询 function Locate()
这个函数,里面有有段:
local sql=string.format("SELECT `_rowid_`,* FROM `MUD_Node` WHERE 1=1 AND `nodename` LIKE '%s' AND `description` LIKE '%s' ORDER BY `_rowid_` ASC LIMIT 0,

50000;", R.roomname, R.description)

修改成:
local sql=string.format("SELECT `_rowid_`,* FROM `MUD_Node` WHERE 1=1 AND `nodename` LIKE '%s' AND `relation` LIKE '%s' AND `description` LIKE '%s' AND

`exits` LIKE '%s' ORDER BY `_rowid_` ASC LIMIT 0, 50000;", R.roomname, R.relation,R.description, R.exits)
改完保存后重新安装这个插件试试。
用嘉兴马车行 gt jxmch  镇江马车行zjmch 泉州马车行 qzhmch
这3个地方来测试下。我这试了下可以正常分辨了。

我是新手,这只是我的意见,可能这样改了后会有其他的不好的影响,我就不晓得的了。。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-28 10:07 AM , Processed in 0.011895 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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