Jump to content

Recommended Posts

  • Premium

https://metin2.download/picture/qjiv7nO20Yb9Uuy8yTU68bZhJVYIInex/.png

Anyone can help me with this when i switch the CH 1 > CH2  below minimap " Servername CH-1 " not change to CH2 but am in CH2

Edited by Metin2 Dev
Core X - External 2 Internal

" Don`t pretend things change if you always do the same thing"

"Don`t give up on a dream for how long it will take, time will pass the same"

  • 3 months later...
  • 4 weeks later...
On 5/27/2022 at 6:34 PM, karona200 said:

Hice todos los pasos, no syserr ni error de compilación, lo único es que no hace nada... no cambia ch, ni siquiera la información en el chat dada

Check this function: 

Quote

#ifdef MOVE_CHANNEL
    p.lAddr    = lCustomAddr ? lCustomAddr : lAddr;
    p.wPort    = wCustomPort ? wCustomPort : wPort;
#else
    p.lAddr    = lAddr;
    p.wPort    = wPort;
#endif

maybe you don't add this function is the function for change ch

Thanks @ Mali for your time and your systems, work great :).

https://metin2.download/picture/H6o0yeCSOXr1YW261V7UTP9Rf6kJG3h0/.gif

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 2

KH.jpg

Nicks: Nazox™ Krone™ Nagato™ Yahiko™ Yakiro™
Proyecto: Trabajando en el.
Compañeros & firma: DreamHQ  - 2009-2015 [Nostalgia]

  • 3 weeks later...

0223 11:18:02172 :: Traceback (most recent call last):

0223 11:18:02172 ::   File "ui.py", line 1047, in CallEvent

0223 11:18:02172 ::   File "ui.py", line 88, in __call__

0223 11:18:02172 ::   File "ui.py", line 70, in __call__

0223 11:18:02172 ::   File "introLogin.py", line 1284, in __OnClickSelectServerButton

0223 11:18:02173 :: KeyError
0223 11:18:02173 :: : 
0223 11:18:02173 :: 4
0223 11:18:02173 :: 

I add code correctly and this comes in syserr.
Am fight with it from 3days.

Can someone help me?

7 hours ago, Hanma said:

0223 11:18:02172 :: Traceback (most recent call last):

0223 11:18:02172 ::   File "ui.py", line 1047, in CallEvent

0223 11:18:02172 ::   File "ui.py", line 88, in __call__

0223 11:18:02172 ::   File "ui.py", line 70, in __call__

0223 11:18:02172 ::   File "introLogin.py", line 1284, in __OnClickSelectServerButton

0223 11:18:02173 :: KeyError
0223 11:18:02173 :: : 
0223 11:18:02173 :: 4
0223 11:18:02173 :: 

I add code correctly and this comes in syserr.
Am fight with it from 3days.

Can someone help me?

you have this in IntroLogin?:

Quote

        self.serverSelectButton.SetEvent(ui.__mem_func__(self.__OnClickSelectServerButton))

KH.jpg

Nicks: Nazox™ Krone™ Nagato™ Yahiko™ Yakiro™
Proyecto: Trabajando en el.
Compañeros & firma: DreamHQ  - 2009-2015 [Nostalgia]

On 2/23/2023 at 6:49 PM, Hanma said:

yup

here is my intrologin.py

https://pastebin.com/raw/dPq1cqvM

mm i don't know the problem sorry, for my work great,  obviusly the problem is in python and you add in wrong site, try again ? when i have time i cand send you my .py but maybe i can the next week so try again ?

  • Metin2 Dev 1

KH.jpg

Nicks: Nazox™ Krone™ Nagato™ Yahiko™ Yakiro™
Proyecto: Trabajando en el.
Compañeros & firma: DreamHQ  - 2009-2015 [Nostalgia]

  • 2 weeks later...
On 9/25/2022 at 6:50 PM, SukH said:

https://metin2.download/picture/qjiv7nO20Yb9Uuy8yTU68bZhJVYIInex/.png

Anyone can help me with this when i switch the CH 1 > CH2  below minimap " Servername CH-1 " not change to CH2 but am in CH2

i have the same problem, any solution?

  • 1 month later...
On 9/25/2022 at 5:50 PM, SukH said:

https://metin2.download/picture/qjiv7nO20Yb9Uuy8yTU68bZhJVYIInex/.png

Anyone can help me with this when i switch the CH 1 > CH2  below minimap " Servername CH-1 " not change to CH2 but am in CH2

Are u have fix about this?

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? Please help.

  • 7 months later...
  • Active+ Member
On 4/17/2023 at 8:49 AM, LethalStrikeR 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? Please help.

You added python side wrong. Be more careful while adding the python side. Indentation and position matters. 

  • 3 weeks later...

Good afternoon / night...

