战地2属性地图修改.docx

上传人:b****3 文档编号:5304525 上传时间:2022-12-15 格式:DOCX 页数:58 大小:61.61KB
下载 相关 举报
战地2属性地图修改.docx_第1页
第1页 / 共58页
战地2属性地图修改.docx_第2页
第2页 / 共58页
战地2属性地图修改.docx_第3页
第3页 / 共58页
战地2属性地图修改.docx_第4页
第4页 / 共58页
战地2属性地图修改.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

战地2属性地图修改.docx

《战地2属性地图修改.docx》由会员分享,可在线阅读,更多相关《战地2属性地图修改.docx(58页珍藏版)》请在冰豆网上搜索。

战地2属性地图修改.docx

战地2属性地图修改

修改之前

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

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

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

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

这里说的安装目录,是指你的BF2.exe所在的文件夹目录,例如D:

ProgramFilesEAGamesBattlefield2文件夹里有BF2.exe,那么D:

ProgramFilesEAGamesBattlefield2就是你的安装目录。

备份创建新模组

由于BF2在联网游戏时要检验各文件的MD5,因此备份就不能简简单单地复制一下。

把修改的文件做成模组形式无疑是最好的选择。

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

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

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

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

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

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

如果你的硬盘空间不是很多,可以在修改完object_server.zip后看一看,假如你只修改了武器属性,那么打开修改后的object_server.zip,删除除Weapons文件夹外其它的文件夹,可以大大减少文件所占空间。

(mymod根目录下所有的*.zip文件都可这么做,但是地图文件就算了)

复制bf2目录下的bf2.mew、ClientArchives.con、GameLogicInit.con、Ingame.mep、Init.con、Mod.desc、ServerArchives.con到mymod目录下,然后开始修改mymod目录下的这些文件:

修改bf2.mew文件名为mymod.mew;

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

ServerArchives.con也是这个改法;

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

最后回到你的游戏目录,建一个BF2.exe的快捷方式,更名为mymod,然后右键——属性,在目标一栏的末尾空一个格加上“+modPathmods/mymod”,点确定退出。

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

计分规则修改

用记事本打开modsbf2pythongamescoringCommon.py

然后就能看到了

SCORE_KILL=2——杀1个人的得分;

SCORE_TEAMKILL=-4——杀一个队友的得分;

SCORE_SUICIDE=-2——自杀的得分

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=100

HEAL_POINT_LIMIT=100

GIVEAMMO_POINT_LIMIT=100

TEAMDAMAGE_POINT_LIMIT=50

TEAMVEHICLEDAMAGE_POINT_LIMIT=50

REPLENISH_POINT_MIN_INTERVAL=30

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

也可以改成你喜欢的数值。

改完之后,保存,退出。

然后modsbf2SettingsScoreManagerSetup.con里

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

单机服务器属性修改

多人游戏可以修改重生时间等,然而到了单人游戏就不能在游戏里修改了。

怎么办呢?

先用记事本打开modsbf2GameLogicInit.con

然后在最后加上:

sv.roundsPerMap3

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

sv.soldierFriendlyFire0

sv.vehicleFriendlyFire0

sv.soldierSplashFriendlyFire0

sv.vehicleSplashFriendlyFire0

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

sv.spawnTime5

sv.manDownTime5

重生时间,调几都行,没试过负数。

sv.ticketRatio1000

兵力值,默认100,众所周知可以在gpm_cq.py里改,但在这里改更方便。

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

战地2地图属性修改

经常有朋友问,怎么把USMCvsPLA的图改成USMCvsMEC甚至MECvsPLA的图的方法,或者怎样调整双方兵力值的比例。

这里,我给你答案。

选择一个地图,用WinRAR打开[你的安装目录]modsbf2[地图名]server.zip,然后找到Init.con,用记事本打开它修改。

gameLogic.setTeamName1"MEC"——第一支队,可以填US、CH或MEC;

gameLogic.setTeamName2"US"——第二支队,同上。

gameLogic.setTeamLanguage1"MEC"——第一支队使用语言,可以填English、Chinese、MEC,当然不只这些;

gameLogic.setTeamLanguage2"English"——第二支队使用语言,同上。

gameLogic.setTeamFlag0"flag_neutral"——中立旗颜色;

gameLogic.setTeamFlag1"flag_mec"——第一支队据点旗的颜色,flag_mec、flag_us、flag_ch均可;

gameLogic.setTeamFlag2"flag_us"——第一支队据点旗的颜色,同上。

gameLogic.setKit10"MEC_Specops""mec_light_soldier"——改了队伍后把MEC改成其它的即可,下同。

gameLogic.setKit20"US_Specops""us_light_soldier"

gameLogic.setKit11"MEC_Sniper""mec_light_soldier"

gameLogic.setKit21"US_Sniper""us_light_soldier"

gameLogic.setKit12"MEC_Assault""mec_heavy_soldier"

