Вопрос Окраска материала не только в чамсах

Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
Делаю чамсы на руки и атачменты. Сталкиваюсь с проблемой:
Посмотреть вложение 229250
Кроме оружия заливается еще и рука, но не чамсами а просто окрашивается в цвет чамсов.
Фильтр:
C++:
const bool bIsArm = strstr(pInfo.pModel->szName, "arms");
const bool bIsWeapon = strstr(pInfo.pModel->szName, "weapons/v_");
Рендер чамсов:
C++:
else if (bIsArm && g_Options.m_aChamsSettings[5].m_bRenderChams && !bIsWeapon)
        this->DrawModel(g_Options.m_aChamsSettings[5], pCtx, pState, pInfo, aMatrix, false, false);
    else if (bIsWeapon && !bIsArm && g_Options.m_aChamsSettings[6].m_bRenderChams)
        this->DrawModel(g_Options.m_aChamsSettings[6], pCtx, pState, pInfo, aMatrix, false, false);
Как в зероне, чамсы рендерятся в dme_model
код DME_studio:
C++:
void __fastcall hkDrawModelExecute_Studio(LPVOID pEcx, uint32_t, LPVOID pResults, DrawModelInfo_t* pInfo, matrix3x4_t* pBoneToWorld, float_t* flpFlexWeights, float_t* flpFlexDelayedWeights, Vector& vrModelOrigin, int32_t iFlags)
    {
        if (g_cheat.m_bDrawModel && pInfo->m_pStudioHdr)
        {
            if (strstr(pInfo->m_pStudioHdr->szName, "weapons\\w_pist_elite.mdl"))
            {
                g_StudioRender->ForcedMaterialOverride(NULL);
                return Hooks::m_DrawModelExecute_Studio(g_StudioRender, pResults, pInfo, pBoneToWorld, flpFlexWeights, flpFlexDelayedWeights, vrModelOrigin, iFlags);
            }
        }

        return Hooks::m_DrawModelExecute_Studio(g_StudioRender, pResults, pInfo, pBoneToWorld, flpFlexWeights, flpFlexDelayedWeights, vrModelOrigin, iFlags);
    }
dme model:
C++:
void __fastcall hkDrawModelExecute_Model(LPVOID pEcx, uint32_t, IMatRenderContext* pCtx, const DrawModelState_t& pState, const ModelRenderInfo_t& pInfo, matrix3x4_t* aMatrix)
    {
        if (g_MdlRender->IsForcedMaterialOverride() &&
            !strstr(pInfo.pModel->szName, "arms") &&
            !strstr(pInfo.pModel->szName, "weapons/v_"))
            return m_DrawModelExecute_Model(pEcx, pCtx, pState, pInfo, aMatrix);

        return g_Chams->OnModelRender(pCtx, pState, pInfo, aMatrix);
    }
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Делаю чамсы на руки и атачменты. Сталкиваюсь с проблемой:
Посмотреть вложение 229250
Кроме оружия заливается еще и рука, но не чамсами а просто окрашивается в цвет чамсов.
Фильтр:
C++:
const bool bIsArm = strstr(pInfo.pModel->szName, "arms");
const bool bIsWeapon = strstr(pInfo.pModel->szName, "weapons/v_");
Рендер чамсов:
C++:
else if (bIsArm && g_Options.m_aChamsSettings[5].m_bRenderChams && !bIsWeapon)
        this->DrawModel(g_Options.m_aChamsSettings[5], pCtx, pState, pInfo, aMatrix, false, false);
    else if (bIsWeapon && !bIsArm && g_Options.m_aChamsSettings[6].m_bRenderChams)
        this->DrawModel(g_Options.m_aChamsSettings[6], pCtx, pState, pInfo, aMatrix, false, false);
Как в зероне, чамсы рендерятся в dme_model
код DME_studio:
C++:
void __fastcall hkDrawModelExecute_Studio(LPVOID pEcx, uint32_t, LPVOID pResults, DrawModelInfo_t* pInfo, matrix3x4_t* pBoneToWorld, float_t* flpFlexWeights, float_t* flpFlexDelayedWeights, Vector& vrModelOrigin, int32_t iFlags)
    {
        if (g_cheat.m_bDrawModel && pInfo->m_pStudioHdr)
        {
            if (strstr(pInfo->m_pStudioHdr->szName, "weapons\\w_pist_elite.mdl"))
            {
                g_StudioRender->ForcedMaterialOverride(NULL);
                return Hooks::m_DrawModelExecute_Studio(g_StudioRender, pResults, pInfo, pBoneToWorld, flpFlexWeights, flpFlexDelayedWeights, vrModelOrigin, iFlags);
            }
        }

        return Hooks::m_DrawModelExecute_Studio(g_StudioRender, pResults, pInfo, pBoneToWorld, flpFlexWeights, flpFlexDelayedWeights, vrModelOrigin, iFlags);
    }
dme model:
C++:
void __fastcall hkDrawModelExecute_Model(LPVOID pEcx, uint32_t, IMatRenderContext* pCtx, const DrawModelState_t& pState, const ModelRenderInfo_t& pInfo, matrix3x4_t* aMatrix)
    {
        if (g_MdlRender->IsForcedMaterialOverride() &&
            !strstr(pInfo.pModel->szName, "arms") &&
            !strstr(pInfo.pModel->szName, "weapons/v_"))
            return m_DrawModelExecute_Model(pEcx, pCtx, pState, pInfo, aMatrix);

        return g_Chams->OnModelRender(pCtx, pState, pInfo, aMatrix);
    }
фотка не ворк
 
Сверху Снизу