Honorable Member Mali 42331 Posted December 20, 2022 Honorable Member Share Posted December 20, 2022 (edited) This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up You must add these: Spoiler Reversed from 22.2.7.0 Official Binary. Thanks to @ Owsap You can disable the premium requirement. Edit the CanPickUpItem function according to your server. Edited December 20, 2022 by Mali 178 2 1 1 1 36 1 5 91 Link to comment Share on other sites More sharing options...
numNum 38 Posted December 20, 2022 Share Posted December 20, 2022 Man!!! What you are doing for the community is much appreciated. Thanks mate. 1 1 Link to comment Share on other sites More sharing options...
javiemerino005 2 Posted December 21, 2022 Share Posted December 21, 2022 Hi, I have installed the system correctly, 0 sysser but when it comes to picking up the objects, it doesn't pick them up and I don't understand why. Link to comment Share on other sites More sharing options...
Premium ?????? 3 Posted December 22, 2022 Premium Share Posted December 22, 2022 (edited) Man you are big. Best regards and successfully installed, e.t.c. collection works. I have this little detail if you tell me what to do: https://metin2.download/picture/Q8gtLMtUQDE1B5S7AvJN28xrUuZS5iIn/.gif Thank you very much for your publication. Edited December 22, 2022 by Metin2 Dev Core X - External 2 Internal 1 ░▒▓█►─═ Ⓕⓘⓖⓗⓣ ⓕⓞⓡ ⓨⓞⓤⓡ ⓓⓡⓔⓐⓜⓢ ,⃝ ⓝⓔⓥⓔⓡ ⓢⓣⓞⓟ .⃝ ═─◄█▓▒░ Link to comment Share on other sites More sharing options...
Honorable Member Mali 42331 Posted December 22, 2022 Author Honorable Member Share Posted December 22, 2022 1 hour ago, ?????? said: Man you are big. Best regards and successfully installed, e.t.c. collection works. I have this little detail if you tell me what to do: https://metin2.download/picture/Q8gtLMtUQDE1B5S7AvJN28xrUuZS5iIn/.gif Thank you very much for your publication. I think you made a mistake in CGraphicTextInstance::Render. Can you try this? Spoiler void CGraphicTextInstance::Render(RECT * pClipRect) { if (!m_isUpdate) return; CGraphicText* pkText=m_roText.GetPointer(); if (!pkText) return; CGraphicFontTexture* pFontTexture = pkText->GetFontTexturePointer(); if (!pFontTexture) return; float fStanX = m_v3Position.x; float fStanY = m_v3Position.y + 1.0f; UINT defCodePage = GetDefaultCodePage(); if (defCodePage == CP_ARABIC) { switch (m_hAlign) { case HORIZONTAL_ALIGN_LEFT: fStanX -= m_textWidth; break; case HORIZONTAL_ALIGN_CENTER: fStanX -= float(m_textWidth / 2); break; } } else { switch (m_hAlign) { case HORIZONTAL_ALIGN_RIGHT: fStanX -= m_textWidth; break; case HORIZONTAL_ALIGN_CENTER: fStanX -= float(m_textWidth / 2); break; } } switch (m_vAlign) { case VERTICAL_ALIGN_BOTTOM: fStanY -= m_textHeight; break; case VERTICAL_ALIGN_CENTER: fStanY -= float(m_textHeight) / 2.0f; break; } //WORD FillRectIndices[6] = { 0, 2, 1, 2, 3, 1 }; STATEMANAGER.SaveRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); STATEMANAGER.SaveRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); DWORD dwFogEnable = STATEMANAGER.GetRenderState(D3DRS_FOGENABLE); DWORD dwLighting = STATEMANAGER.GetRenderState(D3DRS_LIGHTING); STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, FALSE); STATEMANAGER.SetRenderState(D3DRS_LIGHTING, FALSE); STATEMANAGER.SetVertexShader(D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1); STATEMANAGER.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); STATEMANAGER.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); STATEMANAGER.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); STATEMANAGER.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); STATEMANAGER.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE); STATEMANAGER.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); { const float fFontHalfWeight=1.0f; float fCurX; float fCurY; float fFontSx; float fFontSy; float fFontEx; float fFontEy; float fFontWidth; float fFontHeight; float fFontMaxHeight; float fFontAdvance; SVertex akVertex[4]; akVertex[0].z=m_v3Position.z; akVertex[1].z=m_v3Position.z; akVertex[2].z=m_v3Position.z; akVertex[3].z=m_v3Position.z; CGraphicFontTexture::TCharacterInfomation* pCurCharInfo; // Å׵θ® if (m_isOutline) { fCurX=fStanX; fCurY=fStanY; fFontMaxHeight=0.0f; CGraphicFontTexture::TPCharacterInfomationVector::iterator i; for (i=m_pCharInfoVector.begin(); i!=m_pCharInfoVector.end(); ++i) { pCurCharInfo = *i; fFontWidth=float(pCurCharInfo->width); fFontHeight=float(pCurCharInfo->height); fFontAdvance=float(pCurCharInfo->advance); // NOTE : ÆùÆ® Ãâ·Â¿¡ Width Á¦ÇÑÀ» µÓ´Ï´Ù. - [levites] if ((fCurX+fFontWidth)-m_v3Position.x > m_fLimitWidth) { if (m_isMultiLine) { fCurX=fStanX; fCurY+=fFontMaxHeight; } else { break; } } #if !defined(__BL_CLIP_MASK__) if (pClipRect) { if (fCurY <= pClipRect->top) { fCurX += fFontAdvance; continue; } } #endif fFontSx = fCurX - 0.5f; fFontSy = fCurY - 0.5f; fFontEx = fFontSx + fFontWidth; fFontEy = fFontSy + fFontHeight; #if defined(__BL_CLIP_MASK__) float pleft = pCurCharInfo->left; float ptop = pCurCharInfo->top; float pright = pCurCharInfo->right; float pbottom = pCurCharInfo->bottom; if (pClipRect) { const float v1 = pCurCharInfo->right - pCurCharInfo->left; const float v2 = pCurCharInfo->bottom - pCurCharInfo->top; if (fFontEx <= pClipRect->left) { fCurX += fFontAdvance; continue; } if (fFontSx < pClipRect->left) { const float fCal = pClipRect->left - fFontSx; fFontSx += fCal; pleft += fCal / fFontWidth * v1; } if (fFontEy <= pClipRect->top) { fCurX += fFontAdvance; continue; } if (fFontSy < pClipRect->top) { const float fCal = pClipRect->top - fFontSy; fFontSy += fCal; ptop += fCal / fFontHeight * v2; } if (fFontSx >= pClipRect->right) { fCurX += fFontAdvance; continue; } if (fFontEx > pClipRect->right) { const float fCal = fFontEx - pClipRect->right; fFontEx -= fCal; pright -= fCal / fFontWidth * v1; } if (fFontSy >= pClipRect->bottom) { fCurX += fFontAdvance; continue; } if (fFontEy > pClipRect->bottom) { const float fCal = fFontEy - pClipRect->bottom; fFontEy -= fCal; pbottom -= fCal / fFontHeight * v2; } } pFontTexture->SelectTexture(pCurCharInfo->index); STATEMANAGER.SetTexture(0, pFontTexture->GetD3DTexture()); akVertex[0].u = pleft; akVertex[0].v = ptop; akVertex[1].u = pleft; akVertex[1].v = pbottom; akVertex[2].u = pright; akVertex[2].v = ptop; akVertex[3].u = pright; akVertex[3].v = pbottom; #else pFontTexture->SelectTexture(pCurCharInfo->index); STATEMANAGER.SetTexture(0, pFontTexture->GetD3DTexture()); akVertex[0].u = pCurCharInfo->left; akVertex[0].v = pCurCharInfo->top; akVertex[1].u = pCurCharInfo->left; akVertex[1].v = pCurCharInfo->bottom; akVertex[2].u = pCurCharInfo->right; akVertex[2].v = pCurCharInfo->top; akVertex[3].u = pCurCharInfo->right; akVertex[3].v = pCurCharInfo->bottom; #endif akVertex[3].color = akVertex[2].color = akVertex[1].color = akVertex[0].color = m_dwOutLineColor; float feather = 0.0f; // m_fFontFeather akVertex[0].y=fFontSy-feather; akVertex[1].y=fFontEy+feather; akVertex[2].y=fFontSy-feather; akVertex[3].y=fFontEy+feather; // ¿Ş akVertex[0].x=fFontSx-fFontHalfWeight-feather; akVertex[1].x=fFontSx-fFontHalfWeight-feather; akVertex[2].x=fFontEx-fFontHalfWeight+feather; akVertex[3].x=fFontEx-fFontHalfWeight+feather; if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); // ¿À¸¥ akVertex[0].x=fFontSx+fFontHalfWeight-feather; akVertex[1].x=fFontSx+fFontHalfWeight-feather; akVertex[2].x=fFontEx+fFontHalfWeight+feather; akVertex[3].x=fFontEx+fFontHalfWeight+feather; if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); akVertex[0].x=fFontSx-feather; akVertex[1].x=fFontSx-feather; akVertex[2].x=fFontEx+feather; akVertex[3].x=fFontEx+feather; // À§ akVertex[0].y=fFontSy-fFontHalfWeight-feather; akVertex[1].y=fFontEy-fFontHalfWeight+feather; akVertex[2].y=fFontSy-fFontHalfWeight-feather; akVertex[3].y=fFontEy-fFontHalfWeight+feather; // 20041216.myevan.DrawPrimitiveUP if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); // ¾Æ·¡ akVertex[0].y=fFontSy+fFontHalfWeight-feather; akVertex[1].y=fFontEy+fFontHalfWeight+feather; akVertex[2].y=fFontSy+fFontHalfWeight-feather; akVertex[3].y=fFontEy+fFontHalfWeight+feather; // 20041216.myevan.DrawPrimitiveUP if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); fCurX += fFontAdvance; } } // ¸ŞÀÎ ÆùÆ® fCurX=fStanX; fCurY=fStanY; fFontMaxHeight=0.0f; for (int i = 0; i < m_pCharInfoVector.size(); ++i) { pCurCharInfo = m_pCharInfoVector[i]; fFontWidth=float(pCurCharInfo->width); fFontHeight=float(pCurCharInfo->height); fFontMaxHeight=max(fFontHeight, pCurCharInfo->height); fFontAdvance=float(pCurCharInfo->advance); // NOTE : ÆùÆ® Ãâ·Â¿¡ Width Á¦ÇÑÀ» µÓ´Ï´Ù. - [levites] if ((fCurX+fFontWidth)-m_v3Position.x > m_fLimitWidth) { if (m_isMultiLine) { fCurX=fStanX; fCurY+=fFontMaxHeight; } else { break; } } #if !defined(__BL_CLIP_MASK__) if (pClipRect) { if (fCurY <= pClipRect->top) { fCurX += fFontAdvance; continue; } } #endif fFontSx = fCurX-0.5f; fFontSy = fCurY-0.5f; fFontEx = fFontSx + fFontWidth; fFontEy = fFontSy + fFontHeight; #if defined(__BL_CLIP_MASK__) float pleft = pCurCharInfo->left; float ptop = pCurCharInfo->top; float pright = pCurCharInfo->right; float pbottom = pCurCharInfo->bottom; if (pClipRect) { const float v1 = pCurCharInfo->right - pCurCharInfo->left; const float v2 = pCurCharInfo->bottom - pCurCharInfo->top; if (fFontEx <= pClipRect->left) { fCurX += fFontAdvance; continue; } if (fFontSx < pClipRect->left) { const float fCal = pClipRect->left - fFontSx; fFontSx += fCal; pleft += fCal / fFontWidth * v1; } if (fFontEy <= pClipRect->top) { fCurX += fFontAdvance; continue; } if (fFontSy < pClipRect->top) { const float fCal = pClipRect->top - fFontSy; fFontSy += fCal; ptop += fCal / fFontHeight * v2; } if (fFontSx >= pClipRect->right) { fCurX += fFontAdvance; continue; } if (fFontEx > pClipRect->right) { const float fCal = fFontEx - pClipRect->right; fFontEx -= fCal; pright -= fCal / fFontWidth * v1; } if (fFontSy >= pClipRect->bottom) { fCurX += fFontAdvance; continue; } if (fFontEy > pClipRect->bottom) { const float fCal = fFontEy - pClipRect->bottom; fFontEy -= fCal; pbottom -= fCal / fFontHeight * v2; } } pFontTexture->SelectTexture(pCurCharInfo->index); STATEMANAGER.SetTexture(0, pFontTexture->GetD3DTexture()); akVertex[0].x = fFontSx; akVertex[0].y = fFontSy; akVertex[0].u = pleft; akVertex[0].v = ptop; akVertex[1].x = fFontSx; akVertex[1].y = fFontEy; akVertex[1].u = pleft; akVertex[1].v = pbottom; akVertex[2].x = fFontEx; akVertex[2].y = fFontSy; akVertex[2].u = pright; akVertex[2].v = ptop; akVertex[3].x = fFontEx; akVertex[3].y = fFontEy; akVertex[3].u = pright; akVertex[3].v = pbottom; #else pFontTexture->SelectTexture(pCurCharInfo->index); STATEMANAGER.SetTexture(0, pFontTexture->GetD3DTexture()); akVertex[0].x=fFontSx; akVertex[0].y=fFontSy; akVertex[0].u=pCurCharInfo->left; akVertex[0].v=pCurCharInfo->top; akVertex[1].x=fFontSx; akVertex[1].y=fFontEy; akVertex[1].u=pCurCharInfo->left; akVertex[1].v=pCurCharInfo->bottom; akVertex[2].x=fFontEx; akVertex[2].y=fFontSy; akVertex[2].u=pCurCharInfo->right; akVertex[2].v=pCurCharInfo->top; akVertex[3].x=fFontEx; akVertex[3].y=fFontEy; akVertex[3].u=pCurCharInfo->right; akVertex[3].v=pCurCharInfo->bottom; #endif //m_dwColorInfoVector[i]; //m_dwTextColor; akVertex[0].color = akVertex[1].color = akVertex[2].color = akVertex[3].color = m_dwColorInfoVector[i]; // 20041216.myevan.DrawPrimitiveUP if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); //STATEMANAGER.DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, akVertex, sizeof(SVertex)); fCurX += fFontAdvance; } } if (m_isCursor) { // Draw Cursor float sx, sy, ex, ey; TDiffuse diffuse; int curpos = CIME::GetCurPos(); int compend = curpos + CIME::GetCompLen(); __GetTextPos(curpos, &sx, &sy); // If Composition if(curpos<compend) { diffuse = 0x7fffffff; __GetTextPos(compend, &ex, &sy); } else { diffuse = 0xffffffff; ex = sx + 2; } // FOR_ARABIC_ALIGN if (defCodePage == CP_ARABIC) { sx += m_v3Position.x - m_textWidth; ex += m_v3Position.x - m_textWidth; sy += m_v3Position.y; ey = sy + m_textHeight; } else { sx += m_v3Position.x; sy += m_v3Position.y; ex += m_v3Position.x; ey = sy + m_textHeight; } switch (m_vAlign) { case VERTICAL_ALIGN_BOTTOM: sy -= m_textHeight; break; case VERTICAL_ALIGN_CENTER: sy -= float(m_textHeight) / 2.0f; break; } #if defined(__BL_CLIP_MASK__) if (pClipRect) { if (sx < pClipRect->left) sx += pClipRect->left - sx; if (sy < pClipRect->top) sy += pClipRect->top - sy; if (ex > pClipRect->right) ex -= ex - pClipRect->right; if (ey > pClipRect->bottom) ey -= ey - pClipRect->bottom; } #endif // ÃÖÀûÈ »çÇ× // °°ÀºÅؽºÃĸ¦ »ç¿ëÇÑ´Ù¸é... STRIPÀ» ±¸¼ºÇÏ°í, ÅؽºÃÄ°¡ º¯°æµÇ°Å³ª ³¡³ª¸é DrawPrimitive¸¦ È£ÃâÇØ // ÃÖ´ëÇÑ ¼ıÀÚ¸¦ ÁÙÀ̵µ·ÏÇÏÀÚ! TPDTVertex vertices[4]; vertices[0].diffuse = diffuse; vertices[1].diffuse = diffuse; vertices[2].diffuse = diffuse; vertices[3].diffuse = diffuse; vertices[0].position = TPosition(sx, sy, 0.0f); vertices[1].position = TPosition(ex, sy, 0.0f); vertices[2].position = TPosition(sx, ey, 0.0f); vertices[3].position = TPosition(ex, ey, 0.0f); STATEMANAGER.SetTexture(0, NULL); // 2004.11.18.myevan.DrawIndexPrimitiveUP -> DynamicVertexBuffer CGraphicBase::SetDefaultIndexBuffer(CGraphicBase::DEFAULT_IB_FILL_RECT); if (CGraphicBase::SetPDTStream(vertices, 4)) STATEMANAGER.DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 4, 0, 2); int ulbegin = CIME::GetULBegin(); int ulend = CIME::GetULEnd(); if(ulbegin < ulend) { __GetTextPos(curpos+ulbegin, &sx, &sy); __GetTextPos(curpos+ulend, &ex, &sy); sx += m_v3Position.x; sy += m_v3Position.y + m_textHeight; ex += m_v3Position.x; ey = sy + 2; #if defined(__BL_CLIP_MASK__) if (pClipRect) { if (sx < pClipRect->left) sx += pClipRect->left - sx; if (sy < pClipRect->top) sy += pClipRect->top - sy; if (ex > pClipRect->right) ex -= ex - pClipRect->right; if (ey > pClipRect->bottom) ey -= ey - pClipRect->bottom; } #endif vertices[0].diffuse = 0xFFFF0000; vertices[1].diffuse = 0xFFFF0000; vertices[2].diffuse = 0xFFFF0000; vertices[3].diffuse = 0xFFFF0000; vertices[0].position = TPosition(sx, sy, 0.0f); vertices[1].position = TPosition(ex, sy, 0.0f); vertices[2].position = TPosition(sx, ey, 0.0f); vertices[3].position = TPosition(ex, ey, 0.0f); STATEMANAGER.DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 4, 2, c_FillRectIndices, D3DFMT_INDEX16, vertices, sizeof(TPDTVertex)); } } STATEMANAGER.RestoreRenderState(D3DRS_SRCBLEND); STATEMANAGER.RestoreRenderState(D3DRS_DESTBLEND); STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, dwFogEnable); STATEMANAGER.SetRenderState(D3DRS_LIGHTING, dwLighting); //±İ°°æ ¸µÅ© ¶ç¿öÁÖ´Â ºÎºĞ. if (m_hyperlinkVector.size() != 0) { int lx = gs_mx - m_v3Position.x; int ly = gs_my - m_v3Position.y; //¾Æ¶øÀº ÁÂÇ¥ ºÎÈ£¸¦ ¹Ù²ãÁØ´Ù. if (GetDefaultCodePage() == CP_ARABIC) { lx = -lx; ly = -ly + m_textHeight; } if (lx >= 0 && ly >= 0 && lx < m_textWidth && ly < m_textHeight) { std::vector<SHyperlink>::iterator it = m_hyperlinkVector.begin(); while (it != m_hyperlinkVector.end()) { SHyperlink & link = *it++; if (lx >= link.sx && lx < link.ex) { gs_hyperlinkText = link.text; /* OutputDebugStringW(link.text.c_str()); OutputDebugStringW(L"\n"); */ break; } } } } } Link to comment Share on other sites More sharing options...
Premium ?????? 3 Posted December 22, 2022 Premium Share Posted December 22, 2022 I will try it in a moment and let you know. ░▒▓█►─═ Ⓕⓘⓖⓗⓣ ⓕⓞⓡ ⓨⓞⓤⓡ ⓓⓡⓔⓐⓜⓢ ,⃝ ⓝⓔⓥⓔⓡ ⓢⓣⓞⓟ .⃝ ═─◄█▓▒░ Link to comment Share on other sites More sharing options...
javiemerino005 2 Posted December 22, 2022 Share Posted December 22, 2022 Am I still the only one who doesn't pick up the objects or anything? 1 Link to comment Share on other sites More sharing options...
Premium ?????? 3 Posted December 22, 2022 Premium Share Posted December 22, 2022 Solved my problem with @Mail suggestion 1 ░▒▓█►─═ Ⓕⓘⓖⓗⓣ ⓕⓞⓡ ⓨⓞⓤⓡ ⓓⓡⓔⓐⓜⓢ ,⃝ ⓝⓔⓥⓔⓡ ⓢⓣⓞⓟ .⃝ ═─◄█▓▒░ Link to comment Share on other sites More sharing options...
nicohare711 2 Posted January 6, 2023 Share Posted January 6, 2023 @ Mali 0106 08:16:22128 :: Traceback (most recent call last): 0106 08:16:22128 :: File "ui.py", line 1507, in CallEvent 0106 08:16:22128 :: File "ui.py", line 88, in __call__ 0106 08:16:22128 :: File "ui.py", line 70, in __call__ 0106 08:16:22128 :: File "uiGameOption.py", line 556, in __OnClickLootingSystemButton 0106 08:16:22128 :: File "interfaceModule.py", line 1061, in OpenLootingSystemWindow 0106 08:16:22128 :: File "uilootingsystem.py", line 758, in Open 0106 08:16:22128 :: File "uilootingsystem.py", line 994, in __RefreshMessageText 0106 08:16:22128 :: AttributeError 0106 08:16:22128 :: : 0106 08:16:22128 :: 'module' object has no attribute 'CheckAffect' 0106 08:16:22128 :: Link to comment Share on other sites More sharing options...
Honorable Member Owsap 8250 Posted January 6, 2023 Honorable Member Share Posted January 6, 2023 (edited) 1 hour ago, nicohare711 said: @ Mali 0106 08:16:22128 :: Traceback (most recent call last): 0106 08:16:22128 :: File "ui.py", line 1507, in CallEvent 0106 08:16:22128 :: File "ui.py", line 88, in __call__ 0106 08:16:22128 :: File "ui.py", line 70, in __call__ 0106 08:16:22128 :: File "uiGameOption.py", line 556, in __OnClickLootingSystemButton 0106 08:16:22128 :: File "interfaceModule.py", line 1061, in OpenLootingSystemWindow 0106 08:16:22128 :: File "uilootingsystem.py", line 758, in Open 0106 08:16:22128 :: File "uilootingsystem.py", line 994, in __RefreshMessageText 0106 08:16:22128 :: AttributeError 0106 08:16:22128 :: : 0106 08:16:22128 :: 'module' object has no attribute 'CheckAffect' 0106 08:16:22128 :: You need to add this. Edited January 6, 2023 by Owsap https://owsap.dev/ / https://osf.owsap.dev/ Link to comment Share on other sites More sharing options...
JeeX 38 Posted January 7, 2023 Share Posted January 7, 2023 Amazing system, thank you very much! I just noticed 1 problem (i don't know if this happen just only to me or others too, that's why I'm asking) After change settings (disable something) and press save and reopen Gui again, all is enabled (just visual) - no syserr Thank you 1 Link to comment Share on other sites More sharing options...
Ludwig 18 Posted January 12, 2023 Share Posted January 12, 2023 First of all thank you for the mega awesome system Unfortunately I have the visual problem also that JeeX describes could someone give feedback if he also has the problem? Link to comment Share on other sites More sharing options...
Honorable Member Mali 42331 Posted January 12, 2023 Author Honorable Member Share Posted January 12, 2023 (edited) 21 minutes ago, Ludwig said: First of all thank you for the mega awesome system Unfortunately I have the visual problem also that JeeX describes could someone give feedback if he also has the problem? like this? Edited January 12, 2023 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Ludwig 18 Posted January 12, 2023 Share Posted January 12, 2023 (edited) okey you don't seem to have the problem i check the code again here a gif how it looks with me https://metin2.download/picture/QqP0KSamCPdhqqdc92281SjJRuw12Ukt/.gif Edited January 12, 2023 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Chris90909090909090 50 Posted January 14, 2023 Share Posted January 14, 2023 On 1/12/2023 at 6:08 PM, Ludwig said: okey you don't seem to have the problem i check the code again here a gif how it looks with me https://metin2.download/picture/QqP0KSamCPdhqqdc92281SjJRuw12Ukt/.gif Same Problem Link to comment Share on other sites More sharing options...
Honorable Member Owsap 8250 Posted January 14, 2023 Honorable Member Share Posted January 14, 2023 For those that are using the 2018 root, system.py, change this in your file. This is a hot-fix for EOF issue when using the open method. @Chris90909090909090, @Ludwig, @JeeX ''' 1. @ system.py ''' # Search if mode == 'r': self.data = _chr(10).join(self.data.split(_chr(13) + _chr(10))) # Add above # 2020.04.05.Owsap - old_open support, Hot-fix EOF. if not self.data: tmp = old_open(filename) self.data = tmp and tmp.read() or '' 4 https://owsap.dev/ / https://osf.owsap.dev/ Link to comment Share on other sites More sharing options...
Ludwig 18 Posted January 27, 2023 Share Posted January 27, 2023 (edited) How can I display the complete list because with you in the video is not the whole list available there are missing, for example, the sub-items in other items and the last main group Eventitems? The screen is from Official: Edited January 27, 2023 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
numNum 38 Posted January 27, 2023 Share Posted January 27, 2023 (edited) 5 hours ago, Ludwig said: How can I display the complete list because with you in the video is not the whole list available there are missing, for example, the sub-items in other items and the last main group Eventitems? The screen is from Official: You just need to increase the value of SCROLL_VALUE in uilootingsystem.py Edited January 27, 2023 by numNum 1 Link to comment Share on other sites More sharing options...
Ludwig 18 Posted January 27, 2023 Share Posted January 27, 2023 SCROLL_VALUE = 1125 thanks Link to comment Share on other sites More sharing options...
Active Member Dex 525 Posted January 29, 2023 Active Member Share Posted January 29, 2023 How do the arrangement of each topic works? Because as far as I implement a new Topic in the __CreateObject class, this will overwrite the first element of the list. Altough the function don't even care about the Index given. What would be the best approach to add an extra option for multi pickup or single pickup? Link to comment Share on other sites More sharing options...
Kiwi 1 Posted February 5, 2023 Share Posted February 5, 2023 Hello, thanks for this !! But i have question, this system have a "auto pickup" or did you have system compatible ? thx Link to comment Share on other sites More sharing options...
Honorable Member martysama0134 7199 Posted February 16, 2023 Honorable Member Share Posted February 16, 2023 (edited) I was testing it and I noticed two warnings: This return is missing. This variable is unused and so this line can be removed. Meanwhile in here I made a small refactory (unique_ptr + std::array): (I'll use TSettingsArray even in packet.h later on) Spoiler Edited February 16, 2023 by Metin2 Dev Core X - External 2 Internal 2 Check out my GitHub Link to comment Share on other sites More sharing options...
Honorable Member Mali 42331 Posted February 16, 2023 Author Honorable Member Share Posted February 16, 2023 (edited) 30 minutes ago, martysama0134 said: I was testing it and I noticed two warnings: This return is missing. sorry i missed it, repo updated Edited February 16, 2023 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
flexivk 0 Posted February 21, 2023 Share Posted February 21, 2023 System added successfully, it works (except the purpose of it). No matter what option i enable/disable it just always picks up everything as if the system was not there. Went through the tutorial several times though. Link to comment Share on other sites More sharing options...
Jimmermania 27 Posted February 27, 2023 Share Posted February 27, 2023 (edited) Hello @ Mali, i implemented what you said, everything works fine but when i open the window with the filters, the texts are out of the box. You can see below: https://metin2.download/picture/yU1W9To8tl0oyYo04tIrzq7qWOQi8tOW/.png If i scroll down, the text goes up and out of the box. Any ideas? Edited February 27, 2023 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Recommended Posts