I implemented the system and I have the same python error, I tried the same user's correction, but it didn't work for me...

Error in question:

1229 13:50:28709 :: Traceback (most recent call last):
1229 13:50:28709 ::   File "ui.py", line 1512, in CallEvent
1229 13:50:28709 ::   File "ui.py", line 88, in _call_
1229 13:50:28709 ::   File "ui.py", line 70, in _call_
1229 13:50:28709 ::   File "uiSystem.py", line 194, in __ClickMoveChannelButton
1229 13:50:28709 ::   File "uiSystem.py", line 271, in Show
1229 13:50:28710 ::   File "uiSystem.py", line 256, in __SelectChannel

1229 13:50:28710 :: IndexError
1229 13:50:28710 :: : 
1229 13:50:28710 :: list index out of range
1229 13:50:28710 ::

I thank you for your help

 

Edited by Marcos17
  • 1 month later...
On 12/29/2021 at 3:16 PM, EAkar said:
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)

Following your help, now I have the following error:

0216 21:10:26587 :: Traceback (most recent call last):
0216 21:10:26588 ::   File "game.py", line 2007, in BINARY_ServerCommand_Run
0216 21:10:26588 ::   File "stringCommander.py", line 63, in Run
0216 21:10:26588 ::   File "stringCommander.py", line 31, in __call__
0216 21:10:26588 ::   File "stringCommander.py", line 20, in __call__
0216 21:10:26588 ::   File "game.py", line 2432, in __SeverInfo
0216 21:10:26588 ::   File "interfaceModule.py", line 2550, in RefreshServerInfo
0216 21:10:26588 ::   File "uiMiniMap.py", line 566, in RefreshServerInfo
0216 21:10:26588 :: AttributeError
0216 21:10:26588 :: : 
0216 21:10:26588 :: 'module' object has no attribute 'SERVER_1'
0216 21:10:26588 :: 
0216 21:10:26588 :: Unknown Server Command server_info 1 21 | server_info

Can you help, thanks in advance

  • 6 months later...
On 12/30/2023 at 7:28 PM, Marcos17 said:

Good afternoon / night...

I implemented the system and I have the same python error, I tried the same user's correction, but it didn't work for me...

Error in question:

1229 13:50:28709 :: Traceback (most recent call last):
1229 13:50:28709 ::   File "ui.py", line 1512, in CallEvent
1229 13:50:28709 ::   File "ui.py", line 88, in _call_
1229 13:50:28709 ::   File "ui.py", line 70, in _call_
1229 13:50:28709 ::   File "uiSystem.py", line 194, in __ClickMoveChannelButton
1229 13:50:28709 ::   File "uiSystem.py", line 271, in Show
1229 13:50:28710 ::   File "uiSystem.py", line 256, in __SelectChannel

1229 13:50:28710 :: IndexError
1229 13:50:28710 :: : 
1229 13:50:28710 :: list index out of range
1229 13:50:28710 ::

I thank you for your help

 

This error typically happens when you're trying to access an index in a list that doesn't exist.

Add a check before accessing the index to make sure it's within the valid range. exemple

if index < len(channel_list):

  • 7 months later...

With small adjustments, something beautiful will come out of this system, thank you.

https://metin2.download/video/1iD3E59y6sWn5R0CVHK0EiP3J081JA0N/.mp4

Edited by Metin2 Dev International
Core X - External 2 Internal
  • Metin2 Dev 2
  • 3 months later...
On 5/12/2025 at 3:14 PM, Mafia83 said:

With small adjustments, something beautiful will come out of this system, thank you.

https://metin2.download/video/1iD3E59y6sWn5R0CVHK0EiP3J081JA0N/.mp4

Would you share your adjustments? I'd appreciate it 🙂

  • 11 months later...

First of all, I don't speak English; this is a Google translation. I've recently returned to programming for Metin2. Back then, I had an issue where changing the CH (channel) wouldn't update the minimap. There are many people with the same problem these days. If you've implemented everything correctly, it should work, but my error was right here.

 

Input_login.cpp

Spoiler

///Add to end of void CInputLogin::Entergame(LPDESC d, const char * data)

#if defined(__BL_MOVE_CHANNEL__)
    ch->ChatPacket(CHAT_TYPE_COMMAND, "server_info %d %ld", g_bChannel, ch->GetMapIndex());
#endif

 

The complete function must look like this

 

Input_login.cpp

Spoiler

void CInputLogin::Entergame(LPDESC d, const char * data)

