Go to your binary source > EterPythonLib > PythonGridSlotWindow.cpp
Search this :
DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber();
Add under :
if (dwSlotNumber > 44)
{
if (dwSlotNumber < 90)
{
dwSlotNumber -= 45;
}
else if(dwSlotNumber < 135)
{
dwSlotNumber -= 90;
}
else if (dwSlotNumber < 180)
{
dwSlotNumber -= 135;
}
}
Search this :
BOOL CGridSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot)
And replace the entire function with this :
BOOL CGridSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot)
{
if (!UI::CWindowManager::Instance().IsAttaching())
return CSlotWindow::GetPickedSlotPointer(ppSlot);
BYTE byWidth, byHeight;
UI::CWindowManager::Instance().GetAttachingIconSize(&byWidth, &byHeight);
std::list<TSlot*> SlotList;
if (!GetPickedSlotList(byWidth, byHeight, &SlotList))
return FALSE;
TSlot * pMinSlot = NULL;
//DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber();
//DWORD dwAttachingItemIndex = UI::CWindowManager::Instance().GetAttachingIndex();
for (std::list<TSlot*>::iterator itor = SlotList.begin(); itor != SlotList.end(); ++itor)
{
TSlot * pSlot = *itor;
if (!pMinSlot)
{
pMinSlot = pSlot;
}
else
{
if (pSlot->dwSlotNumber < pMinSlot->dwSlotNumber && pSlot->dwItemIndex != pMinSlot->dwItemIndex)
{
pMinSlot = pSlot;
}
else
{
if (!pMinSlot->isItem && pSlot->isItem && pSlot->dwItemIndex == pMinSlot->dwItemIndex)
{
pMinSlot = pSlot;
}
}
}
}
if (!pMinSlot)
{
return FALSE;
}
else
{
TSlot * pCenterSlot;
if (!GetSlotPointer(pMinSlot->dwCenterSlotNumber, &pCenterSlot))
return FALSE;
*ppSlot = pCenterSlot;
// ?? ???? ?? ?? ???..
if (UI::CWindowManager::Instance().IsAttaching())
{
DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber();
if (dwSlotNumber > 44)
{
if (dwSlotNumber < 90)
{
dwSlotNumber -= 45;
}
else if (dwSlotNumber < 135)
{
dwSlotNumber -= 90;
}
else if (dwSlotNumber < 180)
{
dwSlotNumber -= 135;
}
}
if (dwSlotNumber == pCenterSlot->dwSlotNumber)
{
*ppSlot = pMinSlot;
}
}
}
return TRUE;
}
Hope i helped.