FIX pentru un bug mic din joc legat de cursorul de la NPC cand vrei sa vinzi / cumperi ceva.
- Atunci cand apesi pe "Vinde" sau "Cumpara" la un NPC, cursorul se va schimba in joc.
- Dar exista o problema - atunci cand Clientul nu mai e in focus, cursorul isi da reset automat la cursorul normal - ceea ce nu ar trebui sa se intample. (Vezi mai jos GIF)
- Aceasta este o rezolvare pentru acest mic bug. Cursorul de Vinde/Cumpara va ramane, chiar daca schimbi focusul la Client (ex. dai click pe taskbarsi revii in joc dupa).
*Poze / Video:
Inainte: Dupa FIX:
*Link download / Code:
Deschidem UserInterface/Locale_inc.h si adaugam:
Code:
#define ENABLE_MOUSE_CURSOR_RESET_FIXCode:
m_isFrameSkipDisable(false),Deschidem UserInterface/PythonApplication.h si cautam:
Code:
void SetMouseHandler(PyObject * poMouseHandler);In class protected vom gasi:
Code:
void OnMouseMiddleButtonDown(int x, int y);
void OnMouseMiddleButtonUp(int x, int y);Deschidem UserInterface/PythonApplicationEvent.cpp si cautam:
Code:
void CPythonApplication::OnMouseMiddleButtonDown(int x, int y)
{
CCameraManager& rkCmrMgr=CCameraManager::Instance();
CCamera* pkCmrCur=rkCmrMgr.GetCurrentCamera();
if (pkCmrCur)
pkCmrCur->BeginDrag(x, y);
if ( !m_pyBackground.IsMapReady() )
return;
SetCursorNum(CAMERA_ROTATE);
if ( CURSOR_MODE_HARDWARE == GetCursorMode())
SetCursorVisible(FALSE, true);
}
void CPythonApplication::OnMouseMiddleButtonUp(int x, int y)
{
CCameraManager& rkCmrMgr=CCameraManager::Instance();
CCamera* pkCmrCur=rkCmrMgr.GetCurrentCamera();
if (pkCmrCur)
pkCmrCur->EndDrag();
if ( !m_pyBackground.IsMapReady() )
return;
if ( CURSOR_MODE_HARDWARE == GetCursorMode())
SetCursorVisible(TRUE);
}Acum, in UserInterface/PythonApplicationModule.cpp cautam:
Code:
void initapp()Acum cautam:
Code:
{ "SetMouseHandler", appSetMouseHandler, METH_VARARGS },Cautam:
Code:
#ifdef ENABLE_COSTUME_SYSTEM
PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 0);
#endifDeschidem root/game.py si cautam:
Code:
def OnMouseMiddleButtonDown(self):
player.SetMouseMiddleButtonState(player.MBS_PRESS)
def OnMouseMiddleButtonUp(self):
player.SetMouseMiddleButtonState(player.MBS_CLICK)

la acest mesaj și conținutul se va afișa automat.

