【cs起源】手动检视插件使用图文教程

大家都知道,很多起源大佬做的枪模(特别是使用cod动作的或者是从csgo模型转换而来的)或者香蕉网部分模型,是带有检视动作的,但都是自动触发。所以做了这个手动检视插件,可以实现按某个键才触发检视动作,模仿csgo的效果。带检视动作的模型修改qc后(必要时分离出检视动作),都可以通过这个插件在游戏内实现手动检视,csgo和cod16带检视动作的模型都可以修改适配。
98叔的检视插件演示视频:
https://www.bilibili.com/video/BV1bL4y1K7nF?spm_id_from=333.999.0.0
98叔的视频教程:
https://www.bilibili.com/video/BV1JN4y137EF?spm_id_from=333.337






特点:
一、包含两个配置文件。一个可以设置启用/禁用插件, 另一个存放带检视动作武器的数据(这个下面会具体介绍)。
二、支持加枪插件添加的武器。
三、对于替换usp或者m4a1的武器,或者加枪插件添加的父类武器为usp或者m4a1的新枪,支持其使用两个不同的检视动作。
四、为了防止产生动作bug,在切枪、换弹、装卸消音器、射击或正在进行检视时会暂时禁止触发检视动作。
下载地址:
链接:https://pan.baidu.com/s/1kN2IYF-v8cekI_K9C1Zs5g
提取码:ac81
这个插件已经带了一把有检视动作的QBZ191(替换m4a1),当你已经确定安装了插件平台并完成下述的第1步后,进游戏可以直接测试。该模型仅供测试和参考,如果不需要也可以删除掉。
在叙述教程之前,首先要感谢模型大佬98B(B站用户名:九八七十二-)的大力支持和用心测试,以及提供了很多宝贵意见。没有这些,这个插件是不能完善的。
安装前提:
1. 已经安装了插件平台。
2. 你拥有带检视动作的武器模型。
安装方法:
安装之前,请确定你已经安装了插件平台。然后下载插件。把压缩包内的cstrike文件夹丢到游戏根目录,插件就安装好了。
插件附带了两个配置文件,cstrike\cfg\sourcemod\下的plugin.run_lookat01.cfg,以及cstrike\addons\sourcemod\configs\下的带检视动作武器数据文件WeaponsLookAtAction.txt。
先看看plugin.run_lookat01.cfg。这个文件用于设置启用/禁用插件。

带检视动作武器数据文件WeaponsLookAtAction.txtt如下图所示,每个武器有八个参数,其中一部分是可选参数,可填可不填。压缩包内的说明文件有对这些参数进行解析。而我后面也会说明这些参数怎么填。

安装插件之后,接下来就进入正题,叙述一下使用步骤:
一、绑定触发检视动作的按键
想好设置哪一个键,建议p键或者t键,因为e、f等键都被重要的功能占用了。这里以p键为例,打开cstrike\custom\readme\cfg\的autoexec.cfg(如果找不到,就打开cstrike\cfg\的autoexec.cfg,或者game.cfg也可以)。搜索bind "p",如果找到就删除,然后加上一行:bind "p" "sm_lookat",保存。(autoexec.cfg和game.cfg如果同时存在的话,里面的bind "p"都要先删除,再加上bind "p" "sm_lookat")
二、查看武器的检视动作是否需要分离
首先要了解武器的检视动作是否是独立的,可以打开hlmv查看。
第一种情况就是检视动作和idle持枪动作是互相独立的,检视动作有自己的动作名(常见于从csgo转换来的模型)。

第二种情况就是检视动作是非独立的,是idle持枪动作的一部分(通常是后部,前面有很多空白帧)。比如下图,idle动作从第500帧开始播放检视动作。

对于第一种情况,检视动作就不需要分离了,到这里你可以直接跳到第三步。
但如果是第二种情况,那么你要将检视动作从idle持枪动作中分离出去。(注意,这需要懂得cs模型的一些基本操作,比如编译或反编译,qc文件、3dmax或奶盒的简单使用等)
分离操作如下:
(1)先在hlmv界面观察idle动画,记住是从第几帧开始检视动作的,比如第500帧。用撬棍软件将武器反编译。

