• 技术交流 | 模式文件格式剖析
  • 楼主: yty |查看: 8534|回复: 2
yty 管理员

主题

好友

2104

积分
yty 发表于 2012-6-14 17:41:22
本帖最后由 yty 于 2012-6-15 20:47 编辑

末日浩劫的模式文件后缀名为.wsc,放置在\User\Scheme文件夹下,采用二进制格式,编辑请用任意十六进制编辑器,如UltraEdit、WinHex、Notepad++等,勿用Windows记事本。推荐专用模式编辑器是Etho编写的SchemeEddy

模式文件定义了两大块内容,游戏参数和武器参数。

文件格式

偏移长度类型描述
004int32签名。是用来标识wsc文件的魔术数字。十六进制为0x5343484D,ASCII为"SCHM"。
041byte版本。0x01=标准版本;0x02=扩展版本(扩展了超级武器条目)。
051ubyte热座时间。即回合开始前的思考时间。值代表秒数。
061byte撤退时间。在陆地时使用武器后的额外行动时间。值代表秒数。
071byte绳子撤退时间。在使用绳子时施放武器后的额外行动时间。值代表秒数。
081bool显示局时。如果设为1,则本局经历的总时间会与回合时间并列显示,设为0不显示。
091bool自动回放。如果设为1,则自动回放有重要意义的回合。只在单机游戏中有效。设为0不自动回放。
0A1byte坠落伤害。此值即为坠落伤害深度解析中FDByte的值。
0B1bool射击模式。设为1,虫子不可移动。设为0,虫子可以移动。
0C1byte保留未用。一种建议的用法是设置为魔术数字来标识编辑此文件的编辑器。例如SchemeEddy编辑的模式文件该值为0x89。
0D1byte武器积累模式。决定本局结束时剩余武器与下一局的关系。只对于局数多于1局的比赛有效。值:0=本局剩余武器不带入下局,下局武器刷新。1=本局剩余武器积累到下局,且下局另外获得一组新武器。2=一组武器需要打完整场比赛。
0E1byte虫子选择模式。决定回合开始时哪只虫子被选择。值:0=按顺序;1=可自由选择;2=随机选择。
0F1byte突然死亡模式。决定局时用尽时发生的事件。值:0=一局结束,总血量最多队伍获胜;1=核试验,地图所有虫子中毒;2=地图所有虫子血量为1;3=什么都不发生。
101sbyte突然死亡时水面上涨速度。详见突然死亡解析
111sbyte武器箱相对出现概率。该值的详细含义见箱子概率解析
121bool捐赠卡模式。设为1,某队伍被击败时会留下一张捐赠卡。设为0,不出现。
131sbyte血箱相对出现概率。该值的详细含义见箱子概率解析
141ubyte血箱血量。值代表每个血箱所含血量。
151sbyte工具箱相对出现概率。该值的详细含义见箱子概率解析
161byte地图物件种类。详见危险物品解析
171byte地雷引信时间。以秒为单位,设置地雷从激活到爆炸所需时间。值:0x04,0x80~0xFF=0~3秒内的随机数;其他=秒数。
181bool哑雷。设为1,存在哑雷。设为0,不存在哑雷。
191bool虫子初始放置模式。设为0,虫子随机放置。设为1,一局开始时由玩家手动放置。
1A1ubyte虫子初始血量。设为0,游戏崩溃。设为其他数字为虫子的初始血量。
1B1sbyte回合行动时间。值:0x00~0x7F=回合行动时间。0x80~0xFF=回合时间正计时而非倒计时。
1C1sbyte局时。是从一局开始到突然死亡开始的时间。值:0~127代表局时的分钟数,设为128~255代表此数字减去127的局时秒数。
1D1byte局数。是某玩家赢得比赛所需的局数。值:0=1局,其他=局数。
1E1bool流血效果。设为1,虫子受伤有流血动画。设为0,无流血动画。
1F1bool两栖绵羊。设为1,超级绵羊变为两栖绵羊。设为0,为普通超级绵羊。
201bool全绵羊模式。设为1,所有武器箱中都是绵羊,超级绵羊爆炸时间无限。设为0,武器箱正常,超级绵羊爆炸时间20秒。
211bool上帝模式。设为1,虫子血量无限,只能淹死。设为0,虫子血量有限。
221bool陆地不可破坏。设为1,地图不可破坏,除非水位上涨淹没地图。设为0,地图可破坏。
231bool手雷升级。设为1,手雷具有更大破坏力。设为0,普通手雷。
241bool霰弹枪升级。设为1,每枪射出两发子弹,于是一回合可以有4发子弹,造成最大100伤害。设为0,普通霰弹枪。
251bool子母弹升级。设为1,所有子母弹武器子弹片数量变多。设为0,普通子母弹。
261bool长弓升级。设为1,长弓威力更大。设为0,普通长弓。
271bool组队武器。详见组队武器解析
281bool超级武器。设为1,超级武器可能会在武器箱中出现。设为0,超级武器不会在武器箱中出现。
29180/256 array 武器设置。见下。