gameLogic.setKit22"US_Assault""us_heavy_soldier"

gameLogic.setKit13"MEC_Support""mec_heavy_soldier"

gameLogic.setKit23"US_Support""us_heavy_soldier"

gameLogic.setKit14"MEC_Engineer""mec_light_soldier"

gameLogic.setKit24"US_Engineer""us_light_soldier"

gameLogic.setKit15"MEC_Medic""mec_light_soldier"

gameLogic.setKit25"US_Medic""us_light_soldier"

gameLogic.setKit16"MEC_AT""mec_heavy_soldier"

gameLogic.setKit26"US_AT""us_heavy_soldier"

GameLogic.MaximumLevelViewDistance600——最大可视距离,往巷战图加飞机的别忘了改这里。

gameLogic.setDefaultNumberOfTicketsEx161100——16人地图第一支队兵力值;

gameLogic.setDefaultNumberOfTicketsEx162100——16人地图第二支队兵力值;

gameLogic.setDefaultNumberOfTicketsEx321200——32人地图第一支队兵力值;

gameLogic.setDefaultNumberOfTicketsEx322200——32人地图第二支队兵力值;

gameLogic.setDefaultNumberOfTicketsEx641300——64人地图第一支队兵力值;

gameLogic.setDefaultNumberOfTicketsEx642330——64人地图第二支队兵力值;

gameLogic.setDefaultNumberOfTicketsEx1281200——128人地图第一支队兵力值;

gameLogic.setDefaultNumberOfTicketsEx1282200——128人地图第二支队兵力值;

gameLogic.setTicketLossPerMin112——第一支队处于下风时每分钟损失点数;

gameLogic.setTicketLossPerMin26——第二支队处于下风时每分钟损失点数。

gameLogic.setTeamDropVehicle1"jep_mec_paratrooper"——第一支队指挥官空投载具时出现的载具;

gameLogic.setTeamDropVehicle2"Jeep_faav"——第二支队指挥官空投载具时出现的载具。

保存退出后,用新的Init.con文件覆盖压缩包里的Init.con文件,即可(之前备份)。

出生点修改为伞降点

rem[SpawnPointTemplate:

Dropzone_1]

ObjectTemplate.createSpawnPointDropzone_1

ObjectTemplate.activeSafeSpawnPointDropzone_1

ObjectTemplate.modifiedByUser"olive"

ObjectTemplate.isNotSaveable1

ObjectTemplate.setSpawnPositionOffset0/1.25/0

ObjectTemplate.setControlPointId102

ObjectTemplate.setSpawnAsParaTroper1

修改远程火炮

打开[游戏目录]modsbf2Objects_server.zip

用记事本打开WeaponsstationaryUSART_LW155USART_LW155.tweak

若修改中国、中东则为Weaponsstationaryars_d30ars_d30.tweak

ObjectTemplate.fire.roundsPerMinute30——火炮的发射频率是每分钟30发;

ObjectTemplate.fire.burstSize5——每次呼叫火炮的炮弹发射量为5发;ObjectTemplate.armor.explosionRadius6——一颗炸弹的爆炸威力半径是6米;ObjectTemplate.deviation.radius20——炮火精准度为20米。

修改后保存即可。

修改兵种所持武器

打开[游戏目录]modsbf2Objects_server.zip

打开Kits文件夹,打开你要修改的队伍的文件夹(US美军,CH解放军,MEC中东联合军),用记事本打开你要改的兵种的con文件(Assault突击兵,AT反坦克兵,Engineer工程兵,Medic医疗兵,Sniper狙击兵,Specops特种兵,Support支援兵)。

修改以“ObjectTemplate.addTemplate”为开头的行就可以了,在后面写上武器代码(后面有,必须是能够手持的武器),如ObjectTemplate.addTemplateRURIF_AK47。

注意武器不能冲突,比如出现两把主武器,这样按“3”两款武器就会打架,游戏就会出问题。

如果非要添两把武器,可以参见后面,修改武器编号,再进行添加。

BOT数值更改

BF2的singleplayer模式里面限制人数为16,打起来还是觉得不够激烈,增加BOT就显得非常重要了;另外附带提一下,其他人也能进入你的singleplayer模式的,记下你的IP(读游戏的时候有写)告诉同伴,家就能一起KBOT了。

用记事本打开modsbf2AIaidefault.ai

aiSettings.setMaxNBots256——最大游戏人数,也可以保持原来的64不变,基本上影响不大。

aiSettings.maxBotsIncludeHumans1

aiSettings.setBotSkill0.4

……

aiSettings.overrideMenuSettings1——删掉最前面的rem,再下面3行也一样。

aiSettings.setMaxNBots31——最大BOT数,一般的机器跑48或者32比较合适,机器好的可以尝试下64或者以上。

aiSettings.maxBotsIncludeHumans0

