Hallo,
Ich habe bei mir mal versucht, die Scroll of Glowchange einzubauen.
Als erstes habe ich der Klasse CMover das Attribut m_dwGlow(DWORD) hinzugefügt. Dann habe ich einen Befehl geschrieben, der dieses Attribut folgendermaßen setzt:
Code:
BOOL TextCmd_ChangeGlow( CScanner & s )
{
#ifdef __WORLDSERVER
s.GetToken();
CUser* pUser = (CUser*)s.dwValue;
CMover *pMover = pUser;
if( s.Token == GLOW_RED )
pMover->SetGlow( GLOW_RED );
else
pMover->SetGlow( GLOW_NORMAL );
return TRUE;
#else // __WORLDSERVER
return TRUE;
#endif // __WORLDSERVER
}
Mover.h:
Code:
void SetGlow( DWORD dwGlow ){ m_dwGlow = dwGlow; }
Und in der Mover.cpp habe ich nun folgendes versucht:
Code:
switch( nAbilityOption )
{
case 3: dwSfx = XI_GEN_ITEM_SETITEM03; break;
case 4: dwSfx = XI_GEN_ITEM_SETITEM04; break;
case 5: dwSfx = XI_GEN_ITEM_SETITEM05; break;
case 6: dwSfx = XI_GEN_ITEM_SETITEM06; break;
case 7: dwSfx = XI_GEN_ITEM_SETITEM07; break;
case 8: dwSfx = XI_GEN_ITEM_SETITEM08; break;
case 9: dwSfx = XI_GEN_ITEM_SETITEM09; break;
case 10:
{
switch( m_dwGlow )
{
case GLOW_RED: dwSfx = XI_GEN_ITEM_SETITEM10_RED; break;
case GLOW_NORMAL: dwSfx = XI_GEN_ITEM_SETITEM10; break;
default: dwSfx = XI_GEN_ITEM_SETITEM10; break;
}
}break;
}
Funktioniert aber nicht, es wird immer noch der normale Glow angezeigt, ich denke, dass das daran liegt, dass die Variable m_dwGlow noch so deklariert wird: m_dwGlow = GLOW_NORMAL;.
Wie kann ich das jetzt so machen, dass er eben nicht auf das GLOW_NORMAL zugreift, sondern auf dass, was über den Befehl gesetzt wurde?
MFG Unleashed!