用于修改机战α的静态修改器,为了弥补luxiwen版本修改器部分不能改或无法直观修改的数据而写的,所谓自己动手丰衣足食是也。 主要特点是可以修改战场的剧情配置和幕间剧情配置,同时明确熟练度和隐藏的获得条件等。
- 从github项目地址下载release版本的压缩包
- 解压后从程序入口SRWα.exe运行
- 安装适合自身操作系统版本的CPython解释器,教程自寻,要求3.8或更高版本。
Python官网下载页面 - 下载项目完整源代码
- 安装requirements.txt项目依赖项,在项目文件夹打开操作系统命令行输入并运行
pip install -r requirements.txt
- 双击程序入口SRWα.pyw
- 安装适合自身操作系统版本的CPython解释器,教程自寻,要求3.8或更高版本。
Python官网下载页面 - 下载项目完整源代码
- 双击build.bat等待构建完成
- 在dist文件夹内找到修改器,程序入口SRWα.exe
- 程序构建成功后可按需删除源代码和卸载CPython解释器
- 机体属性
- 武器属性
- 机师属性
- 战场剧情配置
- 敌方战场配置
- 敌方AI设计
- 幕间剧情配置
- 剧情相关文本
- 主角生日技能精神
- 改造金额幅度
- 强化配件属性
- 精神消耗点数
- 全角字符重绘
文件 | 机体 | 机师 | 文本 | 场景 | 幕间 | 字符 | 其他 |
---|---|---|---|---|---|---|---|
ROBOT.RAF UNCOMPRESS_ROBOT.RAF |
√ | √ | |||||
PILOT.RAF | √ | √ | |||||
SNMSG.BIN | √ | √ | |||||
SNDATA.BIN | √ | ||||||
ENLIST.BIN | √ | ||||||
AIUNP.BIN | √ | ||||||
SCRIPT.BIN | √ | ||||||
PRM_GRP.BIN | √ | ||||||
12F.DAT | √ |
- 将上述所需文件提前准备好,机体文件需要用luxiwen版本修改器解压一下,然后在程序中载入即可开始修改
- 修改数据后点击写入会暂存本次修改,切换修改窗口时会询问是否写入,退出程序前不要忘记保存ROM
- 大多数表格支持右键复制粘贴和CTRL+C及CTRL+V快捷键操作,可与EXCEL进行数据交互,方便批量修改
- 修改有风险,请自行备份好原文件
- 支持机体名称修改,修改写入后在各修改窗口均动态刷新显示新的机体名称
- 机体各项数值和设定小心修改过高导致数据溢出
- 机体变形系统由变形组号&变形序号两个修改项实现控制,组号从1开始,序号从0开始
以Z高达为例:MS形态变形组号1,变形序号0;冲浪板形态变形组号为1,变形序号为1。则Z高达MS形态和冲浪板形态为第1组变形机体,共[0,1]两种变形形态
- 核心战机系统由合体数&分离机体两个修改项实现控制
以G-3高达为例:G-3高达可分离为1台G-3核心战机,则合体数为1,同时分离机体选择为核心战机G-3
- 合体机体由合体组号&合体序号&合体数&分离机体四个修改项实现控制,组号从1开始,序号从0开始
以超级高达为例:超级高达由高达MK-II和G防卫者合体而成。则超级高达的两个组成部分高达MK-II合体组号为1,合体序号为0;G防卫者合体组号为1,合体序号为0。同时,超级高达本身合体组序均不设置,保持为0,合体数设定为2台机体,分离机体选择为高达MK-II
- 换装系统仅用于V2高达和虎克别音MK-III,未经充分测试不建议修改
- 换乘系补全了所有换乘选项,实际名称只是系统原归类用的,可以联动机师换乘的修改以实现定制化的特殊换乘
- 机体特性中部分特殊效果如I-Field之类的未经过充分测试,修改后战斗演出是否出错尚不明了,谨慎修改即可
- 可以通过机体搜索输入机体名称快速定位到所需要修改的机体,机体表格支持点击列名进行排序,点击可切换升序>降序>原始顺序
- 补全了武器的属性修改,可P与否,是否可被切都可以按需修改,bottom射出用于V高达的下肢射出,或许可用于所有核心战机系统机体的武器,bit类一般用于浮游炮之类的武器,突贯用于V高达的光之翼地图炮,攻击后移动位置
- 地图炮有三种类型
方向指定型可根据需要选择地图炮形状和射程
自机中心型射程为武器远射程
着弹点指定型的射程为武器远射程,由攻击半径控制攻击范围
- 支持机师名称修改,修改写入后在各修改窗口均动态刷新显示新的机师名字
- 机师各项数值和设定小心修改过高导致数据溢出
- 气力组用于定义特殊关系的机师,邻接由隐藏的气力补正
- 特殊技能勾选适度,太多屏幕显示不下,是否会出现其他错误未经测试
文本系用于关卡内的文字内容,包括胜利失败条件,地图上的对话文本,选择文本等,可按需修改。尾部有一定量的dummy数据,未测试是否可以利用,理论上可以用于扩展自定义对话
通过上方的单选框选择场景后可以修改场景控制设计、敌方列表设计、AI设计
- 场景控制由不定数量的函数指令**<COMMAND>**构成,修改指令即可实现诸如熟练度增减、本方敌方出击控制、隐藏条件判断、机体机师加入离队分流等流程设计
- 本修改器对98%的**<COMMAND>**进行了注释和解析,已经可以实现对流程进行大量修改乃至于场景重新定制
- 场景设计由两大块设计组成
- 从**BLOCK<0>到BLOCK<A>**共11个控制区块,主要用于流程控制,按照条件跳转执行指定的索引位置1
- 紧接着控制区块的受控区块,主要用于地图对话、机库操作、出击操作等
- 需要执行控制区块内索引位置的指令时,需要采用 [08]GOTO 0000的跳转函数,跳转后按顺序执行指令,不会回调。需要执行受控区块内索引位置的指令时,需要采用 [09]RUN 0000的执行函数,跳转后按顺序执行指令,遇到 [0A]BACK的回调函数后跳回执行函数下一行继续按序执行指令
- 每个控制区块均由 [01]STOP结束符标记区块结束,不同控制区块间的区别主要为执行时机和作用不同
BLOCK<0>基本为空
BLOCK<1>在进入地图前执行一次,一般用于载入地图设计、敌方设计、AI设计
BLOCK<2>在进入地图后执行一次,一般用于调整格纳库和强制换乘或隐藏出击单位
BLOCK<3>一般在每个本方回合开始轮询一次
BLOCK<4>一般在每个敌方回合开始轮询一次
BLOCK<5>
BLOCK<6>在每次战斗交手后轮询
BLOCK<7>时刻轮询
BLOCK<8>时刻轮询,控制场景胜利或失败
BLOCK<9>
BLOCK<A> - 条件控制指令包括ALL、ANY、THEN、ELSE、END共五个关键字,都有一个唯一的参数代表套嵌层级,灵活运用这些控制指令可以实现各种特殊判断和按需执行
- 场景设计可使用右侧的编辑指令、插入指令、删除指令实现界面化的场景流程编写
- 流程控制相对复杂,修改前尽量多读一下游戏默认的原始流程设计,理解其流程操作的原理
- 敌方列表共160个槽可供添加,实际可用157个槽,增加单位后必须在右侧手动调整各组列表单位的数量,切记增加单位需要两个基本要求,同组之间连续不分开,组号按正序排列
- AI列表为不定数量的槽,且可按需扩充,由于程序限制,最大扩充为157个槽,未知选项应该为AI的攻击优先级、行动优先级等等设计
其他修改包括改造幅度、普通和特殊生日以及精神消费和芯片附加属性的修改,基本与luxiwen修改器类似,仅改变了界面显示以方便修改,同时增加了普通星座生日的星座日期范围修改、星座血型搭配后的精神技能修改等。
Footnotes
-
根据**<COMMAND>**在二进制码中的偏移量计算得到的索引位置,本修改器已经对此进行了封装,编辑流程设计时不需要手动修改索引 ↩