aiSettings.setBotSkill1.0——BOT难度,0.4简单,1.0困难,不过小于0.4或大于1.0也可。

BOT更名

用记事本打开modsbf2AIBotNames.ai

aiSettings.addBotNameT.Karlsson

把名字改一下,如Snake,则为”aiSettings.addBotNameSnake“。

如果行前有REM的要去掉REM。

手持武器修改

打开modsbf2object_server.zip

用记事本打开WeaponsHandheld[你要修改的武器的代码,最后有]*.tweak文件。

修改子弹数量(以M95为例)

找到以下这段

rem---BeginComp:

DefaultAmmoComp---

ObjectTemplate.createComponentDefaultAmmoComp

ObjectTemplate.ammo.magSize5——弹匣内子弹数量,-1为无限;

ObjectTemplate.ammo.nrOfMags7——弹匣数量,-1为无限;

ObjectTemplate.ammo.reloadTime6——换弹时间。

rem---EndComp---

所有武器、载具的弹药数量都可以这么改。

狙击枪连射,不退弹壳(以M95为例)

找到以下这段

rem---BeginComp:

DefaultAnimationComp---

ObjectTemplate.createComponentDefaultAnimationComp

ObjectTemplate.animation.useShiftAnimation1——删掉这一行

ObjectTemplate.animation.shiftDelay1.8——删掉这一行

rem---EndComp---

接下来找到这段

ObjectTemplate.activeSafeSoundS_ussni_m95_barret_Reload1P

ObjectTemplate.modifiedByUserdsu

ObjectTemplate.soundFilename"objects/weapons/handheld/ussni_m95_barret/sounds/barrett_1p_reload.wav,objects/weapons/handheld/ussni_m95_barret/sounds/barrett_shift_1p.wav"

ObjectTemplate.loopCount1

ObjectTemplate.is3dSound0

ObjectTemplate.stopType1

ObjectTemplate.volume0.75

ObjectTemplate.pitch1

ObjectTemplate.pan0.5

ObjectTemplate.reverbLevel1

把”objects/weapons/handheld/ussni_m95_barret/sounds/barrett_shift_1p.wav“删掉,

只留下”objects/weapons/handheld/ussni_m95_barret/sounds/barrett_1p_reload.wav“

注意,其它狙击枪"objects/weapons/handheld/ussni_m95_barret/sounds/barrett_1p_reload.wav”

和“objects/weapons/handheld/ussni_m95_barret/sounds/barrett_shift_1p.wav"

可不一样,看类似的即可。

射击之后不会自动关掉狙击镜(以M95为例)

找到以下这段

rem---BeginComp:

DefaultZoomComp---

ObjectTemplate.createComponentDefaultZoomComp

ObjectTemplate.zoom.zoomDelay0.09

ObjectTemplate.zoom.zoomLod1

ObjectTemplate.zoom.addZoomFactor0

ObjectTemplate.zoom.addZoomFactor0.2

ObjectTemplate.zoom.changeFovDelay0.1

ObjectTemplate.zoom.zoomOutAfterFire0——改成1即可

ObjectTemplate.zoom.disableMuzzleWhenZoomed1

rem---EndComp---

不开狙击镜,一样有准星(以M95为例)

先找到这段

ObjectTemplate.weaponHud.guiIndex0,把0改成4

再找到底下这段

rem---BeginComp:

SoldierDeviationComp---

ObjectTemplate.createComponentSoldierDeviationComp

ObjectTemplate.deviation.setFireDev3.520.5

ObjectTemplate.deviation.minDev5

ObjectTemplate.deviation.setTurnDev0000

ObjectTemplate.deviation.setSpeedDev31.51.51

ObjectTemplate.deviation.setMiscDev2.550.2

ObjectTemplate.deviation.devModStand2

ObjectTemplate.deviation.devModCrouch1.5

ObjectTemplate.deviation.devModLie0.8

ObjectTemplate.deviation.devModZoom0.02

rem---EndComp---

改成以下这样(这个是参考步枪的准星模式,有兴趣的可以自己研究)

rem---BeginComp:

SoldierDeviationComp---

ObjectTemplate.createComponentSoldierDeviationComp

ObjectTemplate.deviation.setFireDev20.20.05

ObjectTemplate.deviation.minDev0.3

ObjectTemplate.deviation.setTurnDev0000

ObjectTemplate.deviation.setSpeedDev1.20.20.20.1

ObjectTemplate.deviation.setMiscDev2.51.50.02

ObjectTemplate.deviation.devModStand2

ObjectTemplate.deviation.devModCrouch1.5

ObjectTemplate.deviation.devModLie0.8

ObjectTemplate.deviation.devModZoom0.02

rem---EndComp---

开镜放大倍数修改

找到:

ObjectTemplate.zoom.addZoomFactor0.2——数值越小,倍数越大。

若多增加几行则可放大多倍,如:

ObjectTemplate.zoom.addZoomFactor0

ObjectTempla

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1