You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XSE中修改Oak的包裹脚本?火红版脚本定位方法求助

宝可梦Fire Red ROM改版:包裹脚本定位与修改思路

一、找接收包裹脚本的实用方法

  • 从触发场景查起:接收包裹的剧情一般在主角家(真新镇,地图编号通常是0x01),打开Advanced Map加载这个地图,逐个查看NPC的脚本ID,把这些ID对应的脚本导入XSE排查,重点看带giveitem指令且关联包裹物品(物品ID 0x13)的脚本。
  • 文本反向追踪:用十六进制编辑器搜原版里的包裹相关文本(英文原版是"Parcel",日文是对应字符串),找到文本地址后,去搜调用这个地址的msgbox指令——脚本里msgbox会紧跟文本地址,顺着这个就能找到对应的脚本。
  • 指令码筛选:Fire Red里给予物品的指令码是0x9F,用十六进制编辑器搜这个指令码,然后看后面跟着的物品ID是不是0x13(包裹的ID),匹配上的就是目标脚本的位置。

二、修改大木博士包裹脚本的核心思路

  • 先定位脚本:大木博士的包裹脚本在他的研究所地图(编号0x02)里,用Advanced Map找到大木的NPC条目,复制他的脚本编号,在XSE里加载对应地址即可。
  • 拆解脚本逻辑改细节:
    • 改对话:找到脚本里的msgbox指令,把后面的文本地址换成你自定义的文本(注意要符合ROM的编码规则,别乱码)。
    • 换给予物品:把原脚本里的giveitem 0x13 0x1改成你要的物品,比如giveitem 0x05 0x1(换成精灵球),0x1是数量,按需调整。
    • 改触发条件:原版会用checkflag检查是否拿了初始精灵,你可以换个flag编号,或者加checkitem指令,要求主角有某个物品才触发包裹剧情。
    • 改后续流程:脚本末尾的goto或call是跳转到下一段剧情的,改成你自己写的脚本地址就能改后续流程。
  • 注意踩坑:编译脚本后要确认长度没超原脚本的空间,要是太长,得用Advanced Map把脚本移到ROM的空白区域,再更新NPC的脚本地址。

内容的提问来源于stack exchange,提问作者SOmeUsEr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:21:00