metahook吧 关注:756贴子:11,752

[钻石星辰拳]MHP : 设置 view model 的皮肤

只看楼主收藏回复

Download Link : http://pan.baidu.com/s/1gdh73Jd
压缩包内有一份 MHP的源码和一份 AMXX 模块的源码
感觉 @灬↘孤独娱乐 会需要


1楼2014-08-28 14:17回复
    ~ 谢楼主~ 嘛 不过要开学了 高一党不打算继续玩了 学习苦逼


    IP属地:中国香港来自Android客户端2楼2014-08-28 14:46
    收起回复


      IP属地:重庆来自Android客户端3楼2014-08-28 17:26
      回复
        谢谢 Nagi 加精啦啦


        4楼2014-08-28 18:44
        回复
          甚麼来的??
          - 来自 Microsoft/Nokia 粉,手持 Lumia 920/Lumia 800/N9/N8/N900/Asha 503/Zune HD/Surface pro :) 这只是无意义的小尾巴


          IP属地:中国香港来自WindowsPhone客户端5楼2014-08-28 22:02
          收起回复
            你这么快就学会了metahook的插件啦


            IP属地:广东6楼2014-08-28 22:42
            收起回复
              孤独都弃坑了


              IP属地:浙江来自iPhone客户端7楼2014-08-28 23:12
              收起回复
                直接hook V_DrawViewModel还可以支持v模型透明(rendermode=texture的透明,不是贴图additive的那个)。


                IP属地:江苏9楼2014-08-29 16:10
                收起回复
                  回复 NikoKVCS :hook R_DrawViewModel在里面直接return,在HUD_DrawTransparentTriangles里调用一次新的R_DrawViewModel地址。
                  g_pfn_R_DrawViewModel = (type_R_DrawViewModel)GetEngfuncsAddress(0x1D45660);
                  g_pMetaHookAPI->InlineHook((void *)g_pfn_R_DrawViewModel, R_DrawViewModel, (void *&)g_real_R_DrawViewModel);
                  #define GetEngfuncsAddress(addr) (g_dwEngineBase+addr-0x1D01000)


                  IP属地:江苏10楼2014-08-30 09:27
                  收起回复
                    g_real_R_DrawViewModel()之前保存并设置全局变量entity_t *r_currententity的值为gEngfuncs.GetViewModel(),然后调用R_DrawViewModel(),再将r_currententity的值改回来。
                    cl_entity_t **r_currententity;
                    HUD_GetStudioModelInterface里:r_currententity = *(cl_entity_t ***)((DWORD)pEngineStudio->GetCurrentEntity + 0x1);
                    使用*r_currententity = gEngfuncs.GetViewModel()这样既可


                    IP属地:江苏11楼2014-08-30 21:14
                    回复
                      @hzqst
                      下面是我的代码, 不知道那里错了, 能否抽空看看呢?
                      也不知道 我会不会理解错你的意思了
                      // Global
                      cl_entity_t **r_currententity;
                      void HUD_DrawTransparentTriangles(void)
                      {
                      *r_currententity = gEngfuncs.GetViewModel();
                      g_real_R_DrawViewModel();
                      cl_entity_t *viewent = *r_currententity;
                      viewent->curstate .rendermode = kRenderTransTexture;
                      viewent->curstate .renderfx = kRenderFxNone;
                      viewent->curstate .rendercolor .r = 200;
                      viewent->curstate .rendercolor .g = 200;
                      viewent->curstate .rendercolor .b = 200;
                      viewent->curstate. renderamt = 130;
                      return gExportfuncs.HUD_DrawTransparentTriangles ();
                      }
                      int HUD_GetStudioModelInterface(int iVersion, struct r_studio_interface_s **ppStudioInterface, struct engine_studio_api_s *pEngineStudio)
                      {
                      r_currententity = *(cl_entity_t ***)((DWORD)pEngineStudio->GetCurrentEntity + 0x1);
                      return gExportfuncs.HUD_GetStudioModelInterface(iVersion, ppStudioInterface, pEngineStudio);
                      }


                      12楼2014-08-30 23:17
                      收起回复
                        @hzqst 不好意思,打扰一下哦
                        想请教问题~
                        我屏蔽了引擎的v模绘画函数,然后用 tempent 来实现v模型,
                        折腾了一晚上, 能解决的,我基本都自己解决了,剩下的是自己不懂得该怎么解决的
                        所以只好请教您了 希望抽出点宝贵时间,简单得看下下~
                        我用 TEMPENT 实现的v模,出现了问题是
                        v模型会陷入墙壁, 不知道怎么解决 (+﹏+)~
                        tempent实现的v模是左手臂的 0.0 好奇怪
                        开枪时,出现了两个枪火

                        源码节选截图:

                        上面的 R_DrawViewModel 函数 是在 V_CalcRefdef 里面调用的


                        13楼2014-09-20 22:19
                        收起回复
                          设置手臂贴图还是。。。


                          IP属地:广东来自Android客户端14楼2014-10-08 21:52
                          收起回复
                            失效了 求补档


                            IP属地:浙江来自Android客户端15楼2022-05-11 17:18
                            收起回复