魔法门吧 关注:25,966贴子:407,449

魔法门8预置的NPC内存数据修改器

只看楼主收藏回复

共享一个自己在做MOD时做的一个副产品,“魔法门8预置的NPC内存数据修改器”,说明如下。
因为要测试一些功能,需要修改NPC的数据,收集了不少NPC的内存地址,后面把这些内存地址整理了一下,干脆就写了个修改器,方便使用:
1.用于整合版中MM8里那些预置的NPC,比如黑王座,暴风矛等这类NPC内存数据的修改,第一个队员也可以用,如果是酒馆或者训练场招募或者开始游戏时自建的那些NPC,因为整理出他们的内存地址,因此暂时是不能用这个工具的。
2. 在2.07(Redone+Master Branch2023.01.02)中测试通过,其他版本2.0X也可以,但如果非这个系列的魔法门整合版,请自行测试。2.07版本提高了技能(Skill)级别的上限,最大可以修改到1023,但没有测试修改到上限是否会给游戏带来其他问题,其他版本修改最大值为255。
3.属性面板中的数据是NPC无加成的数据(不穿任何具有Buffer的装备,饰物,不计算种族加成)。
4.使用管理员权限运行,打开后会自动显示所选的NPC游戏数据,如果游戏晚于修改器打开,需要手工点击红色刷新按钮来获取数据。
5.修改完毕后,点对应的修改按钮立即生效。
6.这个修改器只为方便自己测试用,只是内存数据修改,非存盘文件修改,修改完毕后做好确认,以免改出问题。
过度修改会失去很多乐趣,使用这个工具修改是否损坏游戏进度,是否会有不可预知的风险,请自行承担。


IP属地:江苏1楼2023-04-22 20:48回复
    地址:s/17VdEwLbjEjNLY0fZePXjJQ?pwd=7736
    文件名:Tools\MM8预置NPC内存数据修改器-By Toadking 1.1.rar


    IP属地:江苏2楼2023-04-22 21:10
    收起回复
      2.07中把部分NPC降级成吉祥物了,比如黑MM,比如暴风矛,如果需要修改,按照2楼的步骤 1.选择NPC, 2.按刷新按钮,修改数据,确认无误后,保存进度,下次招募到该NPC了,就是你修改后的值了。


      IP属地:江苏3楼2023-04-23 09:26
      回复
        稍微改了一下界面,版本升了一下,到1.2,界面上加上了数据自动刷新的勾,文件:Tools\MM8预置NPC内存数据修改器-By Toadking 1.2.rar。
        修改内存数据的方法:
        1.去掉“自动刷新”的勾。
        2.修改数值,修改完毕后,点修改按钮生效,生效时,所有数据会重新读取一次。
        自定义Skills:
        1.产生一个ComMMMergeUpd.ini文件,和exe文件放到一起。
        2.文件里添加“描述”“内存地址”,中间用半角逗号隔开。
        3.重新执行exe即可看到效果,例如我添加的内容:
        祈祷:,00B21C2C
        飞龙特技:,00B21C22
        洞察:,00B21C2E
        再生:,00B21C30
        解除陷阱:,00B21C32


        IP属地:江苏4楼2023-06-25 22:41
        回复
          2.07-蔚蓝国度历险记-20230309最大不能改到这个值,因为当时担心打开技能上限会造成不稳定, 但打开上限之后测试多次,也没有什么问题,看来是我多虑了。大家如果喜欢高数值的,可以按照截图把上限打开就可以改到1023了。


          IP属地:江苏8楼2023-06-25 23:02
          收起回复
            请问可不可以改种族?
            我选错野蛮人种族,没有再生术了


            IP属地:广东9楼2023-06-28 23:10
            收起回复
              工具更新到了1.3版本,文件名:Tools\MM8预置NPC内存数据修改器-By Toadking 1.3.rar,可以修改种族了!
              并且增加了几乎所有的skill的修改。



              IP属地:江苏10楼2023-07-01 18:29
              收起回复
                研究了很久发现,配置文件里50个roster,应该是已经包含了魔法门世界里可招募为队员的所有NPC,因此可推断出除了MM8那36个NPC以外,包括地图上游荡的,酒馆里的,训练场的,你最多只能碰到小于14个(有部分NPC功能性,不可招募)。如果上述推断成立,那本工具可以修改所有NPC的内存数据,如果队伍里有非MM8的NPC,可以从序号36开始找起,找到后修改即可。
                另外:如果在佣兵行会里,解雇了某个NPC,或许他正好是你的人肉包裹,那如何找回?现在有方法了。
                1.如果解雇的是MM8的NPC,直接在下拉框找名字,找到之后记住他的序号,在游戏里先让队伍留出一个空位,然后打开console,输入指令HireCharacter(序号)把他找回来。
                2.如果解雇的是非MM8里的NPC,打开下拉框,从序号36号往后找,根据属性和技能来判断看看是哪个人,找到序号之后按照步骤1就可以把他找回来。
                3.顺便说一下,HireCharacter指令是直接把NPC拉到当前队伍中,因此要事先留一个空位给他。


                IP属地:江苏12楼2023-07-28 22:40
                收起回复
                  打开工具之后,默认就是第一号队员的信息,如果要修改其他队员怎么办?
                  首先要取得其他队员的序号,按ctrl+F1,然后输入如下代码:
                  for i=0,Party.Count-1 do
                  print(Party.PlayersIndexes[i])
                  end
                  会显示出当前队伍里队员的序号,在工具中选择对应的序号,修改即可。
                  脚本运行结果截图:


                  IP属地:江苏13楼2023-08-20 18:25
                  回复
                    大神,游戏时间怎么改啊


                    IP属地:山东14楼2023-08-23 17:27
                    回复
                      因为修改时间,有年月日时分,有一个换算关系,所以工具里干脆就设置为只读,如果你要修改可以直接在游戏里修改,方法是按control+f1,打开console,在里面修改Game.Time的值,
                      比如在当前时间加10天,指令为:
                      Game.Time = Game.Time + 10 * const.Day


                      IP属地:江苏15楼2023-08-23 17:35
                      回复
                        为什么提取码错误啊


                        IP属地:湖南16楼2023-08-26 14:34
                        收起回复
                          最近把工具修改了一下,定位1.5版本,修改按钮合成一个,NPC List不再区分MM8预置还是可招募,统统放到一个列表里。截图如下:


                          IP属地:江苏17楼2023-09-07 10:26
                          回复
                            请问大佬为什么我开这个修改器的字体小的和蚂蚁一样,拉大窗口也没用,何解?


                            IP属地:天津19楼2023-09-14 11:34
                            收起回复