Skip to content

hamano0813/SRW_alpha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

超级机器人大战α静态修改器项目

python PySide6 Pillow pyqtdarktheme pyinstaller

项目说明

用于修改机战α的静态修改器,为了弥补luxiwen版本修改器部分不能改或无法直观修改的数据而写的,所谓自己动手丰衣足食是也。 主要特点是可以修改战场的剧情配置和幕间剧情配置,同时明确熟练度和隐藏的获得条件等。

使用方法

A.直接下载可执行程序 适合Win10 x64系统

  1. 从github项目地址下载release版本的压缩包
  2. 解压后从程序入口SRWα.exe运行

B.从源代码运行 适合自行修改调试程序源代码

  1. 安装适合自身操作系统版本的CPython解释器,教程自寻,要求3.8或更高版本。
    Python官网下载页面
  2. 下载项目完整源代码
  3. 安装requirements.txt项目依赖项,在项目文件夹打开操作系统命令行输入并运行
    pip install -r requirements.txt
  4. 双击程序入口SRWα.pyw

C.构建EXE步骤 适用于不想保留程序源码和Python解释器

  1. 安装适合自身操作系统版本的CPython解释器,教程自寻,要求3.8或更高版本。
    Python官网下载页面
  2. 下载项目完整源代码
  3. 双击build.bat等待构建完成
  4. 在dist文件夹内找到修改器,程序入口SRWα.exe
  5. 程序构建成功后可按需删除源代码和卸载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. 支持机体名称修改,修改写入后在各修改窗口均动态刷新显示新的机体名称
  2. 机体各项数值和设定小心修改过高导致数据溢出
  3. 机体变形系统由变形组号&变形序号两个修改项实现控制,组号从1开始,序号从0开始

    以Z高达为例:MS形态变形组号1,变形序号0;冲浪板形态变形组号为1,变形序号为1。则Z高达MS形态和冲浪板形态为第1组变形机体,共[0,1]两种变形形态

  4. 核心战机系统由合体数&分离机体两个修改项实现控制

    以G-3高达为例:G-3高达可分离为1台G-3核心战机,则合体数为1,同时分离机体选择为核心战机G-3

  5. 合体机体由合体组号&合体序号&合体数&分离机体四个修改项实现控制,组号从1开始,序号从0开始

    以超级高达为例:超级高达由高达MK-II和G防卫者合体而成。则超级高达的两个组成部分高达MK-II合体组号为1,合体序号为0;G防卫者合体组号为1,合体序号为0。同时,超级高达本身合体组序均不设置,保持为0,合体数设定为2台机体,分离机体选择为高达MK-II

  6. 换装系统仅用于V2高达和虎克别音MK-III,未经充分测试不建议修改
  7. 换乘系补全了所有换乘选项,实际名称只是系统原归类用的,可以联动机师换乘的修改以实现定制化的特殊换乘
  8. 机体特性中部分特殊效果如I-Field之类的未经过充分测试,修改后战斗演出是否出错尚不明了,谨慎修改即可
  9. 可以通过机体搜索输入机体名称快速定位到所需要修改的机体,机体表格支持点击列名进行排序,点击可切换升序>降序>原始顺序

武器修改

  1. 补全了武器的属性修改,可P与否,是否可被切都可以按需修改,bottom射出用于V高达的下肢射出,或许可用于所有核心战机系统机体的武器,bit类一般用于浮游炮之类的武器,突贯用于V高达的光之翼地图炮,攻击后移动位置
  2. 地图炮有三种类型

    方向指定型可根据需要选择地图炮形状和射程
    自机中心型射程为武器远射程
    着弹点指定型的射程为武器远射程,由攻击半径控制攻击范围

机师修改

  1. 支持机师名称修改,修改写入后在各修改窗口均动态刷新显示新的机师名字
  2. 机师各项数值和设定小心修改过高导致数据溢出
  3. 气力组用于定义特殊关系的机师,邻接由隐藏的气力补正
  4. 特殊技能勾选适度,太多屏幕显示不下,是否会出现其他错误未经测试

文本修改

文本系用于关卡内的文字内容,包括胜利失败条件,地图上的对话文本,选择文本等,可按需修改。尾部有一定量的dummy数据,未测试是否可以利用,理论上可以用于扩展自定义对话

场景修改

通过上方的单选框选择场景后可以修改场景控制设计、敌方列表设计、AI设计

场景设计

  • 场景控制由不定数量的函数指令**<COMMAND>**构成,修改指令即可实现诸如熟练度增减、本方敌方出击控制、隐藏条件判断、机体机师加入离队分流等流程设计
  • 本修改器对98%的**<COMMAND>**进行了注释和解析,已经可以实现对流程进行大量修改乃至于场景重新定制
  • 场景设计由两大块设计组成
    1. 从**BLOCK<0>BLOCK<A>**共11个控制区块,主要用于流程控制,按照条件跳转执行指定的索引位置1
    2. 紧接着控制区块的受控区块,主要用于地图对话、机库操作、出击操作等
  • 需要执行控制区块内索引位置的指令时,需要采用 [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设计

  • AI列表为不定数量的槽,且可按需扩充,由于程序限制,最大扩充为157个槽,未知选项应该为AI的攻击优先级、行动优先级等等设计

其他修改

其他修改包括改造幅度、普通和特殊生日以及精神消费和芯片附加属性的修改,基本与luxiwen修改器类似,仅改变了界面显示以方便修改,同时增加了普通星座生日的星座日期范围修改、星座血型搭配后的精神技能修改等。

Footnotes

  1. 根据**<COMMAND>**在二进制码中的偏移量计算得到的索引位置,本修改器已经对此进行了封装,编辑流程设计时不需要手动修改索引

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published