【游戏秘籍】
在游戏开始后的第一个菜单界面上输入以下的英文(小写):
numberonedacrestreet
假如没有反应,就说明您可能按错了、或者提前按了多余的键(例如:回车键)。
在这种情况下,您需要先进入任意菜单选项,再按ESC键返回主菜单并重新输入。
——————————
如果输入成功,那么您就会看到这个菜单界面:
建议您先把最下方的第七项“CHEAT KEYS”设为“ON”(用左/右方向键切换)。
这样您就能在游戏中使用以下的快捷键,并且开启即时存档功能:
F2 开启/关闭武器自动瞄准(仅限主要武器)
F3 开启/关闭无敌(仅限玩家)
F4 开启/关闭无限生命
F5 开启/关闭无限武器
F6 开启/关闭全灭敌人(仅限主要武器)
F7 当前战役胜利
F8 即时存档
F9 即时读档
F10 切换“标准”和“Frame Wait”模式(用途不明)
F11 重新开始当前关卡
——————————
秘籍菜单的其它选项的功能如下:
第一项:选关
0 [EXTRA] 玩一个小游戏:控制炮塔消灭奶牛(背景音乐是《玛丽和小羊羔》)。
1 [EXTRA] 玩一个小游戏:驾驶战斗机在限定时间内飞过圆环。
2 [EXTRA] 显示一段动画:异形入侵部队开始飞向地球。
3 [EXTRA] 显示一段动画:游戏胜利,玩家摧毁了异形星球。
4 [EXTRA] 显示一段动画:游戏失败,异形摧毁了地球。
0 [CAMPAIGN ACTION] 战役行动模式第1关-非洲
1 [CAMPAIGN ACTION] 战役行动模式第2关-南极
2 [CAMPAIGN ACTION] 战役行动模式第3关-大西洋
3 [CAMPAIGN ACTION] 战役行动模式第4关-美国
4 [CAMPAIGN ACTION] 战役行动模式第5关-月球
5 [CAMPAIGN ACTION] 战役行动模式第6关-异形星球
6 [CAMPAIGN ACTION] 战役行动模式第1附加关-非洲
7 [CAMPAIGN ACTION] 战役行动模式第2附加关-南极
8 [CAMPAIGN ACTION] 战役行动模式第3附加关-大西洋
9 [CAMPAIGN ACTION] 战役行动模式第4附加关-美国
0 [CAMPAIGN TACTICS] 战役战术模式第1关-非洲
1 [CAMPAIGN TACTICS] 战役战术模式第2关-南极
2 [CAMPAIGN TACTICS] 战役战术模式第3关-大西洋
3 [CAMPAIGN TACTICS] 战役战术模式第4关-美国
4 [CAMPAIGN TACTICS] 战役战术模式第5关-月球
5 [CAMPAIGN TACTICS] 战役战术模式第6关-异形星球
——————
只要您开启了第七项就能随时在游戏中使用以下的选项:
第二项:无敌
第三项:无限生命
第四项:无限武器
第五项:发射主要武器后全灭敌人
第六项:主要武器自动瞄准
————————————————————
【启动参数】
本游戏拥有开发者模式、以及用于排除常见问题的限定启动模式。
您需要在游戏的快捷方式中添加特定的参数,示例如下:
以下是所有可用参数的列表:
-1mb
-1.5mb
-2mb
-3mb
-4mb
-8mb
-16bit
-alpha
-alias
-debug
-fileout
-framerate
-gameindex
-invalpha
-lowdef
-mouse
-no3dsound
-no3dx
-noa3d
-noalphastipple
-nobilinear
-nocd
-nodither
-nofog
-nolensflare
-nolighting
-nomipmap
-nonetwork
-noshadows
-nosky
-nosound
-network
-notauto
-notfullscreen
-notrilinear
-notsc
-primary
-quickbreak
-reducedtexture
-resetoptions
-screenmode
-secondary
————————————————————
【修改方法】
本游戏的兵器数据、场景物体、以及作战单位的行动规律等文件都存放在安装目录中的asc文件夹内,建议您在修改前先备份这个文件夹。
您可使用任何文本编辑工具(例如:系统自带的记事本)直接打开后缀名为mdl、odl、wdl的文件,它们的内容如下:
mdl文件:当前战役的关卡设计,包括每个单位的武器装备和移动路线。
odl文件:当前战役中使用的物体模型数据(包括生命值、高度、各种速度)。另外,战役地形(land)的文件路径和天空贴图(sky)的数据(包括RGB颜色、雾化效果)放在这个文件的开头部分。
wdl文件:静态物体(建筑物、树木等)在战役地图上的坐标位置和方向。
除了上述的三种格式外,还有用于记录战役地形设定的bin文件。但它们并不重要,而且也无法直接修改。
——————————
asc的子文件夹的内容如下:
africa文件夹:包括非洲地图的战役行动(africa_action)、战役行动附加关(africa_virus)、以及战役战术模式(africa)的三种文件。
Arcade文件夹:包括街机模式的六个战场的mdl文件。
arctic文件夹:包括南极地图的所有游戏模式的三种文件。
canaveral文件夹:包括美国地图的所有游戏模式、以及第一个隐藏小游戏(canaveral_cows)的三种文件。
egypt文件夹:包括异形星球地图的所有游戏模式、以及胜利结局(egypt_victory)的三种文件。
language文件夹:包括游戏中所有的剧情文本。
misc文件夹:包括游戏中的所有武器装备、街机模式的强化物品(ianextra.odl)、以及异形战斗单位的odl文件。提示:玩家控制的战斗单位数据存放在各个战役的地图文件夹中。
moon文件夹:包括月球地图的所有游戏模式、第二个隐藏小游戏(moon_race)、异形入侵动画(moon_intro)、以及失败结局(moon_defeat)的三种文件。
multi文件夹:包括多人游戏模式的六个战场的mdl文件。
oceanic文件夹:包括北大西洋地图的所有游戏模式的三种文件。
pads文件夹:包括CTL格式的文件。它们的用途不明,而且无法直接修改。
setup文件夹:包括游戏在菜单背景上显示的演示动画的三种文件。
levels.txt:记录了游戏战役和菜单界面需要读取的mdl、odl、wdl、以及剧情文本的文件名称和路径。您一般不需要修改这里的内容,否则可能会造成游戏无法启动。
——————————
修改战斗单位的性能数据
玩家可使用的地球战斗单位的数据存放在各个战役的odl文件中。
玩家可使用或不可使用的异形战斗单位的数据存放在misc文件夹中。
——————
以直升机的数据为例:
type "helicopter"
name "commanche"
schematic "schmatics\comanche-s.ppm"
objfile "pweapons\pcexport\comanche.ian" scale 10.2
objfile lod 1 "pweapons\pcexport\low\comanche.ian"
texture "pweapons\dsrtcam2.ppm" transparent
group "human"
hitpoints 150
points 500
sfx "helicopt" min 1000 max 12000 loop
dynamics "helicopter"
mass 200
max altitude 4500
max vel 80
yaw acc 3
pitch acc 4
roll acc 3
linear acc 5
up thrust 10
bank stability 20%
angular drag 25%
cockpit 0 27 88
cannons
pos 0 72 132
secondary_cannons
pos 50 52 20
pos -50 52 20
shadow "effects\comanche shd 1.ppm" transparent alpha low
child "HELI FLW"
objfile "pweapons\pcexport\Comflwhl.ian" scale 10.2
texture "pweapons\dsrtcam2.ppm" transparent
drawtype double sided
position -15 -20 0
——————
每行代码的意义:
type "helicopter" 这是游戏可识别的物体类型。更换战斗单位的时候,请使用这个名称。
name "commanche" 这是开发者对这个物体的实际命名,但不能用于更换战斗单位。
schematic 这是在战斗画面右上角显示的物体轮廓图的文件名称和路径(无需修改)。
objfile 这是游戏加载的物体模型文件的名称和路径(无需修改)。
texture 这是物体模型对应的贴图文件的名称和路径(无需修改)。
group 表示该物体所属的阵营。人类是"human"、异形是"aliens"、武器装备是"weapon",中立物体不需要添加这一行。
hitpoints 表示该物体的生命值。
points 表示摧毁该物体后,玩家可增加或减少的分数。
sfx 这是物体本身的固定音效的名称和音量范围,末尾的loop表示无限循环播放。
dynamics 表示当前物体的物理数据:
mass - 物体的质量(这一项可决定两个物体相撞时的受损程度)
max altitude - 最大飞行高度
max vel - 最大速度
yaw acc - 垂直升降速度
pitch acc - 水平转向速度
roll acc - 翻转速度
linear acc - 不明
up thrust - 最大加速
bank stability - 转向稳定性
angular drag - 角度阻力
dynamics右侧的双引号是该物体的性质:
"helicopter" 直升机
"vtol" 垂直起降机
"plane" 飞机(包括A-10、F-22、C-17等)
"alien" 反重力飞行器
"tank" 履带式坦克
"hovercraft" 悬浮式坦克
"bigship" 水面舰艇、潜艇、冰山、巨型飞行母舰(北大西洋最终关)和水下基地
"gun" 固定炮塔(包括舰艇上的固定武器)
"weapon" 武器装备
"cow" 跳跃的牛
"gravity" 无法移动的物体(包括无人机、建筑物等)
cockpit 表示座舱的位置,也就是玩家控制这个单位时的视角位置。
cannons 表示主要武器的发射位置。
secondary_cannons 表示次要武器的发射位置。
shadow 这是物体使用的阴影文件的名称和路径(无需修改),末尾的transparent表示透明度。
child 这些是当前物体附带的其它动态物体(例如:指示灯、牵引索、发动机、起落架)的模型、贴图和位置数据。
——————
飞机的物理数据:
min altitude - 最小飞行高度(仅限AI控制时)
min vel - 最小速度(垂直起降机是0)
linear drag - 直线阻力
——————
悬浮式坦克的物理数据:
max altitude - 离地高度
——————
炮塔的物理数据:
max ang - 最大仰角
min ang - 最小俯角
——————
武器装备的数据有所不同:
type "PLASMA BOLT 1"
name "HEAVY PLASMA"
sprite u=0 v=191 w=64 h=64
texture "smoke.ppm" transparent alpha
group "weapon"
hitpoints 30
sfx "plasma1" channels 2 min 300 max 15000
dynamics "weapon"
max vel 180
range 90
size 256
Fire Angle 8
这里的hitpoints并不是生命值,而是该武器的攻击力。另外,物理数据中的max vel表示最大飞行速度、range表示射程、size表示尺寸(攻击判定范围)、Fire Angle表示发射角。
——————
为了增加一个战斗单位的生命值,您可修改hitpoints。
更改type可直接改变物体的类型。如果您想使用当前战役中没有的单位(例如:在非洲使用异形星球的飞艇),请把它从type开始的所有代码都复制到战役对应的游戏模式的odl文件中,位置不限(建议直接复制到Player Craft)。
游戏可识别的所有武器装备和战斗单位的类型:
https://shimo.im/docs/gJd6HDGpGRV3vkvq
假如您想控制一个无法移动的单位(例如:非洲第2关的无人机),请把其它飞行单位的dynamics数据复制到它的对应区域,同时保持下方的child不变。例如:
type "recpod2"
objfile "backgrnd\pcexport\level1\recpod2.ian" scale 14
objfile lod 1 "backgrnd\pcexport\low\recpod2.ian"
texture "pweapons\dsrtcam2.ppm" transparent
group "human"
hitpoints 200
dynamics "alien"
mass 115
max altitude 9000
min altitude 500
max vel 80
min vel 0
pitch acc 2.2
yaw acc 1.6
roll acc 3.5
linear acc 5
bank stability 60%
linear drag 40%
angular drag 40%
child "podlight"
用这个方法可以把游戏中的任意物体改为可飞行和攻击的战斗单位,包括建筑物和导弹:
——————————
修改游戏关卡的单位指令
事先说明:由于没有办法查看游戏的地图坐标,所以您无法更改每关的战斗单位的起始地点。
您能够修改的只有单位的类型、数量、武器装备和行动指令,它们存放在对应游戏模式的mdl文件中。
——————
以下是玩家即将控制的单位:
create hero "tank2"
label "banstyle"
position 37200 on ground 42201
forward -0.8 0 -0.5 up 0 1 0
armed_with "ROCKET 1" rate 32
secondary_armed_with "GUIDED MISSILE" rate 64 rounds 20
inert
task
wait_until flag 0 set
playercontrols
break_task_if flag 31 set
end
——————
每行代码的意义:
create 创建单位(hero表示由玩家控制),这里必须输入物体的类型。
label 这是代表该单位的标签。以后的任务会直接调用这个标签,不用再创建一个单位(例如:玩家在非洲战役第3关驾驶的坦克数据其实放在第1关)。
position 表示该单位在地图上的坐标位置。
forward 表示该单位在地图上的方向。
armed_with 表示该单位的主要武器类型、射速(rate)。
secondary_armed_with 表示该单位的次要武器类型、射速、弹数(rounds)。如果您想把武器改为无限,删除射速后面的rounds就行了。
inert 表示该单位为无敌状态。
task 这是该单位执行的指令。您一定要用end作为指令的结尾,否则游戏会出错。
(另注:towards表示该单位向某个物体前进)
——————
常用的指令如下:
attack 自行攻击附近的敌人。
attack group 只攻击某个特定的组。
attack "hero" 只攻击玩家。
shoot 朝一个固定地点射击。
(注意:如果执行上述指令的单位没有配备任何武器,就将导致游戏出错!)
goto 前往地图的某个坐标位置。
patrol 设置该单位的巡逻路线。
(提示:如果您想把上述的移动指令设为无限循环,请在最终坐标的下一行加上forever)
playercontrols 表示这个单位被玩家控制。
slave_to 表示该单位附属于另一个物体(例如:导弹发射器附属于激光炮塔)。
do 执行这以下的所有指令。
until 直到某个设定或开关被触发之前都执行这以上的所有指令。
wait_until 等待其它的指令、设定或开关执行完毕。
break_task_if 如果某个设定或开关被触发,则停止执行当前的指令。
kill 当前单位消失。
explode 当前单位自爆。
hurt "" * 对双引号内的物体造成*点损伤。
——————
修改end_procedure terminate after * loops中的数字*可决定敌方攻击编队所包含的单位数量。
建议您参考游戏的mdl文件设计来了解其它的指令及其用途。
————————————————————