【CS起源】加枪插件不完全教程

您所在的位置:网站首页 自制猫爬架用什么材料 【CS起源】加枪插件不完全教程

【CS起源】加枪插件不完全教程

2023-08-20 10:49| 来源: 网络整理| 查看: 265

        本插件改进自cs起源吧一个相对简陋的加枪插件。 

        特点: 

        一、支持添加最多256种主武器和256种手枪,另外支持添加新手雷或匕首。 

        二、包含两个配置文件。一个可以设置启用/禁用插件,设置统一的购买时限。另一个存放新枪数据,可设置新武器的发射声、备弹量、伤害值、精度差以及购买价格。 

        三、支持图形菜单购买新武器(即按B键)。 

        四、可配合我的bot使用新枪插件,让机器人使用新枪。另外还提供了适用于Zombie Reload僵尸感染插件的特别版。

        插件下载地址:https://pan.baidu.com/s/11SCn7DI6G1rd1Uj2gkF8ig  提取码:gwke

        强烈推荐使用适用于cs起源v9x版本的加枪插件!(旧版的在v9x版本下会闪烁)

包括本体文件、一个加枪范例(含3支新枪的模型和配套的菜单文件)、以及一个可翻页的加枪菜单范例新加的枪

        在教程之前,先提一下安装方法:安装之前,请确定你已经安装了插件平台。然后找到cstrike \ cfg \ sourcemod下的sourcemod.cfg,打开它,在最后一行加上“cl_restrict_server_commands 0”,如图所示

        然后下载新版加枪插件。把“加枪插件(本体)”压缩包内的cstrike文件夹丢到游戏根目录,插件就安装好了。

        插件附带了一个配置文件,cstrike\cfg\sourcemod\下的plugin.new_weapons.cfg,以及cstrike\addons\sourcemod\configs\下的新武器数据文件NewWeaponsInfo.txt。首先看看plugin.new_weapons.cfg。这个文件用于设置启用/禁用插件和设置购买(获取)新武器时限。        如果禁用插件,真人玩家(当然包括你)将无法刷出新枪(但新枪模型还是会预载,因此如果同时安装了独立版bot使用新枪插件,那么bot依旧可以用新枪)        设置购买(获取)新武器时限,即设置回合开始指定时间(秒)后不能获取新武器。这对僵尸模式尤其有用,不然可能会出现僵尸刷新枪的bug。默认为30秒,范围最小5秒,最大300秒。

        新武器数据文件NewWeaponsInfo.txt则是以下样子,每个新武器有八个参数,其中一部分是可选参数,可填可不填。这个文件我专门做了一个说明文件,已放进了“加枪插件(本体)”压缩包里。而我后面也会说明这些参数怎么填。

        安装插件之后,接下来就进入正题,说下加新枪的教程(以下以xm8为例):

一、确定新武器的名字

命名规则:只能有英文或数字,下划线应该也可以有,不能带空格或者“-”号等其他符号,最大长度不要超过29个字符(应该也没有那么长的武器名字)例:an94、aek、m82A1等。

        确定新武器的名字很重要。新武器名字决定了新武器的v、w模文件名、控制台获取新武器的命令、声音配置文件名和武器脚本文件名。        这里我为新武器起名叫做xm8,则插件将指定获取这把枪的控制台命令为sm_xm8。新武器模组的模型文件必须改名为v_xm8.mdl、w_xm8.mdl等。scripts\weapons内的声音配置文件名必须改名为xm8.txt,scripts文件夹内的武器脚本文件必须改名为weapon_xm8.txt。

二、v、w模改名

        这是第一步的延续,首先把模型文件名改好。

        继续以xm8为例,这里把xm8模组的rif_aug.mdl改为xm8.mdl,如图所示:

