OpenSWD3e軒轅劍參外傳 天之痕 · 重製執行程序

《軒轅劍參外傳 天之痕》的重制执行程序。它取代原版的 swd3e.exe,读取你已安装的原版游戏资料,在现在的 Windows 上直接运行。

剧情、战斗、数值与各种规则都和原版一样,连原版的小 BUG 也保留;会让游戏崩溃的问题则已修正。

本项目不含任何游戏资料,需要你已有原版游戏。

與原版相比

方面原版重制版
游戏目录由安装程序写入的目录游戏资料和存档可以放在任意目录,目录名可以有中文
光盘最小安装时进入地图、播放影片要放入光盘不检查光盘,所有资料从游戏目录读取
字体需要系统装有細明體自带字体
窗口640×480 独占全屏窗口运行,任意缩放,Alt+Enter 切换全屏,记住窗口大小
切到其他程序游戏暂停继续运行,只有最小化时暂停
画面每 35 毫秒画一帧,固定 640×480可按显示器刷新率平滑显示,地图可填满宽屏(见「設置」)
启动画面每次都显示可以跳过,直接进入标题画面(见「設置」)
隐藏道具没有提示看不见的调查点和没打开的宝箱可显示提示箭头(见「設置」,默认关闭)
走路与跑步每次启动都是走路;按 R 切换时整个游戏停顿 0.2 秒按 R 即时切换,下次启动时保持上次的选择
设定离开设定页才保存改了立即保存
战斗截图按 P 存到 C:\snap,文件夹不存在时不存和地图截图一样存到游戏目录的 ScrnShot 文件夹
商店买卖数量左右键每次加减 1按住 Shift 再按左右键,数量直接减到 0 或加到最多(卖:全部;买:银两够、合计不超过 99)
地图全景没有地图上按 Tab 打开当前地图的全景大地图(游戏暂停),标出主角位置和各出入口通往的地方;滚轮或 + - 缩放,拖动或方向键移动,Home 回到主角,Tab 或 Esc 关闭;再次打开时保持上次的缩放
状态页不显示閃躲、異常、默契、反應与学绝技的进度属性区行距压紧:经验合为「當前/下一級」一行,下面「絕技」显示绝技点与学下一个绝技所需的点数,五行抗性右边显示这四项数值
战斗开场进入战斗时随机一位角色先摆一段开场 POSE,大家等他摆完可以跳过,战斗立刻开始;摆 POSE 的那位角色照旧最先行动(见「設置」)
战斗行动条满了全场暂停,自动弹出指令面板可选「即時行動」:和《雲和山的彼端》一样,行动条满了不停住全场、不自动弹出指令面板,满条的角色排队,按确认键才打开菜单,可以在满条的角色之间切换;只有打开法术、物品等列表或有单位出手时才暂停(见「設置」)
自动战斗只用普通攻击可让戴着「連擊」饰品(武聖手鐲、姜公膽)且体力足够的角色自动使用「連擊」(见「設置」,默认关闭)

安裝與運行

  1. 准备好原版游戏目录,例如 E:\Game\swd3e。
  2. 从 Releases 下载最新版的压缩包,解压后得到 OpenSWD3e 文件夹,里面有 swd3er.exe、asset 文件夹和设置文件 swd3er.toml。可以整个放在任意位置,也可以把里面的东西放进游戏目录。
  3. 如果没有放进游戏目录,用记事本打开 swd3er.toml,在 [paths] 里写上游戏目录:
    [paths]
    data_dir = 'E:\Game\swd3e'
  4. 运行 swd3er.exe。

設置

exe 旁边有两个设置文件:

同一项两个文件都写了时,以 swd3er.toml 为准,这时在游戏里再改只在当次有效。swd3er.toml 里每一项都带着说明,默认被 # 注释掉,删掉行首的 # 就会生效。值写错或没写时取默认值,写错的会在日志里记一条警告。

下面是 swd3er.toml 的例子,除了游戏目录,写的都是默认值:

[paths]
# 原版游戏目录。不写时用当前目录,所以把 exe 放进游戏目录就不用写。
# 相对路径以 exe 所在的目录为准。路径用单引号时反斜杠照写,用双引号时要写成 \\。
data_dir = 'E:\Game\swd3e'
# 存档目录。不写时和原版一样存在游戏目录的 save 里。
save_dir = 'E:\Game\swd3e\save'

