梅琳娜的恩典

梅琳娜的恩典

梅琳娜总是出现在赐福点附近。我的模组版本,附有合并方法的说明。

描述

当你多次游玩一款游戏时,即使是很小的改动也能带来令人愉悦的新奇感。 如果在赐福点休息,梅琳娜总会现身(在消除癫火之后以及在幽影之地也是如此),前提是剧情没有阻止她出现。 兼容版本 1.17.2。

安装说明

下载并解压该模组。将文件夹拖入你的 ME3。

img

合并说明

主文件 script/talk/m00_00_00_00.talkesdbnd.dcx 负责处理梅琳娜在赐福点的对话。 辅助文件 event/common.emevd.dcx 仅用于阻止梅琳娜出现在圆桌厅堂(在那里她会穿过桌子的纹理)。没有此文件模组也能正常工作。 文件 sd/cs_smain.bnk 为艾尔登法环的圆桌厅堂添加了 Nightreign 圆桌厅堂音乐。这是一个附加功能,没有它模组也能正常工作。

该模组不使用 regulation.bin,因此很容易与任何其他模组合并。你需要解包游戏文件。要编辑 m00_00_00_00.talkesdbnd.dcx,你需要 ESDstudio。为使项目正确运行,被选为项目根目录的文件夹必须具有以下结构:script/talk/m00_00_00_00.talkesdbnd.dcx。

打开 m00_00_00_00_common,然后导航到 t0000010000 赐福点。 将以下代码插入到函数 31(def t000001000_x31())中:

        # Melina's grace
        if (not GetEventFlag(1054539200) and GetEventFlag(1031304001) and GetEventFlag(4680) and (not GetEventFlag(11009260) or GetEventFlag(11009251)) and (not GetEventFlag(108) or GetEventFlag(116))):
            assert t000001000_x28()
        else:
            pass 

在以下代码行之前:

        """State 15"""
        # action:20000009:"Leave"

此部分会在检查标志后触发梅琳娜出现。

接下来,在函数 28(def t000001000_x28():)中,将所有 val4 值设置为 0.5。如下所示:

img

(为方便起见,我们移除了延迟)

接下来,从函数 45(def t000001000_x45(val1=_ ):)中删除以下代码行:

    """State 9"""
    assert t000001000_x29(z31=0)

完成了!


你需要 DarkScript3 来编辑 common.emevd.dcx。DS3 可以直接处理该文件。打开该文件并选择 Elden Ring。 在第一个函数($Event(0, Default, function()))的最末尾,就在闭合括号之前,我们初始化一个新事件。

    InitializeEvent(0, 1446300000, 0);

在闭合括号之后,添加新函数的主体(检查玩家是否在圆桌厅堂):

//Melina's grace
$Event(1446300000, Restart, function() {
    if (!PlayerInMap(11, 10, 0, 0)) {
        SetEventFlagID(1031304001, ON);
    } 
    WaitFor(PlayerInMap(11, 10, 0, 0));
    SetEventFlagID(1031304001, OFF);
}); 

结果应如下所示:

img

不要忘记保存!

主要特性

虽然我已经提供了清晰的合并说明,但我仍会保持模组更新。 也许有一天我会为梅琳娜添加更多对话。