cs起源吧 关注:84,958贴子:1,798,010

起源吧内加枪插件的再探究和新教程

取消只看楼主收藏回复

最近花了不少时间研究起源怎么加枪。看了下起源吧内,一共有有两种加枪方法。一个是源码加枪,比较稳定不闪烁但原贴的教程太简单且没有提供源文件和编译方法,本人才疏学浅实在是学不了。另一种是插件加枪,教程详细易操作但有一些问题。于是我对吧内的加枪插件进行了再探究,并做了一些改进、加了一点教程。下面先看看加枪效果图


IP属地:广东1楼2021-05-23 16:48回复
    发图之前先放下加枪插件原贴地址:https://tieba.baidu.com/p/3213097697?pn=1。感谢@在听吗大佬的插件。


    IP属地:广东2楼2021-05-23 16:51
    回复









      倒数第二个是真·榴弹发射器


      IP属地:广东3楼2021-05-23 16:54
      收起回复
        先说下改变吧,我主要作了以下改进。
        1. 刷出来的新枪会自动装备玩家(即使你已经有了主武器),而不是掉落在地上。
        2. 设置回合开始指定时间(秒)后不能获取武器。这对僵尸模式尤其有用,不然会出现僵尸刷枪的bug。
        3. 对于全自动武器,可以在sp文件里设置射击声,而不用解开模型改QC这么麻烦。(可能还是会发出原版武器的枪声,但应该不明显)
        4. 加枪菜单支持翻页。这个也不算是改进吧。原作者也做出来了。


        IP属地:广东4楼2021-05-23 17:05
        回复
          缺点:
          1. 闪烁。原贴就有人提出了。sourcemod论坛上的大佬说这是插件预缓存模型导致的,目前没有完美的解决方法。不过,我加了二十多新武器,闪烁的比较少,而且都不严重,只是偶尔闪一下。
          2. 新武器脚本(scripts)有一些属性设置是无效的(被CreateEntityByName那里填的父类武器决定了),比如左右手、火焰大小、射击声设置不起作用,“FullAuto”如果从半自动改为全自动有效,从全自动改为半自动则无效。
          3. 默认情况下不能加刀,因为刀不能扔。但如果装了sourcemod上的KnifeDrop(扔刀)插件则可以加刀。(地址:https://forums.alliedmods.net/showthread.php?p=1122130
          4. 僵尸感染模式下获取的新武器下一局会丢失,需要重新获取。


          IP属地:广东5楼2021-05-23 17:14
          回复

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


            IP属地:广东6楼2021-05-23 17:18
            回复
              安装方法分五步:
              一、 基本设置
              二、 编辑SP文件并编译插件
              三、 声音设置
              四、 脚本设置
              五、 加枪菜单设置
              下面我一步步来讲


              IP属地:广东7楼2021-05-23 17:21
              回复
                第一步、基本设置
                1. 首先要确定你的新武器名字,例如ppsh41、hk416等。注意名字应为英文或英文+数字,不要有特殊符号或中文等。这里以ppsh41为例,为游戏加上波波沙冲锋枪。


                IP属地:广东8楼2021-05-23 17:24
                回复


                  2. 模型文件改名。请把新武器的v模、w模文件全部重命名(一定不能用与原版武器相同的名字!),可以用一些批量重命名软件。效果如图所示。


                  IP属地:广东9楼2021-05-23 17:28
                  回复
                    第二步、编辑SP文件并编译插件


                    IP属地:广东11楼2021-05-23 17:41
                    回复



                      这个原贴已经说的很详细了。这里比原贴只是多填两个东西,一是备弹量。二是新武器射击声wav文件路径(注意在前面步骤改了声音文件夹名字的记得填新路径)。


                      IP属地:广东12楼2021-05-23 17:44
                      收起回复
                        再强调几点:
                        1. sp文件内这一句:iEntWeapon=CreateEntityByName("weapon_武器名");里面填的不是“武器脚本”,二是父类武器名字(必须为游戏原版武器名字,如ak47、m4a1等)。意思就是根据父类武器创建一个新的武器类,因此如果你填了awp,那么新武器就拥有了awp的一些特性,比如有awp的射击声(所以需要掩盖)、左右手识图,并且可以开镜。
                        2. 如果你的新武器是全自动武器,那么可以选择播放新武器射击声的方法,默认是执行客户端的“play”指令播放,这个方法下音效能最大程度掩盖原版武器枪声,建议使用。但它会停止其他的mp3播放,如果你喜欢在游戏中听音乐这个就不适合了。二是使用服务器端的EmitSoundToClient方法播放,枪声音效差了一些,有时会听到杂音,但这个方法不会影响mp3音乐播放。
                        注意:两个方法只能选一个!你选了一个方法就必须把另外一个方法的语句注释掉!
                        比如你想用第二种方法,那么就请把EmitSoundToClient前面的注释符去掉,然后注释上一行的ClientCommand语句,如下所示:
                        //ClientCommand(client, "play weapons/ppsh41/ppsh41-1.wav");
                        EmitSoundToClient(client, "weapons/ppsh41/ppsh41-1.wav", currentWeapon, 1);
                        3. 如果你的新武器是非自动武器(如狙击枪、半自动步枪或一般手枪),那么建议你可以不使用播放新武器射击声的方法,即把两行都注释掉:
                        //ClientCommand(client, "play weapons/ppsh41/ppsh41-1.wav");
                        //EmitSoundToClient(client, "weapons/ppsh41/ppsh41-1.wav", currentWeapon, 1);
                        然后自行反编译模型,在qc文件里加上声音即可(下面第三步会说到)。因为半自动还是改qc比较好。
                        4. 原贴有很多吧友在运行插件时得到显示:
                        Attempted to create unknown entity type weapon_deagle.txt!
                        L 05/20/2015 - 23:25:45: [SM] Native "DispatchKeyValue" reported: Entity -1 (-1) is invalid
                        L 05/20/2015 - 23:25:45: [SM] Displaying call stack trace for plugin "Weapon_deagle357.smx":
                        L 05/20/2015 - 23:25:45: [SM] [0] Line 30, E:\CSSv84\cstrike\addons\sourcemod\scripting\weapon_deagle357.sp::Cmd_CreateAnaconda()
                        诸如此类的信息,是因为iEntWeapon=CreateEntityByName("weapon_武器名")里填了新武器的名字,游戏并不存在这样的父类,改成填写游戏原版武器名字即可。


                        IP属地:广东13楼2021-05-23 18:05
                        回复

                          第三步、声音设置
                          1. 武器声音txt文件改名。注意名字不能和游戏原版的一样。这里原来是tmp.txt,和原版武器冲突了,我把它改成ppsh41.txt


                          IP属地:广东14楼2021-05-23 18:10
                          收起回复

                            2. 武器声音txt编辑
                            首先检查下声音文件路径,改过新武器声音文件夹名字或声音wav文件名的请把路径修正。然后看看声音的类,一定不能和原版武器一样!例如存在“Weapon_TMP.Single”、“Weapon_TMP.Cliprelease”的话,就要改为"Weapon_PPSH41.Single"、Weapon_PPSH41.Cliprelease"。


                            IP属地:广东15楼2021-05-23 18:15
                            收起回复

                              3. 如果你的新武器是非自动武器(如狙击枪、半自动步枪或一般手枪),那么正如第二步强调的第三点所说,应该用撬棍等软件解开你的武器模型,然后编辑qc文件,在所有射击动作(通常带shoot或fire)里插入声音(Weapon_xxx.Single,不能和原版武器的Single同名),如图所示。然后再用撬棍重新编译你的qc,得到修改后的模型文件,再覆盖,具体操作这里不再阐述。


                              IP属地:广东16楼2021-05-23 19:31
                              回复