3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 2392|回复: 3
打印 上一主题 下一主题

[修改] 关于如何移动地图内的NPC及添加新NPC

[复制链接]

3

主题

615

帖子

847

积分

超级玩家

Rank: 5Rank: 5

贡献度
19
金元
7513
积分
847
精华
2
注册时间
2016-1-2
跳转到指定楼层
主题
发表于 2023-10-28 00:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


这篇文章主要说一下我知道的两种往地图中添加NPC的方法,这里要用到一个新的工具
stove
这里是git链接
下载的话点击下面的 get the latest alpha build! 跳过去后是每次的版本更新,下载的话点开assets,根据自己的系统选择
(我下载最新的两个版本会有问题,不知道是不是我系统是win11的问题,有兴趣可以自己试一下最新版本)
这个工具可以打开.umap文件,并展示模型

然后这里也贴一下ue4修改的其他工具,上面的工具也是这里找的,不过基本都还没用过,还请自己研究
GitHub - Buckminsterfullerene02/UE-Modding-Tools: A databank of every UE modding tool that have potential to be used across multiple UE games, that I know exists.

方式一
使用stove
打开stove可以看到这样的一个页面



这个时候先不要急着选地图,先把中间的框×掉,到上图红框处选择游戏版本,我这里是之前用过,所以已经选好了(只用选一次就好)
然后点击红框右侧的paks-add pak folder,这里选择的是游戏的包的位置,也就是Wandering_Sword-WindowsNoEditor.pak这个文件所在的文件夹,这步不做的话,会导入地图的时候会看不到建模(每次使用都要重新选)
做完上述两步后,点击红框左侧的file-open来选择地图文件,地图文件在解包出来的Wandering_Sword\Content\JH\Maps路径下(如何解包这里就不在赘述了)

先说一下基本操作
wasd上下左右移动
鼠标滚轮调节移动速度
左键选中,选中后长按可拖动,选中后右键拖动可改变角度(人物这里这个用不上)
ctrl+c复制模型位置,ctrl+v粘贴模型位置
ctrl+t从其他地图转移模型
其他的快捷键可以自己去options里面去看

另外如果发现移不动之类的,请检查是否在使用英文键盘而非中文键盘

这里以六扇门的地图为例,地图目录是Maps\JiangNan\Map60_Liushanmen, 地图名是LV_60LSM_S.umap



上述pak没选择的话打开会是这个样子,而选择了的话,打开会是下面的样子



可以说还是比较明显的,然后红框处的列表是里面的模型,就是上面图里绿色的部分,都能在列表里找到,这里主要是改BP_sceneNPC这类,也就是地图中的NPC
这里我们选择BP_sceneNPC,这时候会在列表下方展示这个模型的信息



可以看到该模型的NPCId为17102,也就是刘雄,(如果不知道NPCId分别代表谁,可以去解包的NPCs文件里面去查)



另外选中后,对应的模型会在地图中高亮,如上图

这时候可以通过鼠标拖动模型来对其移动位置,不过我并不推荐这种方式,因为模型没有地面,直接移可能就直接入土或飞天了,所以这里推荐上上张图下面的红框的地方也就是CollisionCylinder-RelativeLocation这个地方,这里有模型在地图中的坐标,可以通过拖动来修改

说完移动人物,下面说如何添加人物,这里使用ctrl+t,会弹出地图选择框,这是选择要转移的NPC来自哪个地图,选完后会让选择转移的模型,因为之后要直接改Id来变成对应的NPC所以选一个BP_sceneNPC类型的模型添加进去就行,添加进去后的模型会是在原地图的位置,这个时候就需要调整坐标,来使其到你想要的位置
这里可以先选中你想要的位置附近的模型,键盘ctrl+c对模型位置进行复制,之后再选择导入的模型ctrl+v复制位置,然后再通过坐标进行微调

加完新的人物并调完位置后,就可以通过修改NPCId来使其变成对应的人物,另外下面一行的Name和invariant string 我也是有修改的,不确定不改会不会名字不对,至于其他的改不改,我目前是没有遇到大问题的(也可能是因为我加的都是自定的商人,没有深入操作),不过对应的信息都是和NPCs文件相关的,有问题遇到对着改改应该就好了。然后有的人可能会注意到invariant string 位置是乱码,这是因为软件是国外人做的不支持中文编码,所以显示乱码,这边在外面写好,粘进去就好了。

改完后另存为同名文件(其实直接保存也行,不过为了防止哪里改炸了,再重新解包所以最好另存为),打包就跟其他的一样正常按路径打包