{

    LPCHARACTER ch;

 

    if (!(ch = d->GetCharacter()))

    {

        d->SetPhase(PHASE_CLOSE);

        return;

    }

 

    PIXEL_POSITION pos = ch->GetXYZ();

 

    if (!SECTREE_MANAGER::instance().GetMovablePosition(ch->GetMapIndex(), pos.x, pos.y, pos))

    {

        PIXEL_POSITION pos2;

        SECTREE_MANAGER::instance().GetRecallPositionByEmpire(ch->GetMapIndex(), ch->GetEmpire(), pos2);

 

        sys_err("!GetMovablePosition (name %s %dx%d map %d changed to %dx%d)",

                ch->GetName(),

                pos.x, pos.y,

                ch->GetMapIndex(),

                pos2.x, pos2.y);

        pos = pos2;

    }

 

    CGuildManager::instance().LoginMember(ch);

 

    // ij���͸� �ʿ� �߰�

    ch->Show(ch->GetMapIndex(), pos.x, pos.y, pos.z);

 

    SECTREE_MANAGER::instance().SendNPCPosition(ch);

    ch->ReviveInvisible(5);

 

    d->SetPhase(PHASE_GAME);

 

    if(ch->GetItemAward_cmd())                                                                      //���������� ����

        quest::CQuestManager::instance().ItemInformer(ch->GetPlayerID(),ch->GetItemAward_vnum());   //questmanager ȣ��

   

    sys_log(0, "ENTERGAME: %s %dx%dx%d %s map_index %d",

            ch->GetName(), ch->GetX(), ch->GetY(), ch->GetZ(), d->GetHostName(), ch->GetMapIndex());

 

    if (ch->GetHorseLevel() > 0)

    {

        ch->EnterHorse();

    }

 

    // �÷��̽ð� ���ڵ� ����

    ch->ResetPlayTime();

 

    // �ڵ� ���� �̺�Ʈ �߰�

    ch->StartSaveEvent();

    ch->StartRecoveryEvent();

    ch->StartCheckSpeedHackEvent();

 

    CPVPManager::instance().Connect(ch);

    CPVPManager::instance().SendList(d);

 

    MessengerManager::instance().Login(ch->GetName());

 

    CPartyManager::instance().SetParty(ch);

    CGuildManager::instance().SendGuildWar(ch);

 

    building::CManager::instance().SendLandList(d, ch->GetMapIndex());

 

    marriage::CManager::instance().Login(ch);

 

    TPacketGCTime p;

    p.bHeader = HEADER_GC_TIME;

    p.time = get_global_time();

    d->Packet(&p, sizeof(p));

 

    TPacketGCChannel p2;

    p2.header = HEADER_GC_CHANNEL;

    p2.channel = g_bChannel;

    d->Packet(&p2, sizeof(p2));

 

    ch->SendGreetMessage();

 

    _send_bonus_info(ch);

   

    for (int i = 0; i <= PREMIUM_MAX_NUM; ++i)

    {

        int remain = ch->GetPremiumRemainSeconds(i);

 

        if (remain <= 0)

            continue;

 

        ch->AddAffect(AFFECT_PREMIUM_START + i, POINT_NONE, 0, 0, remain, 0, true);

        sys_log(0, "PREMIUM: %s type %d %dmin", ch->GetName(), i, remain);

    }

 

    if (LC_IsEurope())

    {

        if (g_bCheckClientVersion)

        {

            int version = atoi(g_stClientVersion.c_str());

            int date = atoi(d->GetClientVersion());

 

            sys_log(0, "VERSION CHECK %d %d %s %s", version, date, g_stClientVersion.c_str(), d->GetClientVersion());

 

            if (!d->GetClientVersion())

            {

                d->DelayedDisconnect(10);

            }

            else

            {

                //if (0 != g_stClientVersion.compare(d->GetClientVersion()))

                // if (version > date)

                if (version != date) // Fix

                {

                    ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("Ŭ���̾�Ʈ ������ Ʋ�� �α׾ƿ� �˴ϴ�. ���������� ��ġ �� �����ϼ���."));

                    d->DelayedDisconnect(10);

                    LogManager::instance().HackLog("VERSION_CONFLICT", ch);

 

                    sys_log(0, "VERSION : WRONG VERSION USER : account:%s name:%s hostName:%s server_version:%s client_version:%s",

                            d->GetAccountTable().login,

                            ch->GetName(),

                            d->GetHostName(),

                            g_stClientVersion.c_str(),

                            d->GetClientVersion());

                }

            }

        }

        else

        {

            sys_log(0, "VERSION : NO CHECK");

        }

    }

    else

    {

        sys_log(0, "VERSION : NO LOGIN");

    }

 

    if (LC_IsEurope() == true)

    {

        if (ch->IsGM() == true)

            ch->ChatPacket(CHAT_TYPE_COMMAND, "ConsoleEnable");

    }

 

    #ifdef OFFLINE_SHOP

    ch->LoadPrivShops();

    ch->SendShopCost();

    ch->StartRefreshShopEvent();

 

#endif

 

#ifdef GIFT_SYSTEM

    ch->StartRefreshGift();