改名前,可见xm8原模组是用来替换aug的改名后

        完成上面的步骤之后,如果你的新武器是非自动武器(如狙击枪、半自动步枪或一般手枪),那么可以不用插件播放射击声,而是在qc文件里设置。好处是射击声音效果稍好一些,并且支持多枪声武器模组(但如果你要让bot使用这把枪的话,我个人还是推荐采用插件播放射击声,因为在qc里加“event 5004 0 Weapon_xxx.Single”的方法会让bot用新枪开火的声音变成原版武器枪声,这是一个bug。)

        修改qc的具体方法是用撬棍等软件解开你的武器模型,然后编辑得到的qc文件,在所有射击动作(通常是名字带shoot或fire的动作)里插入播放射击声音(Weapon_xxx.Single,不能和原版武器的Single同名)语句。然后再用撬棍重新编译你的qc,得到修改后的模型文件,再覆盖,具体操作这里不再阐述。

         这里我命名为Weapon_xm8.Single(在后面设置声音配置文件时会用到):

qc文件插入播放射击声语句

        注意,如果在qc里发现播放声音语句(event 5004.......此类)中有有类似“Weapon_TMP.Cliprelease”等带原版武器名字(比如下图里的带了aug)的武器声音类名,你需要把这些武器声音类也改名(后面也要在声音配置文件里作相应的更新)。

        这里,我把Weapon_aug.xxx改成了Weapon_xm8.xxxx。

改变前改变后,aug全部改为xm8

三、脚本文件改名和设置        首先必须要有一个新武器的脚本txt,如果武器模型包没有自带的话就将ctx文件转换以获取(可使用ctx文件转换工具),或者去香蕉网找。到这时新武器的脚本文件都是原版名字的,比如weapon_ak47.txt、weapon-_tmp.txt等,然后我们需要将它改名,名字和你的新武器名要匹配。

        这里我将weapon_aug.txt改成weapon_xm8.txt:

然后我们打开这个武器脚本txt(如weapon_xm8.txt),进行修改。有几个地方是必改的:viewmodel、playermodel(v、w模文件名)和single_shot(改为你的新武器射击声的类,如我这里改为Weapon_XM8.Single)这三项。

        注意如果第二步里在QC文件插入了播放射击声音语句,记得要和语句内的Weapon_xxx.Single保持一致。

这里改为第二步修改的v模、vw模文件名这里的Weapon_原版武器.Single改为Weapon_新武器.Single

        至于其他属性,有很多改了无效,如枪火类型和大小、WeaponType等,只能遵循父类武器的属性。目前我发现CycleTime(射速)、clip_size(弹匣容量)改了有用,primary_ammo可能也有作用,你们可以自己选择修改。另外"bucket" 和 "bucket_position"(武器插槽位置,0为主武器,1为副武器)也是起作用的。不过主武器改成副武器会出现快捷键无法调出只能用滚轮切枪的问题。

四、武器声音设置        首先找到sound / weapons下的武器声音文件夹,如果和原版武器同名则记得要改名(改了之后记得打开武器的声音TXT文件去修改路径),否则可以不改。

        这里声音文件夹叫做aug,和游戏原版武器同名了,我全部改为xm8。

改变前改变后

        至于声音文件夹里的wav文件,可改可不改,你们自己选择

        然后scripts文件夹里的武器声音txt文件,名字也不能和游戏原版的一样。

        这我把aug.txt改成xm8.txt。

        然后打开这个脚本txt文件,看看各个声音的类名,一定不能和原版武器一样!例如存在“Weapon_TMP.Single”、“Weapon_TMP.Cliprelease”的话,就要改为"Weapon_新武器.Single"、Weapon_新武器.Cliprelease"。注意这些都要对应第二步里编辑qc文件时设置的类名,必须保持一致。

        如果这里改了名而第二步忘了改QC里的声音类名,那就要回到第二步去修改QC文件再重新编译。

        这里我都改成了Weapon_XM8.Single"、Weapon_XM8.Cliprelease"等。

        注意:如果第四步刚开始时有改过新武器声音文件夹名字的,别忘了把声音wav文件的路径修改正确。

