2023年12月2日发(作者:)

《战地2》单机代码修改《战地2》单机代码修改

修改之前

BF2的文档文件主要有*.py、*.con和*.tweak三种,都可以直接用Windows自带的记事本打开并修改。

大部分文档文件都是在ZIP文件里,需要用WinRAR打开。

在修改之前,一定要取消所有文档文件、ZIP文件的只读属性。

ZIP文件内的文档若仍无法存储,可先存到其它地方,然后复制进去。

这里说的安装目录,是指你的所在的文件夹目录,例如D:Program FilesEA GamesBattlefield 2文件夹里有,那么D:Program FilesEA GamesBattlefield 2就是你的安装目录。

备份 创建新模组

由于BF2在联网游戏时要检验各文件的MD5,因此备份就不能简简单单地复制一下。把修改的文件做成模组形式无疑是最好的选择。

首先打开[安装目录]mods文件夹,新建一个文件夹,名称随便(例如mymod,下同)。

接着打开bf2文件夹,复制你要修改的文件。

例如,如果要修改object_,那么就复制bf2目录下的object_到mymod目录下;如果要修改AI文件,那么复制bf2目录下的AI文件夹到mymod目录下;如果要修改大庆地图,那么复制modsbf2levelsdaqing_oilfields文件夹到modsmymodlevelsdaqing_oilfields(没有的话自己建),如果不需要修改,可以在复制后将其删除。

但是如果你要修改一个模组,比如特种部队,那么你就要整个复制模组文件夹。

有单机模组的可以直接修改单机模组里的文件,因为没人会用单机模组联网对战。

接下来就开始修改mymod目录下的文件吧。

如果你的硬盘空间不是很多,可以在修改完object_后看一看,假如你只修改了武器属性,那么打开修改后的object_,删除除Weapons文件夹外其它的文件夹,可以大大减少文件所占空间。(mymod根目录下所有的*.zip文件都可这么做,但是地图文件就算了)

复制bf2目录下的、、、、、、到mymod目录下,然后开始修改mymod目录下的这些文件:

修改文件名为;

用记事本打开ClientArchives,复制整个内容,然后在最后一行再空一行后面,粘贴,在后面的几行“mountArchive”后面的空格后添加“mods/bf2/”(没有引号),连起来就是

rchive mods/bf2/Objects_

Objects,然后保存、退出;

也是这个改法;

也可以用记事本修改,当然不改也无所谓。

最后回到你的游戏目录,建一个的快捷方式,更名为mymod,然后右键——属性,在目标一栏的末尾空一个格加上“+modPath

mods/mymod”,点确定退出。

运行新建的快捷方式进入游戏看看吧!

计分规则修改

用记事本打开

然后就能看到了SCORE_KILL = 2 —— 杀1个人的得分;SCORE_SUICIDE = -2 —— 自杀的得分

SCORE_TEAMKILL = -4 —— 杀一个队友的得分;SCORE_REVIVE = 2 —— 救起队友的得分

SCORE_TEAMDAMAGE = -2 —— 伤害队友的得分

SCORE_TEAMVEHICLEDAMAGE = -1 —— 伤害队友车辆的得分SCORE_DESTROYREMOTECONTROLLED = 1 —— 不知道,看英文好像是摧毁敌方无人侦察机的得分SCORE_KILLASSIST_DRIVER = 1 —— 压死人的得分

SCORE_KILLASSIST_PASSENGER = 0 —— 压死人车上其他人的得分??不知道

SCORE_KILLASSIST_TARGETER = 1 —— 靶子?更没听说过SCORE_KILLASSIST_DAMAGE = 1 —— 对地方造成伤害得分

下面好像就是加分或者减分的极限了,有兴趣的可以自己研究,可能对兵力值调9999的人有用。

REPAIR_POINT_LIMIT = 100HEAL_POINT_LIMIT = 100

GIVEAMMO_POINT_LIMIT = 100TEAMDAMAGE_POINT_LIMIT = 50

TEAMVEHICLEDAMAGE_POINT_LIMIT = 50REPLENISH_POINT_MIN_INTERVAL = 30

我们把那些数值改一下,比如把所有负值的负号取消,这样误杀一个队友还会加分(当然兵力值还会减)。

也可以改成你喜欢的数值。改完之后,保存,退出。

然后里

把你相应在上面改过的地方也改成相同的数值(好像不改也没事,2142就是个例子)。

单机服务器属性修改

多人游戏可以修改重生时间等,然而到了单人游戏就不能在游戏里修改了。怎么办呢? 先用记事本打开然后在最后加上:

PerMap 3

rFriendlyFire eFriendlyFire 0

每个地图玩几局,作用不大rSplashFriendlyFire eSplashFriendlyFire 0

ime 5友军火力,0为没有 ,默认100。

nTime 5

重生时间,调几都行,没试过负数。Ratio 1000方便。

兵力值,默认100,众所周知可以在gpm_里改,但在这里改更

里的其它数据也都可以用,有兴趣的自己看看。