超级玩家
 
- 贡献度
- 19
- 金元
- 7513
- 积分
- 847
- 精华
- 2
- 注册时间
- 2016-1-2
|
本帖最后由 yjjhls 于 2023-10-22 23:10 编辑
研究制作mod的副产物+1,本来应该是前两天就该发的,但被加班绊住了,多花了点时间才写好
这篇文章主要是介绍一下NPCs这个文件能改些什么
一、准备工具
逸剑风云决mod制作工具分享 - 《逸剑风云决》 - 3DMGAME论坛 - Powered by Discuz!
用这篇文章里面的工具就行了
然后解包也按这篇说的就行
二、修改
在使用UAssetGUI打开后,可以通过file-save as 将.uasset 文件保存为.json 文件,然后打开json文件进行修改
(如果不打算加对话、人物、行为之类的,那直接改就好,如果有这些需求,那么就转json吧,至少我是没找到直接在里面加的方法的)改完之后保存,再通过UAssetGUI另存为.uasset改回去的
为防止不清楚什么是json格式,这里稍微介绍一下,也方便下面说明,或者也可以自行了解json
以下是json的最基本的结构
{
"字段1": 值1
"字段2": 值2
}
其中变量可以为任意格式
同时json可以也可以嵌套json,如
{
"字段名": {
"字段名": 值
}
}
有了基础json的了解后就可以来看文件了
打开文件后会有类似于这样的结构
1处这一层级是人物层级,每一个这一级的json对应一个人物,并通过Name字段来区别,
2处则是多个同级的json构成人物的各项信息,也是通过Name字段来区别代表什么
(一打开不在这个位置,可通过ctrl + f 调出搜索,然后搜宇文逸,来跳到这个位置)
(个人习惯使用vscode这个软件来开json文件,不想下软件的话,用记事本也是能开的就是格式没有这么明显)
然后下面按2处每个json的Name来说明每个json的作用(因为字段太多了,所以就直接文字说明而非截图)
"Id": 人物编号、唯一标识符
"name": 人物名称
"ResourceName": 使用资源名即使用的立绘、头像等(注意,这里只有新增人物或者新档才有用,估计是会被存到存档里面,所以保存过后再改,读的时候就没用了)
"TalkMenuText": 作用未知
"Description": 描述
"bShowName": 是否常时展示名字
"DefaultTalks": 默认对话(就是交谈时显示的内容)
"TalkWeights": 作用未知
"FightBehaviorTree"、"SceneBehaviorTree": 作用未知,但建议不用动
"Functions": 交互行为,就是切磋、邀请之类的都在这里
"SellItems": 售卖的物品
"AttachMenus": 作用未知 不建议修改
"FunctionName": 行为名称 似乎无用?
"FunctionType": 行为类别、无需修改"bSaveData": 应该是用来区分是否存到存档用的,像战斗的野怪这里都是false
"bCantFighting": 应该是 是否不能参与战斗,为true的都是剧情入队一下的小孩之类的
"bNotShowInUI": 不确定是什么,也没有仔细研究,为true的是武当的几位
"ChildNPCs": 所有的人这里都是空,也不知道是干啥的
"Hobbies": 喜好物品
"HobbiesViewText": 有人有值,但值只是数字的字符串,还没研究具体表示什么
"Honor": 应该是正邪值
"GuildId": 门派id
"WeaponLimits": 武器限制,添加之后,可以替换武器,学习相应武学的秘籍,但武学那边不会像主角一样直接全显示,如武学页面未变切一下人物再切回来就好,能否像主角一样直接全部显示并切换还需研究
"MoveSpeed": 移动速度,应该只是在大地图中的速度和游荡野怪的速度,不确定剧情里的移动是否会受此影响
"JoinTeamRequirements": 入队限制,可以是好感度,也可以是任务,整个文件里面只有小彤(开场)、和某个奇怪的东西有
"JoinTeamQuestId": 看名字是入队任务id但整个文件都是0,有兴趣可以自己研究下
"LeaveTeamRequirements"、"CompareRequirements": 离队、切磋限制,应该跟入队限制差不多
"CompareRequirementDlgs": 应该是切磋受限时的对话
"CompareWinDlgs"、"CompareLoseDlgs": 切磋胜利和失败时的对话,可以参考霸刀秦烈
"CompareReqAndAction": 未知
"CompareRequirementDlgs""CompareWinDlgs"、"CompareLoseDlgs": 应该是切磋受限和切磋胜利失败时的对话
"GiftSussDlgs": 送礼成功对话
"JoinTeamDlgs": 入队对话
"EquipList": 未知
"EquipListPools": 装备,应该是开新档或新人才有效
"ItemList"、"ItemListPools": 不确定哪个是物品,但应该也是新档或新人才有效
"PassiveSkillList": 未知
"SkillList": 技能招式,估计也得新档或新人才生效
"Level": 等级,但作用未知,可能跟初始属性有关?或者跟境界名(一代宗师、傲视群雄这些)有关
"Strength"-"BaseManaRestoreRate" : 各项属性,比较令人在意的是"BaseActionPoint",只有冷无情这里的value是-1,不知道会不会是这个倒是他学不了轻功
"DropCoins": 应该是掉落金钱数,但值里面的id不完全一样,因此不确定
"DropItems": 掉落道具
"DropExps":应该是掉落经验(应该是指掉落的武学点),但id也一样
"JingMaiIds": 经脉,未知
"JingMaiPoolId": 经脉池id,不知道具体指什么,就默认给0好了
"JingMaiPoint": 经脉点数
"BoxingLevel"-"OtherWeaponsLevel": 感觉像是各类武器精通
"EliteAttributeMultiplier": 翻译是精英属性倍率,猜测是跟属性相关越大越强
"ToFightingDlg": 进入战斗对话,可参考饿虎贼
"FightSetting": 战斗设置,就是地图的野怪关联的战斗,找个野怪来参考就好
"DaZaoLevel"-"GatheringLevel": 各类杂项等级(锻造、制衣等)
"WalkLevelName": 移动级别,在地图里的为null, 在大地图的为LV_World
"bWorldWalk": 是否在大地图行走
"bWalkLoop": 似乎在地图里的都是true,在大地图的都是false
"WalkPoints": 移动路径点,地图里面的都是空,大地图的根据这里设置的点来移动
"WalkRemainingSecs": 翻译过来是行走剩余秒数,具体作用未知
"WalkRemainingSecs": 野怪的复活时间
"FriendlinessLockSettings": 好感度限制,就是没完成设置任务时,存在好感度上限
"FriendlinessLockDlgs": 好感到上限时送礼的对话
"ReqAndActOnFriendlinessChanged": 最近研究任务,知道这里是什么了,这里可以触发产生新的任务,比如司马铃触发姑苏曼舞的任务,就是这里设置,要求还没有到首席,还未触发过该任务,且好感度到80,就会去激活任务,产生对话,也是可以设置多个
上面就是所有的字段了,有些字段修改后,进游戏不生效,那么可能就是存到存档里面了,需要新档才生效,所以建议是新建人物来测试
然后部分人物存在多个对应的NPC,可以通过Hobbies、DefaultTalks等字段来区分,一般而言这两个字段有值的就是正常的人物而非剧情一次性的人物
然后新建人物切记1处的Name的值不要和已有的重复,且在下图NameMap列表的开头加上编号,如红框里的90001(其实最好加在列表的末尾,不过这里为了方便展示在哪,就放到了开头,应该是不影响的)
三、其他
NPCs能修改的东西还是很多的,要是想自己加人物,改行为,改掉落,怪的刷新时间等,都可以改改研究一下,然后改的时候,找字段存在值的人物,一个个json对着改,这样不容易出错
而且对于想改的人物,可以先把该人物的json复制一份出来改,改完后再复制回去覆盖,因为NPCs里面东西确实很多,这样会快一些
另外有些字段我也不是很确定,如果发现哪里有错误,或者是知道那些未知的字段的作用,麻烦大佬们在评论里指出
最后附上来两个附件
一个是对慕海棠进行修改,添加了简介,入队等行为,以及好感度限制的json文件(今天更新其他mod的时候发现有地方id错了,虽然不影响,但还是换为正确版本)
11700 muhaitang.json
(69.16 KB, 下载次数: 87)
|
评分
-
1
查看全部评分
-
|