weapons/aug/xxx.wav记得改成weapons/xm8/xxx.wav记得改成

        第四步最后一个步骤,进入cstrike/custom文件夹,找到第一个game_sounds_manifest.txt文件(如果有多个的话)。如果一个都找不到就提取原版游戏的放进cstrike\custom\任意文件夹\scripts里。        然后打开这个game_sounds_manifest.txt,在里面加入一句"preload_file" "scripts/weapons/新武器名字.txt",保存。如果没做这一步,新武器会没声音!

        这里我添加了"preload_file" "scripts/weapons/xm8.txt"。

五、在加枪插件的NewWeaponsInfo.txt文件添加新武器数据行        打开cstrike\addons\sourcemod\configs\,找到插件外置的武器数据文件NewWeaponsInfo.txt。要添加新枪就在这里添加!下图是一个武器数据文件的例子(可以看到加了3把枪),仅供参考。

        这里可以看到我加的xm8的数据。

仅供参考

        下面我来说下这个武器数据文件具体是怎么加枪的。        在介绍参数之前先说两点:1. 首先每行只能填一种新武器的数据,注意一定不能空1行/空几行再写武器数据行,否则插件会出错。2. 每个新武器参数一共有8个,每个参数必须用括起来,可选参数可以不填,但绝对不能省略。另外参数内如有空格将会被清除。

        我以上图第一行的xm8为例子介绍新武器的8个参数:       

        参数解析:       

        详细说明:(1)新武器名字(必填):填你在第一步确定的新武器名字,最大长度不要超过29个字符(应该也没有那么长的武器名字),例子里填的是xm8,这意味着插件将指定获取这把枪的控制台命令为sm_xm8。

(2)父类武器名(必填):必须为游戏原版武器名字,如ak47、aug、mp5navy、knife、hegrenade等。插件将根据父类武器为新枪创建一个新的武器类。因此新武器会带有父类武器的一些特性,比如左右手视图、第三人称持枪姿势等。例子里填的是aug,因此新武器可以像aug一样右键伸脖子放大注意 :mp5的武器名字并非mp5,而是mp5navy

(3)由插件播放射击声开关(可选参数):可填0、1、2,或者不填/留空(和填0效果相同)0:关闭插件播放射击声功能。如果关闭的话,你需要拆开新武器模型,更改qc,加入5004 event语句,并修改模型的声音配置文件,以掩盖杂音,这里前文已经说明。这种方法播放枪声效果稍好一些,但比较麻烦,并且会有bot使用时发出原版武器枪声的bug。1:采用ClientCommand方法播放射击声。效果较好,但它会停止其他mp3(比如h菜单音乐)播放,并且联机时会失效。2:采用EmitSoundToClient方法播放射击声,推荐使用。虽然音效稍微差些,音量稍小,但不会影响其他mp3播放,最关键的是,使用这种方法时,bot使用新枪开火时声音是正常的。

注意:填1或2时,新武器qc是不用添加“event 5004 0 Weapon_xxx.Single”的。

例子里填的是0,插件将不会播放xm8的射击声,需要自己拆开xm8的模型改写qc。

(4)射击声文件路径(可选参数):不要带双引号。注意不要漏了“weapons/”以及“.wav”。如果前面插件播放射击声开关填0的,可以不填/留空。

(5)备弹量(可选参数):必须为整数,填小数会出错。父类武器为刀或手雷的新武器请填0。不填/留空或者填负数,备弹量将为0发。注意备弹量同时受cfg/game.cfg文件影响。例子里填了240,即备弹240发。

(6)伤害倍率(可选参数):新武器伤害倍率,新武器初始伤害值等于父类武器的伤害值,可填小数。该值对父类武器为手雷的新武器无效。1.0表示不变,2.0表示将新武器伤害值改为初始伤害值的两倍。不填/留空或者填负数,意味着不修改,新武器的伤害值将为初始伤害值。例子里填了1.07,表明xm8的伤害值为其父类武器aug伤害值的1.07倍

