Jump to content
  • 0

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


cirlanalex

Question

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 cirlanalex
Link to post

1 answer to this question

Recommended Posts

  • 0

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 post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



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