Honorable Member Mali 41780 Posted September 25, 2021 Honorable Member Share Posted September 25, 2021 (edited) M2 Download Center This is the hidden content, please Sign In or Sign Up ( Internal ) This is the hidden content, please Sign In or Sign Up Client side is from 2018 official root. It checks the status of the channel from db and gets the port and addr. It also checks if that map exists in that channel(config). *Info: This is currently disabled on official servers. Edited September 25, 2021 by Mali 253 2 1 2 1 1 1 1 2 5 63 14 138 Link to comment Share on other sites More sharing options...
Honorable Member Tatsumaru 5256 Posted September 25, 2021 Honorable Member Share Posted September 25, 2021 Amazing how much you give to this community. More than one would cram their offers with what you share for free. Have you ever heard of voicechat? Maybe you could try to make such a system. This is just a suggestion. 2 4 Link to comment Share on other sites More sharing options...
SamuraiHUN 1548 Posted September 26, 2021 Share Posted September 26, 2021 3 hours ago, Tatsumaru said: Amazing how much you give to this community. More than one would cram their offers with what you share for free. Have you ever heard of voicechat? Maybe you could try to make such a system. This is just a suggestion. I think it would only be a good idea to have a guild | group version, so that everyone can hear everyone else, which would lead to a lot of conflict. Link to comment Share on other sites More sharing options...
Honorable Member Distraught 5901 Posted September 26, 2021 Honorable Member Share Posted September 26, 2021 8 hours ago, Tatsumaru said: Amazing how much you give to this community. More than one would cram their offers with what you share for free. Have you ever heard of voicechat? Maybe you could try to make such a system. This is just a suggestion. At Land of Heroes we have ingame voice-chat, but people rarely use it. 1 Link to comment Share on other sites More sharing options...
Honorable Member Mali 41780 Posted September 26, 2021 Author Honorable Member Share Posted September 26, 2021 (edited) 1 hour ago, Distraught said: At Land of Heroes we have ingame voice-chat, but people rarely use it. Edited August 17, 2022 by Metin2 Dev Core X - External 2 Internal 5 1 Link to comment Share on other sites More sharing options...
Active+ Member Abel(Tiger) 1196 Posted September 26, 2021 Active+ Member Share Posted September 26, 2021 Good job The ideea with geting the port from db it's nice (I think wom started this ideea some time ago), but not very good when we speak about a big server that use the db a lot (longer times when changing the channel). My advice it's to send all other channels info to every channel at boot and that will help you with more than change channel (now the current channel recieve the info about ch99 and other cores of the current channel if I'm not mistaken). The IsHack check is bad placed there and it can cause big problem for the server (players start the timer and jump over the check but in those 10 seconds they can open safebox and other stuff), also I recommend you use both CanWarp and IsHack checks because people skip one or the other when they implement new stuff Link to comment Share on other sites More sharing options...
Honorable Member Mali 41780 Posted September 26, 2021 Author Honorable Member Share Posted September 26, 2021 (edited) 6 minutes ago, Abel(Tiger) said: Good job The ideea with geting the port from db it's nice (I think wom started this ideea some time ago), but not very good when we speak about a big server that use the db a lot (longer times when changing the channel). My advice it's to send all other channels info to every channel at boot and that will help you with more than change channel (now the current channel recieve the info about ch99 and other cores of the current channel if I'm not mistaken). The IsHack check is bad placed there and it can cause big problem for the server (players start the timer and jump over the check but in those 10 seconds they can open safebox and other stuff), also I recommend you use both CanWarp and IsHack checks because people skip one or the other when they implement new stuff trying to make gf style xd also db check is fine for me. that channel may not be online at that time. Edited August 17, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Active+ Member Abel(Tiger) 1196 Posted September 26, 2021 Active+ Member Share Posted September 26, 2021 (edited) 11 minutes ago, Mali said: also db check is fine for me. that channel may not be online at that time. Yeah, that's a good approach. I think it's about what you want to sacrifice time or player experience (also if a channel it's not online something is wrong and need to be fixed asap, a good server never crash or maybe once a year ) 11 minutes ago, Mali said: trying to make gf style xd Yeah, I know, I just said things that can happen without proper checks. Edited September 26, 2021 by Abel(Tiger) 1 Link to comment Share on other sites More sharing options...
Premium CORKY 253 Posted September 26, 2021 Premium Share Posted September 26, 2021 17 hours ago, Tatsumaru said: Amazing how much you give to this community. More than one would cram their offers with what you share for free. Have you ever heard of voicechat? Maybe you could try to make such a system. This is just a suggestion. If there is interest, I can provide already a prototype of the system, which is functional, but there is a bug in which, if 2 or 3 people speak in the same time, it'll start to interrupt and stuff. 1 Link to comment Share on other sites More sharing options...
Management AZICKO 7336 Posted September 26, 2021 Management Share Posted September 26, 2021 System works 2 Scamming ? Reselling ? metin2.download | metin2.dev | fr.metin2.dev | metin2dev.org | metin2.top | top-metin2.org Link to comment Share on other sites More sharing options...
zsoltiabeka10 17 Posted September 27, 2021 Share Posted September 27, 2021 (edited) It's working great! Edited September 27, 2021 by zsoltiabeka10 Missed the repo updates Link to comment Share on other sites More sharing options...
Kafa 153 Posted September 27, 2021 Share Posted September 27, 2021 (edited) Thanks for you release buddy. Edited September 27, 2021 by Kafa Link to comment Share on other sites More sharing options...
EAkar 8 Posted October 19, 2021 Share Posted October 19, 2021 (edited) Peer.cpp add #include <sstream> net.GetChannelName It has no function in my files. I installed the system without any problems. But I guess it doesn't match with my files. I'm changing channels, but the old channel count still remains under the minimap. That's why Vegas' editing works better. edit game.py self.interface.RefreshServerInfo(channelNumber) Edit interfacemodule.py. if app.BL_MOVE_CHANNEL: def RefreshServerInfo(self, channelNumber): if self.wndMiniMap: self.wndMiniMap.RefreshServerInfo(channelNumber) edit minimap.py if app.BL_MOVE_CHANNEL: def RefreshServerInfo(self, channelNumber): if channelNumber == 99: serverInfoStr = serverInfo.SERVER_1 + ' - Common Channel' else: serverInfoStr = serverInfo.SERVER_1 + ' - ' + 'Channel ' + str(channelNumber) self.serverInfo.SetText(serverInfoStr) net.SetServerInfo(serverInfoStr) fixed. Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
EAkar 8 Posted October 28, 2021 Share Posted October 28, 2021 MOVE_CHANNEL_NOTICE_GAME_99 You are connected with the Affiliate Channel. MOVE_CHANNEL_NOTICE_DUNGEON You are connected to a dungeon channel or a map. if app.BL_MOVE_CHANNEL: def __SeverInfo(self, channelNumber, mapIndex): #print "__SeverInfo %s %s" % (channelNumber, mapIndex) _chNum = int(channelNumber.strip()) _mapIdx = int(mapIndex.strip()) if _chNum == 99: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_CHANNEL_NOTICE_GAME_99) elif _mapIdx >= 10000: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_CHANNEL_NOTICE_DUNGEON) else: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_CHANNEL_NOTICE % _chNum) net.SetChannelName(_chNum) net.SetMapIndex(_mapIdx) self.interface.RefreshServerInfo(channelNumber) Link to comment Share on other sites More sharing options...
Near 36 Posted December 1, 2021 Share Posted December 1, 2021 (edited) Could someone please help me with these errors? https://metin2.download/picture/FVrunE0od7GBgdiV9Cl9ACT02F7ZDblJ/.png https://metin2.download/picture/fJnR1H6414lCX346sh9h15skLwvbr2jG/.png The first is the syserr when opening the window, and the second is that the options menu does not close. Edited September 11, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
EAkar 8 Posted December 29, 2021 Share Posted December 29, 2021 (edited) On 12/2/2021 at 2:14 AM, Near said: Could someone please help me with these errors? https://metin2.download/picture/FVrunE0od7GBgdiV9Cl9ACT02F7ZDblJ/.png https://metin2.download/picture/fJnR1H6414lCX346sh9h15skLwvbr2jG/.png The first is the syserr when opening the window, and the second is that the options menu does not close. if app.BL_MOVE_CHANNEL: class MoveChannelDialog(ui.ScriptWindow): def __init__(self): ui.ScriptWindow.__init__(self) self.__LoadDialog() self.IsShow = False def __del__(self): ui.ScriptWindow.__del__(self) def __LoadDialog(self) : try: pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, "UIScript/MoveChannelDialog.py") except: import exception exception.Abort("MoveChannelDialog.__LoadDialog") self.ParentBoard = self.GetChild("MoveChannelBoard") self.ChildBoard = self.GetChild("BlackBoard") self.GetChild("MoveChannelTitle").SetCloseEvent(ui.__mem_func__(self.Close)) self.ChannelList = [] cnt = 5 cnt = cnt - 1 # 99서버 제외 self.DlgWidht = 190 self.BlackBoardHeight = 23*cnt + 5*(cnt-1) + 13 self.DlgHeight = self.BlackBoardHeight + 75 self.AcceptBtn = ui.MakeButton(self.ParentBoard, 13, self.DlgHeight - 33, "", "d:/ymir work/ui/public/", "middle_button_01.sub", "middle_button_02.sub", "middle_button_03.sub") self.AcceptBtn.SetText( localeInfo.MOVE_CHANNEL_SELECT ) self.AcceptBtn.SetEvent(ui.__mem_func__(self.AcceptButton)) self.CloseBtn = ui.MakeButton(self.ParentBoard, self.DlgWidht - 73, self.DlgHeight - 33, "", "d:/ymir work/ui/public/", "middle_button_01.sub", "middle_button_02.sub", "middle_button_03.sub") self.CloseBtn.SetText( localeInfo.MOVE_CHANNEL_CANCEL ) self.CloseBtn.SetEvent(ui.__mem_func__(self.Close)) for i in xrange(cnt): btn = ui.MakeButton(self.ChildBoard, 8, 6 + i*28, "", "d:/ymir work/ui/game/myshop_deco/", "select_btn_01.sub", "select_btn_02.sub", "select_btn_03.sub") btn.SetText("Kanal {0}".format(int(i+1))) btn.SetEvent(ui.__mem_func__(self.__SelectChannel), i+1) self.ChannelList.append(btn) self.ParentBoard.SetSize(self.DlgWidht, self.DlgHeight) self.ChildBoard.SetSize(self.DlgWidht - 26, self.BlackBoardHeight) self.SetSize(self.DlgWidht, self.DlgHeight) self.UpdateRect() def __SelectChannel(self, idx): self.ChangeChannelNumber = idx for btn in self.ChannelList: btn.SetUp() btn.Enable() self.ChannelList[idx-1].Down() self.ChannelList[idx-1].Disable() def AcceptButton(self): if self.ChangeChannelNumber == self.StartChannelNumber: return net.MoveChannelGame(self.ChangeChannelNumber) self.StartChannelNumber = self.ChangeChannelNumber self.Close() def Show(self) : ui.ScriptWindow.Show(self) self.StartChannelNumber = net.GetChannelNumber() self.__SelectChannel(self.StartChannelNumber) self.IsShow = True def Close(self): self.Hide() self.IsShow = False def OnPressEscapeKey(self): self.Close() return True def IsShowWindow(self): return self.IsShow İnterFaceModule.py if app.BL_MOVE_CHANNEL: def RefreshServerInfo(self, channelNumber): if self.wndMiniMap: self.wndMiniMap.RefreshServerInfo(channelNumber) Game.py if app.BL_MOVE_CHANNEL: def __SeverInfo(self, channelNumber, mapIndex): #print "__SeverInfo %s %s" % (channelNumber, mapIndex) _chNum = int(channelNumber.strip()) _mapIdx = int(mapIndex.strip()) if _chNum == 99: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_CHANNEL_NOTICE_GAME_99) elif _mapIdx >= 10000: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_CHANNEL_NOTICE_DUNGEON) else: chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_CHANNEL_NOTICE % _chNum) net.SetChannelName(_chNum) net.SetMapIndex(_mapIdx) self.interface.RefreshServerInfo(channelNumber) Edited September 11, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
xcsp 0 Posted January 23, 2022 Share Posted January 23, 2022 Peer.cpp: In member function 'bool CPeer::CheckMapIndex(long int) const': Peer.cpp:141:14: error: 'find' is not a member of 'std' return std::find(std::begin(m_alMaps), std::end(m_alMaps), lMapIndex) != std::end(m_alMaps); ^~~~ Peer.cpp:141:14: note: suggested alternative: 'bind' return std::find(std::begin(m_alMaps), std::end(m_alMaps), lMapIndex) != std::end(m_alMaps); ^~~~ bind how do i fix this error? Thanks Link to comment Share on other sites More sharing options...
[TiTAN] 32 Posted January 23, 2022 Share Posted January 23, 2022 1 hour ago, xcsp said: Peer.cpp: In member function 'bool CPeer::CheckMapIndex(long int) const': Peer.cpp:141:14: error: 'find' is not a member of 'std' return std::find(std::begin(m_alMaps), std::end(m_alMaps), lMapIndex) != std::end(m_alMaps); ^~~~ Peer.cpp:141:14: note: suggested alternative: 'bind' return std::find(std::begin(m_alMaps), std::end(m_alMaps), lMapIndex) != std::end(m_alMaps); ^~~~ bind how do i fix this error? Thanks #include <algorithm> Link to comment Share on other sites More sharing options...
Debloat 88 Posted January 30, 2022 Share Posted January 30, 2022 (edited) Works absolutely great! Thank you so much for sharing! Just a small question tho, where to localize this text? Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal 1 Link to comment Share on other sites More sharing options...
Honorable Member Mali 41780 Posted January 30, 2022 Author Honorable Member Share Posted January 30, 2022 (edited) 18 minutes ago, Debloat said: Works absolutely great! Thank you so much for sharing! Just a small question tho, where to localize this text? This is the hidden content, please Sign In or Sign Up Use LC_TEXT to avoid problems with special characters of your language. Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal 27 2 5 8 Link to comment Share on other sites More sharing options...
Debloat 88 Posted January 30, 2022 Share Posted January 30, 2022 25 minutes ago, Mali said: This is the hidden content, please Sign In or Sign Up Use LC_TEXT to avoid problems with special characters of your language. Since this is on the server end, is it possible to change the text from the client locale_xx just like the other variables such as MOVE_CHANNEL_NOTICE to support multi languages? 2 1 Link to comment Share on other sites More sharing options...
nyami 0 Posted March 28, 2022 Share Posted March 28, 2022 I use translation Is this an error? Because after changing channel, I can't go back to my old channel. I have attached a video and syserr below. Client syserr 0328 12:23:17657 :: Unknown Server Command server_info 1 41 | server_info 0328 12:23:35030 :: Unknown Server Command server_info 2 41 | server_info https://files.fm/f/xx9hhagqx @ Mali Nyami HARMONY ............................................... Link to comment Share on other sites More sharing options...
Active+ Member Doose 1602 Posted May 1, 2022 Active+ Member Share Posted May 1, 2022 I'm getting this error: 0501 05:51:10824 :: Traceback (most recent call last): 0501 05:51:10824 :: File "ui.py", line 1051, in CallEvent 0501 05:51:10824 :: File "ui.py", line 88, in call 0501 05:51:10824 :: File "ui.py", line 70, in call 0501 05:51:10824 :: File "introLogin.py", line 1541, in __OnClickSelectServerButton 0501 05:51:10824 :: KeyError 0501 05:51:10824 :: : 0501 05:51:10824 :: 4 0501 05:51:10824 :: Someone has this fix? 1 Link to comment Share on other sites More sharing options...
karona200 0 Posted May 27, 2022 Share Posted May 27, 2022 I did all the steps, no syserr or compilation error, the only this is that it does nothing.. it dosent change ch, not even informations in chat given Link to comment Share on other sites More sharing options...
Sparta21 0 Posted May 28, 2022 Share Posted May 28, 2022 On 5/1/2022 at 4:53 AM, Th1Doose said: I'm getting this error: 0501 05:51:10824 :: Traceback (most recent call last): 0501 05:51:10824 :: File "ui.py", line 1051, in CallEvent 0501 05:51:10824 :: File "ui.py", line 88, in call 0501 05:51:10824 :: File "ui.py", line 70, in call 0501 05:51:10824 :: File "introLogin.py", line 1541, in __OnClickSelectServerButton 0501 05:51:10824 :: KeyError 0501 05:51:10824 :: : 0501 05:51:10824 :: 4 0501 05:51:10824 :: Someone has this fix? Check the tabs Link to comment Share on other sites More sharing options...
Recommended Posts