Jump to content

drgos001

Inactive Member
  • Posts

    31
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by drgos001

  1. Who helps me decrypter the client at MondialMt2?
    

    Who can make me a decrypter ?

    Link client: http://www.metin2-royal.com/telechargement/MondialMt2.exe

    VirusTotal: https://www.virustotal.com/#/url/4ef5b89ded907ab6627c121180a0421169f68206a332b4d295a2953b12a08912/detection

     

    I received these 2 files to decrypt: 

    This is the hidden content, please

    VirusTotal: https://www.virustotal.com/#/url/1f11db5e79082a601fe5cca388ddc8461d0042394a2fcfa91b10f44beaf778f8/detection

    i speak english very bad, sorry

     

    • Metin2 Dev 1
    • Good 1
  2. 1: Hello, I installed New Pet System and installation went perfectly, but I have a lvl probleama to display the characters. Lvl not display correctly.

    0619_131547.jpg

     

    I source if you must have a function to post

     

    2: Can you give a position where if I have a stone armor effect to emerge from the stone?

    Spoiler

    case CItemData::ITEM_TYPE_ARMOR:
            __ClearArmorRefineEffect();

            // 갑옷 특화 이펙트
            if (pItem->GetSubType() == CItemData::ARMOR_BODY)
            {
                DWORD vnum = pItem->GetIndex();

                if (12010 <= vnum && vnum <= 12049)
                {
                    __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL);
                    __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_SPECIAL2);
                }
                if (28443 == socket0 || 28443 == socket1 || 28443 == socket2 )
                {
                     __AttachEffect(EFFECT_REFINED+EFFECT_BODYARMOR_STONE);
                }
                
            }
            

            if (refine < 7)    //현재 제련도 7 이상만 이펙트가 있습니다.
                return 0;

            if (pItem->GetSubType() == CItemData::ARMOR_BODY)
            {
                m_armorRefineEffect = EFFECT_REFINED+EFFECT_BODYARMOR_REFINED7+refine-7;
                __AttachEffect(m_armorRefineEffect);
            }
            break;

     

  3. Hi, I added system pet and when I added the player does not appear lvl, how can I fix?

    Function:

    Spoiler

    void CInstanceBase::UpdateTextTailLevel(DWORD level)
    {
        //static D3DXCOLOR s_kLevelColor = D3DXCOLOR(119.0f/255.0f, 246.0f/255.0f, 168.0f/255.0f, 1.0f);
        static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f / 255.0f, 255.0f / 255.0f, 51.0f / 255.0f, 1.0f);
        static D3DXCOLOR Color_lv_1 = D3DXCOLOR(64.0f / 255.0f, 159.0f / 255.0f, 203.0f / 255.0f, 1.0f);
        static D3DXCOLOR Color_lv_2 = D3DXCOLOR(124.0f / 255.0f, 252.0f / 255.0f, 255.0f / 255.0f, 1.0f);
        static D3DXCOLOR Color_lv_3 = D3DXCOLOR(0.0f / 255.0f, 250.0f / 255.0f, 51.0f / 255.0f, 1.0f);
        static D3DXCOLOR Color_lv_4 = D3DXCOLOR(152.0f / 255.0f, 191.0f / 255.0f, 154.0f / 255.0f, 1.0f);
        static D3DXCOLOR Color_lv_5 = D3DXCOLOR(0.0f / 255.0f, 255.0f / 255.0f, 33.0f / 255.0f, 1.0f);

        char szText[256];
    #ifdef NEW_PET_SYSTEM
        static D3DXCOLOR s_kPetLevelColor = D3DCOLOR_XRGB(255, 255, 0);
        if (IsNewPet())
        {
            sprintf(szText, "Lv %d", level);
            CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kPetLevelColor);
        }
        else if (IsGameMaster())
        {
            sprintf(szText, "[Staff]", level);
            static D3DXCOLOR Color_lv_5 = D3DXCOLOR(0.0f / 255.0f, 255.0f / 255.0f, 33.0f / 255.0f, 1.0f);
        }
        else if (IsEnemy())
        {sprintf(szText, "[MOB][Lv] %d", level);
        static D3DXCOLOR Color_lv_4 = D3DXCOLOR(0.0f/255.0f, 255.0f/255.0f, 33.0f/255.0f, 1.0f);}
        else if (IsStone())
        {
            sprintf(szText, "[Metin][Lv] %d", level);
            static D3DXCOLOR Color_lv_5 = D3DXCOLOR(0.0f / 255.0f, 255.0f / 255.0f, 33.0f / 255.0f, 1.0f);
        }
        else if (IsPC())
        {
            printf(szText, "Lv %d", level);
            CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
        }
    #else
        sprintf(szText, "Lv %d", level);
        CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
    #endif
    }

    Image shown after compilation: 0617_220815.jpg

  4. Hello, how can I fix errors in binary?

     

    Error    5    error LNK2001: unresolved external symbol "void __cdecl initskillpet(void)" (?initskillpet@@YAXXZ)    D:\lucru\sursa\sursa @ Cartof\sursa client @ dragos001\sursa client @dragos001\vs_files\UserInterface\UserInterface.obj    UserInterface
    Error    3    error LNK2001: unresolved external symbol "public: void __thiscall CPythonSkillPet::Destroy(void)" (?Destroy@CPythonSkillPet@@QAEXXZ)    D:\lucru\sursa\sursa @ Cartof\sursa client @ dragos001\sursa client @dragos001\vs_files\UserInterface\PythonApplication.obj    UserInterface
    Error    2    error LNK2001: unresolved external symbol "public: virtual __thiscall CPythonSkillPet::~CPythonSkillPet(void)" (??1CPythonSkillPet@@UAE@XZ)    D:\lucru\sursa\sursa @ Cartof\sursa client @ dragos001\sursa client @dragos001\vs_files\UserInterface\PythonApplication.obj    UserInterface
    Error    4    error LNK2001: unresolved external symbol "public: bool __thiscall CPythonSkillPet::RegisterSkillPet(char const *)" (?RegisterSkillPet@CPythonSkillPet@@QAE_NPBD@Z)    D:\lucru\sursa\sursa @ Cartof\sursa client @ dragos001\sursa client @dragos001\vs_files\UserInterface\PythonApplication.obj    UserInterface
    Error    1    error LNK2001: unresolved external symbol "public: __thiscall CPythonSkillPet::CPythonSkillPet(void)" (??0CPythonSkillPet@@QAE@XZ)    D:\lucru\sursa\sursa @ Cartof\sursa client @ dragos001\sursa client @dragos001\vs_files\UserInterface\PythonApplication.obj    UserInterface
     

    • Good 1
  5. Hello , I installed Systeme scarves , but there is no effect on them when they make .


    I leave the source:
    PythonSlotWindow.cpp

     

    Spoiler

     

    // 1) Search: void CSlotWindow::DeactivateSlot(DWORD dwIndex)


    // 2) After their function make a new line and paste:


    void CSlotWindow::ActivateAcceSlot(DWORD dwIndex)


    {


        TSlot * pSlot;



            return;


        


        pSlot->bAcceActive = TRUE;


        if (!m_pSlotAcceActiveEffect)


        {


            __CreateAcceSlotEnableEffect();


        }


    }

    void CSlotWindow::DeactivateAcceSlot(DWORD dwIndex)
    {
        TSlot * pSlot;
        if (!GetSlotPointer(dwIndex, &pSlot))
            return;
        
        pSlot->bAcceActive = FALSE;
    }

    // 1) Search: void CSlotWindow::ClearSlot(TSlot * pSlot)
    // 2) Delete their function and paste:
    void CSlotWindow::ClearSlot(TSlot * pSlot)
    {
        pSlot->bActive = FALSE;
        pSlot->bAcceActive = FALSE;
        pSlot->byxPlacedItemSize = 1;
        pSlot->byyPlacedItemSize = 1;
        pSlot->isItem = FALSE;
        pSlot->dwState = 0;
        pSlot->fCoolTime = 0.0f;
        pSlot->fStartCoolTime = 0.0f;
        pSlot->dwCenterSlotNumber = 0xffffffff;
        pSlot->dwItemIndex = 0;
        pSlot->bRenderBaseSlotImage = true;
        
        if (pSlot->pInstance)
        {
            CGraphicImageInstance::Delete(pSlot->pInstance);
            pSlot->pInstance = NULL;
        }
        
        if (pSlot->pCoverButton)
        {
            pSlot->pCoverButton->Hide();
        }
        
        if (pSlot->pSlotButton)
        {
            pSlot->pSlotButton->Hide();
        }
        
        if (pSlot->pSignImage)
        {
             pSlot->pSignImage->Hide();
        }
        
        if (pSlot->pFinishCoolTimeEffect)
        {
            pSlot->pFinishCoolTimeEffect->Hide();
        }
    }

    // 1) Search: void CSlotWindow::OnUpdate()
    // 2) Delete their function and paste:
    void CSlotWindow::OnUpdate()
    {
        for (std::deque<DWORD>::iterator itor = m_ReserveDestroyEffectDeque.begin(); itor != m_ReserveDestroyEffectDeque.end(); ++itor)
        {
            DWORD dwSlotIndex = *itor;
            TSlot * pSlot;
            if (!GetSlotPointer(dwSlotIndex, &pSlot))
                continue;
            
            __DestroyFinishCoolTimeEffect(pSlot);
        }
        
        m_ReserveDestroyEffectDeque.clear();
        
        if (m_pSlotActiveEffect)
            m_pSlotActiveEffect->Update();
        
        if (m_pSlotAcceActiveEffect)
            m_pSlotAcceActiveEffect->Update();
    }

    // 1) Search: void CSlotWindow::OnRender()
    // 2) Delete their function and paste:
    void CSlotWindow::OnRender()
    {
        RenderSlotBaseImage();
        switch (m_dwSlotStyle)
        {
            case SLOT_STYLE_PICK_UP:
                OnRenderPickingSlot();
                break;
            case SLOT_STYLE_SELECT:
                OnRenderSelectedSlot();
                break;
        }
        
        std::for_each(m_pChildList.begin(), m_pChildList.end(), std::void_mem_fun(&CWindow::OnRender));
        TSlotListIterator itor;
    #ifdef __RENDER_SLOT_AREA__
        CPythonGraphic::Instance().SetDiffuseColor(0.5f, 0.5f, 0.5f);
        for (itor = m_SlotList.begin(); itor != m_SlotList.end(); ++itor)
        {
            TSlot & rSlot = *itor;
            CPythonGraphic::Instance().RenderBox2d(m_rect.left + rSlot.ixPosition, m_rect.top + rSlot.iyPosition, m_rect.left + rSlot.ixPosition + rSlot.ixCellSize, m_rect.top + rSlot.iyPosition + rSlot.iyCellSize);
        }
        
        CPythonGraphic::Instance().SetDiffuseColor(1.0f, 0.0f, 0.0f, 1.0f);
        CPythonGraphic::Instance().RenderBox2d(m_rect.left, m_rect.top, m_rect.right, m_rect.bottom);
    #endif
        
        for (itor = m_SlotList.begin(); itor != m_SlotList.end(); ++itor)
        {
            TSlot & rSlot = *itor;
            if (rSlot.pSlotButton)
            {
                rSlot.pSlotButton->SetPosition(rSlot.ixPosition + 1, rSlot.iyPosition + 19);
            }
            
            if (rSlot.pSignImage)
            {
                rSlot.pSignImage->SetPosition(rSlot.ixPosition - 7, rSlot.iyPosition + 10);
            }
            
            if (rSlot.pInstance)
            {
                rSlot.pInstance->SetPosition(m_rect.left + rSlot.ixPosition, m_rect.top + rSlot.iyPosition);
                rSlot.pInstance->Render();
            }
            
            if (!rSlot.isItem)
            {
                if (IS_SET(rSlot.dwState, SLOT_STATE_ALWAYS_RENDER_COVER))
                {
                    rSlot.pCoverButton->Show();
                    rSlot.pCoverButton->SetPosition(rSlot.ixPosition, rSlot.iyPosition);
                    rSlot.pCoverButton->RenderButton();
                }
                
                continue;
            }
            
            if (IS_SET(rSlot.dwState, SLOT_STATE_DISABLE))
            {
                CPythonGraphic::Instance().SetDiffuseColor(1.0f, 0.0f, 0.0f, 0.3f);
                CPythonGraphic::Instance().RenderBar2d(m_rect.left + rSlot.ixPosition, m_rect.top + rSlot.iyPosition, m_rect.left + rSlot.ixPosition + rSlot.ixCellSize, m_rect.top + rSlot.iyPosition + rSlot.iyCellSize);
            }
            
            if (rSlot.fCoolTime != 0.0f)
            {
                float fcurTime = CTimer::Instance().GetCurrentSecond();
                float fPercentage = (fcurTime - rSlot.fStartCoolTime) / rSlot.fCoolTime;
                CPythonGraphic::Instance().RenderCoolTimeBox(m_rect.left + rSlot.ixPosition + 16.0f, m_rect.top + rSlot.iyPosition + 16.0f, 16.0f, fPercentage);
                if (fcurTime - rSlot.fStartCoolTime >= rSlot.fCoolTime)
                {
                    if ((fcurTime - rSlot.fStartCoolTime) - rSlot.fCoolTime < 1.0f)
                        __CreateFinishCoolTimeEffect(&rSlot);
                    
                    rSlot.fCoolTime = 0.0f;
                    rSlot.fStartCoolTime = 0.0f;
                }
            }
            
            if (rSlot.pCoverButton)
            {
                rSlot.pCoverButton->SetPosition(rSlot.ixPosition, rSlot.iyPosition);
                rSlot.pCoverButton->RenderButton();
            }
            
            if (rSlot.pNumberLine)
            {
                int ix = rSlot.byxPlacedItemSize*ITEM_WIDTH + rSlot.ixPosition - 4;
                int iy = rSlot.iyPosition + rSlot.byyPlacedItemSize*ITEM_HEIGHT - 12 + 2;
                rSlot.pNumberLine->SetPosition(ix, iy);
                rSlot.pNumberLine->Update();
                rSlot.pNumberLine->Render();
            }
            
            if (rSlot.pFinishCoolTimeEffect)
            {
                rSlot.pFinishCoolTimeEffect->SetPosition(rSlot.ixPosition, rSlot.iyPosition);
                rSlot.pFinishCoolTimeEffect->Update();
                rSlot.pFinishCoolTimeEffect->Render();
            }
            
            if (rSlot.bActive)
            {
                int ix = m_rect.left + rSlot.ixPosition;
                int iy = m_rect.top + rSlot.iyPosition;
                if (m_pSlotActiveEffect)
                {
                    m_pSlotActiveEffect->SetPosition(ix, iy);
                    m_pSlotActiveEffect->Render();
                }
            }
            
            if (rSlot.bAcceActive)
            {
                int ix = m_rect.left + rSlot.ixPosition;
                int iy = m_rect.top + rSlot.iyPosition;
                if (m_pSlotAcceActiveEffect)
                {
                    m_pSlotAcceActiveEffect->SetPosition(ix, iy);
                    m_pSlotAcceActiveEffect->Render();
                }
            }
        }
        
        RenderLockedSlot();
    }

    // 1) Search: void CSlotWindow::__DestroySlotEnableEffect()
    // 2) After their function make a new line and paste:
    void CSlotWindow::__CreateAcceSlotEnableEffect()
    {
        __DestroySlotAcceEnableEffect();
        
        m_pSlotAcceActiveEffect = new CAniImageBox(NULL);
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/00.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/01.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/02.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/03.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/04.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/05.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/06.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/07.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/08.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/09.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/10.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/11.sub");
        m_pSlotAcceActiveEffect->AppendImage("d:/ymir work/ui/slotactiveeffect/acceslot/12.sub");
        m_pSlotAcceActiveEffect->SetRenderingMode(CGraphicExpandedImageInstance::RENDERING_MODE_SCREEN);
        m_pSlotAcceActiveEffect->Show();
    }

    void CSlotWindow::__DestroySlotAcceEnableEffect()
    {
        if (m_pSlotAcceActiveEffect)
        {
            delete m_pSlotAcceActiveEffect;
            m_pSlotAcceActiveEffect = NULL;
        }
    }

    // 1) Search: void CSlotWindow::__Initialize()
    // 2) Delete their function and paste:
    void CSlotWindow::__Initialize()
    {
        m_dwSlotType = 0;
        m_dwSlotStyle = SLOT_STYLE_PICK_UP;
        m_dwToolTipSlotNumber = SLOT_NUMBER_NONE;
        
        m_isUseMode = FALSE;
        m_isUsableItem = FALSE;
        
        m_pToggleSlotImage = NULL;
        m_pSlotActiveEffect = NULL;
        m_pSlotAcceActiveEffect = NULL;
        m_pBaseImageInstance = NULL;
    }

    // 1) Search: void CSlotWindow::Destroy()
    // 2) Delete their function and paste:
    void CSlotWindow::Destroy()
    {
        for (TSlotListIterator itor = m_SlotList.begin(); itor != m_SlotList.end(); ++itor)
        {
            TSlot & rSlot = *itor;
            
            ClearSlot(&rSlot);
            if (rSlot.pNumberLine)
            {
                delete rSlot.pNumberLine;
                rSlot.pNumberLine = NULL;
            }
            
            if (rSlot.pCoverButton)
            {
                CWindowManager::Instance().DestroyWindow(rSlot.pCoverButton);
            }
            
            if (rSlot.pSlotButton)
            {
                CWindowManager::Instance().DestroyWindow(rSlot.pSlotButton);
            }
            
            if (rSlot.pSignImage)
            {
                CWindowManager::Instance().DestroyWindow(rSlot.pSignImage);
            }
            
            if (rSlot.pFinishCoolTimeEffect)
            {
                CWindowManager::Instance().DestroyWindow(rSlot.pFinishCoolTimeEffect);
            }
        }
        
        m_SlotList.clear();
        
        __DestroyToggleSlotImage();
        __DestroySlotEnableEffect();
        __DestroySlotAcceEnableEffect();
        __DestroyBaseImage();
        __Initialize();
    }


     

     

    PythonSlotWindow.h

    Spoiler

     

    // 1) Search: BOOL    bActive;


    // 2) Make a new line and paste:
                    BOOL    bAcceActive;

    // 1) Search: void DeactivateSlot(DWORD dwIndex);
    // 2) Make a new line and paste:
                void ActivateAcceSlot(DWORD dwIndex);
                void DeactivateAcceSlot(DWORD dwIndex);

    // 1) Search: void __DestroySlotEnableEffect();
    // 2) Make a new line and paste:
                void __CreateAcceSlotEnableEffect();
                void __DestroySlotAcceEnableEffect();

    // 1) Search: CAniImageBox * m_pSlotActiveEffect;
    // 2) Make a new line and paste:
                CAniImageBox * m_pSlotAcceActiveEffect;

     

     

     

    PythonWindowManagerModule.cpp

    Spoiler

     

    // 1) Search: PyObject * wndMgrActivateSlot(PyObject * poSelf, PyObject * poArgs)


    // 2) Make a new line and paste:
    PyObject * wndMgrActivateAcceSlot(PyObject * poSelf, PyObject * poArgs)
    {
        UI::CWindow * pWin;
        if (!PyTuple_GetWindow(poArgs, 0, &pWin))
            return Py_BuildException();
        
        int iSlotIndex;
        if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
            return Py_BuildException();
        
        if (!pWin->IsType(UI::CSlotWindow::Type()))
            return Py_BuildException();
        
        UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
        pSlotWin->ActivateAcceSlot(iSlotIndex);
        return Py_BuildNone();
    }

    PyObject * wndMgrDeactivateAcceSlot(PyObject * poSelf, PyObject * poArgs)
    {
        UI::CWindow * pWin;
        if (!PyTuple_GetWindow(poArgs, 0, &pWin))
            return Py_BuildException();
        
        int iSlotIndex;
        if (!PyTuple_GetInteger(poArgs, 1, &iSlotIndex))
            return Py_BuildException();
        
        if (!pWin->IsType(UI::CSlotWindow::Type()))
            return Py_BuildException();
        
        UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin;
        pSlotWin->DeactivateAcceSlot(iSlotIndex);
        return Py_BuildNone();
    }

    // 1) Search: { "SetToggleSlot",                wndMgrSetToggleSlot,                METH_VARARGS },
    // 2) Make a new line and paste:
            {"ActivateAcceSlot", wndMgrActivateAcceSlot, METH_VARARGS},
            {"DeactivateAcceSlot", wndMgrDeactivateAcceSlot, METH_VARARGS},

     

     

     

    InstanceBaseEffect

     

    Spoiler

     

    // 1) Search: else if (0 == rstrBoneName.compare("PART_WEAPON_LEFT"))


    // 2) After their conclusion make a new line and paste:


            else if (0 == rstrBoneName.compare("PART_ACCE"))


            {



                {


                    return m_GraphicThingInstance.AttachEffectByID(0, c_szBoneName, ms_adwCRCAffectEffect[eEftType]);


                }


            }


     

     


    I have other files that belong to the system, if you need other fisieru 'll post them .

×
×
  • Create New...

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.