[HELP]Colored Slot

Indította Chookez, 2019-04-01, 08:54:40

Sziasztok. Unalmamban elkezdtem olyan rendszereket próbálgatni, amiket még nem ismerek, így hát beraktam az alábbi apróságot: https://www.metin2downloads.to/thread/485-pyc-colored-slot-highlights/

Viszont indító fordításnál felbukkan néhány hiba, pedig minden a leírás alapján lett berakva.  ???

9>..\..\source\EterPythonLib\PythonSlotWindow.cpp(1124): error C2451: conditional expression of type 'UI::CAniImageBox' is illegal
9>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
9>..\..\source\EterPythonLib\PythonSlotWindow.cpp(1128): error C2819: type 'UI::CAniImageBox' does not have an overloaded member 'operator ->'
9>          c:\vs\source\eterpythonlib\PythonWindow.h(399) : see declaration of 'UI::CAniImageBox'
9>          did you intend to use '.' instead?
9>..\..\source\EterPythonLib\PythonSlotWindow.cpp(1128): error C2232: '->UI::CWindow::SetPosition' : left operand has 'class' type, use '.'
9>..\..\source\EterPythonLib\PythonSlotWindow.cpp(1129): error C2819: type 'UI::CAniImageBox' does not have an overloaded member 'operator ->'
9>          c:\vs\source\eterpythonlib\PythonWindow.h(399) : see declaration of 'UI::CAniImageBox'
9>          did you intend to use '.' instead?
9>..\..\source\EterPythonLib\PythonSlotWindow.cpp(1129): error C2232: '->UI::CAniImageBox::SetDiffuseColorByType' : left operand has 'class' type, use '.'
9>..\..\source\EterPythonLib\PythonSlotWindow.cpp(1130): error C2819: type 'UI::CAniImageBox' does not have an overloaded member 'operator ->'
9>          c:\vs\source\eterpythonlib\PythonWindow.h(399) : see declaration of 'UI::CAniImageBox'
9>          did you intend to use '.' instead?
9>..\..\source\EterPythonLib\PythonSlotWindow.cpp(1130): error C2232: '->UI::CWindow::Render' : left operand has 'class' type, use '.'


A kódrészlet amire a hibát írja:

if (rSlot.bActive)
{
BYTE byItemSize = rSlot.byyPlacedItemSize - 1;

if (byItemSize < 0 || byItemSize > 2)
byItemSize = 0;

if (m_pSlotActiveEffect[byItemSize])
{
int ix = m_rect.left + rSlot.ixPosition;
int iy = m_rect.top + rSlot.iyPosition;
m_pSlotActiveEffect[byItemSize]->SetPosition(ix, iy);
m_pSlotActiveEffect[byItemSize]->SetDiffuseColorByType(rSlot.byToggleColorType);
m_pSlotActiveEffect[byItemSize]->Render();
}
}


Illetve még erről is megejt valamit, de azt nem írja hibának:

class CAniImageBox : public CWindow
{
public:
static DWORD Type();

public:
CAniImageBox(PyObject * ppyObject);
virtual ~CAniImageBox();

void SetDelay(int iDelay);
void AppendImage(const char * c_szFileName);
void SetRenderingRect(float fLeft, float fTop, float fRight, float fBottom);
void SetRenderingMode(int iMode);
void SetDiffuseColor(float fR, float fG, float fB, float fA);
void SetDiffuseColorByType(BYTE byColorType);

void ResetFrame();

protected:
void OnUpdate();
void OnRender();
void OnChangePosition();
virtual void OnEndFrame();

BOOL OnIsType(DWORD dwType);

protected:
BYTE m_bycurDelay;
BYTE m_byDelay;
BYTE m_bycurIndex;
std::vector<CGraphicExpandedImageInstance*> m_ImageVector;
};


Bárki bármiféle megoldást tud, biggyessze ide nyugodtan.  ;)