#endif

 

    if (ch->GetMapIndex() >= 10000)

    {

        if (CWarMapManager::instance().IsWarMap(ch->GetMapIndex()))

            ch->SetWarMap(CWarMapManager::instance().Find(ch->GetMapIndex()));

        else if (marriage::WeddingManager::instance().IsWeddingMap(ch->GetMapIndex()))

            ch->SetWeddingMap(marriage::WeddingManager::instance().Find(ch->GetMapIndex()));

        else {

            ch->SetDungeon(CDungeonManager::instance().FindByMapIndex(ch->GetMapIndex()));

        }

    }

    else if (CArenaManager::instance().IsArenaMap(ch->GetMapIndex()) == true)

    {

        int memberFlag = CArenaManager::instance().IsMember(ch->GetMapIndex(), ch->GetPlayerID());

        if (memberFlag == MEMBER_OBSERVER)

        {

            ch->SetObserverMode(true);

            ch->SetArenaObserverMode(true);

            if (CArenaManager::instance().RegisterObserverPtr(ch, ch->GetMapIndex(), ch->GetX()/100, ch->GetY()/100))

            {

                sys_log(0, "ARENA : Observer add failed");

            }

 

            if (ch->IsHorseRiding() == true)

            {

                ch->StopRiding();

                ch->HorseSummon(false);

            }

        }

        else if (memberFlag == MEMBER_DUELIST)

        {

            TPacketGCDuelStart duelStart;

            duelStart.header = HEADER_GC_DUEL_START;

            duelStart.wSize = sizeof(TPacketGCDuelStart);

 

            ch->GetDesc()->Packet(&duelStart, sizeof(TPacketGCDuelStart));

 

            if (ch->IsHorseRiding() == true)

            {

                ch->StopRiding();

                ch->HorseSummon(false);

            }

 

            LPPARTY pParty = ch->GetParty();

            if (pParty != NULL)

            {

                if (pParty->GetMemberCount() == 2)

                {

                    CPartyManager::instance().DeleteParty(pParty);

                }

                else

                {

                    pParty->Quit(ch->GetPlayerID());

                }

            }

        }

        else if (memberFlag == MEMBER_NO)      

        {

            if (ch->GetGMLevel() == GM_PLAYER)

                ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire()));

        }

        else

        {

            // wtf

        }

    }

    else if (ch->GetMapIndex() == 113)

    {

        // ox �̺�Ʈ ��

        if (COXEventManager::instance().Enter(ch) == false)

        {

            // ox �� ���� �㰡�� ���� ����. �÷��̾�� ������ ������

            if (ch->GetGMLevel() == GM_PLAYER)

                ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire()));

        }

    }

    else

    {

        if (CWarMapManager::instance().IsWarMap(ch->GetMapIndex()) ||

                marriage::WeddingManager::instance().IsWeddingMap(ch->GetMapIndex()))

        {

            if (!test_server)

                ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire()));

        }

    }

 

    // û�ҳ� ��ȣ

    if (g_TeenDesc) // BufferedPacket ��� ����

    {

        TPacketGTLogin p;

 

        p.header = HEADER_GT_LOGIN;

        p.empty = 0;

        p.id = d->GetAccountTable().id;

 

        g_TeenDesc->Packet(&p, sizeof(p));

        sys_log(0, "TEEN_SEND: (%u, %s)", d->GetAccountTable().id, ch->GetName());

    }

 

    if (ch->GetHorseLevel() > 0)

    {

        DWORD pid = ch->GetPlayerID();

 

        if (pid != 0 && CHorseNameManager::instance().GetHorseName(pid) == NULL)

            db_clientdesc->DBPacket(HEADER_GD_REQ_HORSE_NAME, 0, &pid, sizeof(DWORD));

    }

 

    // �߸��ʿ� ������ �ȳ��ϱ�

    if (g_noticeBattleZone)

    {

        if (FN_is_battle_zone(ch))

        {

            ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("�� �ʿ��� �������� ������ ������ �� �ֽ��ϴ�."));

            ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("�� ���׿� �������� ������"));

            ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("������ �ּ� �� �μ����� ���ư��ñ� �ٶ��ϴ�."));

        }

    }

 

#if defined(__BL_MOVE_CHANNEL__)

    // The client reconnects after a channel change. Refresh its channel/map

    // state for every login, not only when the character is in a battle zone.

    ch->ChatPacket(CHAT_TYPE_COMMAND, "server_info %d %ld", g_bChannel, ch->GetMapIndex());

#endif

}

 

Back when I couldn't get this system working, I spent a long time reading this post, but no one had posted the solution; just in case it helps anyone else, this is what fixed the minimap problem for me.

 

EDIT: Watch out for the tabs; I have no idea how to paste the code here while preserving the indentation.

Edited by lordakiuss

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • 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.