(7)精度差(可选参数):影响精度,新武器初始精度差等于父类武器的精度差,可填小数。精度差和游戏内新武器的十字准星在射击时的扩大程度挂钩。但要注意的是,精度还和模型本身的射击动作有关。该值对父类武器为匕首或手雷的新武器无效。可设置精度差范围0.0(不含0)-1.0,值越小精度越好,填0.01的精度已经非常好了。不填/留空或者填负数,意味着不修改精度,新武器的精度差将为初始精度差。例子里填了0.01,这个精度已经很好,射击时十字准星基本不会有任何扩大了。

(8)购买价格(可选参数):必须为整数,填小数会出错。不填/留空或者填负数,购买价格将为0元。例子里填了3000,意味着获取xm8将花去玩家3000元

这里再给几个例子,都已经测试过

        至此,已经可以通过在控制台里输入“sm_新武器”(例如“sm_xm8”,不含双引号)获取新武器。你已经成功了一大步。

仅供参考

六、加枪菜单设置(由CS起源吧吧友“”ww1113742867“”提供)

        这是最后一步。这并不是必不可少的,因为在控制台里输入“sm_新武器”(例如“sm_xm8”,不含双引号)就可以获取新武器。但是的确可以在游戏本身的图形菜单中增加新枪购买栏目。

        该菜单教程参考自原贴“cs起源购买菜单修改【开发者福利】”:       https://tieba.baidu.com/p/3910983906?red_tag=3094323847#。

        加枪图形菜单包:

        地址:https://pan.baidu.com/s/1K1X0k5UZwbpLm0344Rr38A

        提取码:yyds。脚本地址,自行下载,或者去游戏的封包文件中提取。

        步骤:

1. 下载整合包放进cstrike\custom文件夹中。

2.打开cstrike\custom\buymenu\classes文件夹,把colt357.res文件改名为新武器名称.res,然后记事本打开把里面全部colt357字样替换为新武器名称保存(这个文件主要是用来指定新武器图形菜单中的说明文字,根据名称系统会去cstrike\custom\buymenu\resource\cstrike_schinese.txt中寻找相匹配的文字内容)

3.打开cstrike\custom\buymenu\materials\VGUI\gfx\vgui文件夹,将新武器购买图片的vtf和vtm放进这里(系统会寻找vtm文件,通过vtm找到对应显示的vtf,因此除了修改文件名,还需要用记事本打开vtm修改里面对应的名称),vtm文件里面也记得编辑下,原版武器改成新武器的名字。

4.打开cstrike\custom\buymenu\resource\ui文件夹,找到BuyMenu_CT或者BuyMenu_TER后面的CT/TER表示阵营,该文件为购买菜单主目录,以BuyMenu_CT为例用记事本打开,找到对应的武器类型菜单例如手枪代码为:pistols,那么对应的手枪列表文件是Command字节指向的BuyPistols_CT.res文件。                                                                                                     以BuyPistols_CT.res为例,去打开BuyPistols_CT.res可以找到对应的武器代码,例如 usp、p228、glock等,复制最后一个武器数据(CancelButton上面的数据),把对应的名称改为新武器名称,价格改为新武器购买价格(如果价格不修改,价格超过实际购买价格钱够的时候也会无法购买。这是菜单限制。当然,在控制台里输入“sm_新武器”(例如“sm_xm8”,不含双引号)可以无视价格限制获取新武器),command项输入获取新武器的控制台命令(sm_新武器,比如sm_xm8)。修改好后还需要改ypos这个Y轴坐标,用当前坐标+32得出新坐标位置就可以,ypos数值不得大于308且必须是最后一把武器数据+32的值。否则会混乱。

command项输入获取新武器的控制台命令(sm_新武器,比如sm_new1911)

5.以上操作完成后,打开cstrike\custom\buymenu\resource\cstrike_schinese.txt文件,根据

您新增的武器类型找相关的原武器数据。

