cs起源吧 关注:85,356贴子:1,798,937
  • 15回复贴,共1

CS起源不完全修改教程第八弹 - 观察员界面和观察员菜单修改

只看楼主收藏回复

CS起源不完全修改教程第七弹 - MOTD修改(InGameUI窗体修改方法1)
https://tieba.baidu.com/p/6686967659
上一弹教程我们一起改了MOTD界面,熟悉了InGameUI窗体的构成和修改方法,这一弹我们来修改一下观察员界面和观察员菜单。


IP属地:山东1楼2020-05-18 23:50回复
    1.观察员界面介绍
    观察员界面分为上下两部分,上部分显示一些信息,比如地图名、时间等等,下部分显示玩家名字和血量。

    观察员菜单是按下Ctrl键之后显示的菜单(上一弹教程中我们将TextEntry的文字颜色改成了绿色)

    修改观察员界面,是为了和MOTD窗口、团队菜单、购买菜单更加匹配,默认的观察员界面会遮挡上述菜单一部分,看起来不是很好:


    IP属地:山东2楼2020-05-18 23:52
    收起回复
      2.观察员界面高度修改
      用GCFScape打开cstrike_pak_dir.vpk,提取resource\ui\spectator.res,放到followme\resource\ui下边,用文本编辑器打开这个文件。
      "topbar"是顶栏,我们修改其高度为20,并预览一下:


      好像连上了不是很好看,
      我们将"topbar"的高度改为18,留个缝隙。
      接着我们修改底栏"bottombarblank",将底栏的高度改为21(原来是55),相应的,y坐标也要增加34,改为462:


      这样看起来就舒服多了。


      IP属地:山东3楼2020-05-18 23:54
      回复
        3.顶栏比分位置修改
        还没完,虽然顶栏和底栏高度修改了,但是剩下的标签却还在原来的位置,接下来我们修改顶栏标签。
        "CTScoreLabel"和"CTScoreValue"是特警团队名称及分数,"TERScoreLabel"和"TERScoreValue"是匪徒的团队名称和分数,我们看一下这个控件的参数:

        这里就产生一个问题,为什么团队名称的标签使用了右对齐?这是因为,不同语言,这个标签显示的宽度不同,比如中文是反恐精英,而英文是Counter Terrorists,长度明显比中文长了很多,采用右对齐,可以让这个标签往左延伸,而左边是空着的,这样就不会影响右边的分数标签了,分数标签采用左对齐。这样的话,我们想将分数移动到顶栏左边就不可能了,除非你以后只使用简体中文,或者某个语言,我们可以认为修改团队标签的宽度,但是一旦换成另一种语言,这个标签就会显示不完整。

        想解决这个问题,有两种方法,一种是将所有语言该处的名字全部替换成CT,这样无论使用哪种语言也都能看懂,而且只有两个字母,标签的宽度也是固定的。不过这里我们换一种思路,也就是将这个分数移动到中间,左边显示匪徒的,右边显示特警的。
        下边我们添加一个ImagePanel,做一个分数标志图片。
        打开PS,新建一个100*36的画布,画一个多边形,左边填充红色#ff4040,右边填充蓝#99ccff,黑色描边,背景图层填充白色。

        找一个比较好看的素材,作为标志,放在中间,找匪徒和特警的素材放在两边。

        合并图层并用套索工具选中白色的部分,切换到通道面板,新建一个Alpha通道,反选并填充为白色。

        将这个文件保存为TGA格式,打开VTFEdit,导入图片并保存为specscorepanel.vtf。
        编写一个VMT文件,内容如下:
        "UnlitGeneric"
        {
        "$translucent"1
        "$basetexture""VGUI\specscorepanel"
        "$vertexcolor"1
        "$vertexalpha" 1
        "$no_fullbright" 1
        "$ignorez" 1
        }

        将VMT和VTF一起放到followme\materials\vgui下边,回到spectator.res中,在"CTScoreLabel"的上边添加如下代码:
        "SpecScorePanel"
        {
        "ControlName" "ImagePanel"
        "fieldName" "SpecScorePanel"
        "xpos" "c-50"
        "ypos" "0"
        "zpos" "5"
        "wide" "100"
        "tall" "18"
        "autoResize" "0"
        "pinCorner" "0"
        "visible" "1"
        "enabled" "1"
        "tabPosition" "0"
        "scaleImage" "1"
        "image" "specscorepanel"
        }

        接着将"CTScoreLabel"的宽和高修改为0,将"CTScoreValue"的x坐标修改为c+25,y坐标为2,添加zpos参数并设置为10,修改textAlignment参数为east:

        同理修改"TERScoreLabel"的宽和高设置为0,将"TERScoreValue"的x坐标修改为c-40,y坐标为2,添加zpos参数并设置为10,保存进入游戏看一下:


        稍微有些喜感……


        IP属地:山东4楼2020-05-18 23:59
        回复
          4.顶栏其他标签修改
          我们接着修改。
          把"DividerBar"的宽高设置为0,我们不需要这个分割线。
          "timerclock"是时钟和炸弹的图标,我们将这个图标的x坐标改为5,y坐标修改为0,宽度19,高度16,autoResize为1;
          "timerlabel"是时间,修改其x坐标为27,y坐标为2:



          成功,下边一起修改一下右侧的地图标签,这个就简单了,我们不需要移动其x坐标。
          "extrainfo"控件就是地图标签,修改其y坐标为2,保存预览:


          成功。
          还剩下一个"titlelabel",我们直接把这个控件的宽高全部设置为0,将其隐藏起来就行了。


          IP属地:山东5楼2020-05-19 00:01
          回复
            5.底栏修改
            改完了顶栏,我们来修改一下底栏。
            底栏只有一个"playerlabel"控件,我们将这个控件的Y坐标改为464,高度改为15,保存预览一下:


            成功。


            IP属地:山东6楼2020-05-19 00:02
            回复
              6.观察员菜单面板修改
              虽说观察员菜单用的比较少,但要想做一个比较完美的UI,这一部分也不能忽略。
              用GCFScape打开cstrike_pak_dir.vpk,提取resource\ui\bottomspectator.res,放到followme\resource\ui下边,用文本编辑器打开这个文件。
              "specmenu"是菜单面板主体,修改其高度为21,y坐标为462,和观察员界面底栏相同:

              "settingscombo"是左侧菜单,"playercombo"是中间菜单,"viewcombo"是右侧菜单,"specprev"和"specnext"分别是中间菜单两边的按钮,我们保持这些控件的X坐标和宽度不变,修改它们的Y坐标为2,高度为15,并在最后一个大括号前添加一个名为frame_close
              的Button控件:
              "frame_close"
              {
              "ControlName" "Button"
              "fieldName" "frame_close"
              "wide" "0"
              "tall" "0"
              }


              IP属地:山东7楼2020-05-19 00:03
              回复
                接上贴
                添加这个控件,是为了将观察员菜单面板最左侧的关闭按钮干掉,这个关闭按钮Valve在开发时候并没有写对应的命令,因此就是个摆设,并不能用来关闭观察员菜单面板,而关闭观察员菜单面板的位置,是在左侧菜单中。我们保存并预览一下:

                我们打开followme\resource\clientscheme.res,将TextEntry.TextColor的值改为White,将观察员菜单界面颜色改成白色,看起来能更舒服些。


                IP属地:山东8楼2020-05-19 00:05
                回复
                  百度说我发广告?
                  7.观察员菜单修改
                  用GCFScape打开cstrike_pak_dir.vpk,提取resource下的spectatormenu.res和spectatormodes.res,放到followme\resource下边。
                  spectatormenu.res是左侧的选项菜单,spectatormodes.res是右侧的观察模式菜单,这两个菜单文件的格式是一样的,我们以左侧选项菜单修改为例,用文本编辑器打开spectatormenu.res,我们先看看格式:


                  IP属地:山东9楼2020-05-19 00:09
                  回复
                    承前帖
                    "menuitem1"
                    {
                    "label" "菜单1"
                    "command" "命令"
                    }
                    "menuitem2"
                    {
                    "menuitem21"
                    {
                    "label" "子菜单1"
                    "toggle" "命令"
                    }
                    "menuitem22"
                    {
                    "label" "子菜单2"
                    "toggle" "命令"
                    }
                    }


                    IP属地:山东10楼2020-05-19 00:10
                    回复
                      承前帖

                      根据上边的格式,我们在最后边添加一个菜单项:
                      "menuitem6"
                      {
                      "label" "#MyItem_cheats"
                      "menuitem61"
                      {
                      "label" "#MyItem_cheats_enable"
                      "toggle" "sv_cheats"
                      }
                      "menuitem62"
                      {
                      "label" "#MyItem_hg"
                      "command" "give weapon_hegrenade"
                      }
                      }


                      IP属地:山东11楼2020-05-19 00:12
                      回复
                        承前帖
                        复制cstrike\resource\cstrike_schinese.txt,放到followme\resource下边(其他语言如有需要自行复制修改),用文本编辑器打开,添加下边内容:
                        "MyItem_cheats" "作弊选项"
                        "[english]MyItem_cheats" "Cheats"
                        "MyItem_cheats_enable" "开启作弊"
                        "[english]MyItem_cheats_enable" "Cheats Enabled"
                        "MyItem_hg" "获得XX"
                        "[english]MyItem_hg" "Get a grenade"

                        现在我们进游戏预览一下:

                        大功告成。
                        这一弹教程就到这里了,如果你想修改右侧的观察模式菜单,可以编辑我们提取的spectatormodes.res,这个文件的格式和左侧选项菜单是一样的。


                        IP属地:山东12楼2020-05-19 00:14
                        回复
                          大佬,我想问下,观察者界面的雷达大小怎么改?


                          IP属地:广东来自Android客户端13楼2021-05-06 23:37
                          回复
                            楼主大大,不是挖坟吧……请教个问题…
                            我网上下了个界面,观察员界面下面的玩家名字和血量那里,中文名字的玩家名字是乱码,这个要在哪里修改?


                            IP属地:云南来自iPhone客户端15楼2022-10-03 20:02
                            回复


                              IP属地:云南来自iPhone客户端16楼2022-10-03 20:02
                              回复