找回密码
 注册
搜索
查看: 14170|回复: 35

武馆大米的MUSH地图插件

[复制链接]
门派:不明
发表于 2011-10-22 22:56:57 | 显示全部楼层 |阅读模式
本帖最后由 freeway@ts 于 2011-10-29 13:27 编辑

传送门:
2楼:MUSH和LUA介绍 http://www.sjever.net/bbs/forum. ... 7&fromuid=17646
3楼:MUSH的使用,加载插件,自动登录 http://www.sjever.net/bbs/forum. ... 8&fromuid=17646
4楼:地图插件界面  http://www.sjever.net/bbs/forum. ... 0&fromuid=17646
5楼:使用地图插件 http://www.sjever.net/bbs/forum. ... 0&fromuid=17646
6楼:房间不通,房间重名的处理 http://www.sjever.net/bbs/forum. ... 4&fromuid=17646
7楼:map here 转 PNG 地图 http://www.sjever.net/bbs/forum. ... 7&fromuid=17646
9楼:更新了地图显示模式 http://www.sjever.net/bbs/forum. ... 5&fromuid=17646
20楼:路径遍历和城城通计划 http://www.sjever.net/bbs/forum. ... 6&fromuid=17646

地图插件Ver.01:
插件下载:已集成到综合插件 http://www.sjever.net/bbs/forum. ... &extra=page%3D1

[已实现]
-------2011.10.23------------------------------------------
进入陌生房间,自动采集该房间信息进数据库,并更新周围出口。
利用游戏内 map here 地图,转TXT地图,并生成 PNG地图 显示在小窗口。
利用TXT地图搜索当前位置,并在 PNG地图 上标识。
角色移动时候,地图会自动根据当前位置调整输出。
切换地图显示模式,原始图和全景图。
-------2011.10.25------------------------------------------
不再需要记录从某点到某点的alias路径要怎么走,输入房间名/NPC/物品名搜索,能去任何去过的地方。
角色得到路径快速行走到目的地的过程中,能自由中止,暂停,继续行进路线。
-------2011.10.25------------------------------------------
地图插件目前更新到这里,等待出武馆后继续第二版城际快车
遍历NPC的问题,考虑到每个任务都不一样,没有一致的算法,还是分散到具体的任务插件里。
有的可以封闭区域,左手原则;有的可以点到点,渗透2层房间;有的干脆遍历区域,不找到不罢休。
进入特殊标识房间前(迷宫,渡口,AutoKill NPC 等),调用对应的策略,实现过河,跳沟,跑路。

走路时不必再看左侧的文字输出,看地图位置就知道自己在哪里,是不是很有趣呢。 {:soso_e113:}

评分

2

查看全部评分

门派:不明
 楼主| 发表于 2011-10-22 23:04:14 | 显示全部楼层
本帖最后由 freeway@ts 于 2011-10-23 13:53 编辑

二楼插队 {:soso_e136:}
隆重介绍泥潭利器,MUSHclient 4.77

MUSH官网: http://www.gammon.com.au/welcome.html
MUSH下载: http://www.gammon.com.au/downloads.htm
在线帮助:   http://www.gammon.com.au/scripts ... ame=WindowLoadImage

LUA官网:   http://www.lua.org/
中文LUA:   http://www.luaer.cn/
在线帮助:  http://manual.luaer.cn/






地图插件参考了 MUSHclient Nick Gammon 大神的相关代码,并得到 北大侠客行,MUSHClient 研究院,Luaer.cn 网友的耐心指点,特表感谢。

MUSH中文汉化包:

解压到 MUSHclient\locale 目录下

编辑全局属性 本地化代码 输入 大写 CH 保存退出,重启MUSHClient


本帖子中包含更多资源

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

×
门派:不明
 楼主| 发表于 2011-10-22 23:04:53 | 显示全部楼层
本帖最后由 freeway@ts 于 2011-10-23 08:56 编辑

1.MUSHClient 4.77 打包下载解压到D:\Program Files\MUSHclient\

2.执行MUSHclient.exe 文件->打开游戏 worlds\sjever.MCL


3.加载插件,文件->插件->选择 worlds\sjever\sjever.xmap.xml




4.自动登录游戏,文件->游戏属性->General->Connecting
名字,密码,自动连接选择第二项 MUSH/MOO,下面的命令框输入三行,因为进入游戏要选择 GB/BIG5
n
%name%
%password%




本帖子中包含更多资源

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

×
门派:不明
 楼主| 发表于 2011-10-22 23:16:42 | 显示全部楼层
本帖最后由 freeway@ts 于 2011-10-23 12:56 编辑

地图插件,第一版,
角色经过的房间自动增加入库,记录房间名,描述,NPC,物品和出口,以及关联的房间。并显示在小地图上。








本帖子中包含更多资源

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

×
门派:不明
 楼主| 发表于 2011-10-23 00:13:44 | 显示全部楼层
本帖最后由 freeway@ts 于 2011-10-23 09:04 编辑

