Hallo,
Ich habe im Moment ein Problem mit der Klasse CMover.
Ich habe die Variable dwGlow(Public DWORD) in der Klasse CMover hinzugefügt.
(Mover.h)
Diese habe ich mit dem Befehl "/ChangeGlow <Farbe>" geändert.
(FuncTextCMD.cpp)
Anschließen lasse ich die Variable wieder auslesen.
(Mover.cpp)
Hier wird sowohl bei GetActiveMover(); als auch (CMover*)this; immer der Standard Wert von dwGlow ausgelesen.
Was muss ich daran ändern, dass immer der Wert des Movers, den ich gerade abfrage ausgegeben wird?
MFG Unleashed!
Ich habe im Moment ein Problem mit der Klasse CMover.
Ich habe die Variable dwGlow(Public DWORD) in der Klasse CMover hinzugefügt.
(Mover.h)
Code:
public:
DWORD m_dwGlow;
void SetGlow( DWORD dwGlow ){ this->m_dwGlow = dwGlow; }
DWORD GetGlow(){ return this->m_dwGlow; }
(FuncTextCMD.cpp)
Code:
BOOL TextCmd_ChangeGlow( CScanner& scanner )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)scanner.dwValue;
CMover *pMover = pUser;
scanner.GetToken();
if( scanner.Token == "red" )
{
pMover->SetGlow( GLOW_RED );
pUser->AddText("Glow changed to Red!");
}
else
{
pMover->SetGlow( GLOW_NORMAL );
pUser->AddText("Glow changed to Default!");
}
if( pMover->GetGlow() == GLOW_RED ) //Wert von dwGlow zum Test ausgeben.
pUser->AddText( "Glow is now Red." );
else
pUser->AddText( "Glow is now default." );
return TRUE;
#else // __WORLDSERVER
return TRUE;
#endif // __WORLDSERVER
}
(Mover.cpp)
Code:
//CMover* pMover = GetActiveMover();
CMover* pMover = (CMover*)this;
CString str;
if( pMover->GetGlow() == GLOW_RED )
dwSfx = XI_GEN_ITEM_SETITEM10_RED;
else
dwSfx = XI_GEN_ITEM_SETITEM10;
str.Format( _T("%08X"), pMover->GetGlow() );
pMover->DialogOut( str ); //Wert von dwGlow zum Test einmal ausgeben lassen.
Was muss ich daran ändern, dass immer der Wert des Movers, den ich gerade abfrage ausgegeben wird?
MFG Unleashed!