这个时候进游戏,可能有人发现,我明明移动了人物,但为啥有的人物位置有变有的又没有,这就涉及到第二个方式了所以暂时先留个悬念,等最后再说
然后移动和添加模型由于没有路面的显示,所以很容易出现飞天或者入土的情况,这就只能多微调了,这个时候可以重新打开下已经移到正确路径位置下的地图文件,改完直接保存-打包一条龙,来提高效率。

方式二
通过任务来对人物位置进行修改
这里主要修改Wandering_Sword\Content\JH\Tables下的 Quests 文件(Tables下文件的修改方式这里也不赘述)
为了方便测试所以这里是个新任务(等了解后,可以根据自己的想法在对应的任务里面进行修改),因此还需要修改Items来添加任务触发的道具,和修改NPCs文件来添加售卖触发道具的NPC(当然也可以直接通过与特定NPC对话的任务来触发,不过这属于额外内容,而且我也还没有研究的明白,所以先用前面的方式吧)



主要是修改FinishNPCLocation字段Value里面的内容,这里是修改好之后的文件了,
现在说一下里面的字段

NPCId: 移动人物Id
MapName: 移到到地图,这里的格式为LV_xxx_P,xxx就是地图编号 像前面的六扇门编号就是60,也就是说移到六扇门这里的值就是LV_60_P,不过存在例外丐帮就是LV_GaiBang_P,这里错误并不会使游戏崩溃,所以发现人物没有过去可以自己多试试,另外这里的值,如果在Quests文件开头的NameMap的列表里面没有,那么需在里面添加,
Location: 移动到地图的位置,这里就需要方式一里面的坐标了
IsVisible: 是否可见,不过我没有动过,直接都是true了
IsInHouse: 是否在屋内
Direct: 人物朝向,前后左右

单个任务里面的其他值只需要变化


Name和QuestId,作为任务编号就好了(这个也需要在Quests文件开头的NameMap里面添加)
下面的OwnerQuestId是所属于哪个任务,对于测试而言可以不用在意

然后触发的物品主要是Actions这里



Type: 类型是EActionType::JumpStep 表示跳转任务阶段
Id: 任务的Id
Num: 任务阶段,4表示结束

使用该物品后会是得任务结束,然后就会执行任务里的FinishNPCLocation,是得人物出现在对应位置

然后人物添加售卖物这里也就不在赘述,参考关于如何添加修改人物(NPCs.uasset相关修改) - 《逸剑风云决》 - 3DMGAME论坛 - Powered by Discuz!

其他
上面的两种方法都是针对于在地图里面移动,大地图里面的添加人物,直接在NPCs文件里面改就好,也可以参考上面的那个教程

然后关于方法一移动不生效,可能是因为该人物通过方法二移动过位置了,然后应该是被记录了一些信息,这个时候再想移动这个人物,就只能用方法二了(也可能还有其他方法,但我还没找到)
然后用过方法二移动过的人物,加入队伍再离队,提示语会变成出现了回到了xxx,而非回到了。

然后这里给出任务、物品、地图、新增人物的json和umap文件,可以当做模板对着改
(修改的人物位置,查看这篇文章邀请慕海棠入队(10.22 更新) - 《逸剑风云决》 - 3DMGAME论坛 - Powered by Discuz!的六扇门商人位置)
(因为懒得重新写实例了,所以就是把之前的mod里面拆出来当示例,不过移除了商人身上除触发任务的其他物品)

示例文件
Example.7z (679.96 KB, 下载次数: 5)

然后有啥还是不清楚的也是直接问就好,看到了会回

评分

1

查看全部评分

回复

使用道具 举报

7

主题

524

帖子

1146

积分

游戏狂人

Rank: 6Rank: 6

贡献度
5
金元
11258
积分
1146
精华
0
注册时间
2010-3-3
舒服的沙发
发表于 2023-10-29 10:26 | 只看该作者
牛呀!技术贴!!!
回复 支持 反对

使用道具 举报

0

主题

406

帖子

496

积分

高级玩家

Rank: 4

贡献度
0
金元
4960
积分
496
精华
0
注册时间
2013-1-8
硬硬的板凳
发表于 2023-11-21 19:36 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

23

主题

1008

帖子

1352

积分

游戏狂人

Rank: 6Rank: 6

贡献度
51
金元
11476
积分
1352
精华
0
注册时间
2011-3-15
QQ
冰凉的地板
发表于 2024-1-1 19:10 | 只看该作者
看不懂 但还是说一句 大佬牛掰
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-31 12:59 , Processed in 0.032070 second(s), 19 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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