Jump to content
Maintenance ×
×
×
  • Create New...
  • 0

Sash items


Pișta

Question

Hello, I added the sashes that are now in beta on the official, but they only see  if they have over 19% of the absortions, those below 19% only see the shine. Sorry for my bad english.


 

Spoiler

 

Spoiler

FCPr0xy.jpg

Spoiler

ZJRUAxo.jpg

 

  • Sad 1
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
  • Premium

You'll have to adapt new sashes with code starts from 86001 in this two files

in InstanceBase.cpp this function needs to be edit

Spoiler

#ifdef ENABLE_SASH_SYSTEM
void CInstanceBase::SetSash(DWORD dwSash)
{
    if (!IsPC())
        return;
    
    if (IsPoly())
        return;
    
    dwSash += 85000;
    ClearSashEffect();
    
    float fSpecular = 65.0f;
    if (dwSash > 86000)
    {
        dwSash -= 1000;
        fSpecular += 35;
        
        m_dwSashEffect = EFFECT_REFINED + EFFECT_SASH;
        __EffectContainer_AttachEffect(m_dwSashEffect);
    }
    
    fSpecular /= 100.0f;
    m_awPart[CRaceData::PART_SASH] = dwSash;
    
    CItemData * pItemData;
    if (!CItemManager::Instance().GetItemDataPointer(dwSash, &pItemData))
        return;
    
    m_GraphicThingInstance.AttachSash(pItemData, fSpecular);
    #ifdef ENABLE_OBJ_SCALLING
    DWORD dwRace = GetRace(), dwPos = RaceToJob(dwRace), dwSex = RaceToSex(dwRace);
    dwPos += 1;
    if (dwSex == 0)
        dwPos += 5;
    
    float fScaleX, fScaleY, fScaleZ, fPositionX, fPositionY, fPositionZ;
    if (pItemData->GetItemScale(dwPos, fScaleX, fScaleY, fScaleZ, fPositionX, fPositionY, fPositionZ))
    {
        m_GraphicThingInstance.SetScale(fScaleX, fScaleY, fScaleZ, true);
        if (m_kHorse.IsMounting())
            fPositionZ += 10.0f;
        
        m_GraphicThingInstance.SetScalePosition(fPositionX, fPositionY, fPositionZ);
    }
    #endif
}

And item.cpp this also needs to be edit

Spoiler

#ifdef __SASH_SYSTEM__
                else if (GetSubType() == COSTUME_SASH)
                {
                    toSetValue -= 85000;
                    if (GetSocket(SASH_ABSORPTION_SOCKET) >= SASH_EFFECT_FROM_ABS)
                        toSetValue += 1000;
                    
                    toSetValue = (bAdd == true) ? toSetValue : 0;
                    toSetPart = PART_SASH;
                }
#endif

Read the code and you'll understand the reason

Kind regards

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.


  • Activity

    1. 1

      Metin2 TitleBar Move Frezze

    2. 1

      Metin2 TitleBar Move Frezze

    3. 0

      Navicat "Trial" Reset

    4. 13

      Item ToolTip Width Fix

    5. 0

      Guild icon wrong position

    6. 3

      Monster health

    7. 4

      Luffy Pet

    8. 38

      Core X → Top Metin2 & Metin2 Download → Changelogs

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.