1.vpk解包方式

需要工具:GCFscape (可下载b站嘤猫版:【求生2MOD教程】基础工具3件套 v1.4.2 - 20250313更新_游戏热门视频

1.1 解包

找到游戏文件pak01_dir.vpk 路径:你的steam文件夹\steamapps\common\Left 4 Dead 2\update

使用GCFscape进行解包

将途中scripts文件夹拖到电脑桌面获取文件夹

如果想跳过这个过程可以直接看视频:【求生之路2】7分半学会修改武器数据_游戏热门视频

1.2 修改数据

武器数据文件列表如图

以修改栓狙为例:

先谈谈修改思路(以下摘自求生之路写实模式和战役的区别及玩好写专的要点 - 哔哩哔哩):

写实模式与战役的区别   分为幸存者(人类)和感染者(特感)

   幸存者:

  1. 人类的武器伤害是战役模式的一半,比如狙伤害90专家模式减半45写专再减半22,打一个50血小僵尸要三枪不爆头。 这里提一下如果官方默认没插件更改的话,鸟狙scout105大狙awp115 这俩栓狙能不用就别用,要多刮有多刮,优点..就是穿透还行吧

  2. 人类战役模式的可透视轮廓消失。意味着如果你不开声音,队友在你后面、旁边生生被舌头拉走都不知道

  3. 本章节死亡后除了电击器外无法从安全门复活  注意:死了重进刷复活是非常不道德,不尊重游戏精神的行为 。这样玩写实完全没有意义,还不如去玩带复活门的战役

  感染者

  1. 小僵尸除头部外其他位置受武器伤害大幅度减少,取消战役模式连狙秒杀小僵尸机制,但马格南,m60,固定重机枪还可以秒杀 

  2. witch和tank战役模式里受散弹枪额外5倍伤害取消,所以用喷子打witch或者打tank伤害会特别的低,witch在非简单模式一击秒杀但无法挠破房门

栓狙在写专弱势在于低伤害加上低攻速导致的几乎没有清理小僵尸的能力,如果希望击杀小僵尸,那么需要修改栓狙的伤害,50×4=200,原版AWP栓狙的伤害为115,如果设计为200伤害的情况下击杀除坦克和女巫之外最常见特感Charger,600HP仅需3枪,又过于imba,那么怎么实现不修改较为夸张的伤害又能实现秒杀小僵尸的效果呢?

答案是为栓狙加入马格南,M60,和固定机枪那样的打小僵尸即死判定,栓狙本身作为狙击枪使用大口径子弹,以较低的射速换取秒杀小僵尸的效果我个人认为相对合理,那么又要如何在代码层面实现这种秒杀效果呢?

通过观看上文视频或者自己查阅代码即可发现一种较为简单的修改思路:

weapon_sniper_awp.txt为例,打开文本文档,在代码中可以查询到一条为:

"primary_ammo" "AMMO_TYPE_SNIPERRIFLE"

此条代码的判定为武器使用的弹药效果,连狙及栓狙均使用SNIPERRIFLE作为弹药种类,而马格南,M60等武器有自己独立的弹药种类,通过修改这个弹药种类即可实现在不修改栓狙伤害的前提下修改栓狙的子弹判定,将其修改为

"primary_ammo" "AMMO_TYPE_PISTOL_MAGNUM" //was "AMMO_TYPE_SNIPERRIFLE"

即可让栓狙拥有马格南的几种小僵尸即死判定

但是这会让栓狙变为无限子弹

因为求生之路没有给每一把武器做单独的弹药区分,而是以武器类型为区分,备弹量也绑定在武器子弹类型上,也就是说,如果如果使用马格南子弹效果,要么修改马格南的备弹数量,要么接受栓狙无限子弹

M60在游戏中是一把火力强大威力高的机枪,但由于载弹量仅为150发且不可补充导致在游戏内的表现不尽人意,所以我们可以将其修改为m60子弹,并且对m60同时进行平衡修改,以提高存在感

我们先给鸟狙和大狙的弹药类型修改为M60

primary_ammo" "AMMO_TYPE_M60" //was "AMMO_TYPE_SNIPERRIFLE"

然后分别修改他们的伤害,和弹容量

鸟狙

"Damage" "145" //was90

大狙

"Damage" "200" //was115

"clip_size" "10" //was 20

接下来修改m60的弹容量以及伤害

"clip_size" "65" //was 150

"Damage" "65" //was 50

还有一点是要修改弹药种类的备弹数:

封包修改方式为打开gamemodes.text,找到

ammo_M60_max 150

进行修改

直接进行服务器修改,在server.cfg里加入如下字段

//武器弹药修改

//子弹类型默认后备弹药:连喷90、单喷72、微冲650、步枪360、猎枪150、狙击180、榴弹10、M60为0、小手枪和马格南为无限。

//sm_cvar ammo_assaultrifle_max "-2"

//sm_cvar ammo_autoshotgun_max "-2"

//sm_cvar ammo_huntingrifle_max "-2"

//sm_cvar ammo_shotgun_max "-2"

//sm_cvar ammo_smg_max "-2"

//sm_cvar ammo_sniperrifle_max "-2"

sm_cvar ammo_m60_max "65"

//sm_cvar ammo_grenadelauncher_max "-2"

//sm_cvar ammo_chainsaw_max "-2"

可定义服务器端所有武器的备弹

1.3 封包上传

修改完数据之后需要执行封包,通常为scripts的上一级文件夹,封包之后文件放入STEAM\steamapps\common\Left 4 Dead 2\left4dead2\addons路径下即可生效,

服务器也同理

1.4注意事项

原版求生之路2的M60武器弹夹打空会被直接丢弃,

建议在服务器端加入m60可换弹插件来实现武器不掉落,m60方面的备弹量平衡可自行取舍