[window]
# 窗口的宽和高,至少 640×480。画面保持原来的比例尽量填满窗口,比例不同时留黑边。
# 这三项不写时,用上次退出时的窗口大小。游戏里按 Alt+Enter 切换全屏。
width = 1280
height = 960
# 启动时是否最大化。
maximized = false

[display]
# 以下五项也能在游戏里改:标题画面的「環境設定」,或游戏中按 Esc →「設定」→「顯示設定」。

# 平滑畫面。游戏逻辑仍和原版一样每 35 毫秒走一步,移动、淡入淡出等动态在两步之间
# 按显示器刷新率连续画出,高刷新率显示器更流畅。false 时和原版一样每 35 毫秒画一次。
smooth_motion = true
# 垂直同步。等显示器刷新再显示,消除画面撕裂。
vsync = true
# 每秒最多画几帧,可写 30~1000;0 表示不限,开着垂直同步时就跟随显示器刷新率。
# 只在平滑畫面开启时有效。
frame_rate = 0
# 平滑畫面按几倍精度绘制,可写 1~8。倍数越高,镜头和人物移动越细,也越耗 CPU
# (2 倍约为 1 倍的 3~4 倍)。"auto" 按窗口大小取能完整显示的最大倍数,最多 4 倍。
# 只在平滑畫面开启时有效。
render_scale = "auto"
# 地图填满宽屏窗口,能看到更大范围,对话框仍在中间。
# 菜单、战斗、存档等画面仍是 640×480,两边留黑边。
wide_map = true
# 地图上看不见、但调查后能拿到道具或银两的地方,以及还没打开的宝箱,头上显示一个跳动的箭头(能调查时才显示,拿走后消失)。
item_hints = false

[game]
# 启动时先显示启动画面;false 时直接进入标题画面。游戏里在「設定」第一行切换。
launcher = true
# 地图上默认跑步,false 是走路。游戏里按 R 切换时会记下来,下次启动照旧。
running = true
# 自动战斗时,戴着「連擊」饰品(武聖手鐲、姜公膽)且体力足够的角色自动使用「連擊」。游戏里在「設定」→「戰鬥設定」切换。
auto_combo = false
# 即時行動:和《雲和山的彼端》一样,行动条满了不停住全场、不自动弹出指令面板,满条的角色排队,按确认键才打开菜单,可以在满条的角色之间切换;只有打开法术、物品等列表或有单位出手时才暂停。游戏里在「設定」→「戰鬥設定」切换。
active_time = false
# 開場動作:进入战斗时随机一位角色先摆开场 POSE;false 时跳过,战斗立刻开始,那位角色照旧最先行动。游戏里在「設定」→「戰鬥設定」切换。
start_pose = true
# 调试模式,见「隱藏秘籍」的「调试模式」。
debug = false
# [game] 里还有音量、文字速度、战斗速度和按键([game.keys]),和原版「環境設定」里的一样,
# 在游戏里改就行。第一次启动时,这些设置会从游戏目录的 Env.dat 导入一次。

[logging]
# 日志的位置和文件名。每次启动写一个新文件,文件名后面加上启动时间和进程号,
# 例如 logs/swd3er-2026-10-29_14-32-05-127840.log。相对路径以 exe 所在的目录为准。
path = "logs/swd3er.log"
# 记录多详细,从多到少是 trace、debug、info、warning、error、critical。
level = "debug"

隱藏秘籍

以下都是原版就有的隐藏功能。

随时可用的按键

按键作用
F8暂停/继续游戏
P截图(地图上或战斗中),存到游戏目录的 ScrnShot 文件夹
Esc(播放影片时)跳过影片

调试模式

在 swd3er.toml 的 [game] 里写上 debug = true 打开调试模式。之后:

地图上:

按键作用
F12打开剧情旗标查看画面(只在没有对话时)
Ctrl+S/Ctrl+L随时打开存档/读档画面(只在没有对话时)
Ctrl+F立即进入一场战斗(当前地图会遇敌时)
Ctrl+F9快速模式(对话自动跳过),再按一次关闭
Ctrl+F1/Ctrl+F2显示/隐藏调试文字与地图格子标记
Ctrl+F3可以穿过障碍物,再按一次恢复
Ctrl+Tab+小键盘 +/-调整地图动画的速度
Ctrl+Q立刻退出游戏
F4作弊对话框(只限 Windows)
F6大部分物品与装备各增加 10 个
F7进入升天小游戏

战斗中(按住 Ctrl):