武器条目结构

模式文件第1版包含45条武器条目,文件大小为221字节。第2版包含64武器条目,文件大小297字节。

每一条武器条目包括4个字节。含义如下。
偏移长度
类型
描述
00 1 ubyte 武器数量。设为0A代表无限数量。
01 1 ubyte 武器威力。
02 1 ubyte 武器延时回合数。即第几回合开始可以使用该武器。
03 1 ubyte 在武器箱中出现概率。详见箱子概率解析

武器顺序表

以下是模式文件中武器条目排列顺序表。格式:序号.文件头偏移 武器名称
  • 29 火箭炮
  • 2D 追踪导弹
  • 31 迫击炮
  • 35 手雷
  • 39 集束炸弹
  • 3D 臭鼬
  • 41 汽油炸弹
  • 45 香蕉炸弹
  • 49 手枪
  • 4D 霰弹枪
  • 51 乌兹
  • 55 机枪
  • 59 长弓
  • 5D 空袭
  • 61 凝固汽油弹
  • 65 地雷
  • 69 升龙拳
  • 6D 波动拳
  • 71 自杀
  • 75 戳击
  • 79 战斧
  • 7D 喷灯
  • 81 风钻
  • 85 钢梁
  • 89 忍者绳索
  • 8D 降落伞
  • 91 蹦极绳索
  • 95 瞬间移动
  • 99 雷管
  • 9D 绵羊
  • A1 棒球棍
  • A5 火焰喷射器
  • A9 追踪飞鸽
  • AD 疯牛
  • B1 神圣手雷
  • B5 老妇人
  • B9 绵羊发射器
  • BD 超级绵羊
  • C1 鼹鼠炸弹
  • C5 喷气背包
  • C9 低重力
  • CD 激光瞄准
  • D1 快速行走
  • D5 隐身
  • D9 双倍伤害
  • DD 冰冻
  • E1 超级香蕉炸弹
  • E5 地雷空袭
  • E9 钢梁包裹
  • ED 地震
  • F1 正义天平
  • F5 明朝花瓶
  • F9 地毯炸弹
  • FD 魔术子弹
  • 101 印度核试验
  • 105 选择虫虫
  • 109 救世军
  • 10D 鼹鼠中队
  • 111 MB炸弹
  • 115 混凝土大笨驴
  • 119 自杀炸弹
  • 11D 法式绵羊空袭
  • 121 邮件空袭
  • 125 世界末日

备注:从46.冰冻开始,为超级武器。
只言片语也是一种鼓励
返回板块
回帖列表

主题

好友

1568

积分
百战pp虫 发表于 2012-6-15 14:55:06 |显示全部楼层
{:soso__6235880048239246314_3:}

使用道具 举报

主题

好友

159

积分
加菲丶猫~ 发表于 2012-6-15 18:02:06 |显示全部楼层
my rp bf

使用道具 举报

您需要登录后才可以回帖 登录 | 新虫注册

本版积分规则

 
返回顶部