Bertus 18 Posted March 29, 2019 Share Posted March 29, 2019 On 24.03.2019 at 23:43, Tatsumaru said: "Lütfen" nerede? Düzeltildi. Sorry. Link to comment Share on other sites More sharing options...
alper40s 1 Posted April 13, 2019 Share Posted April 13, 2019 THx bro.. You're one of those rare people who really do their job well. Link to comment Share on other sites More sharing options...
Premium Hunger 472 Posted April 13, 2019 Premium Share Posted April 13, 2019 5 hours ago, alper40s said: THx bro.. You're one of those rare people who really do their job well. Nice interface. Where did u get that? Link to comment Share on other sites More sharing options...
alper40s 1 Posted April 15, 2019 Share Posted April 15, 2019 On 4/13/2019 at 1:55 PM, Caramelito said: Nice interface. Where did u get that? I don't remember where I got it. Available in my archive Link to comment Share on other sites More sharing options...
PeaceMaker 121 Posted May 4, 2019 Share Posted May 4, 2019 There's a missing part for the mouse cursor Link to comment Share on other sites More sharing options...
Premium WeedHex 635 Posted May 4, 2019 Premium Share Posted May 4, 2019 On 4/13/2019 at 12:55 PM, Caramelito said: Nice interface. Where did u get that? Nice? I was going to vomit when I saw it xD 2 Link to comment Share on other sites More sharing options...
ExetY 0 Posted May 8, 2019 Share Posted May 8, 2019 (edited) Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Catii 94 Posted May 8, 2019 Share Posted May 8, 2019 (edited) Acum 2 ore, ExetY a spus: 1.) Open EterLib/TextTag.h and add the new tags into the enum there: TEXT_TAG_EMOJI_START, // |E TEXT_TAG_EMOJI_END, // |e ex) |Epath/filename|h Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal 5 1 1 1 Link to comment Share on other sites More sharing options...
Heathcliff 183 Posted May 29, 2019 Share Posted May 29, 2019 Thank you xP3NG3Rx Link to comment Share on other sites More sharing options...
Tunga 10 Posted June 18, 2019 Share Posted June 18, 2019 Localeinfo add this end of the file. def EmojiTextLine(n) : return "|E%s|e" % (n) usage localeinfo.EmojiTextLine(emoji/key_ctrl) Link to comment Share on other sites More sharing options...
MEKA 9 Posted January 14, 2020 Share Posted January 14, 2020 On 4/13/2019 at 8:25 AM, alper40s said: THx bro.. You're one of those rare people who really do their job well. TR: Chatte yansıtmayı nasıl yaptınız? EN: How did you mirror the chat Link to comment Share on other sites More sharing options...
Detro 7 Posted March 8, 2020 Share Posted March 8, 2020 How to fix? 0308 16:03:34483 :: Traceback (most recent call last): 0308 16:03:34484 :: File "ui.py", line 1827, in OnOverInItem 0308 16:03:34484 :: File "ui.py", line 102, in __call__ 0308 16:03:34484 :: File "ui.py", line 93, in __call__ 0308 16:03:34485 :: File "uiInventory.py", line 2033, in OverInItem 0308 16:03:34485 :: File "uiInventory.py", line 2254, in ShowToolTip 0308 16:03:34486 :: File "uiToolTip.py", line 773, in SetInventoryItem 0308 16:03:34486 :: File "uiToolTip.py", line 1962, in AddItemData 0308 16:03:34487 :: AttributeError 0308 16:03:34487 :: : 0308 16:03:34487 :: 'ItemToolTip' object has no attribute 'emojiTextLine' 0308 16:03:34487 :: Link to comment Share on other sites More sharing options...
weryoliveira 26 Posted May 24, 2020 Share Posted May 24, 2020 someone have python part? idk how to use this Link to comment Share on other sites More sharing options...
FBI 44 Posted May 28, 2020 Share Posted May 28, 2020 On 5/24/2020 at 5:16 PM, weryoliveira said: someone have python part? idk how to use this Here is a python part my friend, 1 1 PeriodWars Link to comment Share on other sites More sharing options...
Detro 7 Posted June 17, 2020 Share Posted June 17, 2020 (edited) How to repair? Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
LordRenoX 3 Posted July 5, 2020 Share Posted July 5, 2020 (edited) works perfect. Edited July 5, 2020 by LordRenoX 1 Link to comment Share on other sites More sharing options...
Goof 2 Posted July 15, 2020 Share Posted July 15, 2020 not working for arabic language Link to comment Share on other sites More sharing options...
Yalabi 33 Posted July 15, 2020 Share Posted July 15, 2020 Hi, When I compile VS tell me that "emojiStep, emojiBuffer and kEmoji" are not declared, any idea? Link to comment Share on other sites More sharing options...
SIBERIA 1 Posted August 5, 2020 Share Posted August 5, 2020 (edited) On 6/17/2020 at 2:33 PM, Detro said: How to repair? Did u solve it? Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal 1 Link to comment Share on other sites More sharing options...
Developer Mitachi 1454 Posted November 5, 2020 Developer Share Posted November 5, 2020 Thanks for share Link to comment Share on other sites More sharing options...
Suzar 21 Posted November 22, 2020 Share Posted November 22, 2020 Where is python code? Link to comment Share on other sites More sharing options...
newreboot 0 Posted December 2, 2020 Share Posted December 2, 2020 Error (active) E0020 identifier "emoji" is undefined UserInterface Error C2065 'emoji': undeclared identifier Error C2672 'boost::algorithm::replace_all': no matching overloaded function found Error C2780 'void boost::algorithm::replace_all(SequenceT &,const Range1T &,const Range2T &)': expects 3 arguments - 2 provided Some help please..? Link to comment Share on other sites More sharing options...
RenoxHD 5 Posted January 29, 2021 Share Posted January 29, 2021 Python Code ? Link to comment Share on other sites More sharing options...
ahmedhaies 50 Posted April 12, 2021 Share Posted April 12, 2021 On 1/11/2019 at 4:32 PM, xP3NG3Rx said: M2 Download Center This is the hidden content, please Sign In or Sign Up ( Internal ) Hi, folks! With this guide you will be able to combine textlines with images, like rubinum does. Usage is simple: emojiTextLine.SetText("|Eemoji/key_ctrl|e + |Eemoji/key_x|e + |Eemoji/key_rclick|e - Direct sell") The files are located in the icon pack, so basically the code will load from icon/{GIVEN_PATH}.tga - in the sample the path for the X is: icon/emoji/key_x.tga Here are the images from rubinum client: Reveal hidden contents This is the hidden content, please Sign In or Sign Up Howto: Reveal hidden contents 1.) Open EterLib/TextTag.h and add the new tags into the enum there: TEXT_TAG_EMOJI_START, // |E TEXT_TAG_EMOJI_END, // |e ex) |Epath/filename|h 2.1.) Open the EterLib/TextTag.cpp and extend the GetTextTag function with the following statements: else if (*cur == L'E') // emoji |Epath/emo|e { tagLen = 2; return TEXT_TAG_EMOJI_START; } else if (*cur == L'e') // end of emoji { tagLen = 2; return TEXT_TAG_EMOJI_END; } 2.2.) Extend the GetTextTagOutputString function with the following statements: else if (tag == TEXT_TAG_EMOJI_START) hyperlinkStep = 1; else if (tag == TEXT_TAG_EMOJI_END) hyperlinkStep = 0; 2.3.) Repeat the 2.2. in the GetTextTagInternalPosFromRenderPos function: else if (tag == TEXT_TAG_EMOJI_START) hyperlinkStep = 1; else if (tag == TEXT_TAG_EMOJI_END) hyperlinkStep = 0; 2.4.) Repeat again in the GetTextTagOutputLen function too: else if (tag == TEXT_TAG_EMOJI_START) hyperlinkStep = 1; else if (tag == TEXT_TAG_EMOJI_END) hyperlinkStep = 0; 3.1.) Open EterLib/GrpTextInstance.h and add the following line at the top of the file where the includes are: #include "GrpImageInstance.h" 3.2.) Add the following struct below of the SHyperlink struct: struct SEmoji { short x; CGraphicImageInstance * pInstance; SEmoji() : x(0) { pInstance = NULL; } }; 3.3.) Below of the m_hyperlinkVector declaration declare a new variable: std::vector<SEmoji> m_emojiVector; 4.1.) Open EterLib/GrpTextInstance.cpp and add the following line at the top of the file, where the includes are: #include "ResourceManager.h" 4.2.) In the CGraphicTextInstance::Update function add the following below of this line: m_hyperlinkVector.clear(); if (m_emojiVector.size() != 0) { for (std::vector<SEmoji>::iterator itor = m_emojiVector.begin(); itor != m_emojiVector.end(); ++itor) { SEmoji & rEmo = *itor; if (rEmo.pInstance) { CGraphicImageInstance::Delete(rEmo.pInstance); rEmo.pInstance = NULL; } } } m_emojiVector.clear(); 4.3.) This is a bit complicated, so first of all look for this line: else // ľĆ¶řżÜ ´Ů¸Ą ÁöżŞ. This is the else for the Arabic codepage, I could not test it, so I didn't make it to arab rtl style. 4.4.) Add the following below of this line: std::wstring hyperlinkBuffer; SEmoji kEmoji; int emojiStep = 0; std::wstring emojiBuffer; 4.5.) Replace this: if (hyperlinkStep == 1) hyperlinkBuffer.append(1, wText[i]); With this: if (hyperlinkStep == 1) hyperlinkBuffer.append(1, wText[i]); else if (emojiStep == 1) emojiBuffer.append(1, wText[i]); 4.6.) Then add the new processor for the new tags: else if (ret == TEXT_TAG_EMOJI_START) { emojiStep = 1; emojiBuffer = L""; } else if (ret == TEXT_TAG_EMOJI_END) { kEmoji.x = x; char retBuf[1024]; int retLen = Ymir_WideCharToMultiByte(GetDefaultCodePage(), 0, emojiBuffer.c_str(), emojiBuffer.length(), retBuf, sizeof(retBuf) - 1, NULL, NULL); retBuf[retLen] = '\0'; char szPath[255]; snprintf(szPath, sizeof(szPath), "icon/%s.tga", retBuf); if (CResourceManager::Instance().IsFileExist(szPath)) { CGraphicImage * pImage = (CGraphicImage *)CResourceManager::Instance().GetResourcePointer(szPath); kEmoji.pInstance = CGraphicImageInstance::New(); kEmoji.pInstance->SetImagePointer(pImage); m_emojiVector.push_back(kEmoji); memset(&kEmoji, 0, sizeof(SEmoji)); for (int i = 0; i < pImage->GetWidth() / (pSpaceInfo->width-1); ++i) x += __DrawCharacter(pFontTexture, dataCodePage, ' ', dwColor); if (pImage->GetWidth() % (pSpaceInfo->width - 1) > 1) x += __DrawCharacter(pFontTexture, dataCodePage, ' ', dwColor); } emojiStep = 0; emojiBuffer = L""; } 4.7.) Add the following code to the end of the CGraphicTextInstance::Render function: if (m_emojiVector.size() != 0) { for (std::vector<SEmoji>::iterator itor = m_emojiVector.begin(); itor != m_emojiVector.end(); ++itor) { SEmoji & rEmo = *itor; if (rEmo.pInstance) { rEmo.pInstance->SetPosition(fStanX + rEmo.x, (fStanY + 7.0) - (rEmo.pInstance->GetHeight() / 2)); rEmo.pInstance->Render(); } } } 4.8.) Add the following into the CGraphicTextInstance::Destroy function: if (m_emojiVector.size() != 0) { for (std::vector<SEmoji>::iterator itor = m_emojiVector.begin(); itor != m_emojiVector.end(); ++itor) { SEmoji & rEmo = *itor; if (rEmo.pInstance) { CGraphicImageInstance::Delete(rEmo.pInstance); rEmo.pInstance = NULL; } } } m_emojiVector.clear(); Have fun Sorry for arab players , for sure they have also developers, so let's go guys, finish it If you have problem, maybe I made a mistake in the guide of missed out something, just leave a comment below. PS.: Sometimes the code tag of the board puts an extra invisible character mostly the end of the lines, if your IDE cries for syntax error, but it seems correct, check that part of the file with notepad++, it will show a ?(question mark) where the problem is. so for arab rtl we cannot add this system ? 2 Link to comment Share on other sites More sharing options...
Contributor MrQuin 6397 Posted April 12, 2021 Contributor Share Posted April 12, 2021 (edited) 2 hours ago, ahmedhaies said: so for arab rtl we cannot add this system ? Works just fine Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal My only accounts are here and on M2D, Don't trust anyone else from other shitty sites. Link to comment Share on other sites More sharing options...
Recommended Posts