Jump to content

It shows a gall in the stone slot for items ids between 7000-7089


Recommended Posts

So it shows a gall in the stone slot for items ids between 7000-7089 and this error appears in client:

0316 22:43:27793 :: Cannot find item by 1615927323

 

There are the lines where the error come from:

 

PyObject * itemSelectItem(PyObject * poSelf, PyObject * poArgs)
{
    int iIndex;
    if (!PyTuple_GetInteger(poArgs, 0, &iIndex))
        return Py_BadArgument();

    if (!CItemManager::Instance().SelectItemData(iIndex))
    {
        TraceError("Cannot find item by %d", iIndex);
        CItemManager::Instance().SelectItemData(60001);
    }

    return Py_BuildNone();
}

 

I think the problem is with this system: 


It appeared after i put this system. Everything else is working, but these items dont...

This is an image:

h64oued.png

 

 

EDIT: I kinda found where is the problem but I don't know what I need to change...

So in item table from database, socket 2 gets an odd number (1615932139) and this is the number that appears in the metin2 error log.

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Ok I found the problem, it was from here (item_manager.cpp)

 

		if (item->GetType() == ITEM_UNIQUE || item->GetSubType() == COSTUME_MOUNT) // 유니크 아이템은 생성시에 소켓에 남은시간을 기록한다.
		{
			if (item->GetValue(2) == 0)
				item->SetSocket(ITEM_SOCKET_UNIQUE_REMAIN_TIME, item->GetValue(0)); // 게임 시간 유니크
			else
			{
				//int globalTime = get_global_time();
				//int lastTime = item->GetValue(0);
				//int endTime = get_global_time() + item->GetValue(0);
				item->SetSocket(ITEM_SOCKET_UNIQUE_REMAIN_TIME, get_global_time() + item->GetValue(0)); // 실시간 유니크
			}
		}

 

I changed it into this and it was solved
 

		if (item->GetType() == ITEM_UNIQUE || (item->GetType() == ITEM_UNIQUE && item->GetSubType() == COSTUME_MOUNT)) // À¯´ÏÅ© ¾ÆÀÌÅÛÀº »ý¼º½Ã¿¡ ¼ÒÄÏ¿¡ ³²Àº½Ã°£À» ±â·ÏÇÑ´Ù.
		{
			if (item->GetValue(2) == 0)
				item->SetSocket(ITEM_SOCKET_UNIQUE_REMAIN_TIME, item->GetValue(0)); // °ÔÀÓ ½Ã°£ À¯´ÏÅ©
			else
			{
				//int globalTime = get_global_time();
				//int lastTime = item->GetValue(0);
				//int endTime = get_global_time() + item->GetValue(0);
				item->SetSocket(ITEM_SOCKET_UNIQUE_REMAIN_TIME, get_global_time() + item->GetValue(0)); // ½Ç½Ã°£ À¯´ÏÅ©
			}
		}
	}

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • 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.