加载插件进入游戏后。会在插件同级目录下生成数据库 SJever.db
如果 sjever\maps\ 下没有 武馆.txt 和 武馆.png,小地图会提示错误,如何制作地图,以后介绍。
提供下载的MUSHClient 已经有Ver.01 武馆地图和数据库。

首先点击 小地图 右下的问号

帮助命令 :
1. sjever                       插件帮助说明
2. sjever.status                插件状态

地图探测 :
1. xmap.open                  打开地图探测
2. xmap.close                 关闭地图探测
3. xmap.here                  当前房间信息
4. xmap.delete                删除房间信息
5. 快速行走时不能打开地图探测,否则可能导致数据库错误记录
   在慢速探测完区域,输入ll生成PNG地图后,应关闭地图探测功能,才可使用快捷路径
6. 如果出现房间之间交通错误,打开 xmap.open ,走到错误的地点,
   删除房间 xmap.delete , 输入 ll ,周围逛逛,直到自动修正无误.

迷你地图 :
1. xmap.show                  显示迷你地图
2. xmap.hide                  隐藏迷你地图

使用说明
1. 设置全局属性 Lua 选项
  trust_all_worlds = true
   trust_all_plugins = true
   warn_if_not_trusted = true
2. 全局属性 计时器 要设置为0
3. luagd.dll bgd.dll 要和 MUSHclient.exe 同目录
4. 连线进入/断线登陆/插件加载/启用,先输入ll,获得当前位置


看下 插件默认状态
sjever.status
-------- 插件状态 --------
地图探测        关闭
地图触发器      开启
迷你地图        开启

输入ll (looklook的缩写),会看到set look 1;look;alias ll;本地房间被加进数据库



左右走一走呢


出现提示,原来这个房间没有在数据库里,所以需要打开地图探测模式 xmap.open 并ll

又一个房间加入数据库了,并且更新了两个房间的出口关联。
一个个房间逛过去,就都增加进数据库了。

当然也有特例,比如出口不通,房间同名的情况。下楼再介绍。

本帖子中包含更多资源

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

×
门派:不明
 楼主| 发表于 2011-10-23 00:32:35 | 显示全部楼层
本帖最后由 freeway@ts 于 2011-10-23 00:46 编辑

慢速探测区域,碰到房间进不去的时候,数据库里这个出口字段为空,并且标记为unknow,以待手工调整。
特殊地点的特殊事件,比如迷宫入口,过河,推门等就由这里触发。


武馆大厅左侧的两个西廊,由于房间描述和出口不同,所以UID是不同的。(UID是MUD世界内房间唯一标识,不能重复)
但是在地图上会表现出两个西廊,不知道自己现在到底是位于哪个西廊,所以我们需要对房间进行重定义。
重定义前,还是先左右走走,采集好附近的数据。先不管小地图显示。
走到左边第一个西廊位置上,右键点小地图下方的地址,弹出菜单。自定义房间名 西廊1



重建并更新房间ID


西廊 的自定义房间名 西廊 更新为 西廊1
西廊 的房间ID由 F94E7E4DBA32BA7 更新为 7AD4441A09E8A07

再走到另一个西廊,定义西廊2,重建房间ID。

同样的步骤更新,武馆大厅Enter的走廊,东侧的东廊。

做完这些,你还是发现小地图没变化,不着急,下楼介绍 怎么把 map here 转成 png 地图

本帖子中包含更多资源

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

×
门派:不明
 楼主| 发表于 2011-10-23 00:57:31 | 显示全部楼层
本帖最后由 freeway@ts 于 2011-10-23 11:45 编辑

map here 转 PNG 地图


复制粘贴地图到 sjever\maps\武馆.txt

地图保存为 宋体12号字
记事本另存为 UTF-8编码

重定义过的房间名, 西廊1─西廊2 、东廊1─东廊2──东廊3 、走廊1 走廊2,相应修改,并调整位置。

由于TXT转PNG会出现误差,如果发现PNG图象里房间错位,就重载插件,删除PNG地图,修改TXT,再输入ll,更新PNG地图。



武馆.txt 可不能删除,它是作为角色定位的重要参考。

地图插件就先介绍到这里,未完成的功能还很多,希望大家多提意见,继续完善。{:soso_e182:}

本帖子中包含更多资源

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

×
门派:不明
发表于 2011-10-23 11:16:26 | 显示全部楼层
兄弟你太强了,可惜水平有限看不懂呀。
门派:不明
 楼主| 发表于 2011-10-23 12:46:16 | 显示全部楼层
本帖最后由 freeway@ts 于 2011-10-23 13:10 编辑

更新了地图显示模式,可以自由切换。

原始图:使用原始PNG图片,并随着角色移动而移动
好处:输出字体和图片清晰
不足:看不到区域全景


全景图:在原图的基础上,拉伸,整图输出到小窗口
好处:展示区域全景,能清楚知道角色位置
不足:拉伸后,图片变形。

本帖子中包含更多资源

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

×
门派:不明
发表于 2011-10-23 19:01:33 | 显示全部楼层
好强的东西!!!!!!!!!!!!!!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-29 00:36 , Processed in 0.045515 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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