然后用3dmax(奶盒也可以)打开idel持枪动作的smd文件(如idle.smd),然后首先导出无检视动作的持枪动作smd文件,名字不要变,选择帧数时填0帧到发生检视动作前一帧,比如下图所示(此模型idle动作从第500帧开始播放检视动作,则无检视动作的持枪动作是导出0-499帧):



(2)然后再导出只有检视动作的smd文件,名字另起,比如lookat01.smd,选择帧数时,起始帧数填发生检视动作的这一帧,比如这个模型就是第500帧,结束帧数为原idel持枪动作的总时长帧数,比如654帧,确定导出。


(3)打开qc文件,修改原来的idle动作部分,这里不再详述,参考下图:

mk18的qc文件修改前(看idled动作)

mk18的qc文件修改后(看idled动作,原检视动作的声音代码删去了)
然后增加检视动作的代码,lookat01对应前面另起的分离出来的检视动作smd文件名。注意检视动作的声音代码转移来了这里,参考下图:

mk18的qc文件增加检视动作代码(注意看原检视动作的声音代码移到了这里,并且发生时间统一减了500,500是分离后的的不带检视的idle动作的时长)
(4)当你的武器是usp或m4a1,或其父类武器是usp或m4a1时(加枪插件加枪的情况),并且拥有第二个检视动作时,请重复(1)-(3)小步,将第二个检视动作也分离出来,方法基本一样,这里不再叙述。
至此,检视动作就分离出来了,但现在还没到重新编译这一步,因为还需要有一步:修改检视动作的动画类型,阻止检视动作自动触发,完成了第三步才会重新编译。
三、修改武器的检视动作的动画类型
这一步的目的是阻止检视动作自动触发。
前面说了,如果你的武器,检视动作和idle持枪动作是互相独立的,就可以略过第二步,直接跳到这里。如果你的武器的检视动作不但是独立的,而且是专门为手动检视插件制作的(98叔、云斯特Ghost等大佬就会有一些这样的武器),那么它的检视动作已经是手动的了,不需要修改,反编译后可以直接跳到第四步!
首先我们要撬棍软件将武器反编译,得到qc文件。(如果你在第二步已经反编译了,可以略过反编译)
现在我以插件压缩包里自带的这支191(替换m4)为例:
打开qc文件,找到普通状态持枪(idle)动作(通常动作名带idle,比如idle_unsil)。如果动作名字下的activity "ACT_VM_IDLE" X的X不为1,就要将X改为1,如果本来就是1,则不用改。如图所示:


然后找到检视动作,比如lookat01等,将将动作名字下的动画类型
activity "ACT_VM_IDLE" 1
改为:
activity "ACT_VM_IDLE_LOWERED" 1
如图所示:


这样,检视动作就不会自动触发了。
最后用撬棍软件重新编译模型,用新的mdl模型文件替换原来的即可。
四、获取武器的检视动作相关信息
这是关键的一步,我们需要获取武器的检视动作的序号和时长,插件才能正常工作。
获取检视动作的序号有两个方法:
1. 打开qc文件里,能看出动画序列的序号(注意是从0算起!第0个动画多数情况下是Idle动作)。

上图中"ironsight_idle"动作的序号就是0,"ironsight_fire"序号就是1,以此类推可以获得检视动作的动画序列号序号。
2. 用梁总汉化的Source SDK(cs起源贴吧里有下载)里的hlmv或者某些英文版hlmv浏览模型,在“动画”选项卡会显示各动作的序号,获取检视动作的动画序列号即可。
至于获取检视动作的时长(单位:帧),比较简单,在hlmv的“动画”选项卡就能看到了,注意时长=动作最后1帧+1。如图所示:

五、编辑带检视动作武器数据文件
这一步是往插件的带检视动作武器数据文件添加信息。
用记事本或NotePad++等软件打开cstrike\addons\sourcemod\configs下的WeaponsLookAtAction.txt文件,填写带检视动作武器的信息(一种武器写一行,两种武器就写两行,以此类推)。
数据行结构如下:
<武器名字><检视动作序号><检视动作时长><第二个检视动作序号><第二个检视动作时长><Idle持枪动作(无消音状态下)的序号><Idle持枪动作(消音状态下)的序号><射击动作的时长>
其中“武器名字”、“检视动作序号”、“检视动作时长”为必填项,缺一不可,其余是选填项。注意选填项可以不填,但是“<>”不可省略。