例如我新增了左轮手枪,那么搜系统已有手枪类型武器,例如(DesertEagle),会搜到以下数据:

"Cstrike_DesertEagle""&4 NIGHT HAWK .50C"           //这个是武器名称,左边是对应classes文件夹武器文件的代码。

把DesertEagle修改为新武器名称(例如Cstrike_colt357) ,右侧为图形菜单显示武器名 可以改为"& 4 左轮手枪"。

武器数据的修改也是类似,左侧所有DesertEagle原武器字样全部修改为新武器名称,右侧根据新武器属性进行修改,符号不能漏掉,内容不要写到双引号外面,会出错的!带有"[english]的语句可以直接删除(我相信大家都是用中文的,所以"[english]没有意义,可省略)

修改参考此图

        修改完成后保存进游戏,正常来说应该是可以在菜单中看到新武器购买栏目了。

        PS:新武器菜单是可以支持翻页的,参考主res文件的跳转把command改成新res文件可以实现翻页功能。

        以上就是图形菜单中增加新武器栏目的全部操作,游戏里按B键就可以购买新武器了。

        最终的新枪购买图形菜单的效果如下所示:

附:插件存在的问题:一、闪烁问题         这个问题只存在于旧版加枪插件中,适用于v9x版本和正版的新版本加枪插件无此问题。

        旧插件在v8x版本下闪烁较少,且可以通过下面的办法缓解,v9x版本或正版使用,闪烁明显,无法修复。

         以下方法仅适用于旧版加枪插件:        经过本人的研究,新加武器的闪烁可能与idle动作的帧数有关,我发现通常新武器的idle动作只有1帧或几帧时闪烁非常频繁,但把idle动作扩打到10-20帧时闪烁减少非常明显。         让idle动作(就是第一人称持枪动作)帧数增加的方法:        非常简单,反编译模型,用记事本或noteped打开idle的smd文件,直接在里面复制time的数据即可(比如只有1帧的话,就将tine 0的数据复制粘贴9次,把复制数据的头部那个time 0按顺序依次改为time 1到time 9。如果有3帧,那就将1-3帧一并复制,粘贴2-3次,再按顺序改名),最后重新编译模型即可。

二、bot使用新枪问题         支持与独立版的bot使用新枪插件配合,可以让bot刷出新枪。

         独立版bot使用新枪插件的地址:

         链接:https://pan.baidu.com/s/1rRjmSmpARA7IVaDkbXuzgw 

        提取码:yt45

注意:配置较低的电脑可能会影响运行速度。

三、第一人称下移动延迟问题

        某些延迟问题仅见于适用v9x版本和正版的新版本加枪插件,旧版加枪插件没有这个问题。

         这个问题暂时无法修复,不过移动延迟并不明显,如果你不很细心是不容易感觉出来的。

四:加枪插件傻瓜版

        应网友要求,也做了一个加枪插件傻瓜版(下载地址不变)。        顾名思义,这个版本加枪插件、bot使用加枪插件和图形化加枪菜单都集成了,并附带了27支新枪模型。你什么都不用设置,,直接解压丢到游戏目录下就可以玩了(新武器左右手会有不对,这是正常现象)。只需要注意,万一发现新枪都没声音(这种情况应该很少),请在压缩包里找到game_sounds_manifest.txt文件,把它移到你的游戏目录\cstrike\custom下第一个文件夹下的scripts文件夹里面去就可以。        我添加的新枪:        手枪:双持沙鹰、双持m1911、tt33托卡列夫、MGL榴弹发射器(该武器子弹可爆炸)        冲锋枪:中国CF05、中国85轻冲、MP5K        自动步枪:旋风AK、95式、56式冲锋枪C型、AN94、HK416、M27、FAL、FNC、G3A4、XM8、81杠、63式、QBZ191        狙击步枪:ABT-40、M14、98K、56式半自动步枪机枪:MG3、M134、RPD。

        至此,加枪插件教程全部结束,谢谢观看,本人水平有限,如有疏漏之处还请见谅。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3