文档库 最新最全的文档下载
当前位置:文档库 › 战地修改64单人地图

战地修改64单人地图

首先要做的是在单人模式中开启32和64人地图。我们用Dalian plant地图
为例。首先打开\mods\bf2\Levels。 你会看到一些子目录,每个子目录
对应这样或那样的地图(到底是哪个地图可以从目录名判断出来)。 我们
现在关心的是\Dalian_plant这个目录。如果你想加大某一个地图, 你就要在另外一个相对应的目录里找到所需的文件。不论你选择哪个管卡,都一定会看到一个叫做\Info的子目录(这里面有地图的一般信息和它所对应
的图片), 和client.zip以及server.zip这两个文件。 client.zip里面充
满了各种仅对这一关卡有效的图片(地图、特殊的纹理以及其它类似的东西)。Server.zip包含有各种地图的配置信息。 这就是我们首先要处理的文件。在这里找到\GameModes 目录 – 所有在该地图上允许使用的游戏模式。这个目录本身又包括两个子目录: \gpm_cq (对应多人模式)和\sp1(单人模式)。 由于多人模式地图有三种(于游戏人数有关), \gpm_cq目录下面又有三个子目录 (\16, \32和\64)。 而\sp1只有一个子目录(\16)。每个子目录下有\ai目录 (你可以看到指导电脑控制的玩家在本地图上行为模式的StrategicAreas.ai)和文件GamePlayObjects.con。在新的mod里面bot的数量可以随便定。这个图里面每一方是32个。除此以外可以看到他们中有些人的名字是很眼熟的。
GamePlayObjects.con这个文件可以看作是四个部分。前三个都有相应的名字(左右两边都有星号)Object Spawner, Spawn Points和Control Points。第一部分表示物体在地图上的位置(固定武器,车辆,雷达等等)。 第二部分 — 再生位置 (士兵“出生”的位置)。 第三部分 — 检查点位置(控制该点的队伍可以获得积分)。最后,第四部分 — 无名部分 (以https://www.wendangku.net/doc/0f11414515.html,e 1这一行开始) — 决定战斗在什么地方进行(这一点也就是不同尺寸地图的主要区别)。请注意,要是在某一行的开头写着rem, 那就是说这一行只是注释,是不会影响游戏进的)。要说明的是,第一和第三部分各包括两大块。第二块以if v_arg1 == host 开头并包括这一文件中所有的物体的坐标(不管它是装备还是检查点). 这两大块又分成几个小块(每一小块对应某个物体), 在方括号内对物体进行命名和描述。
现在我们来修改\GameModes\sp1\16里面的GamePlayObjects.con。 它是适用于单人模式下的16人地图。 让我们从最后面开始改 — 也就是从第四部分 — 扩大战场区域。 为此我们需要子目录\GameModes\gpm_cq下面的同名地图文件和与之相对应的server.zip文件(在我们的例子里,别忘了,Dalian plant, \mods\bf2\Levels\Dalian_plant目录)。 要是你想把地图扩到到32人,就选择\32, \64 — 要是你想要64人地图。我们来选择64来做一个最大的地

图。
打开\64目录下的GamePlayObjects.con文件。 把第四部分复制到剪贴板(从https://www.wendangku.net/doc/0f11414515.html,e 1这一行开始一直到最后),然后替换\GameModes\sp1\16下同名文件的对应部分。现在单人模式16人的地图从大小上来讲就已经等同于多人模式64人的地图了。 但是这只是万里长征的第一步 – 地图上还没有武器和检查点呢。
现在来看看GamePlayObjects.con的第三部分, 它以Control Points开头。通过借鉴64人的文件来修改它我们就可以在单人地图上得到新的检查点。\GameModes\gpm_cq\64目录下的GamePlayObjects.con文件可以帮我们做到这一点。对比一下它的第三部分和单人模式文件的第三部分,你会发现它们之间的区别: 多人文件的两个块要比单人的长的多。不过也有一样的地方(准确地讲,不完全一样,但是那些差别可以忽略不计)— 开头两行的结尾的写法是一样的。
在单人模式下50余名战士参战也是可能的了。
你需要把多人模式文件的第三部分,不是全部,只是比单人模式文件的第三部分多出来的那些文字,通过剪贴板复制到单人模式文件中去(即包括第一部分,也包括第二部分)。以 Dalian plant为例就是ControlPointTemplate: CPNAME_DP_64_uscarrier (为了简洁以下只写出名称的结尾,他们是不会重复的), northdocks, southdocks, airfield, warehouse, maintenancebuilding. 这样,一共需要在文件的第三部分中添加12个小块 — 每个大块中6小块. 同时要把每个小块复制到单人文件的相应位置去这样我们的单人地图就多出来了6个检查点。下一步 – 把武器和再生点从多人大地图搬到单人地图去。这就需要把\GameModes\sp1\16里面的GamePlayObjects.con文件的前两个部分用\GameModes\gpm_cq\64例的同名文件的相应部分替换。也就是说需要复制Control Points之前的所有代码。地图就做好了。上述原则适用于所有关卡。所以建议把所有的单人地图都扩大,因为在小地图上打实在是没意思。
地图扩大之后自然要添加bot的数量(请见下一章)。既然把地图放到最大了,那么电脑控制的玩家最好也放到最大 – 64 (或者更多)。这样在大地图上打起来才有意思。
Battlefield 2里的bot是另一个话题了。有关他们毛病的讨论已经很多了。我们就要解决这些问题 我们首先要做的是就是增加他们的数量并且提高他们的战斗本领。有多种装备参加的大型战斗。Bot的参数可以在\mods\bf2\Ai中找到。敌人的基本ai由AIDefault.ai设定。文件很小,可是意义重大。文件中有几个参数对电脑控制的角色是很重要的:比如aiSettings.setMaxNBots (控制数量)和 aiSettings.setBotSkill (AI水平)。 每个参数的数值卸载其名称后面,由空格分开,因此很容易改变。
首先写下你希望

的bot的数量。在aiSettings.maxBotsIncludeHumans的后面把0也改成你希望的数字。 Bot的数量可以比原始设定少,也可以比原始设定多。 我们当然是希望多一点。比方说,如果你设定了32或是64个bot,游戏就会更有挑战性。要是你选了,比方说,128个,那就保证是血肉横飞了。不过这样一来,如果你没有超级的配置的话,游戏就会经常停顿了。
第二个文件aiSettings.setBotSkill也是用得着的。改变它的值会影响游戏的难度。0.4对应的是简单(Easy), 0.7 — 中等 (Veteran), 1.0 — 难 (Expert). 不过没有人规定你不可以写上别的数字。这个数字可以在这个区间之内(比方说, 0.5—0.6, 如果你已经打过了简单,但是对付中等还不太行), а也可以设的比1.0还要高。 0.4以下的数值 可以给那些刚拿起枪的新手用。 高于1.0的数值对那些能轻杀死bot的职业军人再合适不过了。自己选一个可以和电脑控制的对手公平厮杀的数字吧!要想使这些设定都生效,要在aiSettings.setMaxNBots前面加上aiSettings.overrideMenuSettings 1这样一行字。还是bot,建议你不妨看看BotNames.ai这个文件(同样在\mods\bf2\Ai目录里)。 这个文件里含有电脑控制的人物的名字。文件的结构是这样的:每一行的格式是aiSettings.addBotName X, 对应一个可能的电脑战士的名字(在X这个位置上)。 修改X位置上的文字,你就给以给bot一个新的名字。 可以把所有的bot (或是其中一些)的名字换成你认识的人, 或是你喜欢的电影主人公。和认识的人并肩作战或是与他们为敌可是很好玩啊。
我们加强了单人模式。Bot变多了,也聪明了,而且地图也完整了。现在你面前已经是另一个游戏了 – 单人模式和多人游戏一样的值得玩!
BOT数值更改
BF2的singleplayer模式里面限制人数为16,打起来还是觉得不够激烈+BOT就显得非常重要了;另外附带提一下,其他人也能进入你的singleplayer模式的,记下你的IP(读游戏的时候有写)告诉同伴,家就能一起K BOT了.
游戏目录X:\EA GAMES\Battlefield 2 Demo\mods\bf2\AI
打开aidefault.ai(记得备份)
更改内容见下面括号内:
aiSettings.setNSides 2
aiSettings.setAutoSpawnBots 1

aiSettings.setMaxNBots 256 (改成256) 这是最大游戏人数,也可以保持原来的64不变,基本上影响不大.
aiSettings.maxBotsIncludeHumans 1
aiSettings.setBotSkill 0.4

rem To spawn more than 15 bots in SP, use the following lines instead of the three lines above.
rem Note that this is totaly unsupported, it will affect your system's performance
rem and may even crash your game. That being said, you will most likely be able to run a lot
rem more bots than 15 on your system.

rem Example for 32 bot game with expert bots

aiSettings.overrideMenuSettings 1 (删掉最前面的

rem,这是必须的)
aiSettings.setMaxNBots 255 (同上,这是最大BOT数,但一般的机器跑48或者32比较合适,机器好的可以尝试下64或者以上)
aiSettings.maxBotsIncludeHumans 0 (同上)
aiSettings.setBotSkill 1.0 (同上)

run BotNames.ai
aiSettings.setInformationGridDimension 32

run AIPathFinding.ai

rem EOF
这里是如何设置变更200VS200的情景.
开了多量的BOT,但双方兵力值只有200,战役结束的就比较快了.有些人可能会觉得不过瘾.这里是如何修改MAP的兵力值..

找到以下路径:
X:\Battlefield 2\mods\bf2\python\game\gamemodes\
先备份gpm_cq.py这个档,再开始修改:

编辑gpm_cq.py后,用寻找功能搜寻"TicketRatio"字符串
应该会找到这一行:

return int(mapDefaultTickets * (bf2.serverSettings.getTicketRatio() / 100.0))
其中100的数值就是要调整的选项,数字愈大,双方阵营的兵力值愈少,数字小则是愈多.
数字可以任意调整,提供以下参数范例:
数值100 =200 双方阵营的兵力值
数值500 =22 双方阵营的兵力值
数值10 =2000 双方阵营的兵力值
数值1 =9999 双方阵营的兵力值

例如我要让双方阵营的兵力值达到9999,就修改为以下:
return int(mapDefaultTickets * (bf2.serverSettings.getTicketRatio() / 1.0))

基本上改个50就很合适了,400VS400,足够打的你头皮发涨.

相关文档