按键作用
Ctrl+F1显示/隐藏战斗的调试信息
Ctrl+F4调试信息里另显示我方四人的战斗数值
Ctrl+X攻击不扣敌人的生命,再按一次恢复
Ctrl+Z我方全员生命、灵力、体力补满,怒气补满,攻击 6500、防御 155、敏捷 100
Ctrl+W敌人全灭
Ctrl+E立即结束战斗
Ctrl+K下一击为「強攻擊」
Ctrl+D我方全员受到 50 点伤害
Ctrl+R我方全员受到 500 点伤害,灵力、体力各减 5
Ctrl+V敌人全员受到 10 点伤害
Ctrl+T敌人的行动条重新随机
Ctrl+F2切换「絕對靈契」/「正常靈契」
Ctrl+F9快速模式(对话自动跳过)
Ctrl+C中止正在施放的法术
Ctrl+F3停止战斗音乐
Ctrl+F5战斗放慢(每帧 0.1 秒),再按一次恢复
H/J(不按 Ctrl)所有角色和敌人向右/向左移动 10 像素

角色屬性

各项属性在原版里的实际作用(重制版的计算与原版相同)。属性都存成 16 位整数,最大 32767;表中的「上限」是超过后会被截掉、或再高也没有用的值。

属性作用上限
生命降到 0 就倒下9999。每场战斗开始时,参战角色的生命和生命上限超过 9999 的部分会被永久截掉
靈力施放法术和部分招式时消耗9999,同生命
體力使用部分招式和饰品指令时消耗9999,同生命
力量战斗中的攻擊 = 力量 + 装备的攻击力(装备加的力量同时加到攻擊)。普通攻击的伤害 = 攻擊 + 随机 1~(等級 ÷ 3 + 3)− 敌人防禦,不超过敌人防禦时伤害为 1;攻擊提升状态加 200%,和招式同属性的五行攻擊提升再加 30%,攻擊下降按状态的回合数减少一定比例攻擊按 16 位有符号数计算,超过 32767 时溢出,伤害反而只剩 1
耐力战斗中的防禦 = 耐力 + 装备的防御力;防禦提升状态加 200%。只减少敌人普通攻击的伤害:伤害 = 敌人攻擊 + 随机 1~(敌人等級 ÷ 3 + 3)− 防禦;不超过防禦时只受 0~1 加随机 1~(敌人等級 ÷ 3 + 3)的伤害。法术伤害不看防禦没有截断;高过敌人的攻擊后再高也没用
智慧法术等按招式数值计算的伤害,额外加随机 1~(等級 + 智慧)÷(5~9)。用带异常状态的招式攻击敌人时,智慧每高出敌人的智慧 20 点,中异常的机率加一成没有截断
敏捷战斗中行动条每帧增加「敏捷 ÷ 4」(加速状态时敏捷先加 40,減速时减 30),满了就轮到行动。行动条的满值 = 100 ×(20 − 戰鬥速度),戰鬥速度在「環境設定」里设定,0~11达到满值的 4 倍后一帧就满,再高也没用:戰鬥速度 11 时为 3600,0 时为 8000
閃躲原版不显示在状态页(重制版显示在五行抗性右边)。敌人攻击时,我方连续 13 次没闪开之后,每次掷 0~9,小于閃躲值就闪开;连续 26 次没闪开时下一次必闪;有人刚闪开后的下一次一定不闪。隐身状态时九成闪开。我方四人共用这个连续次数10,10 以上在可以掷时必闪。战斗中只取 0~255,超过 255 会绕回
異常原版不显示在状态页(重制版显示在五行抗性右边)。敌人攻击时掷 0~9,大于異常值才可能中异常状态,所以越高越好:中招机率为(9 − 異常)成9 以上不会中异常。变成负数时按很大的数比较,同样不会中
默契没有作用:战斗和其他计算都不读取,只在升级时显示增加了多少—
反應没有作用,同默契—
五行抗性状态页的 [金] [木] [水] [火] [土] 五个百分比。受到某个属性的攻击时,按五行生剋各取一项:一项按百分比减少伤害,一项按百分比增加伤害,一项不为 0 时把伤害变成按该百分比的回复。金:減 [火]、加 [木]、回復 [水];木:減 [金]、加 [土]、回復 [火];水:減 [土]、加 [火]、回復 [木];火:減 [水]、加 [金]、回復 [土];土:減 [木]、加 [水]、回復 [金]每项 −128~127
等級普通攻击的随机加成是 1~(等級 ÷ 3 + 3),法术的随机加成也计入等級战斗胜利升级只到 60 级