wendaokoujin 发表于 2025-11-2 16:46:21

Muder增加绘制地图功能

Muder v1.2.3: 全新地图编辑器功能发布
【重要声明:地图数据安全与合规性】
我们严格遵守 pkuxkx 的游戏规则。为防止地图文件的本地传播,地图编辑器采用纯云端存储方案。所有地图数据将安全地保存在服务器当前账户下,不支持任何形式的导出或导入。这确保了地图的私密性,并杜绝了传播风险。



data/attachment/forum/aaacf5e0a4d6ac8a23b42eb8730f9f5e.png
data/attachment/forum/3e2bd6b238283221bf1969e5414830ae.png
功能介绍
1. 便捷的地图管理
我们提供了一套完整的地图文件管理系统,让您可以轻松组织您的世界版图:
- 创建与加载:自由创建新地图,或随时从云端加载已有的地图进行编辑。
- 无缝切换:通过下拉菜单在不同的地图文件之间快速切换。
- 安全删除:一键删除不再需要的地图文件,保持列表整洁。

2. 强大且灵活的地图编辑
编辑器融合了“手动精调”与“自动录制”两种模式,以适应不同的使用场景。
手动编辑模式:为您提供像素级的掌控力。

[*]节点创建:从工具箱中轻松拖拽“城市”(圆形)和“房间”(方形)节点到画布上。
[*]精准布局:画布带有点状网格背景,所有节点都会自动吸附到网格点上,确保布局的整齐与美观。
[*]自由连线:提供“开始连线”功能,只需依次点击两个节点,即可创建它们之间的连接。
[*]批量操作:按住 Shift 键并拖动鼠标可框选多个节点,然后将它们作为一个整体进行拖动,极大提升了调整大范围布局的效率。

智能录制模式:自动化记录您的探索足迹。

[*]自动生成:在录制模式下,您在游戏中的每一次移动(无论是通过上下左右方向键还是指令),都会在地图上自动创建对应的房间节点和连线。
[*]推荐工作流:我们推荐“先录制,再微调”的工作方式。先通过录制功能快速生成地图草稿,再利用强大的手动编辑功能进行精修,效率倍增。


3. 深度的属性定制
地图上的每一个元素都是可深度定制的。只需单击任何一个节点或连线,右侧就会滑出属性编辑面板。

[*]通用属性:修改元素的 名称、颜色 等,让地图更具辨识度。
[*]高级属性:为节点和连线编辑 pdata(自定义数据)、dir(出口列表)、action(移动指令)、weight(权值,用于寻路计算)等高级参数。
[*]直观显示:在编辑连线时,节点的ID旁边会自动显示其名称,如 room_123 (中央广场),让您对连接关系一目了然。



qsik 发表于 2025-11-2 20:32:46

这么高级了,真好

wendaokoujin 发表于 2025-11-8 18:11:43

提供几个基本函数来使用地图:
1. sys.map.city : 变量,用来读取和设置当前所在城市,你可以通过action来触发来修改这个值
2. sys.map.gpsInCity(city,targetName) : 在当前城市内,从当前位置到目标位置,city可以为空,为空就会使用 sys.map.city 作为当前城市,targetName是当前城市其中一个房间的名字
3. sys.map.gpsOverCity(city,targetCity,targetName): 从当前位置到另外一个城市的一个任意房间,其实现原理
- 从当前位置到这个城市的中心位置
- 从城市的中心位置利用 muder的逍遥游(walk)到另外一个城市的中心
- 从另外一个城市的中心到另外一个城市的一个房间

注意:这里有一个城市中心的概念,需要在绘制完地图后手动标记那个中心房间,自定义数据里设置值为 {"iscenter":true}
data/attachment/forum/1302062e99bec5a7cfda0f5d4237641c.png

4. sys.map.getTraverseDirPath(city) : 遍历当前城市,这个函数是返回一个从当前位置遍历当前城市并返回起点的完整路径数组,获取到后,你可以循环行走,然后每一步做你想做的操作
let path = await sys.map.getTraverseDirPath('闽中')
    sys.info(path.length)
   
    //sys.info(path)
    for(let i =0;i<path.length;i++){
      sys.info(path)
      sys.send(path.dir)
      await sys.sleep(1)
    }


icer 发表于 2025-11-8 18:34:47

有关客户端里地图功能的限制做一个补充说明:
1、新开发的客户端地图功能可以看齐已有的通用客户端,提供地图录制、寻路等接口。
2、可以在客户端发布时包含walk、node节点处房间的信息数据库,但其他房间的不得包含。
3、可以基于walk、node节点提供跨区域节点到节点的寻路。
4、尽可能避免地图共享,如果某类型客户端出现大范围地图共享,则会触发大规模修改地图、禁用定位机制等应对手段。
制定以上规则的缘由是避免玩家成为伸手党,被绑定在某个特定客户端甚至某个客户端的特定版本上,当地图出现更新时,容易被裹挟成为反对更新的一份子。这在北侠历史上曾多次出现,虽然都没有停滞北侠更新的脚步,但此类问题还是尽量避免。同时,北侠也提倡玩家主动探索新区域,学习新技能,这样至少在玩的过程中还能有所收获。
总而言之,对于客户端开发者,授人以鱼不如授人以渔;对于玩家,自己动手丰衣足食,不愿享受探索乐趣的玩家,有大把的mud提供现成的机器和地图,挂机挂到忘了就行。

wendaokoujin 发表于 2025-11-13 20:10:04

提供一个录制地图的演示视频,大概10m,大家可以下载看看,录制还是很简单的
http://47.93.38.148/api/image/download/%E5%9C%B0%E5%9B%BE%E5%BD%95%E5%88%B6.mp4
页: [1]
查看完整版本: Muder增加绘制地图功能