Tipologie server: -
*Resursă folosită: sursa/chest-view-t82353.html
*ServerFiles utilizat: https://metin2.dev/topic/27610-40250-re ... languages/
*Syserr: Nimic in syserr
Poză:
https://i.imgur.com/HGJIKCX.mp4
*Detalii suplimentare: Initial am avut alta problema, nu puteam sa intru pe server dupa ce am pus chest view drop, imi luam logout instant, apoi am pus fixul asta postat de KIDDA intr-un topic similar, dar nu pot deschide cufere.
Si aparent e si ceva vizual la sistem.
Cod: Selectaţi tot
1.PythonPlayer.cpp
Cauta :
DWORD CPythonPlayer::GetItemFlags(TItemPos Cell)
{
if (!Cell.IsValidCell())
return 0;
const TItemData * pItem = GetItemData(Cell);
assert (pItem != NULL);
return pItem->flags;
}
Adauga sub :
#ifdef ENABLE_SHOW_CHEST_DROP
BYTE CPythonPlayer::GetItemTypeBySlot(TItemPos Cell)
{
if (!Cell.IsValidCell())
return 0;
CItemData * pItemDataPtr = NULL;
if (CItemManager::Instance().GetItemDataPointer(GetItemIndex(Cell), &pItemDataPtr))
return pItemDataPtr->GetType();
else
{
TraceError("FAILED\t\tCPythonPlayer::GetItemTypeBySlot()\t\tCell(%d, %d) item is null", Cell.window_type, Cell.cell);
return 0;
}
}
#endif
2.PythonPlayer.h
Cauta :
DWORD GetItemFlags(TItemPos Cell);
Adauga Sub :
#ifdef ENABLE_SHOW_CHEST_DROP
BYTE GetItemTypeBySlot(TItemPos Cell);
#endif
3.PythonPlayerModule.cpp
*Cauta :
{ "GetQuickPage", playerGetQuickPage, METH_VARARGS },
*Adauga Deasupra :
#ifdef ENABLE_SHOW_CHEST_DROP
{ "GetItemTypeBySlot", playerGetItemTypeBySlot, METH_VARARGS },
#endif
*Cauta :
PyObject * playerGetSkillCoolTime(PyObject* poSelf, PyObject* poArgs)
{
int iSlotIndex;
if (!PyTuple_GetInteger(poArgs, 0, &iSlotIndex))
return Py_BuildException();
float fCoolTime = CPythonPlayer::Instance().GetSkillCoolTime(iSlotIndex);
float fElapsedCoolTime = CPythonPlayer::Instance().GetSkillElapsedCoolTime(iSlotIndex);
return Py_BuildValue("ff", fCoolTime, fElapsedCoolTime);
}
Adauga deasupra :
#ifdef ENABLE_SHOW_CHEST_DROP
PyObject * playerGetItemTypeBySlot(PyObject * poSelf, PyObject * poArgs)
{
TItemPos Cell;
switch (PyTuple_Size(poArgs))
{
case 1:
if (!PyTuple_GetInteger(poArgs, 0, &Cell.cell))
return Py_BadArgument();
break;
case 2:
if (!PyTuple_GetByte(poArgs, 0, &Cell.window_type))
return Py_BadArgument();
if (!PyTuple_GetInteger(poArgs, 1, &Cell.cell))
return Py_BadArgument();
break;
default:
return Py_BuildException();
}
return Py_BuildValue("i", CPythonPlayer::Instance().GetItemTypeBySlot(Cell));
}
#endif