下面我根据图中的awp、m4a1(就是压缩包里自带的那把191)、mk18(加枪插件加进去的,父类武器是m4a1,有普通状态和消音状态两套检视动作)为例介绍下各项怎么填。
1. 武器名字:
指的是武器类名(加枪插件加的类也可以),不带“weapon_”,比如图中的awp、m4a1、mk18等等。
注意 :mp5的武器名字并非mp5,而是mp5navy。
2. 检视动作序号:
即(第一个,一般除了m4a1和usp都只有一个)检视动作的的动画序列号。如何获取序号在第四步已经叙述过,这里不多讲。图中awp的检视动作的动画序列号为5,m4a1的为6,mk18的为14。
3. 检视动作时长:
即检视动作的的动画时长(单位是帧,下同)。如何获取动画时长在第四步已经叙述过,这里不多讲。图中awp的检视动作的动画时长为160(帧),m4a1的为131,mk18的为155。
4. 第二个检视动作序号:
指的是装有消音器状态下的检视动作的动画序列号。注意:当且仅当武器是usp或m4a1,或其父类武器是usp或m4a1时(加枪插件加枪的情况),并且确实拥有第二个检视动作时,才填写这一项!否则一定留空(注意:即使是usp或m4a1,如果没有第二个检视动作,也留空)。第二个检视动作的序号获取方法和获取第一个检视动作序号的方法是基本一样的,这里不再叙述。
图中只有mk18(加枪插件加进去的,父类武器是m4a1)有第二个检视动作,即是没装消音器状态的检视动作,第二个检视动作的动画序列号的为15。
5. 第二个检视动作时长:
指的是装有消音器状态下的检视动作的动画时长。填写条件和上面一项基本一样。如果第4项填写了,这里一定不能留空,如果第4项没填,这里也必须留空。第二个检视动作的动画时长的获取方法和第一个检视动作是基本一样的,这里不再叙述。
图中只有mk18(加枪插件加进去的,父类武器是m4a1)有第二个检视动作,即是装上消音器状态的检视动作,第二个检视动作的动画时长的为155。
6. Idle持枪动作(无消音状态下)的序号:
即Idle持枪动作(没有安装消音器状态下的Idle动作)的动画序列号。只有武器带了两套检视动作、前面两个项目都没有留空时,才必须填写这个(注意是必须)。如果前两项留空,那这里也必须留空。Idle持枪动作(无消音状态下)的序号获取方法和前面第四步获取检视动作序号的方法是差不多的,这里不再叙述。
图中只有mk18有两套检视动作,所以需要填这个,mk18的Idle持枪动作(无消音状态下)的序号为0(这个动作的序号多数情况都是为0)。
7. Idle持枪动作(消音状态下)的序号:
即Idle持枪动作(装有消音器状态下的Idle动作)的动画序列号。和第六项一样,只有武器带了两套检视动作、前面几个项目都没有留空时,才必须填写这个。如果第4、5项留空,那这里也必须留空。Idle持枪动作(消音状态下)的序号获取方法和前面第四步获取检视动作序号的方法是差不多的。
图中只有mk18有两套检视动作,所以需要填这个,mk18的Idle持枪动作(消音状态下)的序号为7。
8. 射击动作的时长
这项的意思是填写射击动作的动画时长,只用于m3、scout、awp这三种,或父类武器为m3、scout、awp时(加枪插件加枪的情况)的栓动、泵动类(打一发拉一下)枪支。如果不设置,会出现检视动作破坏拉栓/上膛动作的bug。如果你的武器不是这几类枪支,留空即可。
射击动作的时长获取方法和前面第四步获取检视动作时长的方法是差不多的,在hlmv里查看这个动作的时长就行。
注意如果射击动作有多个并且各射击动作时长不同,则选取时长帧数最长的填上去。
图中的awp是栓动狙击步枪,所以需要填写,它的射击动作时长是59(帧),则填了59。
至此,WeaponsLookAtAction.txt文件的配置教程就完成了。
六、进入游戏,享受吧!
当你使用刚才编辑的那些枪的时候,按下“P”键(或你设置的其他键,取决于第一步),就能触发检视动作了。


至此,CS起源手动检视插件的安装和使用图文教程全部结束,谢谢观看,本人水平有限,如有疏漏之处还请见谅。