*Descriere:
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:
*Link download / Code:
Versiunea #1 (Recomandat)
Deschide root/game.py si cauta:
Modifica asa:
Versiunea #2 (doar daca nu merge V1 de mai sus!!!)
Deschidem UserInterface/Locale_inc.h si adaugam:
Deschidem UserInterface/PythonApplication.cpp si cautam:
Adaugam:
Deschidem UserInterface/PythonApplication.h si cautam:
Adaugam:
In class protected vom gasi:
Modificam asa:
Deschidem UserInterface/PythonApplicationEvent.cpp si cautam:
Modificam asa:
Acum, in UserInterface/PythonApplicationModule.cpp cautam:
Adaugam deasupra:
Acum cautam:
Adaugam sub:
Cautam:
Si adaugam:
Deschidem root/game.py si cautam:
Inlocuim cu:
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:
- 08-17-2025, 23-19-11.png (715.74 KiB) Vizualizat de 852 ori
Inainte:
Dupa FIX:
*Link download / Code:
Versiunea #1 (Recomandat)
Deschide root/game.py si cauta:
Cod: Selectaţi tot
def OnMouseMiddleButtonDown(self):
player.SetMouseMiddleButtonState(player.MBS_PRESS)
def OnMouseMiddleButtonUp(self):
player.SetMouseMiddleButtonState(player.MBS_CLICK) Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Versiunea #2 (doar daca nu merge V1 de mai sus!!!)
Deschidem UserInterface/Locale_inc.h si adaugam:
Cod: Selectaţi tot
#define ENABLE_MOUSE_CURSOR_RESET_FIXCod: Selectaţi tot
m_isFrameSkipDisable(false), Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschidem UserInterface/PythonApplication.h si cautam:
Cod: Selectaţi tot
void SetMouseHandler(PyObject * poMouseHandler); Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.In class protected vom gasi:
Cod: Selectaţi tot
void OnMouseMiddleButtonDown(int x, int y);
void OnMouseMiddleButtonUp(int x, int y); Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschidem UserInterface/PythonApplicationEvent.cpp si cautam:
Cod: Selectaţi tot
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);
} Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Acum, in UserInterface/PythonApplicationModule.cpp cautam:
Cod: Selectaţi tot
void initapp() Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Acum cautam:
Cod: Selectaţi tot
{ "SetMouseHandler", appSetMouseHandler, METH_VARARGS }, Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Cautam:
Cod: Selectaţi tot
#ifdef ENABLE_COSTUME_SYSTEM
PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 0);
#endif Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschidem root/game.py si cautam:
Cod: Selectaţi tot
def OnMouseMiddleButtonDown(self):
player.SetMouseMiddleButtonState(player.MBS_PRESS)
def OnMouseMiddleButtonUp(self):
player.SetMouseMiddleButtonState(player.MBS_CLICK) Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.



